metropolis-hesting算法如何保证样本服从未知后验分布

How does metropolis-hesting algorithm ensure samples obey an unknown posterior distribution

我是一个统计学外行,在阅读了一些关于 Metropolis-Hastings MCMC 算法的博客和示例后,我有一个问题:

在M-H算法中,一个新样本(比如,x')是否被接受取决于"acceptance probability",alpha = min(1,A),其中 A = p(x')q(x|x')/[p(x)q(x'|x)]。

问题出在这里,因为我们不知道兴趣分布p(x)的形式,我们如何计算包含p(x')和p(x)的接受概率?

或者换句话说:metropolis-hesting算法如何保证样本服从未知的后验分布。 我是新手,请多多指教

这是来自https://en.wikipedia.org/wiki/Metropolis%E2%80%93Hastings_algorithm

的一段文字

f(x) 应仅与密度成正比而不是完全等于密度的宽松要求使得 Metropolis–Hastings 算法特别有用,因为在实践中计算必要的归一化因子通常非常困难。 (引述结束)

所以你的 p(x) 应该是 x 在目标分布下的概率乘以某个未知常数因子。这种 p(x) 的一个示例是当您对已知分布施加约束时。在这种情况下,你不知道 p(x),但你知道 p(x) * K 对于一些未知的 K,所以你仍然可以计算 p(x)/p(x') = (p(x) * K ) / (p(x') * K).

假设你想模拟分布在一个圆内的点,但是你不知道圆周率的值,所以你无法计算出圆的面积。然后,您可以使 p(x) 成为单位正方形上的均匀分布,点 <= 与 (0.5, 0.5) 的距离为 0.5,其他地方为 0。这为您提供了一个 p(x),它不是对 1 进行积分,而是对 Pi/4 进行积分,您不知道,因此它不是适当的概率分布,但它是常数因子的一倍。