What's new? | Help | Directory | Sign in
Google
pymc
PyMC: Markov chain Monte Carlo for Python
  
  
  
  
    
Code License: MIT License
Labels: python, Bayesian, MCMC, statistics, estimation
Join project
Project owners:
  fonnesbeck
Project members:
david.huard, anand.prabhakar.patil

PyMC

Bayesian estimation, particularly using Markov chain Monte Carlo (MCMC), is an increasingly relevant approach to statistical estimation. However, few statistical software packages implement MCMC samplers, and they are non-trivial to code by hand. PyMC is a python module that implements the Metropolis-Hastings algorithm as a python class, and is extremely flexible and applicable to a large suite of problems. PyMC includes methods for summarizing output, plotting, goodness-of-fit and convergence diagnostics.

Download

Binary packages are available in the Downloads section of this site.

Binary packages for Macintosh (OS X 10.5) are recommended to be used with Python 2.5 that ships with Leopard, while ActivePython 2.5 is recommended for Windows users (Enthought Python for Windows is no longer supported).

We are close to releasing the second generation of PyMC, which will become PyMC 2.0. If you want a preview of the new code, you can pull it directly from SVN (see below), or install one of the binary builds provided. The syntax for PyMC2 has been significantly changed from version 1.3.x. While it is always difficult to break backward-compatibility, the changes bring drastic improvements in performance and flexibility. To get an idea of what a PyMC2 model looks like, we have provided a few examples:

Support

The PyMC User’s Guide contains detailed installation instructions, as well as some MCMC theoretical background and a tutorial on using PyMC. The user's guide is currently under development, and we hope to be posting a draft very soon, so watch this space.

In the meantime, we have prepared a 13-minute Quicktime screencast (14.8 MB) that demonstrates the objects that underpin the new Bayesian estimation module for Python. No actual MCMC takes place (stay tuned for that), but it should give you a good sense of the new syntax, and of the enhanced flexibility PyMC.

For help, questions or suggestions on a particular topic related to PyMC, please join our mailing list.

If you wish to file a bug report or suggest enhancements to PyMC, please submit an issue at our issues page.