大家好,我最近刚开始学习贝叶斯理论,想拟合一个多层模型,在R里面用brm()
函数实现。因为我对贝叶斯理论还是很熟悉,所以没有指定先验分布,代码如下:
fit_brm_wiggle <- brm(y ~ s(x) + (0 + x | group1) + (1 + x | group2),
data = dat,
family = "gaussian",
chains = 4,
iter = 4000,
cores = 4)
对模型进行后验验证时,发现拟合值和实测值差距较大:
我感觉是我先验分布没有指定导致的,我的数据分布如下:范围在[-1,12]
数据看起来像是泊松分布,但是y有小于0的情况。我该怎么在brm()模型中指定一下先验分布,这个先验分布该怎么写?