(交互)MCMC用于多模式后路


9

我正在尝试使用MCMC从具有多种模式的后验样本中进行采样,这些模式之间的距离特别远。看起来在大多数情况下,这些模式中只有一种包含我要寻找的95%hpd。我试图实现基于回火模拟的解决方案,但这不能提供令人满意的结果,因为在实践中,从一种“捕获范围”到另一种“捕获范围”是昂贵的。

因此,在我看来,更有效的解决方案是从不同的起点运行许多简单的MCMC,并通过使MCMC相互交互而进入主导解决方案。您知道是否有实施此想法的适当方法?

注意:我发现http://lccc.eecs.berkeley.edu/Papers/dmcmc_short.pdf(分布式马尔可夫链Monte Carlo,Lawrence Murray)看上去很接近我在寻找的东西,但我真的不理解设计的函数。[R一世

[编辑]:缺少答案似乎表明我的最初问题没有明显的解决方案(使从不同起点从相同目标分布进行采样的多个MCMC相互交互)。真的吗 ?为什么这么复杂?谢谢


听起来就像我以前使用“人口MCMC”的方式一样。请参阅Calderhead和Girolami的“通过热力学积分和MCMC估计贝叶斯因子”。抱歉,这有点晚了,但是其他人可能会喜欢这个参考!
山姆·梅森

顺序蒙特卡洛可能与人口MCMC相同。
罗伯特·P·高盛

Answers:


1

首先,我建议您寻求一个更好的方法,或者至少是一种具有更深入描述的方法,因为您所引用的论文中的“分布式马尔可夫链蒙特卡洛”似乎并没有明确说明。优点和缺点没有得到很好的探讨。有一种方法,最近在arxiv中出现,称为“ 蠕虫汉密尔顿蒙特卡洛 ”,我建议对其进行检查。

回到您提供参考的论文,远程建议 [R一世θ一世被非常模糊地描述。在应用部分中,它被描述为“在前面的t / 2个样本上的最大似然高斯”。也许这意味着您平均了一世ŤH链?使用参考文献中的不良描述很难猜测。

[更新:]几个链和这个想法从后验分布的样品的应用程序之间的相互作用可以并行MCMC方法中找到,例如在这里。但是,运行多条链并强迫它们相互作用可能不适合多峰后部:例如,如果存在一个非常明显的区域,其中大部分后部分布都集中,则链的相互作用甚至可能由于坚持特定的条件而变得更糟。区域,而不探索其他不那么明显的区域/模式。因此,我强烈建议您寻找专门为多模式问题设计的MCMC。并且,如果您想创建另一个/新方法,则在了解“市场”中可用的内容之后,可以创建更有效的方法。


谢谢你的帮助。这并不是我所期望的,但也许我正在寻找无法达到的东西。我目前正在调查(我不确定是否能够得出汉密尔顿式MCMC所需的一切),我通过您的参考资料找到了所谓的飞镖MC。我给您赏金,再次感谢您的建议。
peuhp

@peuhp,这与上面提到的哈密顿方法密切相关,但是Equi-Energy采样器是一种MCMC方法,专门用作多模态后验分布方法。我知道它是通过启动几个平行链并允许在链之间跳转来运行的,但是我对发布答案的方法没有足够的了解/经验。看一下链接。我希望这有帮助。
2013年

1

您应该尝试使用multinest:https : //arxiv.org/pdf/0809.3437.pdf https://github.com/JohannesBuchner/MultiNest 这是一个贝叶斯推理引擎,可以为您提供多模式分布的参数样本。

github链接包含您按照说明编译和安装的multinest源代码。它还具有更易于使用的python包装器。示例代码的前一部分用于约束您的参数,而似然部分包含您的似然性。设置文件包含您的所有设置,并在安装后将文件夹链嵌套输出。它将为您提供参数样本


欢迎来到简历,并感谢您的出色回答。也许您可以通过总结Githublink来改善您的答案。
Ferdi

1
github链接包含您按照说明编译和安装的multinest源代码。它还具有更易于使用的python包装器。示例代码的前一部分用于约束您的参数,而似然部分则包含您的似然性。设置文件包含您的所有设置,并在安装后将文件夹链嵌套输出。它将为您提供参数样本。
Eric Kamau '18

哇。太棒了。我赞成你的回答。将来,您每次共享链接时都可以包含这样的描述。
Ferdi

0

在计算统计中,这似乎是一个困难且持续的问题。但是,有两种较不先进的方法应该可以使用。

假设您已经找到了几种不同的后验模式,并且很高兴看到它们是最重要的模式,并且这些模式后的后验是否合理正常。然后,您可以在这些模式下计算hessian(例如,使用R中的optim和hessian = T),并且可以将后验近似为正态(或t分布)的混合。参见Gelman等人的p318-319。(2003)“贝叶斯数据分析”以获取详细信息。然后,您可以使用正态/ t混合近似作为独立采样器中的提议分布,以从整个后验中获取样本。

我没有尝试过的另一个想法是“退火重要性抽样”(Radford Neal,1998,链接此处)。


另一件事,如果您已经有一组链,每个链似乎都在本地“收敛”了,那就是从所有链的组合中进行某种重要性重采样。我不确定。
马太福音

欢迎来到论坛Mat。不要犹豫,编辑您的答案以添加新的想法,而不是评论自己的答案。没问题:)
brumar 2015年

0

尝试使用一种新的用于多模态的MCMC方法,一种具有吸引力的Metropolis算法(http://arxiv.org/abs/1601.05633)?该多模式采样器可与单个调整参数(例如Metropolis算法)一起使用,并且易于实现。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.