我們使用回歸分析創(chuàng)建模型门躯,描述變量在預(yù)測(cè)變量對(duì)響應(yīng)變量的影響僚祷。 有時(shí),如果我們有一個(gè)類(lèi)別變量吼蚁,如Yes / No或Male / Female等凭需。簡(jiǎn)單的回歸分析為分類(lèi)變量的每個(gè)值提供多個(gè)結(jié)果。 在這種情況下肝匆,我們可以通過(guò)將分類(lèi)變量與預(yù)測(cè)變量一起使用并比較分類(lèi)變量的每個(gè)級(jí)別的回歸線來(lái)研究分類(lèi)變量的效果粒蜈。 這樣的分析被稱為協(xié)方差分析,也稱為ANCOVA旗国。
例
考慮在數(shù)據(jù)集mtcars中內(nèi)置的R語(yǔ)言枯怖。 在其中我們觀察到字段“am”表示傳輸?shù)念?lèi)型(自動(dòng)或手動(dòng))。 它是值為0和1的分類(lèi)變量能曾。汽車(chē)的每加侖英里數(shù)(mpg)也可以取決于馬力(“hp”)的值度硝。
我們研究“am”的值對(duì)“mpg”和“hp”之間回歸的影響。 它是通過(guò)使用aov()函數(shù)寿冕,然后使用anova()函數(shù)來(lái)比較多個(gè)回歸來(lái)完成的蕊程。
輸入數(shù)據(jù)
從數(shù)據(jù)集mtcars創(chuàng)建一個(gè)包含字段“mpg”,“hp”和“am”的數(shù)據(jù)框驼唱。 這里我們?nèi) 癿pg”作為響應(yīng)變量藻茂,“hp”作為預(yù)測(cè)變量,“am”作為分類(lèi)變量玫恳。
input <- mtcars[,c("am","mpg","hp")]
print(head(input))
當(dāng)我們執(zhí)行上面的代碼辨赐,它產(chǎn)生以下結(jié)果 -
am mpg hp
Mazda RX4 1 21.0 110
Mazda RX4 Wag 1 21.0 110
Datsun 710 1 22.8 93
Hornet 4 Drive 0 21.4 110
Hornet Sportabout 0 18.7 175
Valiant 0 18.1 105
協(xié)方差分析
我們創(chuàng)建一個(gè)回歸模型,以“hp”作為預(yù)測(cè)變量京办,“mpg”作為響應(yīng)變量掀序,考慮“am”和“hp”之間的相互作用。
模型與分類(lèi)變量和預(yù)測(cè)變量之間的相互作用
Get the dataset.
input <- mtcars
Create the regression model.
result <- aov(mpg~hp*am,data = input)
print(summary(result))
當(dāng)我們執(zhí)行上面的代碼臂港,它產(chǎn)生以下結(jié)果 -
Df Sum Sq Mean Sq F value Pr(>F)
hp 1 678.4 678.4 77.391 1.50e-09 ***
am 1 202.2 202.2 23.072 4.75e-05 ***
hp:am 1 0.0 0.0 0.001 0.981
Residuals 28 245.4 8.8
Signif. codes: 0 ‘’ 0.001 ‘’ 0.01 ‘’ 0.05 ‘.’ 0.1 ‘ ’ 1
這個(gè)結(jié)果表明,馬力和傳輸類(lèi)型對(duì)每加侖的英里有顯著的影響,因?yàn)閮煞N情況下的p值都小于0.05审孽。 但是這兩個(gè)變量之間的相互作用不顯著县袱,因?yàn)閜值大于0.05。
沒(méi)有分類(lèi)變量和預(yù)測(cè)變量之間相互作用的模型
Get the dataset.
input <- mtcars
Create the regression model.
result <- aov(mpg~hp+am,data = input)
print(summary(result))
當(dāng)我們執(zhí)行上面的代碼佑力,它產(chǎn)生以下結(jié)果 -
Df Sum Sq Mean Sq F value Pr(>F)
hp 1 678.4 678.4 80.15 7.63e-10 ***
am 1 202.2 202.2 23.89 3.46e-05 ***
Residuals 29 245.4 8.5
Signif. codes: 0 ‘’ 0.001 ‘’ 0.01 ‘’ 0.05 ‘.’ 0.1 ‘ ’ 1
這個(gè)結(jié)果表明式散,馬力和傳輸類(lèi)型對(duì)每加侖的英里有顯著的影響,因?yàn)閮煞N情況下的p值都小于0.05打颤。
比較兩個(gè)模型
現(xiàn)在我們可以比較兩個(gè)模型來(lái)得出結(jié)論暴拄,變量的相互作用是否真正重要。 為此编饺,我們使用anova()函數(shù)乖篷。
Get the dataset.
input <- mtcars
Create the regression models.
result1 <- aov(mpg~hp*am,data = input)
result2 <- aov(mpg~hp+am,data = input)
Compare the two models.
print(anova(result1,result2))
當(dāng)我們執(zhí)行上面的代碼,它產(chǎn)生以下結(jié)果 -
Model 1: mpg ~ hp * am
Model 2: mpg ~ hp + am
Res.Df RSS Df Sum of Sq F Pr(>F)
1 28 245.43
2 29 245.44 -1 -0.0052515 6e-04 0.9806
由于p值大于0.05透且,我們得出結(jié)論撕蔼,馬力和傳播類(lèi)型之間的相互作用不顯著。 因此秽誊,在汽車(chē)和手動(dòng)變速器模式下鲸沮,每加侖的里程將以類(lèi)似的方式取決于汽車(chē)的馬力。