【问题标题】:What's wrong with this WinBUGS model这个 WinBUGS 模型有什么问题
【发布时间】:2013-04-18 18:36:18
【问题描述】:

我用WinbugsRR2WinBUGSBRugs包,我编写模型并尝试运行它,但是结果没有出来,我阅读了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没有继续,也没有显示错误信息,所以我没发现有什么问题。

【问题讨论】:

    标签: r winbugs r2winbugs


    【解决方案1】:

    此错误消息显然与初始值有关。 尝试在 R 控制台上运行 runif(-1, 1),您会看到 :-) 您的意思是 runif(1, -1, 1)(前一个也是 runif(1, 0, 1)

    祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-25
      • 1970-01-01
      • 1970-01-01
      • 2010-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多