PyVBMC: Efficient Bayesian inference in Python

03/16/2023
by   Bobby Huggins, et al.
0

PyVBMC is a Python implementation of the Variational Bayesian Monte Carlo (VBMC) algorithm for posterior and model inference for black-box computational models (Acerbi, 2018, 2020). VBMC is an approximate inference method designed for efficient parameter estimation and model assessment when model evaluations are mildly-to-very expensive (e.g., a second or more) and/or noisy. Specifically, VBMC computes: - a flexible (non-Gaussian) approximate posterior distribution of the model parameters, from which statistics and posterior samples can be easily extracted; - an approximation of the model evidence or marginal likelihood, a metric used for Bayesian model selection. PyVBMC can be applied to any computational or statistical model with up to roughly 10-15 continuous parameters, with the only requirement that the user can provide a Python function that computes the target log likelihood of the model, or an approximation thereof (e.g., an estimate of the likelihood obtained via simulation or Monte Carlo methods). PyVBMC is particularly effective when the model takes more than about a second per evaluation, with dramatic speed-ups of 1-2 orders of magnitude when compared to traditional approximate inference methods. Extensive benchmarks on both artificial test problems and a large number of real models from the computational sciences, particularly computational and cognitive neuroscience, show that VBMC generally - and often vastly - outperforms alternative methods for sample-efficient Bayesian inference, and is applicable to both exact and simulator-based models (Acerbi, 2018, 2019, 2020). PyVBMC brings this state-of-the-art inference algorithm to Python, along with an easy-to-use Pythonic interface for running the algorithm and manipulating and visualizing its results.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/12/2018

Variational Bayesian Monte Carlo

Many probabilistic models of interest in scientific computing and machin...
research
06/10/2019

Efficient Bayesian estimation for GARCH-type models via Sequential Monte Carlo

This paper exploits the advantages of sequential Monte Carlo (SMC) to de...
research
03/05/2021

On the Occasional Exactness of the Distributional Transform Approximation for Direct Gaussian Copula Models with Discrete Margins

The direct Gaussian copula model with discrete marginal distributions is...
research
01/23/2021

UltraNest – a robust, general purpose Bayesian inference engine

UltraNest is a general-purpose Bayesian inference package for parameter ...
research
10/06/2020

Bayesian mitigation of spatial coarsening for a fairly flexible spatiotemporal Hawkes model

Self-exciting spatiotemporal Hawkes processes have found increasing use ...
research
11/03/2022

Fast and robust Bayesian Inference using Gaussian Processes with GPry

We present the GPry algorithm for fast Bayesian inference of general (no...
research
06/27/2023

PyBADS: Fast and robust black-box optimization in Python

PyBADS is a Python implementation of the Bayesian Adaptive Direct Search...

Please sign up or login with your details

Forgot password? Click here to reset