在 MCMC 中拒绝提议的点时该怎么办?

机器算法验证 马尔可夫链蒙特卡罗 蒙特卡洛 马尔可夫链
2022-04-12 05:08:05

我正在编写一个简单的 Metropolis-Hastings MCMC 算法。每次移动被接受时,该点都会添加到接受点列表中。我想知道当提议的举动被拒绝时我应该怎么做。

  • 如果最后接受的点再次添加到列表中,从而使列表中的条目更长,

    或者

  • 我不应该在列表中添加任何内容,一直持续到最终某个新点被接受吗?

1个回答

如果提议的值被拒绝, Metropolis-Hastings 算法的验证依赖于在马尔可夫链中重复当前值。您不应接受点列表视为您的样本,而应将带有转换 的马尔可夫链视为样本

Xt+1=Yt+1if Ut+1π(Yt+1)/π(Xt)=Xtotherwise
(假设一个对称的提案分布)。在拒绝的情况下重复当前值是使算法有效的原因,即为什么π是平稳分布。

总是可以研究接受值和拒绝值的分布,通过Rao-Blackwellisation可以进行一些回收,但这项研究更先进,远非理解算法所必需的。