R語言 協(xié)方差分析

2021-03-06 11:35 更新

我們使用回歸分析創(chuàng)建模型,描述變量在預(yù)測(cè)變量對(duì)響應(yīng)變量的影響。 有時(shí),如果我們有一個(gè)類別變量,如Yes / No或Male / Female等。簡單的回歸分析為分類變量的每個(gè)值提供多個(gè)結(jié)果。 在這種情況下,我們可以通過將分類變量與預(yù)測(cè)變量一起使用并比較分類變量的每個(gè)級(jí)別的回歸線來研究分類變量的效果。 這樣的分析被稱為協(xié)方差分析,也稱為ANCOVA。

考慮在數(shù)據(jù)集mtcars中內(nèi)置的R語言。 在其中我們觀察到字段“am”表示傳輸?shù)念愋停ㄗ詣?dòng)或手動(dòng))。 它是值為0和1的分類變量。汽車的每加侖英里數(shù)(mpg)也可以取決于馬力(“hp”)的值。

我們研究“am”的值對(duì)“mpg”和“hp”之間回歸的影響。 它是通過使用aov()函數(shù),然后使用anova()函數(shù)來比較多個(gè)回歸來完成的。

輸入數(shù)據(jù)

從數(shù)據(jù)集mtcars創(chuàng)建一個(gè)包含字段“mpg”,“hp”和“am”的數(shù)據(jù)框。 這里我們?nèi) 癿pg”作為響應(yīng)變量,“hp”作為預(yù)測(cè)變量,“am”作為分類變量。

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”之間的相互作用。

模型與分類變量和預(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é)果表明,馬力和傳輸類型對(duì)每加侖的英里有顯著的影響,因?yàn)閮煞N情況下的p值都小于0.05。 但是這兩個(gè)變量之間的相互作用不顯著,因?yàn)閜值大于0.05。

沒有分類變量和預(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é)果表明,馬力和傳輸類型對(duì)每加侖的英里有顯著的影響,因?yàn)閮煞N情況下的p值都小于0.05。

比較兩個(gè)模型

現(xiàn)在我們可以比較兩個(gè)模型來得出結(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é)論,馬力和傳播類型之間的相互作用不顯著。 因此,在汽車和手動(dòng)變速器模式下,每加侖的里程將以類似的方式取決于汽車的馬力。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)