R - Logistic回归

Logistic回归是一种回归模型,其中响应变量(因变量)具有分类值,例如True/False或0/1.它实际上是根据与预测变量相关的数学方程式将二元响应的概率测量为响应变量的值.

逻辑回归的一般数学方程是 :

 
y = 1/(1 +  e ^  - (a +  b1x1 +  b2x2 +  b3x3 +  ...))

以下是所用参数的说明及减号;

  • y 是响应变量.

  • x 是预测变量.

  • a b 是系数,它们是数字常量.

用于创建回归模型的函数是 glm()函数.

语法

逻辑回归中 glm()函数的基本语法是 :

glm(formula,data,family)

以下是描述n使用的参数 :

  • 公式是表示变量之间关系的符号.

  • 数据是给出这些变量值的数据集.

  • 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 &plus; hp &plus; wt, data = input, family = binomial)

print(summary(am.data))

当我们执行上面的代码时,会产生以下代码结果 :

Call:
glm(formula = am ~ cyl &plus; hp &plus; 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"和"变量",最后一列中的p值大于0.05 hp",我们认为它们对变量"am"的值有贡献是微不足道的.只有权重(wt)会影响此回归模型中的"am"值.