我对 Metropolis 采样算法的理解是否正确?

机器算法验证 贝叶斯 采样 马尔可夫链蒙特卡罗
2022-04-20 23:46:53

Metropolis 算法是 MCMC 类算法的一个实例,其目的是从后验分布中采样,该后验分布可能难以进行分析操作。

为了简单起见,让我们使用以下示例:

  • 假设你想找到偏差的后验分布θ一枚硬币,给定一个列表n观察Xi.
  • 我们从一个统一的先验开始:θUniform(0,1),并考虑二项似然:XθBinomial(n,θ).
  • 后面会是p(θX)=p(Xθ)p(θ)Zp, 在哪里Zp=01p(Xθ)p(θ)dθ

让我们假设Zp是“棘手的”,所以我们将使用 Metropolis 算法从后验中采样。

首先,我们需要一个对称的提案分布,这将为我们提供一个新的潜在样本。首先,这个提议分布是否真的只给了你一个新的样本,并且与后验无关?

接下来,移动到新样本的接受概率θ给定当前样本θt

min(1, p(θX)p(θtX))=min(1, p(Xθ)p(θ)p(Xθt)p(θt))
现在可以对其进行评估,因为可能性和先验是已知的,由统计学家选择。本质上,这种样本验收“技巧”允许人们绕过归一化常数的计算。

Metropolis算法的这个总结是否正确?

1个回答

这是(对称)Metropolis-[Rosenbluth²]-Hastings 算法的正确描述,但动机不是:

(i) 忽略归一化常数Zp很多模拟技术都很常见,比如接受-拒绝方法。归一化常数在计算 cdf 和使用逆 cdf技术时很有用,但除此之外,它并不重要。使用 MCMC 方法的原因是要模拟的(例如,后验)分布是复杂的、高维的、非标准分布。

(ii) 后验必须在分析上是可用的,即

p(θ)p(x|θ)
必须可计算观测值x和任意θ,直到一个常数(在θ)。否则,随机变量θ必须由辅助变量完成以增加p(θ|x)进入联合分布q(θ,z|x)可以计算或模拟(如在数据增强中)。