Exact Bayesian Inference on Discrete Models via Probability Generating Functions: A Probabilistic Programming Approach
About
We present an exact Bayesian inference method for discrete statistical models, which can find exact solutions to a large class of discrete inference problems, even with infinite support and continuous priors. To express such models, we introduce a probabilistic programming language that supports discrete and continuous sampling, discrete observations, affine functions, (stochastic) branching, and conditioning on discrete events. Our key tool is probability generating functions: they provide a compact closed-form representation of distributions that are definable by programs, thus enabling the exact computation of posterior probabilities, expectation, variance, and higher moments. Our inference method is provably correct and fully automated in a tool called Genfer, which uses automatic differentiation (specifically, Taylor polynomials), but does not require computer algebra. Our experiments show that Genfer is often faster than the existing exact inference tools PSI, Dice, and Prodigy. On a range of real-world inference problems that none of these exact tools can solve, Genfer's performance is competitive with approximate Monte Carlo methods, while avoiding approximation errors.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Exact Bayesian Inference | PSI alarm (F) (test) | Inference Time (s)5.00e-4 | 6 | |
| Exact Bayesian Inference | PSI digitRecognition (F) (test) | Inference Time (s)0.021 | 6 | |
| Exact Bayesian Inference | PSI evidence1 (F) benchmarks (test) | Inference Time (s)2.00e-4 | 6 | |
| Exact Bayesian Inference | PSI evidence2 (F) (test) | Inference Time (s)2.00e-4 | 6 | |
| Exact Bayesian Inference | PSI grass (F) (test) | Inference Time8.00e-4 | 6 | |
| Exact Bayesian Inference | PSI murderMystery (F) (test) | Inference Time (s)2.00e-4 | 6 | |
| Exact Bayesian Inference | PSI benchmarks noisyOr (F) (test) | Inference Time (s)0.0016 | 6 | |
| Exact Bayesian Inference | PSI twoCoins (F) (test) | Inference Time (s)2.00e-4 | 6 | |
| Exact Bayesian Inference | PSI clickGraph (C) (test) | Inference Time (s)0.11 | 3 | |
| Exact Bayesian Inference | PSI clinicalTrial2 (C) (test) | Inference Time (s)0.0024 | 3 |