OpenBUGS如何在疾病映射的背景下计算DIC,尤其是Dhat?

问题描述

我正在运行一个空间模型,即Poisson-CAR模型,该模型在openbugs中指定如下:

model
{
    for (k in 1:n_munic) {
        O[k] ~ dpois(b[k])
        log(b[k]) <- log(E[k]) + mu + phi[k]
    }
    phi[1:n_munic] ~ car.normal(adj[],weights[],num[],pr)
    for (i in 1:sumNumNeigh) {
        weights[i] <- 1
    }
    mu ~ dflat()
    pr ~ dgamma(1,0.01)
}

我试图根据获得的样本重新计算R自己的DIC。

如果我将每个样本中的DBar计算为偏差并计算后验均值(请参见下面的代码),那么得到的结果与openbugs提供的结果完全相同。

但是,如果我将Dhat计算为直接参数(在本例中为mu和phi)的后验均值的偏差,则会得到不同的结果。我还考虑了不同的参数化设置,但找不到与openbugs相同的结果。

对于一个简单的模型,我得到的结果完全相同。

您知道为什么我没有得到相同的结果吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)