0

我读入了我的数据。我制作模型字符串。我把它交给JAGS。我得到“节点 y[1] 中的错误 - 节点与父节点不一致”。

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)什么样的功能/分布/参数是在 JAGS 中可用。我之所以能走到这一步,是因为我发现有人在做类似的模型。如果有人知道 JAGS wiki 或文档,那就太好了。

编辑:如果有人能告诉我 dnegbin 的参数是什么,那将是一个巨大的帮助。l当我为and插入随机数时r,它“工作”,因为它为anddnegbin(l,r)绘制数字,但我不知道它是否意味着什么。lr

4

1 回答 1

2

dnegbin您可以在JAGS 用户手册中找到有关的一些信息。

的第一个参数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是非负整数

于 2019-11-12T19:31:22.130 回答