私は最近、OpenBUGS と R を使用してベイジアン モデリングを試み始めましR2OpenBUGS
た。
私は David Eagles によるワインと OpenBUGS をインストールするための素晴らしいリンクをたどり、そこに投稿された学校の例はうまくいきました。
次に、持っていたコードを実行しようとしましたがthe model is syntactically correct
、データが正しく読み込まれていないことを伝えた後、エラーが発生し続けました。
数日間のトラブルシューティングの後、データファイルが特定の長さを超えると、トップビット (list
データをロードするために OpenBUGS で従来ハイライトする場所) が失われ、OpenBUGS でデータをロードできないようです。
リストセクションが切り取られた、読み込まれたデータを含む OpenBUGS プログラムのスクリーンショット
list{
この図は、data.txt ファイルの上部に、モデルを実行しようとするすべての試みを基本的に停止している がなくなったことを示しています。
これを確認するために、ポイント数を 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 のデータ ファイル サイズの制限について Google 検索を使い果たしましたが、役立つものは何も見つかりませんでした。
何を試すか、どこから始めるか、これを以前に経験したことについて何か提案はありますか?