2016-11-08 2 views
2

私はいくつかの臨床試験を含むネットワークメタアナリシスを行っています。応答は2項である。各試験にはいくつかの治療が含まれていますDAGが異なるJAGSとWinBUGS

ランダムエフェクトモデルを作成すると、JAGSとWinBUGSの出力は似ています。固定エフェクトモデルを作成すると、DICとpDのコンポーネントが途切れてしまいますが、私が興味を持っているパラメータの事後値は似ています。

私は、バイナリではなくガウス応答を持つ同様のモデルを持っています.JAGSとWinBUGSは合意に達しています。

固定効果モデルのバグ/ JAGSコードはpage 61 of thisから持ち上げられ、下に表示されます。しかし、WinBUGSとJAGSを使用して同じコードを実行して同様のposteriorsを作成すると、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を見つけたが、それは私がそれは同じ問題だと思うするのはあまりにも古いです。

間違ったDICとpDを報告しているJAGSに関する既知の問題はありますか? ( "JAGSのバグ"を探すのはそれほど役に立ちません)

私はどんな指針にも感謝します。

答えて

3

pDを計算する方法はいくつかあり、JAGSで使用される方法はWinBUGSで使用される方法とは異なります。具体的に

?rjags::dic 

DIC(Spiegelhalterら2002)「パラメータの有効数」を加算して計算されます(PD)、期待の乖離に、次のヘルプファイルの詳細セクションを参照してください。 dic.samplesによって使用されるpDの定義は、Plummer(2002)によって提案されたものであり、モデル内に2つ以上の平行なチェーンが必要です。

Spiegelhalter、D.、N.ベスト、B.カーリン、およびA.ファン・デル・リンデ(2002):

詳細は以下の論文の(長いが、読んでも価値)の議論であります、ベイジアンモデルの複雑さとフィット感(ディスカッション付き)。王立統計学会シリーズB 64、583-639のジャーナル。

一般的に、(私が知っている)pDを計算するためのすべての方法は近似であり、そのような2つの方法が異なれば、おそらく1つ(または両方)の近似の背後にある仮定が満たされないためです。

マット

関連する問題