GithubHelp home page GithubHelp logo

dochvam / nimble Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nimble-dev/nimble

0.0 1.0 0.0 33.88 MB

The base NIMBLE package for R

Home Page: http://R-nimble.org

License: BSD 3-Clause "New" or "Revised" License

HTML 11.46% Makefile 0.04% TeX 0.30% R 31.87% Shell 0.12% M4 0.07% C++ 45.98% Batchfile 0.12% CMake 0.01% C 0.46% Roff 9.56%

nimble's Introduction

NIMBLE

Build Status AppVeyor Build Status CRAN DOI Google Group

Website | Documentation | Examples | Developing

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 with extra functionality in compareMCMCs and MCMCsuite, install through the NIMBLE website:

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

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.

To cite a version of the package, please cite:

NIMBLE Development Team. 2019. NIMBLE: MCMC, Particle Filtering, and Programmable Hierarchical Modeling. doi: 10.5281/zenodo.1211190.. R package version 0.7.1, https://cran.r-project.org/package=nimble.

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

nimble's People

Contributors

danielturek avatar dlebauer avatar dochvam avatar dtemplelangtest avatar duncantl avatar fritzo avatar jpdunc23 avatar macgyver08 avatar nlmichaud avatar paciorek avatar perrydv avatar peterasujan avatar pistacliffcho avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.