我正在阅读有关 pymc 库的蒙特卡罗马尔可夫链过程的教程。我也是使用 pymc 的新手,并尝试建立我自己的MCMC流程。我遇到了一些问题,我在pymc教程中找不到合适的答案: 第一:我们如何用pymc定义先验,然后在链式过程中对先验者进行边缘化?
我的第二个问题是Dirichlet
分布,这个分布与MCMC中的先前信息有什么关系?如何定义?
答案 0 :(得分:0)
我建议遵循PyMC用户指南。它明确地向您展示了如何指定模型(包括先验)。使用MCMC,您最终会得到所有后验值的边缘值,因此您不需要知道如何边缘化先验。
Dirichlet经常被用作贝叶斯模型中多项概率的先验。 Dirichlet参数的值可用于编码先验信息,通常根据与多项式的每个元素相对应的先验事件的名义数量。例如,带有1的向量作为参数的Dirichlet只是在多项量之前的Beta(1,1)的推广。