结合不同模型的后验分布

机器算法验证 贝叶斯 后部 锯齿 斯坦
2022-04-11 12:45:42

考虑到食草动物的存在/不存在,我正在运行贝叶斯模型来估计植物上的果实数量。我得到每个均值的后验分布。然后,我运行一个单独的模型来估计每个水果的种子数量,考虑到食草动物的存在/不存在,再次使用每个平均值的后验分布。有没有办法结合这些后验分布来估计总种子产量?这可以像乘以后验一样简单吗?类似于计算每株植物的平均果实数和每颗果实的平均种子数,然后将它们相乘以粗略估计种子产量?

或者,是否可以在一个采样器中同时运行两个模型,然后使用生成的数量。例如,使用 JAGS(或 STAN):

for(n in 1:N){
    fruitNumber[n] ~ dnorm(fruitHat[n], sd_fruit)
    seedMass[n] ~ dnorm(seedHat[n], sd_seed)

    fruitHat[n] <- B0 + B1*Herb[n]
    seedHat[n] <- G0 + G1*Herb[n]
}

fruitHerb <- B0
fruitNoHerb <- B0+B1
seedHerb <- G0
seedNoHerb <- G0 + G1

totalSeedHerb <- fruitHerb * seedHerb
totalSeedNoHerb <- fruitNoHerb * seedNoHerb
1个回答

以反映每个模型在分析数据集上工作情况的方式组合来自多个模型的结果的一种方法是贝叶斯模型平均。

近似完整贝叶斯模型平均的一种简单方法是使用与成比例的权重(或使用有效参数数量 à la DIC 用于分层模型)模型 . 这些权重近似于后验模型概率,如果先验所有模型的可能性相同。其他权重也是可能的,例如,您可能先验地偏爱更复杂的模型,以在模型平均中获得类似 AIC 的行为。eBICm/2m=1,,M

您可以使用这些权重进行平均估计(在合适的尺度上)(并且发布了用于组合不确定性的简单公式,假设每个模型的后验都具有合理的正态性),或者可能以与这些权重成比例的后验的更贝叶斯方式样本。