Skip to main content
QUICK REVIEW

[论文解读] MatDRAM: A pure-MATLAB Delayed-Rejection Adaptive Metropolis-Hastings Markov Chain Monte Carlo Sampler

Shashank Kumbhare, Amir Shahmoradi|arXiv (Cornell University)|Oct 8, 2020
Markov Chains and Monte Carlo Methods参考文献 31被引用 4
一句话总结

MatDRAM 是一种纯 MATLAB 实现的延迟拒绝自适应 Metropolis (DRAM) 马尔可夫链蒙特卡洛 (MCMC) 算法,专为高维问题中的贝叶斯推断、采样和积分而设计。它支持近乎完全自动化的、可重现的、可重启的 MCMC 模拟,具备自适应提议分布和自动监测适应性衰减以确保收敛性。

ABSTRACT

Markov Chain Monte Carlo (MCMC) algorithms are widely used for stochastic optimization, sampling, and integration of mathematical objective functions, in particular, in the context of Bayesian inverse problems and parameter estimation. For decades, the algorithm of choice in MCMC simulations has been the Metropolis-Hastings (MH) algorithm. An advancement over the traditional MH-MCMC sampler is the Delayed-Rejection Adaptive Metropolis (DRAM). In this paper, we present MatDRAM, a stochastic optimization, sampling, and Monte Carlo integration toolbox in MATLAB which implements a variant of the DRAM algorithm for exploring the mathematical objective functions of arbitrary-dimensions, in particular, the posterior distributions of Bayesian models in data science, Machine Learning, and scientific inference. The design goals of MatDRAM include nearly-full automation of MCMC simulations, user-friendliness, fully-deterministic reproducibility, and the restart functionality of simulations. We also discuss the implementation details of a technique to automatically monitor and ensure the diminishing adaptation of the proposal distribution of the DRAM algorithm and a method of efficiently storing the resulting simulated Markov chains. The MatDRAM library is open-source, MIT-licensed, and permanently located and maintained as part of the ParaMonte library at https://github.com/cdslaborg/paramonte.

研究动机与目标

  • 开发一个完全自动化、用户友好且可重现的 MATLAB MCMC 采样工具箱,用于贝叶斯推断和不确定性量化。
  • 实现延迟拒绝自适应 Metropolis (DRAM) 算法的一种变体,以确保提议分布的适应性逐渐衰减,从而实现收敛。
  • 为长时间运行的 MCMC 模拟提供确定性重启功能,尤其适用于具有时间限制的高性能计算系统。
  • 提供高效的马尔可夫链存储与后处理功能,集成收敛性诊断工具和可视化工具。
  • 确保与更广泛的 ParaMonte 库兼容,实现跨语言互操作性以及共享的后处理工作流。

提出的方法

  • 该采样器使用多变量正态 (MVN) 提议分布,其协方差在模拟过程中自适应更新,以提高采样效率。
  • 通过延迟拒绝机制允许多次尝试生成新状态,从而在复杂后验分布中提高接受率。
  • 通过监测连续提议分布之间的希尔伯特距离(Hellinger distance)来确保适应性逐渐衰减,这是保证遍历性和收敛性的关键条件。
  • 计算并报告提议分布之间总变差距离 (TVD) 的上界,以评估适应性的进展。
  • 通过保存马尔可夫链和随机数生成器的状态,支持确定性重启,确保跨运行结果比特完全一致。
  • 输出的马尔可夫链以高效方式存储并附带元数据,同时集成了用于可视化和收敛性分析的后处理工具。

实验结果

研究问题

  • RQ1如何设计一种纯 MATLAB 实现的 DRAM 算法,以确保在长时间 MCMC 模拟中实现完全可重现性和重启能力?
  • RQ2可以采用哪些技术来自动监测并强制实现自适应 MCMC 采样器中的适应性衰减?
  • RQ3基于希尔伯特距离的适应性度量在检测收敛性和防止非遍历行为方面有多有效?
  • RQ4能否在 MATLAB 中构建一个完全自动化、用户友好的 MCMC 工具箱,以实现高维贝叶斯推断且用户干预最少?
  • RQ5MatDRAM 与 ParaMonte 库的集成如何实现跨语言兼容性,并统一 MCMC 结果的后处理?

主要发现

  • MatDRAM 库成功实现了完全自动化、确定性且可重启的 DRAM 采样器,其纯 MATLAB 实现确保了中断后重启的模拟结果比特完全一致。
  • 基于希尔伯特距离的适应性度量为总变差距离 (TVD) 提供了可靠且计算高效的上界,该上界在模拟过程中持续衰减,表明适应性成功衰减。
  • 通过希尔伯特距离监测适应性的方法能够自动检测未收敛的链,即适应性未能衰减的情况。
  • 该库支持高维采样(以 4D MVN 为例),并能高效存储带完整元数据的马尔可夫链,便于后处理。
  • 与 ParaMonte 库的集成使 MatDRAM 能够与基于 C++、Fortran 和 Python 的采样器互操作,实现 MCMC 输出的统一分析。
  • 该工具为开源,采用 MIT 许可证,托管于 https://github.com/cdslaborg/paramonte,可通过 MATLAB FileExchange 公开访问,并配有详尽的文档。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。