0

OpenBUGS モデルで 2 つのベクトルを差し引くのに非常に苦労しています。以下のコードの最後の行は、「予想される右括弧エラー」というエラーを出し続けます。

model { 
  for ( i in 1:N) {
    for(j in 1:q) {
      vv[i,j] ~ dnorm(vz[i,j],tau.eta[j])
    }
    vz[i,1:q] ~ dmnorm(media.z[i,], K.delta[,])
    for(j in 1:q) {
      mean.z[i,j] <- inprod(K[i,] , vbeta[j,])
    }
    K[i,1] <- 1.0
    for(j in 1:N) {
      K[i,j+1] <- sum(ve[,i] - ve[,j])
    }
  }

その行を に変更するとK[i,j+1] <- sum(ve[,i]) - sum(ve[,j])、モデルは正常に機能しますが、それは私がやりたいことではありません。要素ごとに減算したいと思います。

SO で OpenBUGS を検索しましたが、無関係なトピックがいくつかあります。

OpenBUGS - 変数が定義されていません

OpenBUGS: ベルヌーイ分布に値がありません

Stats Stack Exchange には、近いこの投稿がありますが、モデルにこれを実装する方法をまだ作成できませんでした:

https://stats.stackexchange.com/questions/20653/vector-multiplication-in-bugs-and-jags/20739#20739

for ループを書かなければならないことは理解していますが、これは確かに頭の痛い問題です。:)

その行を次のように変更してみました:

for(k in 1:p) { temp [k] <- ve[k,i] - ve[k,j] }
K[i,j+1] <- sum(temp[])

ここで、「p」は各「ve」の行数です。現在、「ノード temp[1] の複数の定義」というエラーが発生し続けています。

私は間違いなくいくつかの助けを使うことができました。それは非常に高く評価されます。

よろしくお願いします。

PS: この質問に「OpenBUGS」というタグを追加したかったのですが、残念ながらそれは新しいタグであり、十分な評判がないためできませんでした。代わりに「winbugs」を追加しました。

4

1 に答える 1