2013-04-25 2 views
3

я использовал Winbugs из R через R2WinBUGS и BRugs пакет, я пишу модель и попытаться запустить его, но результат не вышел, и я читал журнал WinBUGS, кажется, ничего не ошибались , Вот модель: передаетсяЧто случилось с этой WinBUGS модели

require(BRugs) 
require(R2WinBUGS) 
# MCMC mosel 
model<-function(){ 
    for(i in 1:M){ 
    y[i] ~ dnorm(x[i], sigma.y) 
    } 
    x[1] ~ dnorm(theta[1], sigma.x) 
    theta[1] <- 0 
    for(j in 2:M){ 
    x[j] ~ dnorm(theta[j], sigma.x) 
    theta[j] <- a + b*x[j-1] 
    } 
    a ~ dunif(0, 1) 
    b ~ dunif(-1, 1) 
    tau.y ~ dgamma(0.1, 0.1) 
    tau.x ~ dgamma(0.1, 0.1) 
    sigma.y <- 1/sqrt(tau.y) 
    sigma.x <- 1/sqrt(tau.x) 
} 

write.model(model, con = "model.bug") 
modelCheck("model.bug") 
# model is syntactically correct 

data=list(M = 90, y = rnorm(90) 

inits = function(){ 
    list(tau.x = rgamma(1, 0.1, 0.1), tau.y = rgamma(1, 0.1, 0.1), a = runif(0, 1), b = runif(-1, 1)) 
} 
parameters=c("a", "b", "x") 

ret.sim <- bugs(data, inits, parameters, "model.bug", 
      n.chains = 1, n.iter = 1000, 
      n.sims = 500, 
      program= "winbugs", 
      working.directory = NULL, 
      debug = T) 

проверка модели, и журнал WinBUGS здесь:

display(log) 
check(C:/Users/ADMINI~1.PC-/AppData/Local/Temp/Rtmp2LfZTu/model.bug.txt) 
model is syntactically correct 
data(C:/Users/ADMINI~1.PC-/AppData/Local/Temp/Rtmp2LfZTu/data.txt) 
data loaded 
compile(1) 
model compiled 
inits(1,C:/Users/ADMINI~1.PC-/AppData/Local/Temp/Rtmp2LfZTu/inits1.txt) 
this chain contains uninitialized variables 
gen.inits() 
initial values generated, model initialized 
thin.updater(1) 
update(500) 

WinBUGS не пошел дальше, и не отображаются неправильные сообщения, поэтому я не может найти ничего плохого.

ответ

0

Это сообщение об ошибке явно относится к начальным значениям. Попробуйте запустить runif(-1, 1) на R консоли, и вы увидите :-) Вы имели в виду runif(1, -1, 1) (а также runif(1, 0, 1) за предыдущий.

Успехов!

Смежные вопросы