可逆跳转 MCMC 代码(Matlab 或 R)

机器算法验证 r matlab 参考 马尔可夫链蒙特卡罗
2022-03-06 18:25:23

有谁知道可逆跳转 MCMC 的一些编写良好的代码(在 Matlab 或 R 中)?最好是一个简单的演示应用程序来补充有关该主题的论文,这将有助于理解该过程。

4个回答

RJMCMC 是由Peter Green1995 年的一篇引文经典论文中介绍的。他为自动 RJMCMC编写了一个名为AutoRJ的 Fortran 程序;他的页面链接到 David Hastie 的 C 程序AutoMixScott Sisson 在 2005 年发表的一篇论文的表 1 中列出了各种 RJMCMC 算法的免费软件列表谷歌搜索还可以从格拉斯哥大学的一个小组中找到一些伪代码,如果您想自己编程,它们可能有助于理解这些原理。

King等人的《人口生态学贝叶斯分析》一书。在种群生态学的背景下描述了 RJMCMC。我发现那里的描述非常清楚,他们在附录中提供了 R 代码。

这本书也有一个相关的网页,但书中找到的一些代码不在网站上。

只需在@onestop 的答案中添加一个细节:我发现 Olivier Cappé (CT/RJ MCMC) 发布的 C 软件对于理解可逆跳转 MCMC 算法非常有帮助(特别是如何设计生死概率和分裂概率)合并动作)。源代码的链接是: http: //perso.telecom-paristech.fr/~cappe/Code/CTRJ_mix/About/

Jailin Ai 很好地介绍了 RJ MCMC(尽管它与 Green 的原始论文非常接近)以及伴随的 R 代码,作为他在利兹的硕士论文的一部分。还给出了变点问题的深入示例,这些示例也包含在 Green 1995 年的论文中。

在这里找到论文和代码:

http://www1.maths.leeds.ac.uk/~voss/projects/2011-RJMCMC/