我正在使用lme4
库中的nlmer
测试一些非线性模型。但这个函数假设正态性,而我的数据显然遵循伽玛分布。
fit <- lme4::nlmer(y ~ nfun(x, b0, b1, b2) ~
(b0|id),
data = df,
start = start.df, REML=T)
summary(fit)
有没有一种方法可以添加一个族组,比如lme4
,或者当数据不是高斯时,在非线性模型中测试组的任何其他技巧?
在(纯(R中拟合非线性广义混合模型的选项很少甚至不存在。
brms
软件包提供了一些非线性拟合的范围- 你可以在
TMB
中建立一个非线性模型(但你必须在C++的扩展中自己编程( - 其他前端包,如
rethinking
、greta
、rjags
等,也允许您构建非线性混合效应模型——但所有(?(都在Bayesian/MMC框架中
另一方面,基于伽玛的模型通常可以被基于对数正态的模型(即log(y) ~ nfun(x, b0, b1, b2)
(充分取代;虽然这些分布的尾部形状非常不同,但标准参数化的方差-均值关系是相同的,并且(对数链接(Gamma-GLMM和相应的对数高斯模型的结果通常非常相似。
或者,您可以对组使用固定效果(如果您有足够的数据(,并将bbmle::mle2
与params
参数一起使用。