Generated by GPT-5-mini| Stan (software) | |
|---|---|
| Name | Stan |
| Developer | Stan Development Team |
| Released | 2012 |
| Programming language | C++ |
| Operating system | Cross-platform |
| License | MIT License |
Stan (software) is a probabilistic programming platform for statistical modeling and high-performance computation. It provides a domain-specific programming language and a suite of inference algorithms for Bayesian and frequentist analysis used in academia, industry, and government. Stan integrates automatic differentiation, Monte Carlo methods, and optimization to enable flexible modeling in fields such as epidemiology, econometrics, ecology, neuroscience, and machine learning.
Stan is a software ecosystem developed by the Stan Development Team and related contributors from institutions such as Columbia University, Princeton University, University of Oxford, University of Cambridge, and Stanford University. The platform centers on a modeling language and runtime implemented in C++ with interfaces to environments like R, Python, Julia, and MATLAB. Stan emphasizes probabilistic modeling through explicit specification of joint probability distributions, leveraging automatic differentiation and state-of-the-art inference to perform parameter estimation, posterior simulation, and predictive analysis for scientific studies and policy evaluations.
Initial development of Stan began as a collaboration among researchers affiliated with Carnegie Mellon University, Columbia University, and M.I.T. researchers inspired by advances in Hamiltonian dynamics from physics, including concepts related to the Lagrangian and Hamiltonian formulations. Early releases drew on computational techniques from the Stanford Linear Accelerator Center community and methods developed in the Bayesian statistics research community. Over successive versions, Stan incorporated contributions from statisticians and computer scientists connected to institutions such as Princeton University, University of Washington, and University of Chicago, and benefited from funding or collaboration tied to programs hosted by organizations like the National Science Foundation and the National Institutes of Health.
Stan's modeling language allows users to encode probabilistic models with blocks for data, parameters, transformed parameters, model specification, and generated quantities. The language design was influenced by syntax and ideas from probabilistic programming languages and statistical modeling systems developed at Bell Labs, SAS Institute, and McGill University. Models in Stan are compiled into C++ code that uses reverse-mode automatic differentiation, a technique rooted in work by researchers at Argonne National Laboratory and Lawrence Berkeley National Laboratory. The language supports hierarchical models, mixture models, state-space models, generalized linear models, and multilevel structures used in empirical research at institutions like Yale University and Harvard University.
Stan implements several inference engines, notably the No-U-Turn Sampler (NUTS), an adaptive form of Hamiltonian Monte Carlo developed by researchers associated with Columbia University and Princeton University. For optimization and maximum a posteriori estimation, Stan uses algorithms such as L-BFGS and stochastic optimization techniques linked to work at IBM Research and Google Research. The implementation relies on templated C++ libraries and automatic differentiation frameworks that trace back to projects at Google and Microsoft Research; these enable efficient gradient computation for high-dimensional models used in projects at NASA and CERN.
Stan interfaces include the R package ecosystem (rstan, cmdstanr), the Python interface (PyStan, CmdStanPy), and bindings for Julia and MATLAB. Community packages and workflows integrate Stan with tools from CRAN, Conda, and Docker for reproducible computation in collaborative projects at OpenAI and university labs. The development workflow often uses version control systems like Git and collaboration platforms such as GitHub and GitLab supported by contributors from institutions including University of Washington and New York University.
Researchers apply Stan for posterior estimation, predictive modeling, model comparison, and uncertainty quantification in domains including epidemiology (disease transmission studies), ecology (population dynamics), econometrics (panel data and causal inference), and neuroscience (neural encoding models). Stan has been used in high-profile projects at organizations such as Centers for Disease Control and Prevention, World Health Organization, Bank of England, and in academic studies from Princeton University and Harvard University. It supports model-based decision-making in industry settings at companies like Google, Facebook, and Airbnb where hierarchical models, time-series analysis, and experimental design are essential.
Performance assessments of Stan focus on sampling efficiency, effective sample size, and convergence diagnostics such as the potential scale reduction factor popularized by researchers at Brookhaven National Laboratory and Los Alamos National Laboratory. Benchmarks compare Stan's NUTS and HMC implementations against variational inference frameworks developed by teams at Google Brain and DeepMind, and against probabilistic programming systems from projects at Microsoft Research and Amazon Web Services. Practical evaluations published in journals associated with American Statistical Association and conferences like the International Conference on Machine Learning and NeurIPS demonstrate Stan's strengths for moderate-dimensional hierarchical models, while ongoing research addresses scalability for massive datasets through integration with distributed computing initiatives from Apache Software Foundation projects.
Category:Statistical software