0

OpenBUGS で次のモデルを初期化する際に問題が発生しています

model
{
#likelihood
for (t in 1:n) { yisigma2[t] <- 1/exp(theta[t]);
y[t] ~ dnorm(0,yisigma2[t]);
}
#Priors
mu ~ dnorm(0,0.1);
phistar ~ dbeta(20,1.5);
itau2 ~ dgamma(2.5,0.025);
beta <- exp(mu/2);
phi <- 2*phistar-1;
tau <- sqrt(1/itau2);
theta0~dnorm(mu, itau2)
thmean[1] <- mu + phi*(theta0-mu);
theta[1] ~ dnorm(thmean[1],itau2);
for (t in 2:n) { thmean[t] <- mu + phi*(theta[t-1]-mu);
theta[t] ~ dnorm(thmean[t],itau2);
}
}

これは私のデータです

list(y=c(-0.0383 , 0.0019 ,......-0.0094),n=945)

これが私のイニシャルのリストです

list(phistar= 0.98, mu=0, itau2=50)

モデルのチェック、データの読み込み、コンパイルの手順は問題ありません。イニシャルをロードするとき、OpenBUGS は、初期値はロードされているが、チェーンには初期化されていない変数が含まれていると言います。次に、theta0 も初期化しようとしましたが、問題は解決しません。誰かがこれに関して私を助けてくれますか? ありがとうハリド

4

1 に答える 1

0

私は OpenBugs の初心者ですが、単一のポイント値ではなく、init の分布を指定するべきではありませんか? 何かのようなもの?inits <- function(){ list(alpha=rnorm(1), beta=rnorm(1), sigma = rlnorm(1))}

于 2016-03-30T02:44:39.163 に答える