Quantifying Uncertainty

The project provides code, examples and documentation for the Generalized Metropolis-Hastings (GMH) algorithm proposed in (Calderhead, 2014). GMH implements a class of parallelised Monte-Carlo Markov Chains methods (MCMC) for Bayesian parameter estimation of complex physical and biological processes.

The GMH MCMC library is written in Julia, a new language designed for fast and flexible scientific computing. It is available on Linux and Mac, and via cloud computing services such as JuliaBox or Amazon Web Services (AWS).

MCMC experiments can be setup and accessed via a web interface (IJulia Notebooks). Several elementary example Notebooks that detail how to set up and run MCMC estimation experiments are available in the repositories, and a biologically-plausible application is also available:the fly photoreceptor model detailed in (Song et al., 2012).

Figure 1: Fly photoreceptor model as a case study for Bayesian parameter estimation on cloud computing platforms.

The Julia implementation makes use of the parallel nature of the Generalized Metropolis-Hastings algorithm. It can be run on clusters of multi-core servers in the cloud. Scalability is very good: for the fly photoreceptor model, an MCMC estimation that would take ~10 hours in highly-optimised Julia code on a single core can be completed in ~8 minutes on a 144-core cluster.

Figure 2: Scalability of the GMH system on multi-core computers.