All Projects → nimble-dev → Nimble

nimble-dev / Nimble

Licence: bsd-3-clause
The base NIMBLE package for R

Programming Languages

r
7636 projects

Projects that are alternatives of or similar to Nimble

LogDensityProblems.jl
A common framework for implementing and using log densities for inference.
Stars: ✭ 26 (-72.63%)
Mutual labels:  bayesian-methods, bayesian-inference, mcmc
Shinystan
shinystan R package and ShinyStan GUI
Stars: ✭ 172 (+81.05%)
Mutual labels:  mcmc, bayesian-inference, bayesian-methods
Dbda Python
Doing Bayesian Data Analysis, 2nd Edition (Kruschke, 2015): Python/PyMC3 code
Stars: ✭ 502 (+428.42%)
Mutual labels:  mcmc, bayesian-inference
Pymc3
Probabilistic Programming in Python: Bayesian Modeling and Probabilistic Machine Learning with Aesara
Stars: ✭ 6,214 (+6441.05%)
Mutual labels:  mcmc, bayesian-inference
Probflow
A Python package for building Bayesian models with TensorFlow or PyTorch
Stars: ✭ 95 (+0%)
Mutual labels:  bayesian-inference, bayesian-methods
Turing.jl
Bayesian inference with probabilistic programming.
Stars: ✭ 1,150 (+1110.53%)
Mutual labels:  mcmc, bayesian-inference
Bda r demos
Bayesian Data Analysis demos for R
Stars: ✭ 409 (+330.53%)
Mutual labels:  mcmc, bayesian-inference
Bda py demos
Bayesian Data Analysis demos for Python
Stars: ✭ 781 (+722.11%)
Mutual labels:  mcmc, bayesian-inference
SMC.jl
Sequential Monte Carlo algorithm for approximation of posterior distributions.
Stars: ✭ 53 (-44.21%)
Mutual labels:  bayesian-inference, mcmc
Deepbayes
Bayesian methods in deep learning Summer School
Stars: ✭ 15 (-84.21%)
Mutual labels:  mcmc, bayesian-methods
Rhat ess
Rank-normalization, folding, and localization: An improved R-hat for assessing convergence of MCMC
Stars: ✭ 19 (-80%)
Mutual labels:  bayesian-inference, bayesian-methods
Paramonte
ParaMonte: Plain Powerful Parallel Monte Carlo and MCMC Library for Python, MATLAB, Fortran, C++, C.
Stars: ✭ 88 (-7.37%)
Mutual labels:  mcmc, bayesian-inference
Bayadera
High-performance Bayesian Data Analysis on the GPU in Clojure
Stars: ✭ 342 (+260%)
Mutual labels:  mcmc, bayesian-inference
Rstanarm
rstanarm R package for Bayesian applied regression modeling
Stars: ✭ 285 (+200%)
Mutual labels:  bayesian-inference, bayesian-methods
Bayesian Analysis Recipes
A collection of Bayesian data analysis recipes using PyMC3
Stars: ✭ 479 (+404.21%)
Mutual labels:  bayesian-inference, bayesian-methods
BayesHMM
Full Bayesian Inference for Hidden Markov Models
Stars: ✭ 35 (-63.16%)
Mutual labels:  bayesian-inference, mcmc
Rstan
RStan, the R interface to Stan
Stars: ✭ 760 (+700%)
Mutual labels:  mcmc, bayesian-inference
Bat.jl
A Bayesian Analysis Toolkit in Julia
Stars: ✭ 82 (-13.68%)
Mutual labels:  mcmc, bayesian-inference
DynamicHMCExamples.jl
Examples for Bayesian inference using DynamicHMC.jl and related packages.
Stars: ✭ 33 (-65.26%)
Mutual labels:  bayesian-inference, mcmc
bayesian-stats-with-R
Material for a workshop on Bayesian stats with R
Stars: ✭ 55 (-42.11%)
Mutual labels:  bayesian-inference, mcmc

NIMBLE

Build Status AppVeyor Build Status CRAN DOI Google Group

Website | Documentation | Examples | Developing | Workshop materials

NIMBLE is an R package for hierarchical statistical modeling (aka graphical modeling). It enables writing general models along with methods such as Markov chain Monte Carlo (MCMC), particle filtering (aka sequential Monte Carlo), and other general methods.

For writing statistical models, NIMBLE adopts and extends the BUGS language, making it largely compatible with BUGS and JAGS. NIMBLE makes BUGS extensible, allowing users to add new functions and new distributions.

For writing algorithms (aka analysis methods), NIMBLE provides a model-generic programming system embedded within R. This provides control over models as generic objects and mathematical manipulation of model variables. In this way, NIMBLE's programming paradigm treats probabilistic graphical models as a basic programming construct.

Both models and algorithms are compiled via generating customized C++ and providing seamless interfaces to compiled C++ from R.

NIMBLE's most developed methods are for MCMC. Users can easily customize sampler configurations from R and write new samplers in NIMBLE's algorithm programming system.

Developers of new computational statistical methods can build them in NIMBLE to gain the benefits of its graphical modeling language, compilation, and distribution via CRAN.

Installation

Install prerequisites

NIMBLE needs a C++ compiler and the GNU make utility. Typically, Mac users can obtain these by installing Xcode, including command line utilities, while Windows users can obtain them by installing Rtools. See the User Manual for more details.

Install NIMBLE

The easiest way to install NIMBLE is via CRAN:

install.packages("nimble")

To install from the NIMBLE website:

library(devtools)
install.packages("nimble", type = "source", repos = "https://r-nimble.org")

Note that NIMBLE's sequential Monte Carlo (SMC; aka particle filtering) methods are now (as of version 0.10.0) in the nimbleSMC package.

Note that MCMCsuite and compareMCMCs are being migrated to the compareMCMCs package. To install this:

library(devtools)
install_github("nimble-dev/compareMCMCs", subdir = "compareMCMCs")

Citation

In published work that uses or mentions NIMBLE, please cite:

de Valpine, P., D. Turek, C.J. Paciorek, C. Anderson-Bergman, D. Temple Lang, and R. Bodik. 2017. Programming with models: writing statistical algorithms for general model structures with NIMBLE. Journal of Computational and Graphical Statistics 26:403-413. https://doi.org/10.1080/10618600.2016.1172487.

In published work that uses NIMBLE, please also cite the package version:

de Valpine, P., C. Paciorek, D. Turek, N. Michaud, C. Anderson-Bergman, F. Obermeyer, C. Wehrhahn Cortes, A. Rodriguez, D. Temple Lang, and S. Paganin. 2020. NIMBLE: MCMC, Particle Filtering, and Programmable Hierarchical Modeling. doi: 10.5281/zenodo.1211190. R package version 0.10.1, https://cran.r-project.org/package=nimble.

To help us track usage to justify funding support for NIMBLE, please include the DOI in the citation.

Licenses

Nimble is released under a mixture of licenses, and depends on additional third-party libraries with compatible licenses.

Acknowledgements

The development of NIMBLE has been funded by:

  • an NSF Advances in Biological Informatics grant (DBI-1147230) to P. de Valpine, C. Paciorek, and D. Temple Lang;
  • an NSF SI2-SSI grant (ACI-1550488) to P. de Valpine, C. Paciorek, and D. Temple Lang; and
  • an NSF Collaborative Research grant (DMS-1622444) to P. de Valpine, A. Rodriguez, and C. Paciorek.

with additional support provided by postdoctoral funding for D. Turek from the Berkeley Institute for Data Science and Google Summer of Code fellowships for N. Michaud (2015) and C. Lewis-Beck (2017).

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].