具有统一候选人分布的 Metropolis-Hastings 的录取率

机器算法验证 贝叶斯 估计 采样 马尔可夫链蒙特卡罗
2022-03-17 03:43:52

当运行具有统一候选分布的 Metropolis-Hastings 算法时,接受率在 20% 左右的基本原理是什么?

我的想法是:一旦发现了真实(或接近真实)的参数值,那么来自同一均匀区间的新候选参数值集不会增加似然函数的值。因此,我运行的迭代越多,我应该得到的接受率就越低。

我的这种想法哪里错了?非常感谢!

这是我的计算说明:

Acceptance_rate=exp{l(θc|y)+log(p(θc))[l(θ|y)+log(p(θ)]},

在哪里l是对数似然。

作为θ候选人总是从相同的统一区间中选取,

p(θc)=p(θ).

因此接受率计算缩减为:

Acceptance_rate=exp{l(θc|y)[l(θ|y)]}

接受规则θc那么如下:

如果UAcceptance_rate, 在哪里U是从区间均匀分布中得出的[0,1], 然后

θ=θc,

否则画θc从区间均匀分布[θmin,θmax]

3个回答

我相信Roberts、Gelman 和 Gilks​​ 的随机游走 Metropolis 算法的弱收敛和最优缩放是 0.234 最优接受率的来源。

该论文表明,在某些假设下,您可以在空间维度趋于无穷大时缩放随机游走 Metropolis-Hastings 算法,以获得每个坐标的限制扩散。在极限情况下,如果接受率取值为 0.234,则可以将扩散视为“最有效的”。直观地说,这是在做出许多被接受的小步骤和做出许多被拒绝的大提案之间的权衡。

与模拟退火相比,Metropolis-Hastings 算法并不是真正的优化算法。它是一种应该从目标分布进行模拟的算法,因此不应将接受概率推向 0。

只是为了补充@NRH的答案。总体思路遵循Goldilocks 原则

  • 如果跳跃“太大”,则链条会粘住;
  • 如果跳跃“太小”,则链探索参数空间的速度会非常慢;
  • 我们希望跳跃恰到好处。

当然,问题是,我们所说的“恰到好处”是什么意思。本质上,对于特定情况,它们最小化了预期的方形跳跃距离。这相当于最小化 lag-1 自相关。最近,Sherlock 和 Roberts 证明了魔法 0.234 也适用于其他目标分布:

C. 夏洛克、G. 罗伯茨 (2009);椭圆对称单峰目标上随机游走 Metropolis 的最优缩放伯努利 15(3)

我将此添加为答案,因为我没有足够的声誉来评论该问题。我认为您对接受率接受率感到困惑。

  1. 接受率用于决定是否接受或拒绝候选人。您所说的接受率的比率实际上称为接受率,它与接受率不同。
  2. 录取率是接受候选人的比率。它是 MCMC 链中唯一值的数量与 MCMC 链中的值总数的比率。

现在您对最佳接受率是否为 20% 的怀疑实际上是关于实际接受率,而不是接受率。答案在其他答案中给出。我只是想指出您遇到的困惑。