MMMMMM YYYY, Volume VV, Issue II. | Bob Carpenter, Andrew Gelman, Matt Hoffman, Daniel Lee, Ben Goodrich, Michael Betancourt, Marcus A. Brubaker, Jiqiang Guo, Peter Li, Allen Riddell
Stan is a probabilistic programming language designed for specifying statistical models. It defines a log probability function over parameters conditioned on specified data and constants, enabling full Bayesian inference through Markov chain Monte Carlo methods such as the No-U-Turn sampler, an adaptive form of Hamiltonian Monte Carlo sampling. Stan also supports penalized maximum likelihood estimation using optimization methods like the Broyden-Fletcher-Goldfarb-Shanno algorithm. The language can be called from the command line, R, or Python, and supports sampling or optimization-based inference and analysis. Stan's design addresses the challenges of existing inference software for complex models, incorporating advanced features like algorithmic differentiation, constrained variables, and efficient sampling algorithms. The paper provides an overview of Stan, including its implementation details, and demonstrates its use through examples, such as estimating a Bernoulli parameter and a hierarchical model.Stan is a probabilistic programming language designed for specifying statistical models. It defines a log probability function over parameters conditioned on specified data and constants, enabling full Bayesian inference through Markov chain Monte Carlo methods such as the No-U-Turn sampler, an adaptive form of Hamiltonian Monte Carlo sampling. Stan also supports penalized maximum likelihood estimation using optimization methods like the Broyden-Fletcher-Goldfarb-Shanno algorithm. The language can be called from the command line, R, or Python, and supports sampling or optimization-based inference and analysis. Stan's design addresses the challenges of existing inference software for complex models, incorporating advanced features like algorithmic differentiation, constrained variables, and efficient sampling algorithms. The paper provides an overview of Stan, including its implementation details, and demonstrates its use through examples, such as estimating a Bernoulli parameter and a hierarchical model.