pymc-devs/pymc
Bayesian Modeling and Probabilistic Programming in Python
What it solves
PyMC provides a framework for Bayesian statistical modeling, allowing users to define probabilistic models and estimate their parameters. It solves the challenge of performing complex posterior estimation and missing value imputation without requiring the user to have deep specialized knowledge of fitting algorithms.
How it works
PyMC uses an intuitive syntax to specify models (e.g., x ~ N(0,1)). It leverages PyTensor for computation optimization and dynamic compilation to C or JAX. To estimate parameters, it employs advanced sampling algorithms like the No U-Turn Sampler (NUTS) for Markov chain Monte Carlo (MCMC) and Automatic Differentiation Variational Inference (ADVI) for fast approximate estimation, including mini-batch support for large datasets.
Who it’s for
It is designed for researchers, data scientists, and statisticians who need to build flexible Bayesian models for a wide range of problems, from simple linear regressions to complex scientific modeling.
Highlights
- Powerful Sampling: Includes the No U-Turn Sampler for handling models with thousands of parameters.
- Variational Inference: Offers ADVI for fast approximate posterior estimation.
- Optimized Backend: Built on PyTensor for NumPy broadcasting, linear algebra operators, and JAX compilation.
- Flexible Syntax: Features an intuitive model specification language.
- Missing Data Support: Provides transparent support for missing value imputation.
Related
- Project
- Project
- Project
- Project
- Project