编辑:在做了更多研究之后,似乎切片采样可能是要走的路。我已经看到它在如何对 Gibbs 采样所需的单变量分布进行采样的上下文中提到了很多。对此有何想法/意见?还有其他可能更好的算法吗?
这是一个半统计半方法论的问题,所以请对任何类型的解决方案保持开放的态度。
我最近一直在使用 Gibbs Sampling 来运行贝叶斯模型并从它们的后验预测分布中进行采样。通常,我一直在使用共轭分布,例如高斯分布的线性回归具有高斯先验和 Gamma 分布的噪声项. 但在我看来,MCMC 的部分真正价值应该是,与消息传递和变分算法不同,分布不一定需要是共轭的。从理论上讲,我应该能够使用任何分布,并且 Gibbs Sampling 应该仍然可以工作。
所以,一旦我有了分布,我之前所做的是在纸上计算分布的形式,将其转换为我知道的分布并计算出它的参数,以便我可以从中采样。
我的问题是:
- 在这种情况下,使用常规 Metropolis-Hastings 比使用 Gibbs 抽样更好吗?
- 你知道做这种符号操作的好图书馆,所以我不必手动做吗?
- 如果找不到共轭分布,例如,如果我正在使用我自己发明的一些疯狂分布,那么可以最有效地从哪些算法中采样尽管我不知道它的归一化常数?
我的主要兴趣是#3,因为它是一种包罗万象的解决方案——我知道拒绝抽样算法系列,但在运行抽样算法时我必须产生另一个抽样似乎很疯狂算法。解决此问题的最有效方法是什么?
非常感谢!
杰森