rjags 模型负二项式似然和伽玛先验

rjags model negative binomial likelihood and gamma prior

我读入了我的数据。我制作模型字符串。我递给它 JAGS。我得到 "Error in node y[1] - Node inconsistent with parents".

Y=read.table("data.txt",header=T)
Y=Y$Y


model_string <- "model{

# Likelihood:
for( i in 1 : N ) {
y[i] ~ dnegbin( l , r )
}

# Prior:
r ~ dgamma(1,1)
l ~ dgamma(.1,.1)
}"

model <- jags.model(textConnection(model_string), 
                    data = list(y=Y,N=200))

首先,我不知道我的模型是否正确。我什至找不到 JAGS 的基本文档。我真的不好意思承认,因为这应该像互联网搜索一样简单,但我找不到任何文件来告诉我 1) JAGS 模型是如何设置的或 2) functions/distribution/parameters 是什么类型在 JAGS 中可用。我之所以走到这一步,是因为我发现有人在做类似的模型。如果有人知道 JAGS wiki 或文档,那就太好了。

编辑:如果有人甚至可以告诉我 dnegbin 的参数是什么,那将是一个巨大的帮助。当我在 dnegbin(l,r) 中插入 lr 的随机数时,它 'works' 就像它为 lr 绘制数字一样,但是我不知道这是否意味着什么。

您可以在 JAGS user manual 中找到一些关于 dnegbin 的信息。

dnegbin的第一个参数必须介于0和1之间。您可以分配例如均匀分布:

library(rjags)

model_string <- "model{

# Likelihood:
for( i in 1 : N ) {
y[i] ~ dnegbin( l , r )
}

# Prior:
r ~ dgamma(1,1)
l ~ dunif(0,1)
}"

y <- rpois(200, 10)
model <- jags.model(textConnection(model_string), 
                    data = list(y=y, N=length(y)))

您还必须确保 y 的值是非负的 整数