Metropolis-Hastings 和 Gibbs 采样等 MCMC 算法是从联合后验分布中采样的方法。
我想我理解并且可以很容易地实现 Metropolis-hasting——你只需以某种方式选择起点,并在后验密度和提案密度的指导下随机“走参数空间”。Gibbs 采样看起来非常相似但更有效,因为它一次只更新一个参数,同时保持其他参数不变,有效地以正交方式在空间中行走。
为此,您需要分析 from* 中每个参数的完整条件。但是这些完整的条件是从哪里来的呢? 要得到分母,您需要边缘化上的关节。如果有很多参数,这似乎需要做大量的分析工作,并且如果联合分布不是很“好”,则可能难以处理。我意识到,如果您在整个模型中使用共轭,则完整的条件可能很容易,但对于更一般的情况必须有更好的方法。
我在网上看到的所有 Gibbs 采样示例都使用玩具示例(例如从多元正态采样,其中条件本身就是正态),并且似乎避开了这个问题。
* 或者您是否需要分析形式的完整条件句?winBUGS之类的程序是怎么做到的?