吉布斯抽样中的完整条件来自哪里?

机器算法验证 贝叶斯 马尔可夫链蒙特卡罗 吉布斯
2022-01-30 22:28:57

Metropolis-Hastings 和 Gibbs 采样等 MCMC 算法是从联合后验分布中采样的方法。

我想我理解并且可以很容易地实现 Metropolis-hasting——你只需以某种方式选择起点,并在后验密度和提案密度的指导下随机“走参数空间”。Gibbs 采样看起来非常相似但更有效,因为它一次只更新一个参数,同时保持其他参数不变,有效地以正交方式在空间中行走。

为此,您需要分析 from* 中每个参数的完整条件。但是这些完整的条件是从哪里来的呢? 要得到分母,您需要边缘化上的关节如果有很多参数,这似乎需要做大量的分析工作,并且如果联合分布不是很“好”,则可能难以处理。我意识到,如果您在整个模型中使用共轭,则完整的条件可能很容易,但对于更一般的情况必须有更好的方法。

P(x1|x2, , xn)=P(x1, , xn)P(x2, , xn)
x1

我在网上看到的所有 Gibbs 采样示例都使用玩具示例(例如从多元正态采样,其中条件本身就是正态),并且似乎避开了这个问题。

* 或者您是否需要分析形式的完整条件句?winBUGS之类的程序是怎么做到的?

2个回答

我认为您错过了 Metropolis-Hastings 等算法的主要优势。对于 Gibbs 抽样,您需要从完整的条件句中抽样。你是对的,这很难做到。Metropolis-Hastings 算法的主要优点是您仍然可以一次采样一个参数,但您只需要知道完整的条件直到成比例。这是因为分母在验收标准函数中取消

非规范化的完整条件通常是可用的。例如,在您的示例 中,您拥有。您不需要进行任何积分分析。在大多数应用程序中,更多的可能也会取消。P(x1|x2,...,xn)P(x1,...,xn)

WinBugs/Jags 之类的程序通常采用 Metropolis-Hastings 或切片采样步骤,这些步骤只需要符合比例的条件。这些可以从 DAG 轻松获得。考虑到共轭,他们有时也会采取直接的吉布斯步骤或花哨的块停止。

是的,你是对的,条件分布需要通过分析找到,但我认为有很多例子可以很容易地找到完整的条件分布,并且比联合分布的形式要简单得多。

对此的直觉如下,在大多数“现实”联合分布大多数通常有条件地独立于大多数其他随机变量。也就是说,某些变量具有局部交互作用,例如取决于,但不与所有变量交互,因此条件分布应显着简化为P(X1,,Xn)XiXiXi1Xi+1Pr(Xi|X1,,Xi)=Pr(Xi|Xi1,Xi+1)