Dear Troels,

it is possible to start without inits if the problem to solve is appropriate, here is the changed "schools" example from the help page:


model.file <- system.file(package="R2WinBUGS", "model", "schools.txt")
data(schools)
J <- nrow(schools)
y <- schools$estimate
sigma.y <- schools$sd
data <- list ("J", "y", "sigma.y")
parameters <- c("theta", "mu.theta", "sigma.theta")
schools.sim <- bugs(data, inits = NULL, parameters, model.file,
    n.chains=3, n.iter=5000,
    bugs.directory="c:/Program Files/WinBUGS14/",
    working.directory=NULL, clearWD=TRUE)
print(schools.sim)
plot(schools.sim)


which means you have to specify "inits=NULL" in the bugs() call.

If it still does not work for you, please send me the data, I cannot reproduce anything otherwise.

Best wishes,
uwe



Troels Ring wrote:
Dear friends - I'm on winXP, R 2.71 - I have with some help dveloped this multivariate normal model, which gives very plausible results in WinBUGS even without any initial values specified. However, when I then try to run the same model via the bugs function in R2WinBUGS with inits specified as inits=NULL the program stops in a dead end. So I have tried to make inits for the bugs function as shown below. But then WinBUGS come to a halt while these inits are being handled so they are seemingly wrong. This is a bit annoying and I would like to know how I managed to corrupt the inits. This is sent both to WinBUGS and R with hope and some anxiety.
Best wishes
Troels


cat("
model {
for (i in 1:126) {
       dep[i]   ~   dnorm(mu.dep[i],tau.dep)
     mu.dep[i]  <-  alpha[ID[i]]*NAK.cor[i]+beta[ID[i]]*TBW.cor[i]
     fit[i]     <-  mu.dep[i]+CONST[i]
                  }
tau.dep     <-  pow(sigma_dep,-2)
sigma_dep   ~   dunif(0,100)
for (j in 1:16) {
alpha[lev[j]]         <-   AB[lev[j],1]
beta[lev[j]]          <-   AB[lev[j],2]
AB[lev[j],1:2] ~ dmnorm(AB.hat[lev[j],],tau.AB[,])I(lower[], upper[])
AB.hat[lev[j],1]      <-  mu.alpha
AB.hat[lev[j],2]      <-  mu.beta
                }
lower[1]            <- 0
 lower[2]           <- -100
 upper[1]           <- 100
 upper[2]           <- 0

mu.alpha        ~ dnorm(0,0.0001)
mu.beta         ~ dnorm(0,0.0001)

tau.AB[1:2,1:2] <-  inverse(sigma.AB[,])
sigma.AB[1,1]   <-  pow(sigma.alpha,2)
sigma.alpha     ~   dunif(0,100)
sigma.AB[2,2]   <-  pow(sigma.beta,2)
sigma.beta      ~   dunif(0,100)
sigma.AB[1,2]   <-  rho*sigma.alpha*sigma.beta
sigma.AB[2,1]   <-  sigma.AB[1,2]
rho              ~  dunif(-1,1)
}",
file="ml3_pig.bug")
pigs3.inits <- function () {
list (AB=array(c(runif(16,0,10),runif(16,-30,0)),c(16,2)),
mu.alpha=runif(1,0,10), mu.beta=runif(1,-30,0),
sigma.dep=runif(1), sigma.alpha=runif(1), sigma.beta=runif(1), rho=runif(1))
}


pigs.parameters <- c ("mu.alpha", "mu.beta", "sigma_dep","alpha","beta",
"fit","deviance","rho")

pigs3 <- bugs (ml_pig.data, debug=TRUE,inits=pigs3.inits,
pigs.parameters, "ml3_pig.bug",  n.iter=2000,n.chains=3,
bugs.directory = bugs.directory)


______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to