Differenz der gemeldeten p-Werte zwischen lm und aov in R


12

Was erklärt die Unterschiede in p-Werten im Folgenden aovund lmruft auf? Liegt der Unterschied nur an unterschiedlichen Arten von Quadratsummenberechnungen?

set.seed(10)
data=rnorm(12)
f1=rep(c(1,2),6)
f2=c(rep(1,6),rep(2,6))
summary(aov(data~f1*f2))
summary(lm(data~f1*f2))$coeff

Antworten:


13

summary(aov)verwendet sogenannte Typ I (sequentielle) Quadratsummen. summary(lm)verwendet sogenannte Typ-III-Quadratsummen, die nicht sequentiell sind. Siehe Gungs Antwort für Details.


Beachten Sie, dass Sie aufrufen müssen lm(data ~ factor(f1) * factor(2))( aov()konvertiert automatisch die RHS der Formel in Faktoren). Notieren Sie dann den Nenner für die allgemeine Statistik in linearer Regression ( weitere Erklärungen finden Sie in dieser Antwort ):t

t=ψ^−ψ0σ^c′(X′X)−1c

unterscheidet sich für jeden getestetenβ-Koeffizienten, weil sich der Vektor c ändert. Der Nenner im ANOVAF-Test ist dagegen immer MSE.c′(X′X)−1cβcF


1
Ich denke der erste Satz dieser Antwort ist falsch. Der Unterschied scheint genau auf verschiedene Arten von Quadratsummen zurückzuführen zu sein: Typ I gegen Typ II / III. Typ I ist sequentiell, wie lmberichtet wird, während Typ II / III dies nicht ist. Dies wird in @ gungs Antwort, auf die Sie verlinkt haben, ausführlich erklärt.
— Amöbe sagt Reinstate Monica

@amoeba Was schlagen Sie vor, um die Antwort zu korrigieren?
— Caracal

Ich habe den ersten Absatz bearbeitet, um festzustellen, ob Sie mit der Bearbeitung einverstanden sind, und kann ihn jederzeit nach Belieben ändern.
— Amöbe sagt Reinstate Monica

2
set.seed(10)
data=rnorm(12)
f1=rep(c(1,2),6)
f2=c(rep(1,6),rep(2,6))
summary(aov(data~f1*f2))
            Df Sum Sq Mean Sq F value Pr(>F)
f1           1  0.535  0.5347   0.597  0.462
f2           1  0.002  0.0018   0.002  0.966
f1:f2        1  0.121  0.1208   0.135  0.723
Residuals    8  7.169  0.8962               
summary(lm(data~f1*f2))$coeff
               Estimate Std. Error    t value  Pr(>|t|)
(Intercept)  0.05222024   2.732756  0.0191090 0.9852221
f1          -0.17992329   1.728346 -0.1041014 0.9196514
f2          -0.62637109   1.728346 -0.3624106 0.7264325
f1:f2        0.40139439   1.093102  0.3672066 0.7229887

Dies sind zwei verschiedene Codes. Aus dem Lm-Modell benötigen Sie die Koeffizienten. Während Sie vom AOV-Modell aus nur die Variationsquellen tabellarisch darstellen. Probieren Sie den Code

anova(lm(data~f1*f2))
Analysis of Variance Table

Response: data
          Df Sum Sq Mean Sq F value Pr(>F)
f1         1 0.5347 0.53468  0.5966 0.4621
f2         1 0.0018 0.00177  0.0020 0.9657
f1:f2      1 0.1208 0.12084  0.1348 0.7230
Residuals  8 7.1692 0.89615   

Dies gibt die Auflistung der Variationsquellen, die zu den gleichen Ergebnissen führen.


2
Dies scheint die Frage nicht zu beantworten, die fragt, warum sich die p-Werte für f1und f2in den beiden Zusammenfassungen Ihres oberen Panels unterscheiden. Es sieht aus wie Sie nur zeigen , dass summary(aov(...))und anova(lm(...))in Rähnlichen Ausgang.
— Whuber
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.