Stan is open source software for Markov chain Monte Carlo sampling, often used for multilevel Bayesian modeling.
Stan is an open-source package for obtaining Bayesian inference using the No-U-Turn sampler, a variant of Hamiltonian Monte Carlo. The Stan webpage describes the program as follows:
Stan® is a state-of-the-art platform for statistical modeling and high-performance statistical computation. Thousands of users rely on Stan for statistical modeling, data analysis, and prediction in the social, biological, and physical sciences, engineering, and business.
Users specify log density functions in Stan’s probabilistic programming language and get:
- full Bayesian statistical inference with MCMC sampling (NUTS, HMC)
- approximate Bayesian inference with variational inference (ADVI)
- penalized maximum likelihood estimation with optimization (L-BFGS)
Stan’s math library provides differentiable probability functions & linear algebra (C++ autodiff). Additional R packages provide expression-based linear modeling, posterior visualization, and leave-one-out cross-validation.
Stan is developed by statistician Andrew Gelman and a team of developers, and is frequently used for sampling from multilevel generalized linear models. It translates a domain-specific language for model specification to C++ code, which employs automatic differentiation to obtain the gradient information needed by the No-U-Turn sampler.
Interfaces to the Stan library and algorithms are available for
- R (RStan)
- Python (PyStan)
- Shell (CmdStan)
- MATLAB (MatlabStan)
- Julia (Stan.jl)
- Stata (StataStan)
- Mathematica (MathematicaStan)
- Scala (ScalaStan)
In addition, RStanArm is a higher-level interface which provides an R formula interface for Bayesian regression modeling.
Further information can be found at:
The users are recommended that they read the followings: