Skip to main content

Neural Network-Boosted Importance Sampling for Bayesian Statistics.

Project description

Logo

Unit Testing Status Documentation Status Code Coverage PyPI PyPI - Downloads Conda Conda - Downloads License: MIT Language: Python

Nautilus is an MIT-licensed pure-Python package for Bayesian posterior and evidence estimation. It utilizes importance sampling and efficient space exploration using neural networks. Compared to traditional MCMC and Nested Sampling codes, it often needs fewer likelihood calls and produces much larger posterior samples. Additionally, nautilus is highly accurate and produces Bayesian evidence estimates with percent precision. It is widely used in many areas of astrophysical research.

Example

This example, sampling a 3-dimensional Gaussian, illustrates how to use nautilus.

import corner
import numpy as np
from nautilus import Prior, Sampler
from scipy.stats import multivariate_normal

prior = Prior()
for key in 'abc':
    prior.add_parameter(key)

def likelihood(param_dict):
    x = [param_dict[key] for key in 'abc']
    return multivariate_normal.logpdf(x, mean=[0.4, 0.5, 0.6], cov=0.01)

sampler = Sampler(prior, likelihood)
sampler.run(verbose=True)
points, log_w, log_l = sampler.posterior()
corner.corner(points, weights=np.exp(log_w), labels='abc')

Installation

The most recent stable version of nautilus is listed in the Python Package Index (PyPI) and can be installed via pip.

pip install nautilus-sampler

Additionally, nautilus is also on conda-forge. To install via conda use the following command.

conda install -c conda-forge nautilus-sampler

Documentation

You can find the documentation at nautilus-sampler.readthedocs.io.

Attribution

A paper describing nautilus's underlying methods and performance has been published in the Monthly Notices of the Royal Astronomical Society. A draft of the paper is also available on arXiv. Please cite the paper if you find nautilus helpful in your research.

@article{nautilus,
    author = {Lange, Johannes U},
    title = "{nautilus: boosting Bayesian importance nested sampling with deep learning}",
    journal = {Monthly Notices of the Royal Astronomical Society},
    volume = {525},
    number = {2},
    pages = {3181-3194},
    year = {2023},
    month = {08},
    doi = {10.1093/mnras/stad2441},
    url = {https://doi.org/10.1093/mnras/stad2441},
    eprint = {https://academic.oup.com/mnras/article-pdf/525/2/3181/51331635/stad2441.pdf},
}

License

Nautilus is licensed under the MIT License. The logo uses an image from the Illustris Collaboration.

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

nautilus_sampler-1.0.6.tar.gz (43.1 kB view details)

Uploaded Source

Built Distribution

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

nautilus_sampler-1.0.6-py3-none-any.whl (35.8 kB view details)

Uploaded Python 3

File details

Details for the file nautilus_sampler-1.0.6.tar.gz.

File metadata

  • Download URL: nautilus_sampler-1.0.6.tar.gz
  • Upload date:
  • Size: 43.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.3

File hashes

Hashes for nautilus_sampler-1.0.6.tar.gz
Algorithm Hash digest
SHA256 4e90b6d97be742be2e255c35a79e5a388cee043b4d2ce970eec327ed34139b78
MD5 45adacf7446a8d9eec54b5a1a08fc2e6
BLAKE2b-256 b12ca50c1a550ba43d86a0b41cf6410986d478d8640139c8e963f4dde8a8bfc2

See more details on using hashes here.

File details

Details for the file nautilus_sampler-1.0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for nautilus_sampler-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 de6f3b9d249d87f05a673e8597e56621037e84dc712a6c2d3c18ff3672735b9b
MD5 dc68f4a2630130788cf760c30d49b9be
BLAKE2b-256 4754372c42bcfe324b650946f6cfee0e5adbd55aafc25cab555460bf5d9e8d36

See more details on using hashes here.

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