混合效应模型

机器算法验证 r 回归 混合模式 lme4-nlme 重复测量
2022-03-30 08:41:10

很抱歉问我的问题,尽管我知道论坛上有一些关于混合效果模型的主题。但我认为我的问题有些不同。我必须回答一个关于重复测量的问题。这是一组被跟踪进行抑郁症治疗的人:146人(男性和女性),每个受试者测量8次。我必须回答一个性别组的治疗是否比另一组更好。我感兴趣的变量是ScoreHamilton(用于评估抑郁状态的分数)、GROUPE(性别:男性或女性)、TEMPS(不同的访问时间)、NUMERO(受试者 ID)我知道我必须使用混合效应模型,但我不确定我的脚本(如下)是正确的。

modMix_H0 <- lme(ScoreHamilton ~ TEMPS + GROUPE,
                 random = ~1+TEMPS|NUMERO,
                 data = Ham_norm.mix)`

我拟合了变量TEMPS(时间)和GROUPE(性别),比如固定效应和NUMERO(主题),比如随机效应。我想知道这是否正确。

我对制作随机效果的方式有点犹豫。我尝试像这样进行随机截距和随机斜率,~1+TEMPS|NUMERO因为我注意到制作随机效果的人曾经这样做~1+TIME|ID(通常)。现在我想知道为什么我不能将我的变量GROUPE、类似的东西~1+GROUPE|NUMERO或类似的东西放在随机术语中~1+TEMPS+GROUPE|NUMERO

我的问题的另一部分是输出的解释。以下是模型总结的结果:

summary(modMix_H0)
Linear mixed-effects model fit by REML
 Data: Ham_norm.mix 
       AIC      BIC    logLik
  6628.782 6663.471 -3307.391

Random effects:
 Formula: ~1 + TEMPS | NUMERO
 Structure: General positive-definite, Log-Cholesky parametrization
            StdDev     Corr  
(Intercept) 4.73695760 (Intr)
TEMPS       0.08200003 -0.353
Residual    4.72718973       

Fixed effects: ScoreHamilton ~ TEMPS + GROUPE 
                Value Std.Error  DF   t-value p-value
(Intercept) 22.989933 0.5959364 905  38.57783   0e+00
TEMPS       -0.352266 0.0109268 905 -32.23866   0e+00
GROUPEHomme  2.952001 0.8013428 144   3.68382   3e-04
 Correlation: 
            (Intr) TEMPS 
TEMPS       -0.359       
GROUPEHomme -0.652  0.012

Standardized Within-Group Residuals:
        Min          Q1         Med          Q3         Max 
-2.66404151 -0.58774912  0.02206275  0.56281247  3.97325207 

Number of Observations: 1052
Number of Groups: 146 

我不知道如何解释所有参数,它们如何影响我的最终结果的解释(即对GROUPE汉密尔顿分数的影响),以及我的模型的质量。

不过,我解释这个结果的方式是男性( )的分数明显高于Homme女性。因此,治疗改善了女性的精神状态(最低分),这是我没想到的结果。这让我想知道我计算模型的方式。

我还有其他问题。我的变量VISIT是我变成数字的因素。无论我的变量VISIT是因子还是数字,它会改变一些东西吗?na.omit由于我的数据集有很多缺失值,无论我是否在模型中使用,它是否会改变我的结果?

1个回答

我拟合了变量 TEMPS(时间)和 GROUPE(性别),如固定效应和 NUMERO(主题),如随机效应。我想知道这是否正确。

是的,您在个体内部进行了重复测量,因此为该因子拟合随机截距可以解释每个个体内部测量值之间的相关性。

现在我想知道为什么我不能用随机术语输入我的变量 GROUPE,像这样的 ~1+GROUPE|NUMERO,或者像这样的 ~1+TEMPS+GROUPE|NUMERO

你可以。|符号左侧的变量指定随机斜率。这意味着您允许左侧出现的任何变量在右侧出现的任何变量内变化。因此,在您的情况下1+GROUPE|NUMERO,意味着性别对每个人的影响可能不同。您应该问问自己这在您的特定专业中是否有意义(因为性别通常不会在个人内部发生变化,我认为这没有意义)。~1+TEMPS+GROUPE|NUMERO此外,还允许时间对每个人的影响是不同的。

不过,我解释这个结果的方式是男性(Homme)的得分明显高于女性。因此,治疗改善了女性的精神状态(最低分),这是我没想到的结果。这让我想知道我计算模型的方式。

是的,你的解释是正确的。的估计值GROUPEHomme可以解释为ScoreHamilton的参考水平之间的差异,其中其他固定效应保持不变,并以估计的随机效应为条件。GROUPEGROUPE=Homme

我还有其他问题。我的变量 VISIT 是我变成数字的因素。无论我的变量 VISIT 是因子还是数字,它会改变什么吗?

是的,它可以。VISIT我在你的模型中没有看到。从您的问题看来,这TEMPS是从创建的变量VISIT我假设原始因子变量具有诸如“10 天”、“20 天”、“25 天”“...”之类的水平,并且您将这些转换为数字变量 10、20、25,... 通过这样做这个你的模型估计一个线性效应TEMPS. 通过将变量保持为一个因素,您可以允许非线性。如果级别/值很少,那么这无关紧要,但是如果您有很多级别,那么将变量保留为一个因素将导致模型对每个级别都有很多估计,这变得难以解释。如果要允许非线性,一种方法是使用数值变量并为其指定二次(和更高阶)项,或使用样条曲线。由于您有 8 个测量场合,我倾向于将数值变量与样条曲线一起使用。

无论我在模型中是否使用 na.omit,它是否会改变我的结果,因为我的数据集有很多缺失值?

lme缺少数据会导致错误,因此使用na.omit = TRUE是使其运行的唯一方法这会删除包含任何缺失数据的行,这可能会导致严重的偏差。根据缺失的原因和缺失的程度,建议您考虑使用多重插补来解决此问题。

最后说明:nlme是一个旧包。lme4随后由同一个人开发,在大多数情况下是更好的选择。