Original author(s) Written in C++ | Development status Active | |
Initial release August 30, 2012 (2012-08-30) Stable release 2.14.0 / December 26, 2016 (2016-12-26) Repository github.com/stan-dev/stan |
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.
Contents
Stan is licensed under the New BSD License. Stan is named in honour of Stanislaw Ulam, pioneer of the Monte Carlo method.
Interfaces
Stan can be accessed through several interfaces:
Algorithms
Stan implements gradient-based Markov chain Monte Carlo (MCMC) algorithms for Bayesian inference, stochastic, gradient-based variational Bayesian methods for approximate Bayesian inference, and gradient-based optimization for penalized maximum likelihood estimation.
Automatic differentiation
Stan implements reverse-mode automatic differentiation to calculate gradients of the model, which is required by HMC, NUTS, L-BFGS, BFGS, and variational inference. The automatic differentiation within Stan can be used outside of the probabilistic programming language.
Usage
Stan is used in fields including social science and pharmaceutical statistics.