Skip to main content

Fast, parallel and lightweight simulation-based inference in JAX.

Project description

sbiax

Fast, lightweight and parallel simulation-based inference.

DOI Project Status: Active – The project has reached a stable, usable state and is being actively developed. arXiv

Your image description

sbiax is a lightweight library for simulation-based inference (SBI) with a fixed grid of simulations.

[!WARNING] :building_construction: Note this repository is under construction, expect changes. :building_construction:


Design

In a typical inference problem the data likelihood is unknown. Using density-estimation SBI, we can proceed by

  • simulating a set of data and model parameters ${(\boldsymbol{\xi}, \boldsymbol{\pi})_0, ..., (\boldsymbol{\xi}, \boldsymbol{\pi})_N}$,
  • obtaining a measurement $\hat{\boldsymbol{\xi}}$,
  • compressing the simulations and the measurements - usually with a neural network or linear compression - to a set of summaries ${(\boldsymbol{x}, \boldsymbol{\pi})_0, ..., (\boldsymbol{x}, \boldsymbol{\pi})_N}$ and $\hat{\boldsymbol{x}}$,
  • fitting an ensemble of normalising flow or similar density estimation algorithms (e.g. a Gaussian mixture model),
  • the optional optimisation of the parameters for the architecture and fitting hyperparameters of the algorithms,
  • sampling the ensemble posterior (using an MCMC sampler if the likelihood is fit directly) conditioned on the datavector to obtain parameter constraints on the parameters of a physical model, $\boldsymbol{\pi}$.

sbiax is a code for implementing each of these steps.


Usage

Install via

pip install sbiax

and have a look at examples.


Contributing

Want to add something? See CONTRIBUTING.md.


Citation

If you found this library to be useful in academic work, please cite:

@misc{homer2024simulationbasedinferencedodelsonschneidereffect,
      title={Simulation-based inference has its own Dodelson-Schneider effect (but it knows that it does)}, 
      author={Jed Homer and Oliver Friedrich and Daniel Gruen},
      year={2024},
      eprint={2412.02311},
      archivePrefix={arXiv},
      primaryClass={astro-ph.CO},
      url={https://arxiv.org/abs/2412.02311}, 
}
@article{
    Homer2025, 
    doi = {10.21105/joss.07606}, 
    url = {https://doi.org/10.21105/joss.07606}, 
    year = {2025}, 
    publisher = {The Open Journal}, 
    volume = {10}, 
    number = {105}, 
    pages = {7606}, 
    author = {Jed Homer and Oliver Friedrich}, 
    title = {SBIAX: Density-estimation simulation-based inference in JAX}, 
    journal = {Journal of Open Source Software} 
} 

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sbiax-0.0.57.tar.gz (4.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sbiax-0.0.57-py3-none-any.whl (4.4 MB view details)

Uploaded Python 3

File details

Details for the file sbiax-0.0.57.tar.gz.

File metadata

  • Download URL: sbiax-0.0.57.tar.gz
  • Upload date:
  • Size: 4.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for sbiax-0.0.57.tar.gz
Algorithm Hash digest
SHA256 11c69219557da7b6e4bec839e953803595f72d086f6fd25be5322c7c414b3e45
MD5 320b4ab92308261edfb38b99f487e3e0
BLAKE2b-256 dc1308e2c3ee2667666a11bf7890b08d9491f62904f0ae8c59e51b45a977a83d

See more details on using hashes here.

Provenance

The following attestation bundles were made for sbiax-0.0.57.tar.gz:

Publisher: publish.yml on homerjed/sbiax

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sbiax-0.0.57-py3-none-any.whl.

File metadata

  • Download URL: sbiax-0.0.57-py3-none-any.whl
  • Upload date:
  • Size: 4.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for sbiax-0.0.57-py3-none-any.whl
Algorithm Hash digest
SHA256 aeec46134be4cef7e38db6ef32e88667cf6e812568cb15d5f65877a8a038262d
MD5 36d309a3c0666cc5149290757c355768
BLAKE2b-256 36a030e05e9fbb17dc7b997cfda28ddd357664dabe6b707806e185305fca485c

See more details on using hashes here.

Provenance

The following attestation bundles were made for sbiax-0.0.57-py3-none-any.whl:

Publisher: publish.yml on homerjed/sbiax

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page