nlme 中的自回归 - 不明白如何指定 corAR1

机器算法验证 r 广义线性模型 lme4-nlme 自相关
2022-04-20 01:13:13

我有一个包含 12 天日记数据的数据集。我试图用lme参与者的随机截距效应和睡眠质量的随机斜率效应来模拟睡眠质量对压力的影响。我对询问从日记 1 到 12 是否随时间变化并不特别感兴趣,只是考虑了时间变量。

我对lme4多级模型更加熟悉,但考虑到我的日记数据结构,考虑方差中的时间自相关似乎很重要。

我已经尝试从这里遵循模型语法,但我并不完全清楚语法的实际含义。

我的问题:具体的语法是correlation = corAR1(form = ....)什么?corAR1我在以下两个模型中编写的语法有什么区别?

型号 1:

lme(stress_diary ~ sleepquality_diary + time.diary + diaryday + sex, 
data = data_diary,
random = ~ 1 + sleepquality_diary| randomid, 
correlation = corAR1(form = ~ diaryday | randomid), #What exactly am I specifying?
na.action=na.exclude)

型号 2:

lme(stress_diary ~ sleepquality_diary + time.diary + diaryday + sex, 
data = data_diary,
random = ~ 1 + sleepquality_diary| randomid, 
correlation = corAR1(), #What exactly am I specifying?
na.action=na.exclude)

变量键:stress_diary = 1 到 5 之间的值 sleepquality_diary = 1 到 5 之间的值 time.diary = 响应时间,从 00:00(午夜)开始 diaryday = 响应日,1:12 性别 = M,F randomid = 参与者

我对时间序列和纵向日记数据很陌生,所以我知道我缺少一些直觉。

1个回答

AR1 结构指定每个对象的重复测量之间的相关性随着时间滞后而减小,即测量之间的时间距离。

当您指定时,lme(..., correlation = corAR1())这等效于lme(..., correlation = corAR1(form = ~ 1 | id))并假定测量是等距的。

相反,当您指定时lme(..., correlation = corAR1(form = ~ time | id)),您使用时间变量time来确定测量相距多远,并定义时间延迟。但是请注意,这corAR1()适用于离散时间。还有一种corCAR1()适用于连续时间的方法。