Correctness of Sequential Monte Carlo Inference for Probabilistic Programming Languages

by   Daniel Lundén, et al.

Probabilistic programming languages (PPLs) make it possible to reason under uncertainty, by encoding inference problems as programs. In order to solve these inference problems, PPLs employ many different inference algorithms. Existing research on such inference algorithms mainly concerns their implementation and efficiency, rather than the correctness of the algorithms themselves when applied in the context of expressive PPLs. To remedy this, we give a correctness proof for sequential Monte Carlo (SMC) methods in the context of an expressive PPL calculus, representative of popular PPLs such as WebPPL, Anglican, and Birch. Previous work have studied correctness of Markov chain Monte Carlo (MCMC) using an operational semantics, and in a denotational setting without term recursion. However, for SMC inference—one of the most commonly used algorithms in PPLs as of today—no formal correctness proof exists in an untyped operational setting. In particular, an open question is if the resample locations in a probabilistic program affects the correctness of SMC. We solve this fundamental problem, and make three novel contributions: (i) we prove, for the first time, that SMC inference is correct in an untyped operational context of an expressive PPL calculus, and we show that, under mild assumptions, the correctness is independent of the placement of explicit resampling points, (ii) we formalize the bootstrap particle filter for the calculus, and (iii) we demonstrate a classical law of large numbers from the SMC literature that holds as a consequence of our proof.


page 1

page 2

page 3

page 4


Automatic Alignment in Higher-Order Probabilistic Programming Languages

Probabilistic Programming Languages (PPLs) allow users to encode statist...

Automatic Alignment of Sequential Monte Carlo Inference in Higher-Order Probabilistic Programs

Probabilistic programming is a programming paradigm for expressing flexi...

Nesting Probabilistic Programs

We formalize the notion of nesting probabilistic programming queries and...

Discontinuous Hamiltonian Monte Carlo for Probabilistic Programs

Hamiltonian Monte Carlo (HMC) is the dominant statistical inference algo...

Nonparametric Involutive Markov Chain Monte Carlo

A challenging problem in probabilistic programming is to develop inferen...

Automatically Marginalized MCMC in Probabilistic Programming

Hamiltonian Monte Carlo (HMC) is a powerful algorithm to sample latent v...

Please sign up or login with your details

Forgot password? Click here to reset