【发布时间】:2019-11-12 18:32:26
【问题描述】:
我读入了我的数据。我制作模型字符串。我把它交给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 的参数是什么,那将是一个巨大的帮助。当我在dnegbin(l,r) 中插入l 和r 的随机数时,它会“工作”,因为它会为l 和r 绘制数字,但我不知道这是否意味着什么。
【问题讨论】:
-
你确定你的
y是非负整数吗? -
另外我觉得
dnegbin的第一个参数是成功参数,所以应该在0和1之间,然后Gamma先验就不合适了。 -
@StéphaneLaurent 非负是的,但有些是 0。虽然伽马先验不是共轭的,但它应该仍然有效。我应该可以让 JAGS 做 MH 以从中吸取教训,但我不知道如何指定 MH。
-
伽玛分布取值 > 1。这就是问题所在。您必须分配一个先验分布,其值介于 0 和 1 之间。
-
@StéphaneLaurent 不,现在是图纸编号。我仍然不知道它在做什么。