r - 混合模型的残差建模:除了 nlme 之外的任何其他软件包?
问题描述
除了 R function nlme::lme()
,我想知道我还能如何对 Level-1 残差方差-协方差结构进行建模?
附言。我的搜索显示我可以使用glmmTMB
包,但它似乎不是关于 1 级残差,而是随机效应本身(见下面的代码)。
glmmTMB::glmmTMB(y ~ times + ar1(times | subjects), data = data) ## DON'T RUN
nlme::lme (y ~ times, random = ~ times | subjects,
correlation = corAR1(), data = data) ## DON'T RUN
解决方案
glmmTMB
可以有效地用于对 1 级残差进行建模,方法是向模型添加观察级随机效应(并在必要时通过 抑制 1 级方差dispformula ~ 0
。例如,比较相同的拟合lme
和glmmTMB
:
library(glmmTMB)
library(nlme)
data("sleepstudy" ,package="lme4")
ss <- sleepstudy
ss$times <- factor(ss$Days) ## needed for glmmTMB
我最初尝试过,random = ~Days|Subject
但既不满意lme
也glmmTMB
不满意(过度拟合):
lme1 <- lme(Reaction ~ Days, random = ~1|Subject,
correlation=corAR1(form=~Days|Subject), data=ss)
m1 <- glmmTMB(Reaction ~ Days + (1|Subject) +
ar1(times + 0 | Subject),
dispformula=~0,
data=ss,
REML=TRUE,
start=list(theta=c(4,4,1)))
不幸的是,为了得到一个好的答案,glmmTMB
我确实必须调整起始值......
推荐阅读
- javascript - 给定一个固定的角度、宽度和矢状面,我们如何计算椭圆的水平和垂直半径?
- python - Jupyter Notebook 无法识别 pandas 库:Python
- r - 将值分组到 bin 中,然后使用 plotly (R, Dplyr) 绘图
- string - Lua没有找到子环
- php - 对 base64_decoded 字符串执行 file_put_contents() 会返回一个空图像
- php - PHP 无法解码使用 json_encode 编码的 JSON
- java - @Scheduled 在 spring boot 中不会触发方法
- powershell - 使用 NPS 和 AD 授予短期 WLAN 访问权限
- python - 使用连续标准化颜色图填充函数下的区域
- php - 即使安装了模块,也找不到 PHP 类