JAGSでの打ち切り/切り捨て


10

JAGSの検閲問題にどのように適合するかについて質問があります。

X値に測定誤差がある2変量混合法線を観察します。観測された打ち切り値の真の基礎となる「手段」をモデル化したいと思います。

xtrue+ϵ=xobserved ϵN(0,sd=.5)

これが私が今持っているものです:

 for (i in 1:n){
   x[i,1:2]~dmnorm(mu[z[i],1:2], tau[z[i],1:2,1:2])
   z[i]~dcat(prob[ ])
 }

Yにも測定誤差があります。私がしたいのは次のようなものです:

 for (i in 1:n){
   x_obs[i] ~ dnorm(x_true[i],prec_x)I(x_true[i],)
   y_obs[i] ~ dnorm(y_true[i],prec_y)
   c(x_true[i]:y_true[i])~dmnorm(mu[ z [ i ],1:2], tau[z[i],1:2,1:2])
   z[i]~dcat(prob[ ])
 }

 #priors for measurement error
 e_x~dunif(.1,.9)
 prec_x<-1/pow(e_x,2)
 e_y~dunif(2,4)
 prec_y<-1/pow(e_y,2)

明らかに、cコマンドはJAGSでは無効です。

前もって感謝します。


3
切り捨てるには、T(-、-)を使用しますが、ユーザーマニュアルを読んで、
censuring

回答:


9

おそらくこれがあなたが探しているものです:

x_obs[i] ~ dnorm(x_true[i],prec_x)T(x_true[i], )

JAGSには、打ち切りと切り捨ての両方のオプションがあります。観測が特定の範囲内にあることがアプリオリにわかっているので、切り捨てが必要なように聞こえます

jagsが切り捨てと打ち切りを使用する方法の詳細については、ユーザーズマニュアルを参照してください。


3

ヒントDavidをありがとう。この質問をJAGSサポートフォーラムに投稿し、役立つ回答を得ました。重要なのは、「真」の値に2次元配列を使用することでした。

for (j in 1:n){ 
  x_obs[j] ~ dnorm(xy_true[j,1], prec_x)T(xy_true[j,1],) 
  y_obs[j] ~ dnorm(xy_true[j,2], prec_y)
  xy_true[j, ] ~ dmnorm(mu[ z [j],1:2], tau[z[j],1:2,1:2]) 
  z[j]~dcat(prob[ ]) 
}

 #priors for measurement error 
 e_x~dunif(.1,.9)
 prec_x<-1/pow(e_x,2)
 e_y~dunif(2,4)
 prec_y<-1/pow(e_y,2) 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.