|Original author(s)||Stan Development Team|
|Initial release||August 30, 2012|
|Stable release||2.9.0 / December 4, 2015|
|Operating system||Unix-like, Microsoft Windows, Mac OS X|
|Platform||Intel x86 - 32-bit, x64|
|License||New BSD License|
Stan is a probabilistic programming language for Statistical inference written in C++. The Stan language is used to specify a (Bayesian) statistical model with an imperative program calculating the log probability density function.:2
Stan can be accessed through several interfaces:
- CmdStan - command-line executable for the shell
- RStan - integration with the R software environment
- PyStan - integration with the Python programming language
- MatlabStan - integration with the MATLAB numerical computing environment
- Stan.jl - integration with the Julia programming language
- StataStan - integration with Stata
Stan implements gradient-based Markov chain Monte Carlo (MCMC) algorithms for Bayesian inference, gradient-based optimization for penalized maximum likelihood estimation, and stochastic, gradient-based Variational Bayesian methods for approximate Bayesian inference.
- MCMC algorithms:
- Optimization algorithms:
- Variational inference algorithm:
- Black-box Variational Inference
Stan implements reverse-mode automatic differentiation to calculate gradients of the model, which is required by HMC, NUTS, L-BFGS, BFGS, and variational inference.:199 The automatic differentiation within Stan can be used outside of the probabilistic programming language.
- Stan Development Team. 2015. Stan Modeling Language User's Guide and Reference Manual, Version 2.9.0
- Hoffman, Matthew D.; Gelman, Andrew (April 2014). "The No-U-Turn Sampler: Adaptively Setting Path Lengths in Hamiltonian Monte Carlo". Journal of Machine Learning Research 15: pp. 1593–1623.
- Kucukelbir, Alp; Ranganath, Rajesh; Blei, David M. (June 2015). "Automatic Variational Inference in Stan". arXiv. 1506.03431.
- Goodrich, Benjamin King, Wawro, Gregory and Katznelson, Ira, Designing Quantitative Historical Social Inquiry: An Introduction to Stan (2012). APSA 2012 Annual Meeting Paper. Available at SSRN: http://ssrn.com/abstract=2105531
- Natanegara, Fanni and Neuenschwander, Beat and Seaman, John W. and Kinnersley, Nelson and Heilmann, Cory R. and Ohlssen, David and Rochester, George (2013). "The current state of Bayesian methods in medical product development: survey results and recommendations from the DIA Bayesian Scientific Working Group". Pharmaceutical Statistics: n/a. doi:10.1002/pst.1595. ISSN 1539-1612.
- Hoffman, Matthew D., Bob Carpenter, and Andrew Gelman (2012). Stan, scalable software for Bayesian modeling, Proceedings of the NIPS Workshop on Probabilistic Programming.
- Gelman, Andrew, Daniel Lee, and Jiqiang Guo (2015). Stan: A probabilistic programming language for Bayesian inference and optimization, Journal of Educational and Behavioral Statistics.
- Carpenter, Bob, Andrew Gelman, Matt Hoffman, Daniel Lee, Ben Goodrich, Michael Betancourt, Marcus Brubaker, Jiqiang Guo, Peter Li, and Allen Riddell. Stan: A probabilistic programming language, Journal of Statistical Software.