首页 文章

为什么aov和lmer之间存在巨大差异?

提问于
浏览
1

我有一个混合模型,数据看起来像这样:

> head(pce.ddply)
  subject Condition errorType     errors
1    j202         G         O 0.00000000
2    j202         G         P 0.00000000
3    j203         G         O 0.08333333
4    j203         G         P 0.00000000
5    j205         G         O 0.16666667
6    j205         G         P 0.00000000

每个受试者提供两个errorType(O或P)的数据点,每个受试者处于条件G(N = 30)或N(N = 33) . errorType是重复变量,Condition是变量之间的变量 . 我对主要效果和互动感兴趣 . 所以,首先是anova:

> summary(aov(errors ~ Condition * errorType + Error(subject/(errorType)),
                 data = pce.ddply))

Error: subject
          Df  Sum Sq  Mean Sq F value Pr(>F)
Condition  1 0.00507 0.005065   2.465  0.122
Residuals 61 0.12534 0.002055               

Error: subject:errorType
                    Df  Sum Sq Mean Sq F value   Pr(>F)    
errorType            1 0.03199 0.03199   10.52 0.001919 ** 
Condition:errorType  1 0.04010 0.04010   13.19 0.000579 ***
Residuals           61 0.18552 0.00304

条件不重要,但errorType以及交互 .

但是,当我使用lmer时,我会得到一组完全不同的结果:

> lmer(errors ~ Condition * errorType + (1 | subject),
                    data = pce.ddply)
Linear mixed model fit by REML 
Formula: errors ~ Condition * errorType + (1 | subject) 
   Data: pce.ddply 
    AIC    BIC logLik deviance REMLdev
 -356.6 -339.6  184.3     -399  -368.6
Random effects:
 Groups   Name        Variance Std.Dev.
 subject  (Intercept) 0.000000 0.000000
 Residual             0.002548 0.050477
Number of obs: 126, groups: subject, 63

Fixed effects:
                       Estimate Std. Error t value
(Intercept)            0.028030   0.009216   3.042
ConditionN             0.048416   0.012734   3.802
errorTypeP             0.005556   0.013033   0.426
ConditionN:errorTypeP -0.071442   0.018008  -3.967

Correlation of Fixed Effects:
            (Intr) CndtnN errrTP
ConditionN  -0.724              
errorTypeP  -0.707  0.512       
CndtnN:rrTP  0.512 -0.707 -0.724

因此对于lmer,Condition和交互是重要的,但errorType不是 .

此外,lmer结果与glm结果完全相同,让我相信出了问题 .

有人可以帮我理解为什么他们如此不同?我怀疑我正在使用lmer错误(虽然我尝试了很多其他版本,如(errorType | subject),但结果相似 .

2 回答

  • 3

    我相信答案是两种方法都采用不同的方法来处理方差 . ANOVA划分方差,而组(重复测量)变量只是这样做的另一个考虑因素 . ANOVA假设群体方差或同方差性的同质性,如果这种假设被严重违反,ANOVA可能不是正确的方法 .

    另一方面,Lmer本质上是多级建模的功能 . 在多级框架中,您可以明确地对方差建模,引入固定效应和随机效应之间的区别(基本上是方差) . 异方差性在这里不是问题 .

    另一种看待它的方法是ANOVA采用无池方法(每条线是分开的),Lmer采用部分池方法(线共享一些信息) .

    此外,ANOVA使用OLS估计,而lmer使用ML版本(在您的情况下为REML) .

    这是我能解释的最好的,这应该足以至少让你在自己的问题研究中找到正确的方向 . 但是,对于更精细的答案,您可能确实想在CrossValidated上提出问题 .

  • 1

    造成这种差异的另一个原因是,当您使用lmer(与您的场景描述一致)时,您将errorType视为固定效果,而是作为嵌套在aov()代码中的subject中的随机效果 .

    我相信你的lmer()调用的结果,而不是你的aov()调用的结果 . 如果您在此处查看过,请尝试重新运行aov作为aov(errors~Instal * errorType Error(subject),data = pce.ddply) . 由于您的设计接近 balancer ,我希望aov()会给出与lmer()相似的估计值 .

相关问题