0

我最近开始尝试使用 OpenBUGS 和 R 进行一些贝叶斯建模R2OpenBUGS

我关注了 David Eagles 的安装 wine 和 OpenBUGS 的一个很好的链接,那里发布的学校示例运行良好。

然后,我尝试运行我拥有的一些代码,并在the model is syntactically correct告诉我数据未正确加载后不断收到错误消息。

经过几天的故障排除后,似乎当数据文件超过一定长度时,最高位(您通常list在 OpenBUGS 中突出显示以加载数据)丢失并且 OpenBUGS 无法加载数据。

我的 OpenBUGS 程序的屏幕截图,其中包含已加载的列表部分已被切断的数据

这张图片显示,在我的 data.txt 文件的顶部,不再有一个list{基本上停止了我运行模型的所有尝试。

为了确认这一点,我运行了一个简单线性回归的示例,其中我将点数设置为 1000,然后设置为 100:

 # Load in paths for running OpenBUGS through wine
source("/Users/dp323/Desktop/R/scripts/Where_is_my_OpenBUGS.R")  

# set up model
linemodel <- function() {
  for (j in 1:N) {
    Y[j] ~ dnorm(mu[j], tau)  ## Response values Y are Normally distributed
    mu[j] <- alpha + beta * (x[j] - xbar)  ## linear model with x values centred
  }
  ## Priors
  alpha ~ dnorm(0, 0.001)
  beta ~ dnorm(0, 0.001)
  tau ~ dgamma(0.001, 0.001)
  sigma <- 1/sqrt(tau)
}

# set up data ####
linedata <- list(Y = c(1:100), x = c(1:100), N = 100, xbar = 3)

# set initial values ####
lineinits <- function() {
  list(alpha = 1, beta = 1, tau = 1)
}

# run bugs ####
lineout <- bugs(data = linedata, inits = lineinits, parameters.to.save = c("alpha", "beta", "sigma"), model.file = linemodel, n.chains = 1, n.iter = 10000, OpenBUGS.pgm = OpenBUGS.pgm, WINE = WINE, WINEPATH = WINEPATH, useWINE = T, debug = T)

该模型运行良好,linedata <- list(Y = c(1:100), x = c(1:100), N = 100, xbar = 3)但在加载数据阶段时崩溃了linedata <- list(Y = c(1:1000), x = c(1:1000), N = 1000, xbar = 3)

我已经用谷歌搜索了 wine 和 OpenBUGS 的数据文件大小限制,但没有发现任何有用的信息。

任何人有任何关于尝试什么/从哪里开始/以前体验过的建议?

4

0 回答 0