WinBUGS:节点的多个定义

时间:2015-05-30 12:55:35

标签: bayesian winbugs

我想在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

你能告诉我为什么以及如何解决这个问题?我一直在搜索错误,但每个都有自己的特定情况,并且没有一个通用的解决方案或解释为什么会出现这种情况。

1 个答案:

答案 0 :(得分:1)

有一个通用的解决方案,即&#34;你已经定义y [1]至少两次。&#34;

在这种情况下,您已在数据中以及

行中定义了一次
y[k] <- ...