【发布时间】:2017-08-13 11:41:05
【问题描述】:
在 glmer 中,随机效应是正态分布的。我的研究涉及非高斯随机效应分布。有没有办法为 glmer 指定非高斯随机效应分布?我知道可以有user-defined links——我希望随机效应分布有一些类似的选项。如果没有,我将不胜感激有关如何编辑/贡献给 lme4 source code 以允许非高斯随机截距分布的见解。
【问题讨论】:
在 glmer 中,随机效应是正态分布的。我的研究涉及非高斯随机效应分布。有没有办法为 glmer 指定非高斯随机效应分布?我知道可以有user-defined links——我希望随机效应分布有一些类似的选项。如果没有,我将不胜感激有关如何编辑/贡献给 lme4 source code 以允许非高斯随机截距分布的见解。
【问题讨论】:
你想要的基本上是不可能的; 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 中实现.
【讨论】: