我正在做一个网络meta分析,包括几个临床试验。响应是二项式的。每项试验都包含几种治疗方法。
当我做一个随机效果模型时,JAGS和WinBUGS的输出是相似的。当我做一个固定效果模型时,DIC和pD组件是很不一样的,尽管我感兴趣的参数的后件是相似的。
我已经得到了类似的模型,具有高斯响应,而不是二项式,并且JAGS和WinBUGS是一致的。
固定效果模型的BUGS/JAGS代码是从page 61 of this中提出来的,如下所示。然而,同样的代码使用WinBUGS和JAGS运行并产生类似的后缀,只是DIC和pD有很大的不同。所以我不认为这段代码是问题所在。
for(i in 1:ns){ # Loop over studies
mu[i] ~ dnorm(0, .0001)
# Vague priors for all trial baselines
for (k in 1:na[i]) { # Loop over arms
r[i, k] ~ dbin(p[i, k], n[i, k])
# binomial likelihood
logit(p[i, k]) <- mu[i] + d[t[i, k]] - d[t[i, 1]]
# model for linear predictor
rhat[i, k] <- p[i, k] * n[i, k]
# expected value of the numerators
dev[i, k] <-
2 * (r[i, k] * (log(r[i, k]) - log(rhat[i, k])) +
(n[i, k] - r[i, k]) * (log(n[i, k] - r[i, k]) +
- log(n[i, k] - rhat[i, k]) ))
# Deviance contribution
}
resdev[i] <- sum(dev[i, 1:na[i]])
# summed residual deviance contribution for this trial
}
totresdev <- sum(resdev[])
# Total Residual Deviance
d[1] <- 0
# treatment effect is zero for reference treatment
for (k in 2:nt){
d[k] ~ dnorm(0, .0001)
} # vague priors for treatment effects我找到了一个描述一个已知问题的old post,但它太老了,我不认为它是同一个问题。
JAGS报告错误的DIC和pD是否存在任何已知问题?(搜索"JAGS bugs“并不都有帮助。)
如果有任何建议,我将不胜感激。
发布于 2016-11-10 01:27:07
有许多不同的方法来计算pD,并且JAGS使用的方法与WinBUGS使用的方法不同。请参阅以下帮助文件的详细信息部分:
?rjags::dic具体地说:
DIC (Spiegelhalter et Al2002)是通过将“有效参数数”(pD)与预期偏差相加来计算的。dic.samples使用的pD定义是Plummer (2002)提出的定义,并且需要在模型中有两个或更多个平行链。
详细信息在以下论文的(冗长,但很值得一读)讨论中:
Spiegelhalter,D.,N. Best,B.Carlin和A. van der Linde (2002),模型复杂性和拟合的贝叶斯度量(带讨论)。皇家统计学会学报B系列64,583-639。
一般来说:所有计算pD的方法(我知道)都是近似值,如果两个这样的方法不一致,那么可能是因为一个(或两个)近似值的假设没有得到满足。
哑光
https://stackoverflow.com/questions/40487225
复制相似问题