Perbedaan nilai p yang dilaporkan antara lm dan aov dalam R


12

Apa yang menjelaskan perbedaan dalam nilai-p dalam hal berikut aovdan lmpanggilan? Apakah perbedaannya hanya karena berbagai jenis perhitungan jumlah kotak?

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

Jawaban:


13

summary(aov)menggunakan jumlah yang disebut Tipe I (berurutan) dari kuadrat. summary(lm)menggunakan jumlah kuadrat Tipe III yang disebut, yang tidak berurutan. Lihat jawaban gung untuk detailnya.


Perhatikan bahwa Anda perlu menelepon lm(data ~ factor(f1) * factor(2))( aov()secara otomatis mengubah RHS rumus menjadi faktor). Kemudian perhatikan denominator untuk umum t -statistic dalam regresi linear (lihat ini jawaban untuk penjelasan lebih lanjut):

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

c′(X′X)−1c berbeda untuk setiap koefisien diuji karena vektor berubah. Sebaliknya, penyebut dalam ANOVA -test selalu MSE.βcF


1
Saya pikir kalimat pertama dari jawaban ini salah. Perbedaannya tampaknya justru karena berbagai jenis jumlah kuadrat: yaitu, tipe I vs tipe II / III. Tipe I adalah berurutan, yang merupakan apa yang lmdilaporkan, sedangkan Tipe II / III tidak. Ini dijelaskan dengan cukup rinci dalam jawaban @ gung yang Anda tautkan.
— Amuba mengatakan Reinstate Monica

@amoeba Apa yang Anda sarankan untuk mengoreksi jawabannya?
— caracal

Saya mengedit paragraf pertama, melihat apakah Anda setuju dengan hasil edit, dan merasa bebas untuk mengubahnya sesuka Anda.
— Amuba mengatakan 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

Ini adalah dua kode yang berbeda. dari model Lm Anda membutuhkan koefisien. sedangkan dari model aov Anda hanya tabulasi sumber variasi. Coba kodenya

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   

Ini memberikan tabulasi sumber-sumber variasi yang mengarah pada hasil yang sama.


2
Ini tampaknya tidak menjawab pertanyaan, yang menanyakan mengapa nilai-p untuk f1dan f2berbeda dalam dua ringkasan panel atas Anda. Sepertinya Anda hanya menunjukkan itu summary(aov(...))dan anova(lm(...))dalam Rmemiliki output yang sama.
— whuber
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.