2

我有一个混合模型,数据如下所示:

> 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 是介于变量之间。我对主要影响和相互作用都感兴趣。所以,首先是方差分析:

> 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                     

Condition 并不重要,但 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),但结果相似。

4

2 回答 2

5

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

另一方面,Lmer 本质上是一个用于多级建模的函数。在多级框架中,您可以显式地对方差建模,引入固定效应和随机效应(基本上是方差)之间的区别。异方差在这里不是问题。

另一种看待它的方式是 ANOVA 采用无池化方法(每行都是独立的),Lmer 采用部分池化方法(行共享一些信息)。

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

这是我能解释的最好的,这应该足以让你在自己的问题研究中朝着正确的方向前进。但是,对于更详细的答案,您可能确实想在 CrossValidated 上提出问题。

于 2014-01-07T08:29:51.700 回答
2

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

我会相信你的 lmer() 调用的结果,而不是你的 aov() 调用的结果。如果您曾经在这里查看过,请尝试将您的 aov 重新运行为 aov(errors ~ Condition * errorType + Error(subject),data = pce.ddply)。由于您的设计接近平衡,我希望 aov() 会为您提供类似于 lmer() 的估计。

于 2014-11-13T04:55:34.383 回答