Swyft v0.4

PyPI version codecov https://joss.theoj.org/papers/10.21105/joss.04205/status.svg https://zenodo.org/badge/DOI/10.5281/zenodo.5752734.svg

swyft is the official implementation of Truncated Marginal Neural Ratio Estimation (TMNRE), a hyper-efficient, simulation-based inference technique for complex data and expensive simulators. As of v0.4.0, swyft is based on pytorch-lightning.

Swyft in action

https://raw.githubusercontent.com/undark-lab/swyft/v0.4.1/docs/source/_static/img/SBI-curve.gif
  • Swyft makes it convenient to perform Bayesian or Frequentist inference of hundreds, thousands or millions of parameter posteriors by constructing optimal data summaries.

  • To this end, Swyft estimates likelihood-to-evidence ratios for arbitrary marginal posteriors; they typically require fewer simulations than the corresponding joint.

  • Swyft performs targeted inference by prior truncation, combining simulation efficiency with empirical testability.

  • Swyft is based on stochastic simulators, which map parameters stochastically to observational data. Swyft makes it convenient to define such simulators as graphical models.

  • In scientific settings, a cost-benefit analysis often favors approximating the posterior marginality; swyft provides this functionality.

  • The package additionally implements our prior truncation technique, routines to empirically test results by estimating the expected coverage, and a simulator manager with zarr storage to simplify use with complex simulators.

Further information

Swyft history

Relevant packages

  • sbi is a collection of simulation-based inference methods. Unlike swyft, the repository does not include our truncation scheme nor marginal estimation of posteriors.

  • lampe is an implementation of amoritzed simulation-based inference methods aimed at simulation-based inference researchers due to its flexibility.