Недопустимые родительские значения jagsUI при использовании бета-распределения - PullRequest
1 голос
/ 08 мая 2020

Я пытаюсь запустить модель с зазубринами, используя jagsUI, и получаю следующее сообщение об ошибке:

Ошибка в jags.model (file = model.file, data = data, inits = inits, n.chains = n.chains,:
Ошибка в узле rec_sim [1]
Недопустимые родительские значения

Я не понимаю, в чем моя ошибка, любая помощь добро пожаловать.

Вот данные для моей модели

# Data
set.seed(1234)
year<-c(2017,2016,2008,2007)
n<-c(27,57,37,31)
preg<-c(5,24,12,12)
not.preg<-c(22,33,25,19)
prop.preg<-preg/n
mean.preg<-mean(prop.preg)                #media de hembras preñadas de mis datos
fem.prop<-0.6                       #proporción de sexos
sup<-0.607                          #supervivencia 
gua.den<-rlnorm(100,2.7,0.8)       
recr<- function (ab2) {(mean.preg*fem.prop*sup*ab2)}
var<-0.1         
#número de añales
rec2<- rlnorm(100, log(recr(gua.den),var))

#recruitment calculus
dens.an<-c(4.08,1.20,5.25,3.67)          
real.ab.tot<- c(19.07,22.09,27.54,33.39) 
ab.ant<-c(22.77,19.07,15.93,27.54)        
an.fun<- mean.preg*ab.ant*fem.prop*sup 
fem_rat<-gua.den*fem.prop
rec_sim<-rec2/fem_rat
rec_dens<-dens.an/(real.ab.tot*fem.prop)
rec_fun<-an.fun/real.ab.tot*fem.prop

А вот и моя модель

library(jagsUI)

cat(file="rick.bug","
    model{
    for(i in 1:100){    
      rec_sim[i]~dbeta(a[i],b)    
      a[i]<-alpha*gua.den[i]*exp((-beta)*gua.den[i])    
    }
    #priors
    alpha ~dnorm(0,0.00001)
    beta ~dnorm(0,0.00001)
    b~dgamma(5,3)    
    }
    ")

d.jags<-c("rec_sim","gua.den")
params<-c("alpha","beta","logsigma")
inits <- function() {list(alpha = runif(1,0.1, 1),
                          beta = runif(1, 0.1, 1))}

ni<-1000; nc<-1; nt<-1; nb<-500

rick.sim <- jags(data = d.jags,  parameters.to.save = params, model.file = "rick.bug",
                 n.chains = nc, n.iter = ni, n.burnin = nb, n.thin = nt)

print(rick.sim)
...