JAGS/OpenBUGSの新機能ですので、モデルを指定する際に正しい方向に押していただきたいと思います。私は、この場合、12年が選ばれた15年以上の103カ国でまとめられた不均衡な縦断データを使用しています。 DVはGini係数ですが、これはモデルをlog-Normalにするのではなく、むしろBetaにするべきですが、今はJAGSでモデルをコンパイルする方法を理解するだけです。私は当面固定効果モデルを使用しています。私が実行しているJAGSを使用した階層的な階層的ベイジアン回帰
データやコード:
> head(x)
Year II2 II3 II4 ..... II24
1 1 2.956233 40.90458 4.475183 16.443553
8 1 1.257794 85.47378 2.395186 19.333433
19 1 4.139706 141.07899 2.544640 25.555404
37 1 2.233664 98.51313 3.902835 42.533333
49 1 2.879734 61.39000 1.471334 18.884444
71 1 3.381762 60.23783 3.432614 16.334222
> head(y)
Year II1
1 1 0.3240000
8 1 0.2576667
19 1 0.3132500
37 1 0.2700000
49 1 0.2744286
71 1 0.3250000
dim(x)
1224 23
length(y)
1224
Time <- 12, N <- length(y$II1)#No. of Obs.
dat <- list(x=x, y=y, N=N, Time=Time, p=dim(x)[2]),
inits <- funtion(){list(tau.1=1, tau.2=1, eta=1, alpha=0, beta1=0, beta2=0, beta3=0)}
model6 <- "model{
for(i in 1:N){for(t in 1:Time){
y[i,t]~dlnorm(mu[i,t],tau.1)
mu[i,t] <- inprod(x[i,t],beta[])+alpha[i]}
alpha[i]~dnorm(eta, tau.2)}
for (j in 1:p) {
b[j]~dnorm(0,0.001)
}
eta~dnorm(0, 0.0001)
tau.2~dgamma(0.01,0.01)
tau.1~dgamma(0.01,0.01)
}"
reg.jags <- jags.model(textConnection(model), data=dat, inits=inits, n.chains=1, n.adapt=1000)
をそして私は、このランタイムエラーを取得しておいてください。私は違った何をすべきかについて
Error in jags.model(textConnection(model), data = dat, inits = inits, :
RUNTIME ERROR:
Compilation error on line 3.
Index out of range taking subset of y
任意の提案は非常に高く評価されるだろう!私は不均衡なデータに適用できる3つの "トリック"があることを知っていますが、私はまだこのすべてがどのように働いているのか、少し混乱しています。 JAGSがデータ入力をどのように読み込むか。
乾杯
J
モデルのどこにでも「yy」が表示されません。これが正しいコードとエラーメッセージだと確信していますか? また、あなたのモデルに 'xx'がありますが、' xx'という名前の変数をデータブロックのジャグに渡さないで、 'x'という名前の変数を渡します。 –
@JacobSocolar:私はsomの変更を加えたので、コードを少し編集しました。変更が賢明だったかどうかはわかりませんが、少なくともコードはきれいにカットされていて、タイプミスがないと思います。私はまだ同じコンパイルエラーを取得します。 – Nesvold