The PyMC project
The PyMC project#
PyMC is a community driven project with the goal of making Bayesian modeling and probabilistic programming intuitive and performant.
The flagship of the PyMC project is the PyMC library, but PyMC also coordinates many other activities:
Curating the PyMC example gallery
Answer questions and moderate discussions on PyMC Discourse
Translating the code examples of Bayesian statistics books in PyMC resources
The PyMC library#
PyMC is a probabilistic programming library for Python that allows users to fit Bayesian models using a variety of numerical methods, most notably Markov chain Monte Carlo (MCMC) and variational inference (VI). Its flexibility and extensibility make it applicable to a large suite of problems. Along with core model specification and fitting functionality, PyMC integrates with ArviZ for exploratory analysis of the results.
PyMC strives to make Bayesian modeling as simple and painless as possible, allowing users to focus on their scientific problem, rather than on the methods used to solve it. Here is a partial list of its features:
Modern methods for fitting Bayesian models, including MCMC and VI.
Includes a large suite of well-documented statistical distributions.
Uses Aesara as the computational backend, allowing for fast expression evaluation, automatic gradient calculation, and GPU computing.
Built-in support for Gaussian process modeling.
Extensible: easily incorporates custom step methods and unusual probability distributions.
Bayesian models can be embedded in larger programs, and results can be analyzed with the full power of Python.