Kategorik ( kukla kodlu ) regresörlü OLS'nin ANOVA'daki faktörlere eşdeğer olduğu fikrine biraz renk vermeme izin verin . Her iki durumda da seviyeler vardır (veya ANOVA durumunda gruplar ).
OLS regresyonunda, regresörlerde sürekli değişkenlerin olması en yaygın olanıdır. Bunlar, uygun modeldeki kategorik değişkenler ile bağımlı değişken (DC) arasındaki ilişkiyi mantıksal olarak değiştirir. Ancak paralelin tanınmaz hale getirilme noktasına gelmiyor.
mtcars
Veri setine dayanarak, ilk önce modeli lm(mpg ~ wt + as.factor(cyl), data = mtcars)
sürekli değişken wt
(ağırlık) tarafından belirlenen eğim ve kategorik değişkenin cylinder
(dört, altı veya sekiz silindir) etkisini yansıtan farklı kavşaklar olarak görselleştirebiliriz . Tek yönlü bir ANOVA ile paralel oluşturan bu son kısımdır.
Sağdaki alt arsa üzerinde grafiksel olarak görelim (hemen ardından tartışılan ANOVA modeliyle yan yana karşılaştırma için soldaki üç alt grafik dahil edilmiştir):
Her bir silindir motoru renk kodludur ve farklı kavramalara sahip takılı çizgiler ile veri bulutu arasındaki mesafe bir ANOVA'daki grup içi değişimin eşdeğeridir. Sürekli bir değişken ile (en küçük kareler model kesişir olduğuna dikkat edin weight
) bağlı etkisiyle, matematiksel ANOVA farklı olan grup araçlarının değeri ile aynı değildir weight
ve farklı bir model matrisleri (aşağıya bakınız): ortalama mpg
için 4 silindirli araba, örneğin, bir mean(mtcars$mpg[mtcars$cyl==4]) #[1] 26.66364
, en küçük kareler "taban çizgisi" kesişim ise (genel olarak yansıtan cyl==4
(düşük R sipariş yüksek rakamın)) belirgin bir şekilde farklıdır: summary(fit)$coef[1] #[1] 33.99079
. Çizgilerin eğimi, sürekli değişken için katsayıdır weight
.
weight
Bu çizgileri zihinsel olarak düzleştirerek ve bunları yatay çizgiye döndürerek etkisini bastırmaya çalışırsanız , modelin ANOVA arsası ile aov(mtcars$mpg ~ as.factor(mtcars$cyl))
soldaki üç alt arsa üzerinde durursunuz. weight
Geri çekici üzerinden şimdi, ama farklı durumlara puan arasında bir ilişki yaklaşık olarak korunur - Sadece basit "görmesini" görsel bir cihaz olarak, saat yönünün tersine döner ve tekrar her farklı seviyede (daha önce üst üste gelen araziler yayılıyor bağlantı, matematiksel bir eşitlik olarak değil, çünkü iki farklı modeli karşılaştırıyoruz!).
Faktördeki her seviye cylinder
ayrıdır ve dikey çizgiler artıkları veya grup içi hatayı temsil eder: buluttaki her noktadan uzaklık ve her seviye için ortalama (renk kodlu yatay çizgi). Renk gradyanı bize, seviyelerin modeli doğrulamada ne kadar önemli olduğunun bir göstergesidir: veri noktaları grup ortalamaları etrafında ne kadar kümelenirse, ANOVA modelinin istatistiksel olarak anlamlı olması o kadar olasıdır. Tüm grafiklerdeki etrafındaki yatay siyah çizgi tüm faktörlerin ortalamasıdır. ekseni içindeki sayılar, her seviye içindeki her nokta için yer tutucusu numarası / tanımlayıcısıdır ve yatay çizgiler boyunca noktaları çizerek farklı bir çizim göstermesine izin vermek için noktaları ayırmaktan başka bir amacı yoktur.20x
Ve bu dikey bölümlerin toplamı aracılığıyla artıkları manuel olarak hesaplayabiliriz:
mu_mpg <- mean(mtcars$mpg) # Mean mpg in dataset
TSS <- sum((mtcars$mpg - mu_mpg)^2) # Total sum of squares
SumSq=sum((mtcars[mtcars$cyl==4,"mpg"]-mean(mtcars[mtcars$cyl=="4","mpg"]))^2)+
sum((mtcars[mtcars$cyl==6,"mpg"] - mean(mtcars[mtcars$cyl=="6","mpg"]))^2)+
sum((mtcars[mtcars$cyl==8,"mpg"] - mean(mtcars[mtcars$cyl=="8","mpg"]))^2)
Sonuç: SumSq = 301.2626
ve TSS - SumSq = 824.7846
. Karşılaştırmak:
Call:
aov(formula = mtcars$mpg ~ as.factor(mtcars$cyl))
Terms:
as.factor(mtcars$cyl) Residuals
Sum of Squares 824.7846 301.2626
Deg. of Freedom 2 29
Tam olarak aynı sonuç bir ANOVA ile test edildiğinde lineer model sadece cylinder
regresör olarak kategorik olarak yapılır:
fit <- lm(mpg ~ as.factor(cyl), data = mtcars)
summary(fit)
anova(fit)
Analysis of Variance Table
Response: mpg
Df Sum Sq Mean Sq F value Pr(>F)
as.factor(cyl) 2 824.78 412.39 39.697 4.979e-09 ***
Residuals 29 301.26 10.39
Öyleyse gördüğümüz şey, artıkların - model tarafından açıklanmayan toplam varyansın bir parçası - varyansın, türün bir OLS lm(DV ~ factors)
veya bir ANOVA ( aov(DV ~ factors)
): Sürekli değişkenlerin modelini özdeş bir sistemle bitiriyoruz. Benzer şekilde, modelleri küresel olarak veya çok amaçlı bir ANOVA (seviye seviyesine göre değil) olarak değerlendirdiğimizde, doğal olarak aynı p değerini elde ederiz F-statistic: 39.7 on 2 and 29 DF, p-value: 4.979e-09
.
Bu, bireysel seviyelerin test edilmesinin aynı p-değerleri vereceği anlamına gelmez. OLS durumunda, şunu çağırabilir summary(fit)
ve alabiliriz:
lm(formula = mpg ~ as.factor(cyl), data = mtcars)
Estimate Std. Error t value Pr(>|t|)
(Intercept) 26.6636 0.9718 27.437 < 2e-16 ***
as.factor(cyl)6 -6.9208 1.5583 -4.441 0.000119 ***
as.factor(cyl)8 -11.5636 1.2986 -8.905 8.57e-10 ***
Bu çok amaçlı bir testten daha fazlası olan ANOVA'da mümkün değildir. Bu türden değer değerlendirmelerine sahip olmak için, çoklu çift karşılaştırmalar (dolayısıyla, " ") sonucunda ortaya çıkan bir tür I hatası olasılığını azaltmaya çalışacak bir Tukey En Dürüst Önemli Fark testi yapmamız gerekir. tamamen farklı çıktı:pp adjusted
Tukey multiple comparisons of means
95% family-wise confidence level
Fit: aov(formula = mtcars$mpg ~ as.factor(mtcars$cyl))
$`as.factor(mtcars$cyl)`
diff lwr upr p adj
6-4 -6.920779 -10.769350 -3.0722086 0.0003424
8-4 -11.563636 -14.770779 -8.3564942 0.0000000
8-6 -4.642857 -8.327583 -0.9581313 0.0112287
Sonuçta, hiçbir şey, model matrislerinden ve sütun uzayındaki çıkıntılardan başka bir şey olmayan, kaputun altındaki motora göz atmaktan daha güven verici değildir. Bunlar bir ANOVA için oldukça basittir:
⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢y1y2y3⋮⋮⋮.yn⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢11⋮00⋮.0000⋮11⋮.0000⋮00⋮.11⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎡⎣⎢μ1μ2μ3⎤⎦⎥+⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢ε1ε2ε3⋮⋮⋮.εn⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥(1)
Bu üç düzeyde (örneğin, tek yönlü ANOVA modelinde matrisi olacaktır cyl 4
, cyl 6
, cyl 8
), şu şekilde özetlenebilir , her düzeyde veya grubu ortalamasıdır: zaman gözlem hata veya kalıntı grubu ya da seviyesinin ilave edilir, gerçek DV elde gözlem.yij=μi+ϵijμijiyij
Öte yandan, bir OLS regresyonu için model matrisi:
⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢y1y2y3y4⋮yn⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢1111⋮1x12x22x32x42⋮xn2x13x23x33x43⋮xn3⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎡⎣⎢β0β1β2⎤⎦⎥+⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢ε1ε2ε3ε4⋮εn⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
Bu, olup, her biri için tek bir kesişme ve iki eğim ( ve ) şeklindedir. farklı bir sürekli değişken, say ve .yi=β0+β1xi1+β2xi2+ϵiβ0β1β2weight
displacement
Şimdiki püf noktası, ilk örnekte olduğu gibi, farklı kavşakları nasıl yaratabileceğimizi görmektir lm(mpg ~ wt + as.factor(cyl), data = mtcars)
- bu yüzden ikinci eğimden kurtulalım ve orijinal tek sürekli değişkene weight
(diğer bir deyişle, bir sütunun yanı sıra tek bir sütuna yapışalım). model matrisi, kesişme ve eğim , ). ' sütunu varsayılan olarak araya girmeye karşılık gelecektir . Yine, değeri, grup içi ortalama için ANOVA ile aynı değildir , OLS model matrisindeki (aşağıda) 's sütununun (aşağıda) nin ilk sütunu ile karşılaştırılması şaşırtıcı olmamalıdır .β0weight
β11cyl 4
cyl 4
11Sadece 4 silindirli örnekleri seçen ANOVA model matrisinde . Kesişme etkisini açıklamak için kodlama taklit ile kaydırılır ve aşağıdaki gibidir:(1),cyl 6
cyl 8
⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢y1y2y3y4y5⋮yn⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢11111⋮1x1x2x3x4x5⋮xn⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥[β0β1]+⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢11100⋮000011⋮1⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥[μ~2μ~3]+⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢ε1ε2ε3ε4ε5⋮εn⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
Şimdi, üçüncü sütun olduğunda, sistematik olarak kesişimi En Küçük Kareler Model 4-silindirli otomobillerin grubunu ifade etmek için aynıdır, ancak yansıtma değil "taban" kesişim durumunda olduğu gibi, olduğunu gösterir, en küçük kareler model seviyeleri arasındaki farklar değildir matematiksel gruplar arası farklar şu anlama gelir:1μ~2.⋅~
fit <- lm(mpg ~ wt + as.factor(cyl), data = mtcars)
summary(fit)$coef[3] #[1] -4.255582 (difference between intercepts cyl==4 and cyl==6 in OLS)
fit <- lm(mpg ~ as.factor(cyl), data = mtcars)
summary(fit)$coef[2] #[1] -6.920779 (difference between group mean cyl==4 and cyl==6)
Benzer şekilde, dördüncü sütun , sabit bir değer eklenecektir. Dolayısıyla matris denklemi . Bu nedenle, bu modelle ANOVA modeline gitmek, sürekli değişkenlerden kurtulmaktan ibarettir ve OLS'deki varsayılan engellemenin ANOVA'daki birinci seviyeyi yansıttığını anlamaktır.1μ~3yi=β0+β1xi+μ~i+ϵi