  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.
