邏輯回歸是一種回歸模型,其回應變數(因變數)具有分類值,如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”
數據集中,傳輸模式(自動或手動)由列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
總結:
對於變數“cyl”
和“hp”
,最後一列的p
值大於0.05
,可認為它們對變數“am”
的值有微不足道的作用。這個回歸模型中只有體重(wt
)才會影響“am”
值。
上一篇:
R語言多元(多重)回歸
下一篇:
R語言基礎語法