1

R バージョン 3.3.2 (2016-10-31)、プラットフォーム: x86_64-pc-linux-gnu (64 ビット)、実行環境: Ubuntu 14.04.5 LTS。

私のモデルは次のとおりです。

model
{
  ### Likelihood
  for(i in 1:nfish){ 
    CC[i, 1:ngen] ~ dmnorm(mu[i, 1:ngen], Sigma.inv[1:ngen, 1:ngen])
    for(j in 1:ngen){
    mu[i, j] <- CC.y[i] + beta0[j] + beta1[j] * Sdl[i]
    }
  }
  ### Priors
  for(i in 1:ngen){
        beta0[i] ~ dnorm(0.0, 0.01)
        beta1[i] ~ dnorm(0.0, 0.01)
  }
     Sigma.inv[1:ngen, 1:ngen] ~ dwish(R[,], ngen)
    Sigma[1:ngen, 1:ngen] <- inverse(Sigma.inv[,])
}

データサンプル:

bugs.data <- list(CC = matrix(c(-3.75, -4.40,  -1.60,
                -3.75, -4.41,  -1.71,
                -8.67, NA,  -5.23,
                -8.92, -9.29,  -5.12,
                -8.69, -9.22,  -9.48,
                -9.87, -9.80, -18.32,
                -4.71, -5.01,  NA,
                -4.69, -5.09,  -1.67,
                -3.62, -2.86,  -0.26,
                -3.93, -2.88,  -0.21), ncol = 3),
    CC.y = c(0.77,  0.82,  0.12,  0.08,  1.69,  1.69, -1.20, -1.15,  1.45,  1.46), 
    Sdl = c(0.96, 0.96, 0.76, 0.76, 0.40, 0.40, 0.97, 0.97, 0.27, 0.27), 
    nfish = 10, 
    ngen = 3, 
    R = matrix(c(3,0,0,0,3,0,0,0,3),ncol = 3));

初期化 (モデルのコンパイル中にエラーが発生したため使用されません):

inits <- function()   {list(beta0 = rnorm(3, -3.0,  1.0), beta1 = rnorm(3, 1.0,  0.2), Sigma.inv = matrix(rep(runif(1, 0, 1), 9), ncol = 3))}

次に、サンプリングを開始するとき:

> modelCheck("MVNmodel.bugs")
model is syntactically correct
> modelData("data.txt")
data loaded
> modelCompile(numChains = 3)
Error in handleRes(res) : 
  Internal "trap" error in OpenBUGS, or non-existent module or procedure called.

BRugs または R2OpenBUGS を使用して R から openBUGS に接続する際にも同じ問題が発生します。これは、データに NA があることの問題でもありません。Lunn らの多変量正規 "Jaws" の例に注意してください。( Jaws の例) 私のマシンでは問題なく動作します。

これが解決するのが難しい問題であることは承知しています (ここを参照) が、それでも誰かが助けてくれることを願っています。

ありがとう!

4

0 に答える 0