在glmer中,随机效应通常是分布式的。我的研究涉及非高斯随机效应分布。有没有办法为glmer指定非高斯随机效应分布?我知道可以有user-defined links - 我希望有一些类似的随机效果分布选项。如果没有,我会非常感谢如何编辑/贡献lme4 source code以允许非高斯随机拦截分布。
答案 0 :(得分:4)
你想要的基本上是不可能的; lme4
的机制非常强烈地依赖于条件模式的高斯分布(在链接/线性预测器尺度上)。
如果我想用非高斯分布的随机效应拟合模型,我会使用贝叶斯工具箱方法(JAGS或Stan,或PyMC ......)。 Richard McElreath的rethinking软件包可能会提供一个相对无痛的前端来构建适当的Stan模型......例如,下面的代码假设是t分布而不是高斯分布随机效应和"工作" (即运行没有错误 - 我会警告你,要做出可靠的估算仍然需要做很多工作)
## devtools::install_github("rmcelreath/rethinking")
## also need to install rstan ...
library(lme4)
library(rethinking)
f2 <- alist(
Reaction ~ dnorm( mu , sigma ),
mu <- b0 + b0j[Subject] + b1*Days,
b0j[Subject] ~ dstudent(df, 0 , sigma_group ),
b0 ~ dnorm( 0 , 10 ),
b1 ~ dnorm( 0 , 10 ),
sigma ~ dlnorm( 0 , 1 ),
sigma_group ~ dlnorm( 0 , 1 ),
df ~ dlnorm(5,1)
)
m1 <- map2stan(f2, data=sleepstudy, verbose=TRUE)
在更传统的频率论,基于优化的框架(例如Google scholar search on "non-Gaussian random effects")中,已经设计了一些算法用于非高斯随机效应的混合建模,但是我不知道它们中的任何一个具有已在R。
中实施