MultiBUGS is a new version of the general-purpose Bayesian modeling software BUGS that implements a generic algorithm for parallelizing Markov chain Monte Carlo (MCMC) algorithms to speed up posterior inference of Bayesian models. The algorithm parallelizes evaluation of the product-form likelihoods formed when a parameter has many children in the directed acyclic graph (DAG) representation; and parallelizes sampling of conditionally-independent sets of parameters. A heuristic algorithm is used to decide which approach to use for each parameter and to apportion computation across computational cores. This enables MultiBUGS to automatically parallelize the broad range of statistical models that can be fitted using BUGS-language software, making the dramatic speed-ups of modern multi-core computing accessible to applied statisticians, without requiring any experience of parallel programming. We demonstrate the use of Multi-BUGS on simulated data designed to mimic a hierarchical e-health linked-data study of methadone prescriptions including 425,112 observations and 20,426 random effects. Posterior inference for the e-health model takes several hours in existing software, but MultiBUGS can perform inference in only 28 minutes using 48 computational cores.
Bibliographical noteFunding Information:
This work was supported by the UK Medical Research Council [program codes MC_UU_00002/2 (RJBG), MC_UU_12023/21 (RT), MC_UU_00002/11 (DDA and AT)]. We are grateful to Chris Jewell, Sylvia Richardson and Christopher Jackson for helpful discussions of this work; to the Associate Editor and Reviewers for their insightful comments; and also to all contributors to the BUGS project upon which MultiBUGS is based.
© 2020, American Statistical Association. All rights reserved.
- Bayesian analysis
- Directed acyclic graph
- Gibbs sampling
- Hierarchical models
- Markov chain Monte Carlo
- Parallel computing