"Многофакторный дистрибутив должен иметь более одного компонента" - ошибка в WinBUGS
Во время компиляции я получаю сообщение об ошибке: "В многомерном распределении должно быть более одного компонента", я не мог получить много информации об этой ошибке. Если у вас есть идеи, как решить эту проблему, пожалуйста, поделитесь. Благодарю.
model {
for(i in 1:n)
{ for(j in 1:J)
{ log(mu[i,j]) <- beta1[j]*x1[i] + beta2[j]*x2[i] + b[i,j]
}
for(k in 1:J) { y[i,k]~ dpois(mu[i,1:J])
}}
# PRIORS
for (i in 1:n) {
for(k in 1:J) {
b[i,k]<- 1
}}
beta1[1]<- beta3[1,1]
beta1[2]<- beta3[2,2]
beta2[1]<- beta4[1,1]
beta2[2]<- beta4[2,2]
for (j in 1:J) {beta3[j,j]~ dmnorm(zero[], B[,]);
beta4[j,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
1 ответ
Вам нужно будет сделать что-то вроде этого:
for (j in 1:J) {beta3[j,(1:J)]~ dmnorm(zero[], B[,]);
beta4[j,(1:J)]~ dmnorm(zero[], B[,]) }
Это создаст 2 на 2 матрицы модельных коэффициентов. Однако вы используете только диагональные элементы beta3
а также beta4
в вашей модели, что немного странно.