具有两个时间点的数据的线性回归或混合效应模型?

机器算法验证 r 回归 混合模式
2022-03-27 07:26:13

我有一个数据集,其中在认知测试研究期间的两个时间点对个人进行了评估,因此我想知道哪种统计模型更适合我的数据,线性回归模型还是混合效应模型?

我的数据的平均随访时间为 59 个月,标准差为 43.03(范围为 0.63-167 个月),88 人(33%)的人只有一个时间点的数据。

对于线性回归,我考虑使用的方法是取两个时间点之间的测试分数的增量,然后将其与时间(测试分数之间的月数)进行回归。

如果我使用混合效应模型,我遇到的主要问题是如何处理只有一波数据的个人?虽然我知道混合效应模型在分析不平衡数据方面特别稳健,但 33% 的缺失会导致问题吗?

只需使用线性回归或混合模型突出显示输出的示例 R 代码。

fm1 <- lm(mmse_difference ~ mmse_months_between*ORgrs_apoe, data = dat.wide)
summary(fm1)

Call:
lm(formula = mmse_difference ~ mmse_months_between * ORgrs_apoe, 
    data = newdat)

Residuals:
    Min      1Q  Median      3Q     Max 
-20.960  -3.957   1.854   5.200  12.550 

Coefficients:
                               Estimate Std. Error t value Pr(>|t|)
(Intercept)                    -2.74185    2.20667  -1.243    0.216
mmse_months_between            -0.01768    0.03051  -0.579    0.563
ORgrs_apoe                      0.35163    1.17782   0.299    0.766
mmse_months_between:ORgrs_apoe -0.01973    0.01748  -1.129    0.261

Residual standard error: 7.3 on 170 degrees of freedom
  (88 observations deleted due to missingness)
Multiple R-squared:  0.08481,   Adjusted R-squared:  0.06866 
F-statistic: 5.251 on 3 and 170 DF,  p-value: 0.001725
Num. obs. 174

fm2 <- lme(mmse ~ mmse_months*ORgrs_apoe, random = ~mmse_months|patientid, data = dat.long, method = "ML", na.action = na.exclude)
summary(fm2)
Linear mixed-effects model fit by maximum likelihood
 Data: dat.long 
       AIC      BIC    logLik
  2797.467 2829.537 -1390.733

Random effects:
 Formula: ~mmse_months | patientid
 Structure: General positive-definite, Log-Cholesky parametrization
            StdDev    Corr  
(Intercept) 7.2972822 (Intr)
mmse_months 0.1132399 0.85  
Residual    2.9431616       

Fixed effects: mmse ~ mmse_months * ORgrs_apoe 
                           Value Std.Error  DF   t-value p-value
(Intercept)            24.635821 1.0959420 231 22.479130  0.0000
mmse_months            -0.069918 0.0223198 172 -3.132544  0.0020
ORgrs_apoe             -1.283348 0.6062892 231 -2.116726  0.0354
mmse_months:ORgrs_apoe -0.024952 0.0130561 172 -1.911103  0.0577
 Correlation: 
                       (Intr) mms_mn ORgrs_
mmse_months             0.438              
ORgrs_apoe             -0.882 -0.377       
mmse_months:ORgrs_apoe -0.357 -0.891  0.397

Standardized Within-Group Residuals:
        Min          Q1         Med          Q3         Max 
-3.48643949 -0.31734164  0.07636708  0.26575764  2.49901891 

Number of Observations: 407
Number of Groups: 233 

谢谢。

3个回答

如果您将自己限制在变化分析的常客框架中,那么只有 1 次观察的研究参与者将被淘汰。另一种选择可能是切换到贝叶斯框架,其中在多周期模型中只有一个观察周期的个体并不代表限制。请参阅 Gelman 和 Hill 的书Data Analysis Using Regression and Multilevel/Hierarchical Modeling的第 13 章。

我建议执行多重插补(例如在 R 中使用小鼠),然后使用混合模型或泛化估计方程,明确识别聚类特征。

根据 Rubin 方法对多重插补的依赖将迫使您认识到由于缺失而导致的不确定性,而不会丢弃可能有用的观察结果。

看完这篇论文

皮尤,JL(2010 年)。多层次建模的实用指南。学校心理学杂志。取自http://www.sciencedirect.com/science/article/pii/S0022440509000545

这个问题的一个潜在答案可以通过计算 ICC 和设计效果 (DE) 来获得,它可以用来量化组间变异的数量,并且需要使用多级建模。

ICC定义为:2级方差/(2级方差+1级方差)

DE 定义为:1 +(每组中的平均个体数 - 1)x ICC。

因此,对于我在问题中提出的简化模型,这将是

fm1 <- lme(mmse ~ 1, random = ~1|patientid, data = dat.long, method = "ML", na.action = na.exclude)
Linear mixed-effects model fit by maximum likelihood
  Data: dat.long 
  Log-likelihood: -1459.29
  Fixed: mmse ~ 1 
(Intercept) 
   20.90421 

Random effects:
 Formula: ~1 | patientid
        (Intercept) Residual
StdDev:    6.526672 6.583354

Number of Observations: 407
Number of Groups: 233 

VarCorr(fm1)
patientid = pdLogChol(1) 
            Variance StdDev  
(Intercept) 42.59744 6.526672
Residual    43.34054 6.583354

计算 ICC 表明 49% 的响应变量方差发生在个体之间。

> 42.60/(42.60 + 43.34)
[1] 0.4956947

对于 DE,上面的论文表明,大于 2 的 DE 表示需要使用多级模型,但是对于 DE 以上的模型,DE 为 1.37,因此该数据可能不需要多级模型。

> 1+((407/233)-1)*(42.60/(42.60 + 43.34))
[1] 1.370175