0

目前正在浏览示例第 1 卷,并遇到了染料示例的错误。

当我尝试从示例中加载 inits 时,它返回“此链包含未初始化的变量。我不确定它的哪一部分是不正确的被排除在外。

我在帮助选项卡下直接使用示例第 1 卷中的代码。相同的错误发生在所有三种选择之间的先验上。

我真的很感激任何关于这个问题的建议。提前致谢。

下面是我直接从染料示例中复制的代码。

model
{
    for( i in 1 : batches ) {
        mu[i] ~ dnorm(theta, tau.btw)
        for( j in 1 : samples ) {
            y[i , j] ~ dnorm(mu[i], tau.with)
        }
    }   
    theta ~ dnorm(0.0, 1.0E-10)
    # prior for within-variation
     sigma2.with <- 1 / tau.with
    tau.with ~ dgamma(0.001, 0.001)

    # Choice of priors for between-variation
    # Prior 1: uniform on SD
    #sigma.btw~ dunif(0,100)
    #sigma2.btw<-sigma.btw*sigma.btw
    #tau.btw<-1/sigma2.btw

    # Prior 2: Uniform on intra-class correlation coefficient,
    #             ICC=sigma2.btw / (sigma2.btw+sigma2.with)
    ICC ~ dunif(0,1)
    sigma2.btw <- sigma2.with *ICC/(1-ICC)
    tau.btw<-1/sigma2.btw

    # Prior 3: gamma(0.001, 0.001) NOT RECOMMENDED
    #tau.btw ~ dgamma(0.001, 0.001)
    #sigma2.btw <- 1 / tau.btw
    }

数据

list(batches = 6, samples = 5,
    y = structure(
    .Data = c(1545, 1440, 1440, 1520, 1580,
     1540, 1555, 1490, 1560, 1495,
     1595, 1550, 1605, 1510, 1560,
     1445, 1440, 1595, 1465, 1545,
     1595, 1630, 1515, 1635, 1625,
     1520, 1455, 1450, 1480, 1445), .Dim = c(6, 5)))

初始值1

list(theta=1500, tau.with=1, sigma.btw=1)

初始化2

list(theta=1500, tau.with=1,ICC=0.5)

初始化3

list(theta=1500, tau.with=1, tau.btw=1)
4

1 回答 1

0

这本身并不是一个错误。是的,您已经为感兴趣的参数提供了初始值。然而,有六个mu[i]变量不是数据,而是来自mu[i] ~ dnorm(theta, tau.btw).

也可以为这些提供初始值,但gen inits如果您使用 GUI 中的 WinBUGS,最好直接单击 - 这将为这些提供初始值。

于 2017-05-09T21:32:28.090 回答