人们用于贝叶斯推理的教科书 MCMC 算法有哪些众所周知的改进?

机器算法验证 贝叶斯 马尔可夫链蒙特卡罗 吉布斯 大都会黑斯廷斯
2022-01-26 07:11:54

当我为某个问题编写蒙特卡洛模拟并且模型足够简单时,我使用非常基本的教科书吉布斯采样。当无法使用 Gibbs 抽样时,我编写了多年前学过的教科书 Metropolis-Hastings。我给它的唯一想法是选择跳跃分布或其参数。

我知道有成百上千种专门的方法可以改进那些教科书选项,但我通常从不考虑使用/学习它们。通常感觉要改进一点已经运行良好的东西需要付出太多的努力。

但最近我一直在想,如果没有新的通用方法可以改进我一直在做的事情。自这些方法被发现以来已经有几十年了。可能我真的老了!

Metropolis-Hastings 是否有任何众所周知的替代方案:

  • 相当容易实施,
  • 与 MH 一样普遍适用,
  • 并且总是在某种意义上(计算性能、准确性等)改进了 MH 的结果?

我知道针对非常专业的模型进行了一些非常专业的改进,但是是否有一些我不知道的每个人都在使用的通用东西?

1个回答

我不是这些方面的专家,但我想我还是会把它们放在那里看看社区的想法。欢迎指正。

一种越来越流行的方法被称为哈密顿蒙特卡罗(或有时是混合蒙特卡罗),但实现起来并不十分简单。它使用具有势能和动能的物理模型来模拟围绕参数空间滚动的球,如Radford Neal在本文中所述。物理模型需要相当多的计算资源,因此您往往会获得更少的更新,但更新的相关性往往较低。HMC 是新STAN软件背后的引擎,该软件正在开发中,作为 BUGS 或 JAGS 用于统计建模的更有效和更灵活的替代方案。

还有一整套方法涉及“加热”马尔可夫链,您可以将其视为将热噪声引入模型并增加对低概率状态进行采样的机会。乍一看,这似乎是个坏主意,因为您希望模型按后验概率的比例进行采样。但实际上你最终只会使用“热”状态来帮助链更好地混合。实际样品仅在链条处于“正常”温度时采集。如果你做得正确,你可以使用加热链来找到普通链无法到达的模式,因为低概率的大谷阻碍了从模式到模式的转换。这些方法的一些例子包括Metropolis-coupled MCMC平行回火退火重要性抽样

最后,当拒绝率很高以至于这些其他方法都将失败时 ,您可以使用顺序蒙特卡罗粒子过滤。我对这一系列方法了解最少,所以我的描述在这里可能不正确,但我的理解是它是这样工作的。你从运行你最喜欢的采样器开始,即使拒绝的机会基本上是一个。与其拒绝所有样本,不如选择最不令人反感的样本,然后从那里初始化新的采样器,重复该过程,直到找到一些您真正可以接受的样本。然后您返回并纠正您的样本是非随机的事实,因为您没有从随机位置初始化采样器。

希望这可以帮助。