悬赏 10 个论坛币 未解决
我在贝叶斯推断的突变点研究,为什么赋初值时出错,显示this chain contains uninitialized variables,代码如下(我第一次用这个软件,还不太会):
model
{
for (i in 3:N)
{
y ~ dnorm (mu, tao[J])
mu <- alpha[J]+beta[J]*i+gamma*x1
J<-1+step(i-x.change1)+step(i-x.change2)
x1<-y[i-1]
}
for(i in 1:N-2)
{
punif<-1/(N-2)
}
for(j in 1:3)
{
alpha[j] ~ dnorm(0,0.001)
beta[j] ~ dnorm(0,0.001)
tao[j] ~ dgamma(1.001,0.001)
}
k[1]~dcat(punif[])
k[2]~dcat(punif[])
x.change1<-ranked(k[],1)+1
x.change2<-ranked(k[],1)+1
gamma ~ dnorm(0,0.001)
}
list(N=56,y=c(3209.91,3075.50,2889.01,3008.79,3206.36,3220.19,3163.76,2987.03,3056.84,3053.39,2661.87,2541.40,2493.39,2636.22,2645.26,2942.52,2973.67,2845.88,2766.58,2872.01,2941.89,2995.94,2827.07,2708.68,2773.56,2592.50,2460.17,2401.14,2456.55,2248.84,2250.15,2365.99,2383.88,2356.65,2388.54,2282.52,2168.81,2114.29,2070.15,2100.09,2042.74,2124.66,2311.04,2380.36,2296.43,2211.80,2264.51,2119.15,2013.65,2073.82,2185.35,2186.71,2161.97,2163.38,2036.28,2091.49))
list(alpha=c(0,0,0),beta=c(0,0,0),tao(0,0,0)=(0.01,0.01,0.01),gamma=0,k=c(2,2))