WinBUGS Examples Vol 1, Dyes example returns error

200 Views Asked by At

Currently going through examples volume 1 and came across an error with the dyes example.

When I try to load inits from the example it returns "this chain contains uninitialized variables. I am not sure which part of it is not right as on the first sight I see theta, tau.btw and tau.with is all specified and nothing is left out.

I am using the code directly from Examples Vol 1 under help tab. The same error happened to all three choices of priors for between-variation.

I would really appreciate any advice on the problem. Thanks in advance.

Below is the code I copied directly from the dyes example.

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
    }

Data

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)))

Inits1

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

Inits2

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

Inits3

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

There are 1 best solutions below

0
amg On

That is not an error per se. Yes you have provided the inits for the parameters of interest. However there are the six mu[i] variables that are not data, but are variables drawn from mu[i] ~ dnorm(theta, tau.btw).

You could provide initial values for these as well, but it is best imo to just click on gen inits if you are using WinBUGS from the GUI - this will provide initial values for those.