线性混合模型中的多重共线性

时间:2016-06-06 10:45:05

标签: r lme4

我在R:

中拟合了以下lmer模型
lmer(rt~deadline*cond+age+(1+deadline|task/pp), REML=FALSE) ##Model 1
lmer(rt~deadline+cond+age+(1+deadline|task/pp), REML=FALSE) ##Model 2

rt是反应时间,deadline有2个等级短或长,cond也有两个等级:简单或难。在我进行的研究中,30名受试者完成了4项任务。每个任务对象在四个级别(短/容易,长/容易,短/硬,长/硬)中进行50次试验。在我上面的模型中,我有人和任务的随机截取,以及截止日期的人和任务的随机斜率。 所以他们总共进行了800次试验。记录准确度和反应时间。如果复杂性(= cond)和紧迫性(= deadline)对反应时间有(交互)影响,我感兴趣。由于可能存在交互效应,我将第一个模型与交互相匹配,并将其与没有交互的第二个模型进行比较。

当我运行第一个模型时,我得到以下输出:

lm.rtfnew <- lmer(rt~deadline*cond+age+(1+deadline|task/pp), REML=FALSE)
fixed-effect model matrix is rank deficient so dropping 1 column / coefficient
summary(lm.rtfnew)
Linear mixed model fit by maximum likelihood  ['lmerMod']
Formula: rt ~ deadline * cond + age + (1 + deadline | task/pp)
 ...
                           Estimate Std. Error t value
   (Intercept)             5.874631   0.669971    8.77
 deadlineshort            -0.375643   0.171779   -2.19
      condhard            -4.685013   0.066538  -70.41
      condeasy            -4.658016   0.066538  -70.01
           age             0.006791   0.018018    0.38
   deadlineshort:condhard  0.007752   0.018960    0.41
 ...
 fit warnings:
     fixed-effect model matrix is rank deficient so dropping 1 column / coefficient 
所以我有一个问题,因为对于deadlinecond,都会生成两列,然后这两列显示出完美的多重共线性?然后,R通过为deadline删除一列来修复它,但不为cond删除(因为有一个固定的效果condhardcondeasy)。 因此,我有两个问题:

  1. 为什么R不删除cond列?
  2. 我是否需要手动修复它?

1 个答案:

答案 0 :(得分:0)

在评论中提供OP提供的其他信息时,一个问题变得明显:""中有一个因子级别cond。这个级别由截距和&#34; hard&#34;表示。和&#34;容易&#34; rts与&#34;&#34;完全不同。 rts,但相比之下非常相似。这些&#34;&#34;值实际上是NA值,应该按此编码。如果这样做,na.action = na.omit将删除相应的观察结果。这样做可能已经解决了等级缺陷问题。如果没有,OP可以考虑缩放变量或删除交互项。