English

Probabilistic Programming in Python using PyMC

Computation 2015-07-30 v1

Abstract

Probabilistic programming (PP) allows flexible specification of Bayesian statistical models in code. PyMC3 is a new, open-source PP framework with an intutive and readable, yet powerful, syntax that is close to the natural syntax statisticians use to describe models. It features next-generation Markov chain Monte Carlo (MCMC) sampling algorithms such as the No-U-Turn Sampler (NUTS; Hoffman, 2014), a self-tuning variant of Hamiltonian Monte Carlo (HMC; Duane, 1987). Probabilistic programming in Python confers a number of advantages including multi-platform compatibility, an expressive yet clean and readable syntax, easy integration with other scientific libraries, and extensibility via C, C++, Fortran or Cython. These features make it relatively straightforward to write and use custom statistical distributions, samplers and transformation functions, as required by Bayesian analysis.

Keywords

Cite

@article{arxiv.1507.08050,
  title  = {Probabilistic Programming in Python using PyMC},
  author = {John Salvatier and Thomas Wiecki and Christopher Fonnesbeck},
  journal= {arXiv preprint arXiv:1507.08050},
  year   = {2015}
}
R2 v1 2026-06-22T10:21:19.480Z