Goudie Robert J B, Turner Rebecca M, De Angelis Daniela, Thomas Andrew
MRC Biostatistics Unit University of Cambridge.
MRC Clinical Trials Unit University College London.
J Stat Softw. 2020 Oct 7;95. doi: 10.18637/jss.v095.i07.
MultiBUGS is a new version of the general-purpose Bayesian modelling software BUGS that implements a generic algorithm for parallelising Markov chain Monte Carlo (MCMC) algorithms to speed up posterior inference of Bayesian models. The algorithm parallelises evaluation of the product-form likelihoods formed when a parameter has many children in the directed acyclic graph (DAG) representation; and parallelises 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 parallelise 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 MultiBUGS 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.
MultiBUGS是通用贝叶斯建模软件BUGS的新版本,它实现了一种通用算法,用于并行化马尔可夫链蒙特卡罗(MCMC)算法,以加速贝叶斯模型的后验推断。该算法并行化了在有向无环图(DAG)表示中当一个参数有多个子节点时形成的乘积形式似然的评估;并并行化了条件独立参数集的采样。使用一种启发式算法来决定对每个参数使用哪种方法,并在计算核心之间分配计算任务。这使得MultiBUGS能够自动并行化可以使用BUGS语言软件拟合的广泛统计模型,让应用统计学家能够利用现代多核计算的显著加速,而无需任何并行编程经验。我们在模拟数据上展示了MultiBUGS的使用,这些模拟数据旨在模拟一项关于美沙酮处方的分层电子健康关联数据研究,包括425,112个观测值和20,426个随机效应。在现有软件中,电子健康模型的后验推断需要几个小时,但使用48个计算核心时,MultiBUGS仅需28分钟就能完成推断。