|
|
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:
- Waterfowl band recovery model
- Simple pricing model
- Hierarchical Poisson failure rates
- Fisheries surplus production model
- Salamander occupancy estimation model
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.
