"多变量分布必须具有多个组件" - WinBUGS出错

时间:2016-11-15 11:59:06

标签: bayesian poisson winbugs winbugs14

在编译过程中,我收到的错误是 - "多变量分发必须包含多个组件",我无法获得有关此错误的大量信息。任何有任何想法如何解决这个问题的人请分享。感谢。

  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 个答案:

答案 0 :(得分:0)

你需要做这样的事情:

  for (j in 1:J) {beta3[j,(1:J)]~ dmnorm(zero[], B[,]); 
  beta4[j,(1:J)]~ dmnorm(zero[], B[,]) }

这将创建一个2乘2的模型系数矩阵。但是,您只在模型中使用beta3beta4的对角元素,这有点奇怪。