swyft lightning¶
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.
Note
As of v0.4.0, swyft will be based on pytorch-lightning, and the entire API will be overhauled. Right now v0.4.0 is still in pre-release, and documentation is not yet fully updated.
Documentation & installation: https://swyft.readthedocs.io/en/lightning/
Example usage: https://swyft.readthedocs.io/en/lightning/tutorial-notebooks.html
Source code: https://github.com/undark-lab/swyft
Support & discussion: https://github.com/undark-lab/swyft/discussions
Bug reports: https://github.com/undark-lab/swyft/issues
Contributing: https://swyft.readthedocs.io/en/lightning/contributing-link.html
Citation: https://swyft.readthedocs.io/en/lightning/citation.html
swyft:
estimates likelihood-to-evidence ratios for arbitrary marginal posteriors; they typically require fewer simulations than the corresponding joint.
performs targeted inference by prior truncation, combining simulation efficiency with empirical testability.
seamless reuses simulations drawn from previous analyses, even with different priors. (not yet supported in swyft lightning, see v0.3.2)
integrates dask and zarr to make complex simulation easy. (not yet supported in swyft lightning, see v0.3.2)
swyft is designed to solve the Bayesian inverse problem when the user has access to a simulator that stochastically maps parameters to observational data. 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 dask simulator manager with zarr storage to simplify use with complex simulators.