PofoliaShared via Pofolia

Journal of Statistical Software· 2017Q1

<i>Stan</i> : A Probabilistic Programming Language

Bob Carpenter, Andrew Gelman, Matthew D. Hoffman, Daniel C. Lee et al.

Short summary

Stan is a new probabilistic programming language designed for specifying statistical models and performing Bayesian inference. It offers full Bayesian inference via advanced Markov chain Monte Carlo methods and penalized maximum likelihood estimates through optimization algorithms.

AI-generated from the title and abstract; the full text is not read.

Key points

  • Stan enables users to define statistical models by specifying log probability functions.
  • It offers full Bayesian inference using advanced Markov chain Monte Carlo methods (e.g., No-U-Turn sampler).
  • Penalized maximum likelihood estimates are computed using optimization methods (e.g., L-BFGS).
  • The language provides access to log densities, gradients, and Hessians for various inference algorithms.
  • Stan is accessible via command-line, R (rstan), and Python (pystan) interfaces.

AI-generated from the title and abstract; the full text is not read.

Abstract

Stan is a probabilistic programming language for specifying statistical models. A Stan program imperatively defines a log probability function over parameters conditioned on specified data and constants. As of version 2.14.0, Stan provides full Bayesian inference for continuous-variable models through Markov chain Monte Carlo methods such as the No-U-Turn sampler, an adaptive form of Hamiltonian Monte Carlo sampling. Penalized maximum likelihood estimates are calculated using optimization methods such as the limited memory Broyden-Fletcher-Goldfarb-Shanno algorithm. Stan is also a platform for computing log densities and their gradients and Hessians, which can be used in alternative algorithms such as variational Bayes, expectation propagation, and marginal inference using approximate integration. To this end, Stan is set up so that the densities, gradients, and Hessians, along with intermediate quantities of the algorithm such as acceptance probabilities, are easily accessible. Stan can be called from the command line using the cmdstan package, through R using the rstan package, and through Python using the pystan package. All three interfaces support sampling and optimization-based inference with diagnostics and posterior analysis. rstan and pystan also provide access to log probabilities, gradients, Hessians, parameter transforms, and specialized plotting.

The authors' abstract, as published at the source. Journal of Statistical Software, 2017 · DOI ↗

TakeawaysPremium
Ask the paperFree account

Continue with a free account

Ask the paper: 3 free questions a day about this paper; save it, get its citation, new summaries every day for your field. Takeaways are Premium.

Continue free on the web

Sign in with Google or Apple; no card needed. You come back to this paper.

On your phone:

Field: Statistics and Probability

Statistics and ProbabilityMathematics