emcee: The MCMC Hammer

emcee: The MCMC Hammer

25 Nov 2013 | Daniel Foreman-Mackey1,2, David W. Hogg2,3, Dustin Lang4,5, Jonathan Goodman6
The paper introduces emcee, a stable and well-tested Python implementation of an affine-invariant ensemble sampler for Markov chain Monte Carlo (MCMC) methods. The algorithm, proposed by Goodman & Weare (2010), is efficient and requires only 1 or 2 parameters to be tuned, unlike traditional MCMC methods which require $ \sim N^2 $ parameters for an N-dimensional parameter space. The code is open-source and available online under the MIT License. It is designed to be efficient, with excellent performance measured by autocorrelation time and function calls per independent sample. The algorithm is parallelizable, allowing users to take advantage of multiple CPU cores without extra effort. The paper describes the algorithm, implementation details, and how to parallelize it. It also discusses the importance of autocorrelation time as a measure of MCMC performance and provides tips for using emcee effectively. The code has been used in several published projects in astrophysics and is recommended for its efficiency and ease of use. The paper also addresses common issues such as low acceptance rates and multi-modal posteriors, and suggests strategies for handling them. The code is available for installation via pip or by downloading the source code. The documentation provides examples and API references for practical use.The paper introduces emcee, a stable and well-tested Python implementation of an affine-invariant ensemble sampler for Markov chain Monte Carlo (MCMC) methods. The algorithm, proposed by Goodman & Weare (2010), is efficient and requires only 1 or 2 parameters to be tuned, unlike traditional MCMC methods which require $ \sim N^2 $ parameters for an N-dimensional parameter space. The code is open-source and available online under the MIT License. It is designed to be efficient, with excellent performance measured by autocorrelation time and function calls per independent sample. The algorithm is parallelizable, allowing users to take advantage of multiple CPU cores without extra effort. The paper describes the algorithm, implementation details, and how to parallelize it. It also discusses the importance of autocorrelation time as a measure of MCMC performance and provides tips for using emcee effectively. The code has been used in several published projects in astrophysics and is recommended for its efficiency and ease of use. The paper also addresses common issues such as low acceptance rates and multi-modal posteriors, and suggests strategies for handling them. The code is available for installation via pip or by downloading the source code. The documentation provides examples and API references for practical use.
Reach us at info@study.space