我想在Winbugs中定义本地级别的模型。该模型在语法上是正确的。但是当我跑步时,我得到了这个错误:“节点y的多个定义[1]”
model {
for (i in 1:T)
{epsilon[i]~dnorm(0,h)
u[i]~dnorm(0,eta_h)}
a[1]<-a1
for (j in 2:T)
{a[j]<-a[j-1]+u[j]}
for (k in 1:T)
{y[k]<-a[k]+epsilon[k]}
h~dgamma(0.0001,0.0001)
eta~dgamma(0.0001,0.0005)
eta_h<-eta*h
}
data list(T=10, a1=0.001)
y[]
-0.7224571
-0.397027213
3.1808741
1.952424816
4.921476096
5.258244747
4.383846014
6.055572232
5.474320734
0.703784047
END
你能告诉我为什么以及如何解决这个问题?我一直在搜索错误,但每个都有自己的特定情况,并且没有一个通用的解决方案或解释为什么会出现这种情况。
答案 0 :(得分:1)
有一个通用的解决方案,即&#34;你已经定义y [1]至少两次。&#34;
在这种情况下,您已在数据中以及
行中定义了一次y[k] <- ...