Stan is a probabilistic programming language for Bayesian inference written in C++.[1] The Stan language is used to specify a Bayesian statistical model, which is animperative declaration of the log probability density function[1]:2. Stan is licensed under the New BSD License.
Interfaces[edit]
Stan can be accessed through three interfaces:
Algorithms[edit]For inference, Stan implements multiple Markov chain Monte Carlo algorithms and optimization algorithms:
- MCMC algorithms:
- optimization algorithms:
- BFGS (Stan's default optimization algorithm)
- Nesterov's accelerated gradient method
- Newton's method
Automatic Differentiation[edit]Stan implements reverse-mode automatic differentiation to calculate gradients of the model, which is required by HMC and NUTS [1]:199. The automatic differentiation within Stan can be used outside of the probabilistic programming language.
Usage[edit]Stan is used in many fields including social science[3] and pharmaceutical statistics.[4]
References[edit]- Stan Development Team. 2014. Stan Modeling Language User's Guide and Reference Manual, Version 2.2.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.
- 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.
Literature[edit]External links[edit]