Ошибка "Недопустимое родительское значение" для неслучайной переменной в JAGS

Я использую иерархическую байесовскую модель с данными моделирования, чтобы посмотреть, сможет ли байесовская модель получить значения параметров, которые я установил для генерации данных моделирования. И когда я запускал байесовскую модель в JAGS (с rjags), она возвращала ошибку "Недопустимое родительское значение" для одного из моих параметров, называемого comp.p. Тем не менее, поскольку параметр comp.p в моей модели не является случайной величиной и просто определяется детерминированным выражением, я просто не могу понять, как можно допустить ошибку "Недопустимое родительское значение" для неслучайной переменной.

Поэтому мне было просто интересно, сталкивался ли кто-нибудь с той же проблемой или может знать, по какому сценарию это может произойти.

Вот часть моего кода JAGS. Поскольку мой код довольно длинный, я поместил только ту часть, которая, на мой взгляд, связана, но с радостью дополню ее новым кодом, если потребуется информация.

model {

##Priors setting here###

 for (k in 1:year){

##Long process model here###

   for(j in 1:ngrids) {
      N[j,1,k+1]~dpois(u2[j,1,k]+u4_frag_post[j,1,k])
      N[j,2,k+1]~dpois(u2[j,2,k]+u4_frag_post[j,2,k]) 
      N[j,3,k+1]~dpois(u2[j,3,k]+f.f[j,k]*trans.F.4*u2[j,4,k]) 
      N[j,4,k+1]~dpois(u2[j,4,k])

      NTotal[j,k+1]<-N[j,1,k+1]+N[j,2,k+1]+N[j,3,k+1]+N[j,4,k+1]     
    }
  }

##End of process model######

#### Data model ############

  for (k in 2:year){
    for (i in 1:n.comp) {
      comp.p[i,1,k]<-N[comp.ind[i],1,k]/NTotal[comp.ind[i],k]  
      comp.p[i,2,k]<-N[comp.ind[i],2,k]/NTotal[comp.ind[i],k]
      comp.p[i,3,k]<-N[comp.ind[i],3,k]/NTotal[comp.ind[i],k]
      comp.p[i,4,k]<-N[comp.ind[i],4,k]/NTotal[comp.ind[i],k]

      y.comp[i,2:5,k]~dmulti(comp.p[i,1:4,k],y.comp[i,6,k])   
    }
  }
##End of data model######
}

где все параметры являются неотрицательными действительными значениями

И сообщение об ошибке, которое я получил:

Error in node comp.p[4,4,8]
Invalid parent values

это выглядит странно для меня, поскольку это означает, что он работает нормально для первых 7 циклов, но начинает возникать проблемы на 8-м, даже если они основаны на одном и том же выражении.

Любое предложение будет оценено!

0 ответов

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