R语言----逻辑回归各统计量解读

逻辑回归是回归模型,其中响应变量(因变量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

关于glm()报错的解答

Warning messages:

  • glm.fit:算法没有聚合
  • glm.fit:拟合機率算出来是数值零或一

上述两个报错点可以参照:
https://www.cnblogs.com/runner-ljt/p/4574275.html

详解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”值。

你可能感兴趣的:(R)