pypmc
pypmc
is a python package focusing on adaptive importance
sampling. It can be used for integration and sampling from a
user-defined target density. A typical application is Bayesian
inference, where one wants to sample from the posterior to marginalize
over parameters and to compute the evidence. The key idea is to create
a good proposal density by adapting a mixture of Gaussian or student’s
t components to the target density. The package is able to efficiently
integrate multimodal functions in up to about 30-40 dimensions at the
level of 1% accuracy or less. For many problems, this is achieved
without requiring any manual input from the user about details of the
function. Importance sampling supports parallelization on multiple
machines via mpi4py
.
Useful tools that can be used stand-alone include:
importance sampling (sampling & integration)
adaptive Markov chain Monte Carlo (sampling)
variational Bayes (clustering)
population Monte Carlo (clustering)
How to use this documentation
If you don’t know yet whether pypmc
is the right tool for your
needs, you should first read through the overview. There, we introduce
the basic algorithms implemented by pypmc
. If you want to give
pypmc
a try, just follow the installation instructions. The user
guide then explains adaptive importance sampling. In the examples
section, we show how to use the algorithms on simple problems. Take
them as a starting point to work on your problem. Finally, look
through the reference guide if you need help on a specific function or
class.
- 1. Overview
- 2. Installation
- 3. User guide
- 4. Examples
- 5. References
- 6. Reference Guide