完整的条件从哪里来?


15

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

我想我理解并可以很轻松地实现城市改造-您只需以某种方式选择起点,并在后验密度和投标密度的指导下随机“遍历参数空间”。Gibbs采样看起来非常相似,但是效率更高,因为它一次只更新一个参数,而其他参数保持不变,从而以正交方式有效地遍历空间。

为此,您需要解析from *中每个参数的完整条件。但是这些全部条件从何而来?

P(x1|x2, , xn)=P(x1, , xn)P(x2, , xn)
要得到分母,您需要在上将关节边缘化x1。如果有许多参数,这似乎需要大量工作来进行分析,如果联合分布不是很“好”,则可能很难处理。我意识到,如果在整个模型中使用共轭,则完整的条件可能很容易,但是对于更一般的情况,必须有一种更好的方法。

我在网上看到的所有吉布斯抽样示例都使用了玩具示例(例如从多变量法线抽样,条件变量本身就是法线),并且似乎可以避免这个问题。

*还是根本不需要分析形式的完整条件?像winBUGS这样的程序是如何做到的?


1
Gibbs采样通常不如 Metropolis-Hastings高效,因为它一次只能进行一维测量
西安

Gibbs抽样是在每个单独的步骤更有效,但可能需要一个可怕的很多步骤收敛-并最终有一个良好的整体结果效率较低。
Lutz Prechelt

Answers:


7

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

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


要添加到此答案中,您不必像问题中最初指出的那样将其他变量置于边缘。您要做的就是“重新组织” ,以便您将结果识别为已知的pdf并完成。只要您能够重新组织以上所有其他内容(即,所有其他常量,分母中的积分等),将等于pdf集成到1的适当常量Pr(Xi|Xi1,Xi+1)

3
无需通过分析找到它们。例如,所有完全条件与联合分布成比例。这就是Metropolis-Hastings所需要的。
Tristan 2010年

1
@Tristan当然。但是,我谈论的是吉布斯采样。
gabgoh

1
不需要为Gibbs抽样分析找到它们。您只需要能够以某种方式从条件样本中进行采样即可。是否可以在漂亮的分析语句中写下如何执行此操作无关紧要。
来宾

1
实际上,不需要解析的完全条件:要实施Gibbs采样所需的全部就是 从完全条件进行模拟的能力。
西安

11

我认为您已经错过了Metropolis-Hastings等算法的主要优势。对于Gibbs采样,您将需要从全部条件中采样。没错,这很难做到。Metropolis-Hastings算法的主要优点是您仍然可以一次采样一个参数,但是您只需要知道与比例成比例的全部条件即可。这是因为分母在验收标准函数中抵消了

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

诸如WinBugs / Jags之类的程序通常会采用Metropolis-Hastings或切片采样步骤,这些步骤只需要达到比例的条件即可。这些可以从DAG轻松获得。考虑到共轭性,他们有时甚至会沿着Gibbs的脚步或花哨的挡块前进。


1
嘿,谢谢!我认为关于不需要都市骚扰的规范常数的要点恰恰是我需要了解所有这些信息的信息。我认为,因为WinBUGS中的GS代表gibbs采样,所以我的印象是gibbs取代了MH,并且该软件仅使用gibbs。
cespinoza

3
吉布斯采样一词通常用来表示您一次采样一个参数,即使您没有直接使用完整条件采样的原始想法也是如此。所有软件都按顺序对单个参数或参数块进行采样,但是实际步骤类型会根据最有效的方法而变化很大。
特里斯坦(Tristan)2010年

2
几乎每当您可以实施Gibbs时,您也可以实施Metropolis-Hastings替代方案。混合使用这两种方法可以提高效率。
西安

这应该是公认的答案。
NoBackingDown
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.