Scientists use numerical simulators to model real-world phenomena. Unlike purely statistical models, simulators incorporate scientific principles, which help them make better predictions with fewer parameters. However, fine-tuning these parameters to match real-world data is difficult. Simulation-Based inference (SBI) aims to find parameter values that align with prior knowledge and observed data. In other words, SBI aims to perform fully Bayesian parameter inference on simulation-based models, i.e., using only simulated data and without requiring access to the likelihood function.
SBI is an active field of research with new algorithms being developed regularly. The
sbi
package aims to provide a central resource for practitioners and researchers to
gain access to state-of-the-art SBI algorithms, as well as extensive documentation and
tutorials.
pip install sbi
, or check out the documentationInference methods
- Neural posterior estimation (amortized and sequential [Pap18F, Lue17F, Gre19A])
- Neural likelihood estimation [Pap19S]
- Neural ratio estimation [Her20L]
- Balanced neural ratio estimation [Del22R]
- Neural variational inference (amortized and sequential [Glo22V])
- Mixed neural likelihood estimation [Boe22F]
- Parallelized MCMC slice sampling
- Access to Pyro and PyMC MCMC samplers
Evaluation methods
- Extensive plotting tools
- Prior and posterior predictive checks
- Access to arviz visualizations
- Simulation-based calibration [Tal20V]
- Classifier-based two-sample test (C2ST, [Lop17R])
- Expected coverage [Dei22T, Mil21T]
Roadmap
We are currently implementing or plan to implement:
- Flow-matching neural posterior estimation [Lip22F, Wil23F]
- Sequential neural posterior score estimation [Sha22S]
- Compositional neural score estimation [Gef23C]
- Local-C2ST [Lin23L]
Acknowledgments
The sbi
package originated at the University of Tübingen in the
mackelab, funded by the German Federal Ministry of Education
and Research (BMBF) through project ADIMEM (FKZ 01IS18052 A-D), project SiMaLeSAM (FKZ
01IS21055A) and the Tübingen AI Center (FKZ 01IS18039A) (see
here for details).
Today, sbi
is a community project maintained by a group of people from both the
University of Tübingen and the TransferLab. It has a large group of contributors from
across Europe—new contributors are
welcome.