JAGS には「単純な」問題があり、気が狂いそうになります。本質的に、動作する次の例を検討してください。
x2[i] ~ dnorm(mu[i,1], tau1);
u[i] ~ dnorm(mu[i,2], tau2);
ここで、x2 は観測可能な変数 (つまり、データ) であり、u は潜在変数です。この例では、両方が 2 つの異なる正規分布から独立して描かれています。しかし、私はそれらが (おそらく) 依存していること、つまり、1 つの多変量正規分布から引き出されることを望んでいます。だから私はやりたい:
c(x2[i], u[i]) ~ dmnorm(mu[i,1:2], Omega[1:2,1:2]);
残念ながら、この構文は正しくないため、これは機能しません。ただし、多くの異なる構文を試してみましたが、どちらも機能しません。例えば、
y[i,1] <- x2[i];
y[i,2] <- u[i];
y[i,1:2] ~ dmnorm(mu[i,1:2], Omega[1:2,1:2]);
明らかなエラーNode y[1,1:2] overloades 以前に定義されたノード につながります。それで、なにかお手伝いできますか?助けてください、私は怒っています...
更新:少なくとも次のことができることがわかりました:(Rで:)
p <- 1/(1+exp(-x2));
t <- rep(10000, length(x2));
s <- rbinom(length(x2), t, p2);
(ジャグで:)
nul[i,1] <- 0;
nul[i,2] <- 0;
e[i,1:2] ~ dmnorm(nul[i,1:2], Omega[1:2,1:2]);
u[i] <- mu[i,2] + e[i,2];
x2g[i] <- mu[i,1] + e[i,1];
pg[i] <- 1/(1+exp(-x2g[i]));
s[i] ~ dbin(pg[i], t[i]);
これは (少し) 機能しますが、観測可能な変数 (x2) が (s を介して) 間接的にのみ観測可能であるかのように扱われるため、もちろん効率が低下します。