Stan (software)

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Original author(s) Stan Development Team
Initial release August 30, 2012 (2012-08-30)
Stable release 2.9.0 / December 4, 2015 (2015-12-04)
Development status Active
Written in C++
Operating system Unix-like, Microsoft Windows, Mac OS X
Platform Intel x86 - 32-bit, x64
Size 41.2 MB
Type Statistical package
License New BSD License

Stan is a probabilistic programming language for Statistical inference written in C++.[1] The Stan language is used to specify a (Bayesian) statistical model with an imperative program calculating the log probability density function.[1]:2

Stan is licensed under the New BSD License. Stan is named in honour of Stanislaw Ulam, pioneer of the Monte Carlo method.[1]:xii


Stan can be accessed through several interfaces:


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[3]

Automatic differentiation[edit]

Stan implements reverse-mode automatic differentiation to calculate gradients of the model, which is required by HMC, NUTS, L-BFGS, BFGS, and variational inference.[1]:199 The automatic differentiation within Stan can be used outside of the probabilistic programming language.


Stan is used in fields including social science[4] and pharmaceutical statistics.[5]


  1. ^ a b c d e Stan Development Team. 2015. Stan Modeling Language User's Guide and Reference Manual, Version 2.9.0
  2. ^ 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. 
  3. ^ Kucukelbir, Alp; Ranganath, Rajesh; Blei, David M. (June 2015). "Automatic Variational Inference in Stan". arXiv. 1506.03431. 
  4. ^ 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:
  5. ^ 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. 


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

External links[edit]