Ich versuche multivariate Regression mit mehreren abhängigen Variablen auf Winbugs zu lösen. Aber ich bekomme Fehler bei Kompilationen. Ich habe versucht, basierend auf Lösungen für das gleiche Problem zu lösen, war aber nicht erfolgreich. Jede Hilfe wird sehr geschätzt."Mehrere Definitionen von Knoten mu [1,2]" Fehler in WinBUGS
model {
for(i in 1:n)
{ for(k in 1:J)
{ y[i,k]~ dpois(mu[i,])
log(mu[i,1]) <- beta1[1]*x1[i] + beta2[1]*x2[i] + b[,1]
log(mu[i,2]) <- beta1[2]*x1[i] + beta2[2]*x2[i] + b[,2]
}}
# PRIORS
for (i in 1:n) {
for(k in 1:J) {
b[i,k] <- 1
}}
# Scale Matrix
for(i in 1:J)
{
for (j in 1:J)
{
R[i,j] <- equals(i,j)
}}
for (j in 1:J) {beta1[j]~ dmnorm(zero[], B[,])
beta2[j]~ dmnorm(zero[], B[,]) }
for(i in 1:J)
{
for (j in 1:J)
{ B[i,j] <- 0.01*equals(i,j)
}}
for (i in 1:J) { zero[i] <- 0}
}
#DATA
list(n=3, J=2)
#DATA
y[ ,1] x1[] x2[] y[,2]
0 9.91 8.34 1
3 10.48 10.14 79
0 10.31 9.42 40
Dank viel Freund liefern. Bitte sagen Sie, ob Sie eine Lösung für den neuen Fehler haben, der kommt, dh "ein logischer Vektorausdruck muss mehr als eine Komponente haben". –
Ich kann nur annehmen, dass es sich auf das bezieht, was Sie in eine der multivariaten Normalverteilungen setzen. Zum Beispiel, Sie versuchen, eine Menge von Werten in eine Zelle zu setzen 'beta2 [j] ~ dmnorm (zero [], B [,]) ' –
Danke für den Vorschlag. Gibt es eine Möglichkeit, jedem beta1 [j] oder beta2 [j] ein bestimmtes Element der normalverteilten Matrix zuzuordnen? Ich habe versucht, beta1 [1] <- beta3 [1,1] zu definieren, wobei die Matrix beta3 als beta3 [j, j] <- dmnorm (null [], B [,]) erhalten wird. Aber der gleiche Fehler wie vorher kommt. –