我是新來線性迴歸的人,我試圖找出如何解釋彙總結果。我很難解釋分類預測變量的估計值。考慮下面的例子。我添加了列的年齡和長度以包含數字預測變量和數字目標。在線性迴歸中解釋分類預測變量的估計值
library(MASS)
data <- as.data.frame(HairEyeColor)
data$length <- c(155, 173, 172, 176, 186, 188, 160, 154, 192, 192, 185, 150, 181, 195, 161, 194,
173, 185, 185, 195, 168, 158, 151, 170, 163, 156, 186, 173, 167, 172, 164, 182)
data$age <- c(48, 44, 8, 23, 23, 63, 64, 26, 8, 56, 40, 11, 17, 12, 60, 10, 9, 21, 46, 7, 12, 9, 32, 37, 52, 64, 36, 31, 41, 24)
summary(lm(length ~ Hair + Eye + Sex + age, data))
輸出:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 182.72906 8.22026 22.229 <2e-16 ***
HairBrown 6.22998 7.45423 0.836 0.412
HairRed -0.38261 7.50570 -0.051 0.960
HairBlond -0.25860 7.36012 -0.035 0.972
EyeBlue -8.44369 7.36646 -1.146 0.263
EyeHazel 0.06968 7.49589 0.009 0.993
EyeGreen -0.15554 7.27704 -0.021 0.983
SexFemale -4.92415 5.18308 -0.950 0.352
age -0.19084 0.15910 -1.200 0.243
大部分是不顯著,但讓我們忽略了現在。
有什麼可說的(截取)?直觀地說,當分類預測因子(Hair = Black,Eye = Brown,Sex = Male)的基線值適用時,以及年齡= 0時,我會說這是長度值。這是正確的嗎?
數據集中長度的平均值爲173.8125,但估計值爲182.72906。這是否意味着對於基線情況,長度估計實際上高於平均長度?
與問題2類似的問題:假設眼睛=藍色,並且所有其他值仍作爲基線。估計值則變爲174.284(182.72906 - 8.44369)。我可以推斷,預計的平均長度是174.284,因此仍然高於整體平均值(173.8125)?
我怎樣才能發現哪個預測值/值對長度有正面或負面的影響?簡單地採取估計的方向將不起作用:負面估計僅意味着它與基線相比具有負面影響。這是否意味着我可以只有推斷,例如眼睛=藍色與 Eye = Brown相比,會產生負面影響而不是推斷它總體上具有負面影響?
怎麼來(攔截)是重要的,而所有其他行都不是?攔截的意義是什麼?
當以Hair作爲預測變量運行模型時,Hair = Blond的方向變爲正值(見下文),而在之前的模型中爲負值。那麼爲每個預測變量分別運行模型是否更明智一些,以便我可以捕捉到單個預測變量的真實大小和方向?
summary(lm(length ~ Hair, data)) Estimate Std. Error t value Pr(>|t|) (Intercept) 173.125 5.107 33.900 <2e-16 *** HairBrown 4.250 7.222 0.588 0.561 HairRed -2.625 7.222 -0.363 0.719 HairBlond 1.125 7.222 0.156 0.877
謝謝您的幫助。
感謝您的答覆。你會知道如何防止將這些值作爲虛擬變量來使用嗎? – Joseph
@Joseph如果不是虛擬變量,你會怎樣模擬它們?它們不是數字值。所以你可以按照Red> Brown> Blonde的順序對它們進行排序,並將它們的數字設爲1,2,3以使它們強制數字化(這是一種非常糟糕的方法),或者將它們轉換爲虛擬變量(在這種情況下是理想方法)。這些是您可以用於線性迴歸的唯一兩種方法。正如我所說的,你應該嘗試其他方法來模擬數據,這允許使用分類變量。 – Gaurav
@ZheyuanLi Y不是?輸出摘要清楚地表明'lm()'已經爲分類變量的每個值計算了係數。這與使它們成爲二元虛擬變量相同。 – Gaurav