"Многофакторный дистрибутив должен иметь более одного компонента" - ошибка в 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 в вашей модели, что немного странно.

Другие вопросы по тегам