我在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,但问题仍然存在。有没有人能帮我一下?谢谢哈立德
发布于 2016-03-30 10:44:39
我是OpenBugs的新手,但是您不应该为inits指定一个分布而不是一个单点值吗?就像这样?inits <- function(){ list(alpha=rnorm(1),beta=rnorm(1),sigma = rlnorm(1))}
https://stackoverflow.com/questions/35916897
复制相似问题