我正在创建一个模型,使用重新思考软件包从树木的高度预测树木的年龄。在我的数据集中,年龄是伽玛分布的。为了适应伽玛可能性,我使用map()
制作了此模型:
fit2<- map(
alist(
age ~ dgamma2(mu, scale),
log(mu) <- b + m*height,
b ~ dnorm(16.3759, 10),
m ~ dnorm(10.9808, 10),
scale ~ dexp(2)
),
data = d
)
但是,我担心“比例”不是正态分布的,因此我无法使用extract.samples()
来对多维后验进行采样。我相信,如果我记录了scale参数,它将变为正常,因此可以使用extract.samples()
。
如何修改上面的代码来做到这一点?我在其他使用dbetabinom()
的示例中看到了这一点,但从未使用过dgamma2()
。
感谢所有帮助!
答案 0 :(得分:1)
scale
参数为正数,因此使用dexp(2)
之类的指数先验可确保模型对适当的scale
值进行采样。因此,您的模型应该采样良好,并且使用extract.samples
不会有问题。