All Projects → eggplantbren → Dnest4

eggplantbren / Dnest4

Licence: mit
Diffusive Nested Sampling

Projects that are alternatives of or similar to Dnest4

Algorithm
Algorithm is a library of tools that is used to create intelligent applications.
Stars: ✭ 787 (+1506.12%)
Mutual labels:  probability
Looper
A resource list for causality in statistics, data science and physics
Stars: ✭ 23 (-53.06%)
Mutual labels:  bayesian-inference
Autoppl
C++ template library for probabilistic programming
Stars: ✭ 34 (-30.61%)
Mutual labels:  bayesian-inference
Bayesflare
A python module to detect stellar flares using Bayesian model comparison
Stars: ✭ 6 (-87.76%)
Mutual labels:  bayesian-inference
Pycurious
Python package for computing the Curie depth from the magnetic anomaly
Stars: ✭ 22 (-55.1%)
Mutual labels:  bayesian-inference
Resources
PyMC3 educational resources
Stars: ✭ 930 (+1797.96%)
Mutual labels:  bayesian-inference
Pytorch Bayesiancnn
Bayesian Convolutional Neural Network with Variational Inference based on Bayes by Backprop in PyTorch.
Stars: ✭ 779 (+1489.8%)
Mutual labels:  bayesian-inference
Hmm for autonomous driving
🎓 Educational application of Hidden Markov Model to Autonomous Driving 🚕🚙🚗
Stars: ✭ 39 (-20.41%)
Mutual labels:  bayesian-inference
Scikit Stan
A high-level Bayesian analysis API written in Python
Stars: ✭ 22 (-55.1%)
Mutual labels:  bayesian-inference
Uc Davis Cs Exams Analysis
📈 Regression and Classification with UC Davis student quiz data and exam data
Stars: ✭ 33 (-32.65%)
Mutual labels:  probability
Ggdistribute
ggplot2 extension for plotting distributions
Stars: ✭ 16 (-67.35%)
Mutual labels:  bayesian-inference
Rhat ess
Rank-normalization, folding, and localization: An improved R-hat for assessing convergence of MCMC
Stars: ✭ 19 (-61.22%)
Mutual labels:  bayesian-inference
Pyro
Deep universal probabilistic programming with Python and PyTorch
Stars: ✭ 7,224 (+14642.86%)
Mutual labels:  bayesian-inference
Brms
brms R package for Bayesian generalized multivariate non-linear multilevel models using Stan
Stars: ✭ 825 (+1583.67%)
Mutual labels:  bayesian-inference
Quant Finance Resources
Courses, Articles and many more which can help beginners or professionals.
Stars: ✭ 36 (-26.53%)
Mutual labels:  probability
Bda py demos
Bayesian Data Analysis demos for Python
Stars: ✭ 781 (+1493.88%)
Mutual labels:  bayesian-inference
Numpyro
Probabilistic programming with NumPy powered by JAX for autograd and JIT compilation to GPU/TPU/CPU.
Stars: ✭ 929 (+1795.92%)
Mutual labels:  bayesian-inference
Causalnex
A Python library that helps data scientists to infer causation rather than observing correlation.
Stars: ✭ 1,036 (+2014.29%)
Mutual labels:  bayesian-inference
Dblink
Distributed Bayesian Entity Resolution in Apache Spark
Stars: ✭ 38 (-22.45%)
Mutual labels:  bayesian-inference
Ipynotebook machinelearning
This contains a number of IP[y]: Notebooks that hopefully give a light to areas of bayesian machine learning.
Stars: ✭ 27 (-44.9%)
Mutual labels:  bayesian-inference

DNest4

MIT License

DNest4 is a C++11 implementation of Diffusive Nested Sampling, a Markov Chain Monte Carlo (MCMC) algorithm for Bayesian Inference and Statistical Mechanics. You can use it in a few different ways:

  • Implement your model in C++, compile it and have it run super fast.
  • Implement trans-dimensional models with the RJObject template class.
  • Implement your model as a Python class.
  • Write up your model in Python, using a BUGS-style approach see here to learn how (more documentation coming later for this).

Papers

There is a paper describing DNest4 installation and usage in the Journal of Statistical software. You might also want to read the original paper describing the Diffusive Nested Sampling algorithm itself. If you find this software useful in your research, please cite one or both of these papers. Here are the citations:

Brewer, B., & Foreman-Mackey, D. (2018). DNest4: Diffusive Nested Sampling in C++ and Python.
Journal of Statistical Software, 86(7), 1 - 33. doi:http://dx.doi.org/10.18637/jss.v086.i07

Brewer, B. J., Pártay, L. B., & Csányi, G. (2011). Diffusive nested sampling.
Statistics and Computing, 21(4), 649-656.

Dependencies

You will need a C++ compiler that supports the C++11 standard, along with Python 3 and the Python packages NumPy, scipy, matplotlib, Cython, and Numba. Anaconda is a suitable Python distribution to use.

Compiling

Note for Mac users:

On some Macs, g++ is an alias for clang, which is a C compiler. If this is the case for you, you'll need to edit the first line of the Makefile so that it uses clang++, which is a C++ compiler.

You can compile the DNest4 library (libdnest4) using the Makefile in the code directory using:

cd code
make

Along with building the library this will compile all the examples. Then, install the Python package.

The easiest way to do this is with:

pip install -U dnest4

but you can install the development version using:

python setup.py install

in the root directory of this repository.

Alternative build process with SCons

However, you can also compile and install the library using SCons. To do this you just need to run:

scons install

By default it will attempt to install the library in /usr/local (with the library files in /usr/local/lib and the headers in /usr/local/include/dnest4), so the above command must be run as a user with root access or using sudo. To install to a different location you can instead run:

scons install --prefix <install_location>

where <install_location> is the base path for the install.

To install with GDB enabled during the library's compilation you can add the --debug-mode flag to the install command.

Currently, the Scons installation does not compile the examples or the Python library. Any additions to this installation process are welcome.

(c) 2015--2018 Brendon J. Brewer and contributors. LICENCE: MIT. See the LICENSE file for details.

This work was supported by a Marsden Fast Start grant from the Royal Society of New Zealand.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].