R語言邏輯回歸
邏輯回歸是回歸模型,其中響應變量(因變量)具有明確的值,如:True/False或0/1。 它實際測量二元響應作為響應變量,是基於與預測變量有關它的數學方程的值的概率。
邏輯回歸一般的數學公式是:
y = 1/(1+e^-(a+b1x1+b2x2+b3x3+...))
以下是所使用的參數的說明:
- y 是響應變量。
- x 是預測變量。
- a 和 b 是數字常量係數。
用於創建回歸模型的功能是 glm()函數。
語法
glm()函數在邏輯回歸的基本語法是:
glm(formula,data,family)
以下是所使用的參數的說明:
- formula 是呈現所述變量之間的關係的標誌。
- data 在數據集給出這些變量的值.
- family 為R對象以指定模型的細節。它的值是二項分布邏輯回歸。
示例
在內置的數據集“mtcars”描述了他們不同的發動機規格的不同型號汽車。在“mtcars”數據集,傳輸模式(自動或手動)由列點它是一個二進製值描述(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
結論
在彙總中的最後一列的 p值大於0.05為變量"cyl" 和 "hp",我們認為它們是微不足道地促進變量“am”的值。隻有重量(wt)在影響這個回歸模型“am”的值。