stan-dev/stan

Stan development repository. The master branch contains the current release. The develop branch contains the latest stable development. See the Developer Process Wiki for details.

What it solves

Stan provides a platform for performing complex statistical modeling and Bayesian inference. It allows users to estimate parameters of a probabilistic model by calculating the posterior distribution of unknown parameters given observed data.

How it works

Stan is a C++ package that implements several advanced mathematical techniques to find solutions to statistical models:

  • No-U-Turn Sampler (NUTS): A variant of Hamiltonian Monte Carlo (HMC) used for full Bayesian inference.
  • Automatic Differentiation Variational Inference (ADVI): Used for approximate Bayesian inference.
  • L-BFGS optimization: Used for penalized maximum likelihood estimation (MLE).

It relies on the Stan Math library, which provides automatic differentiation and a templated library for linear algebra and probability special functions.

Who it’s for

It is designed for researchers and data scientists who need robust statistical inference tools and can interface with languages like R, Python, MATLAB, Julia, Stata, and Mathematica.

Highlights

  • Supports full and approximate Bayesian inference.
  • Built on a high-performance C++ core with automatic differentiation.
  • Offers multiple language interfaces for integration into various data science workflows.

Related

  • Project
  • Project
  • Project
  • Project
  • Project