在分发dbin JAGS中检查离散值参数失败

时间:2018-06-10 12:40:17

标签: r jags winbugs r2jags

我正在尝试从Kery & Schaub's book "Bayesian Population Analysis using WinBUGS" in "Chapter 11 – Estimation of Demographic Rates, Population Size, and Projection Matrices from Multiple Data Types Using Integrated Population Models".

重新创建一个综合人口模型

我正在尝试使用JAGS而不是WinBUGS,但我不断收到此错误消息:

  

<div>

这是数据和代码 - 任何想法我做错了什么?我怀疑这与Ntot不是一个整数,但我不确定。我在RStudio中使用"Failed check for discrete-valued parameters in distribution dbin"

非常感谢

R2jags

1 个答案:

答案 0 :(得分:1)

Ntot必须是整数,但它目前是t = 1时两个正态分布的混合。这可能是您的错误来源。

以下是t = 1的先验

N1[1]~ dnorm(100, 0.0001)I(0,) # 1-year
Nad[1]~ dnorm(100, 0.0001)I(0,) # Adults

以下是系统流程:

for (t in 2:nyears){
mean1[t] <- f[t−1] / 2 * sjuv[t−1] * Ntot[t−1]
N1[t] ~ dpois(mean1[t])
Nad[t] ~ dbin(sad[t-1],Ntot[t-1])# problem here I think
}
for (t in 1:nyears){
Ntot[t] <- Nad[t] + N1[t]
}

你可能遗漏的是N1[1]Nad[1]应该是泊松随机变量(或者这两个截断的正态分布可能代表Poission随机变量的lambdas。可能类似于:< / p>

N1_lambda~ dnorm(100, 0.0001)I(0,) # 1-year
N1[1] ~ dpois(N1_lambda)
Nad_lambda~ dnorm(100, 0.0001)I(0,) # Adults
Nad[1] ~ dpois(Nad_lambda)