Gibbs 抽样与一般 MH-MCMC

机器算法验证 贝叶斯 采样 马尔可夫链蒙特卡罗 吉布斯 大都会黑斯廷斯
2022-01-25 17:39:05

我刚刚阅读了一些关于 Gibbs 采样和 Metropolis Hastings 算法的文章,并且有几个问题。

据我了解,在吉布斯抽样的情况下,如果我们有一个大的多变量问题,我们从条件分布中抽样,即抽样一个变量,同时保持所有其他变量不变,而在 MH 中,我们从完整的联合分布中抽样。

文件说的一件事是,建议的样本在 Gibbs Sampling 中总是被接受,即建议接受率总是 1。对我来说,这似乎是一个很大的优势,因为对于大型多元问题,MH 算法的拒绝率似乎变得相当大. 如果确实如此,那么不一直使用 Gibbs Sampler 来生成后验分布的原因是什么?

2个回答

使用 Metropolis 算法的主要理由在于,即使结果后验未知,您也可以使用它。对于吉布斯采样,您必须知道从中得出变量的后验分布。

Gibbs 采样打破了采样中的维数诅咒,因为您已将(可能是高维的)参数空间分解为几个低维步骤。Metropolis-Hastings 缓解了生成拒绝抽样技术的一些维度问题,但您仍然从完整的多变量分布中抽样(并决定接受/拒绝样本),这导致算法遭受维度灾难。

以这种简化的方式思考:一次更新一个变量(Gibbs)比同时更新所有变量(Metropolis Hastings)要容易得多。

话虽如此,参数空间的维数仍然会影响 Gibbs 和 Metropolis Hastings 的收敛,因为有更多的参数可能不会收敛。

Gibbs 也很好,因为 Gibbs 循环的每一步都可能是封闭形式。这在分层模型中通常是这种情况,其中每个参数仅以其他几个参数为条件。构建模型通常非常简单,以便每个 Gibbs 步骤都处于封闭形式(当每个步骤是共轭时,有时称为“半共轭”)。这很好,因为您正在从通常非常快的已知分布中采样。