Concepedia

Publication | Open Access

PyMC: a modern, and comprehensive probabilistic programming framework in Python

704

Citations

42

References

2023

Year

TLDR

PyMC is a Python probabilistic programming library that offers intuitive, readable syntax and supports a wide range of models, including hierarchical regression, classification, time series, ODEs, and non‑parametric Gaussian processes. The paper highlights PyMC’s positive contribution to the open‑source probabilistic programming ecosystem. PyMC uses the symbolic computation library PyTensor to compile models into backends such as C, JAX, and Numba, enabling execution on CPUs, GPUs, and TPUs. The authors demonstrate PyMC’s versatility and ease of use through examples covering common statistical models.

Abstract

PyMC is a probabilistic programming library for Python that provides tools for constructing and fitting Bayesian models. It offers an intuitive, readable syntax that is close to the natural syntax statisticians use to describe models. PyMC leverages the symbolic computation library PyTensor, allowing it to be compiled into a variety of computational backends, such as C, JAX, and Numba, which in turn offer access to different computational architectures including CPU, GPU, and TPU. Being a general modeling framework, PyMC supports a variety of models including generalized hierarchical linear regression and classification, time series, ordinary differential equations (ODEs), and non-parametric models such as Gaussian processes (GPs). We demonstrate PyMC’s versatility and ease of use with examples spanning a range of common statistical models. Additionally, we discuss the positive role of PyMC in the development of the open-source ecosystem for probabilistic programming.

References

YearCitations

Page 1