パッケージ 'jagsUI' を使用して R でモデルを実行しています。モデルは少しだけ実行を開始しますが、メッセージが表示されます。
「mat [、「逸脱」] のエラー: 添え字が範囲外さらに: 警告メッセージ: 順序で.params(samples、parameters.to.save、DIC、verbose = verbose): JAGS は逸脱を監視しませんでした。
JAGS の DIC モジュールの問題である可能性があると考える前に、このエラーに遭遇したことは一度もなかったので、モデルを実行するときにモジュールをロードするようにしました。これを引き起こしている可能性のあるものについて何か提案はありますか?
これが私のコードです:
#write out model
writeLines("
model { #Open overall model bracket
############################################################
#Priors
############################################################
omega ~ dunif(0,1)
alpha.lam~dnorm(0,0.1)
Beta_FEDR[1] <- 0
Beta_FEDR[2]~dnorm(0,0.1)
Beta_FEDR[3]~dnorm(0,0.1)
Beta_FEDR[4]~dnorm(0,0.1)
Beta_FEDR[5]~dnorm(0,0.1)
Beta_FEDR[6]~dnorm(0,0.1)
Beta_FEDR[7]~dnorm(0,0.1)
# i obs random effect
for (i in 1:N) {
eps[i]~dnorm(0,tau.disp)#I(-20,20) #random observation effect
}
#hyperprior on random observation effects precision
tau.disp ~ dgamma(0.1,0.001)
############################################################
#Likelihood specification
############################################################
for (i in 1:N){ # Open i likelihood bracket; corresponds to obs
#n observations
w[i] ~ dbern(omega)
NREKN[i] ~ dpois(eff.lambda[i])
eff.lambda[i] <- w[i]*lambda[i]
log(lambda[i]) <- alpha.lam + Beta_FEDR[FEDR[i]] +eps[i]
# Fit assessments
residual[i] <- NREKN[i] - eff.lambda[i]
predicted[i] <- eff.lambda[i]
sq[i] <- pow(residual[i],2)
# Generate replicate datasets
NREKN.new[i] ~ dpois(eff.lambda[i])
sq.new[i] <- pow(NREKN.new[i]-predicted[i],2)
} # close i likelihood bracket
############################################################
#Derived quantities
############################################################
# Add up discrepancy measures
fit <- sum(sq[])
fit.new <- sum(sq.new[])
test <- step(fit.new-fit)
bpvalue <- mean(test)
} #close model
", con = here("Shorebird_aquaculture_project","REKN_Models",
"ZIP_DistOnlyModel.txt"))
#Identify filepath of model file;
modfile <- here("Shorebird_aquaculture_project","REKN_Models",
"ZIP_DistOnlyModel.txt")
sink(file=here("Shorebird_aquaculture_project","OutputFiles","REKN","outputDistOnlyModel.txt"))
#create JAGS model object 'out' using the jags function of package jagsUI
out <- jags(data = data,
parameters.to.save = params,
inits = initsFunction,
model.file = modfile,
modules=c('glm','dic'),
n.chains = 2,
n.adapt = 100,
n.iter = 30000,
n.burnin = 10000,
n.thin = 2,
parallel=TRUE,
seed=as.integer(Sys.time()),
n.cores=2)
sink()