Skip to main content

Neural Network-Boosted Importance Sampling for Bayesian Statistics

Project description

Logo

PyPI Documentation Status License: MIT Language: Python

nautilus is an MIT-licensed pure-Python package for Bayesian posterior and evidence estimation. It is based on importance sampling and efficient space tessellation using neural networks. Its main features are computational efficiency as well as accuracy of the posterior and evidence estimates.

Example

This simple example, sampling a 3-dimensional Gaussian, illustrates how nautilus is used.

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, n_live=500)
sampler.run(verbose=True)
points, log_w, log_l = sampler.posterior()
corner.corner(points, weights=np.exp(log_w), labels='abc')

Documentation

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

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-0.2.0.tar.gz (16.9 kB view hashes)

Uploaded Source

Built Distribution

nautilus_sampler-0.2.0-py2.py3-none-any.whl (17.9 kB view hashes)

Uploaded Python 2 Python 3

Supported by

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