邏輯迴歸是迴歸模型,其中響應變量(因變量y)具有諸如True / False或0/1的分類值。 它實際上基於將其與預測變量(自變量x)相關的數學方程測量二元響應的概率,作爲響應變量的值。
邏輯迴歸的一般數學方程爲 :
y = 1/(1+e^-(a+b1x1+b2x2+b3x3+…))
以下是所使用的參數的描述 :
- y是響應變量。
- x是預測變量。
- a和b是作爲數字常數的係數。
glm()函數
邏輯迴歸中glm()函數的基本語法是:
glm(formula,data,family)
以下是所使用的參數的描述:
- formula是表示變量之間的關係的符號。
- data是給出這些變量的值的數據集。
- family是R語言對象來指定模型的細節。 它的值是二項邏輯迴歸。
舉個栗子:
內置數據集“mtcars”描述具有各種發動機規格的汽車的不同型號。
在“mtcars”數據集中,傳輸模式(自動或手動)由am列描述,它是一個二進制值(0或1)。 我們可以在列“am”和其他3列(hp,wt和cyl)之間創建邏輯迴歸模型。
輸入:
# Select some columns form mtcars.
input <- mtcars[,c("am","cyl","hp","wt")]
print(head(input))
輸出:
am cyl hp wt
Mazda RX4 1 6 110 2.620
Mazda RX4 Wag 1 6 110 2.875
Datsun 710 1 4 93 2.320
Hornet 4 Drive 0 6 110 3.215
Hornet Sportabout 0 8 175 3.440
Valiant 0 6 105 3.460
……… …………… ………… …………
創建迴歸模型:
我們使用glm()函數創建迴歸模型,並得到其摘要進行分析。
輸入:
input <- mtcars[,c("am","cyl","hp","wt")]
am.data = glm(formula = am ~ cyl + hp + wt, data = input, family = binomial)
print(summary(am.data))
輸出:
Call:
glm(formula = am ~ cyl + hp + wt, family = binomial, data = input)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.17272 -0.14907 -0.01464 0.14116 1.27641
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 19.70288 8.11637 2.428 0.0152 *
cyl 0.48760 1.07162 0.455 0.6491
hp 0.03259 0.01886 1.728 0.0840 .
wt -9.14947 4.15332 -2.203 0.0276 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 43.2297 on 31 degrees of freedom
Residual deviance: 9.8415 on 28 degrees of freedom
AIC: 17.841
Number of Fisher Scoring iterations: 8
詳解summary
Deviance Residuals:偏差殘差統計量。
在理想情況下服從正態分佈,普通最小二乘法在數學上保證產生均值爲0的殘差。
- 在此例中,中位數的符號爲負(-0.01464),表明向左偏移,中位數的大小表明偏斜的程度。
- 第一個四分位數(1Q)和第三個四分位數(3Q)爲鐘形分佈的幅度。在這種情況下,3Q有較大的幅度(0.14116+|-0.14907|)表明向右傾斜。
- 最大和最小殘差用來檢驗數據中產生較大殘差的離羣值。
Coefficients:係數。
如果一個變量的係數爲0,那麼這個變量是沒有意義的,它對模型毫無貢獻。
這裏的係數只是估計,不會真正爲0,那麼從統計的角度而言,真正的係數爲0的可能性是多大?這就依賴於z統計量(z value)和p值(Pr(>|t|))。
-
(Intercept)的Estimate ---- 公式中的b
-
vyl、hp、wt的Estimate ----公式中的係數
-
Pr(>|z|)—p-value:P值。概率p值估計了係數不顯著的可能性,越小越好。如果p值很大,說明不顯著的可能性很高。一般情況下如果p值遠小於於顯著水平α=0.05(可更換顯著性水平的值)
-
Std.Error是迴歸係數的標準誤差
-
Null deviance:無效偏差(零偏差); Residual deviance:剩餘偏差 ;無效偏差和剩餘偏差之間的差異越大越好
-
AIC:評價模型擬合的重要指標; AIC越低越好
結論:
在總結中,對於變量“cyl”和“hp”,最後一列中的p值(Pr(>|z|))大於0.05,我們認爲它們對變量“am”的值有貢獻是無關緊要的。 只有重量(wt)影響該回歸模型中的“am”值。