如何解释零偏差和残余偏差(附示例)


每当您拟合一般线性模型(如逻辑回归、泊松回归等)时,大多数统计软件都会生成模型的零偏差残差偏差值。

零偏差告诉我们只有原始项的模型可以预测响应变量的效果如何。

残差偏差告诉我们具有p个预测变量的模型对响应变量的预测效果如何。值越低,模型预测响应变量值的能力就越好。

为了确定模型是否“有用”,我们可以计算卡方统计量,如下所示:

X 2 = 零偏差 – 残余偏差

具有p 个自由度。

然后我们可以找到与该卡方统计量相关的 p 值。与仅包含原始项的模型相比,p 值越低,模型就越能拟合数据集。

以下示例演示如何解释 R 中逻辑回归模型的零偏差和残差偏差。

示例:零偏差和残余偏差的解释

对于此示例,我们将使用 ISLR 包中的默认数据集。我们可以使用以下代码来加载并显示数据集的摘要:

 #load dataset
data <- ISLR::Default

#view summary of dataset
summary(data)

 default student balance income     
 No:9667 No:7056 Min. : 0.0 Min. : 772  
 Yes: 333 Yes:2944 1st Qu.: 481.7 1st Qu.:21340  
                       Median: 823.6 Median: 34553  
                       Mean: 835.4 Mean: 33517  
                       3rd Qu.:1166.3 3rd Qu.:43808  
                       Max. :2654.3 Max. :73554 

该数据集包含 10,000 人的以下信息:

  • 违约:表明个人是否违约。
  • 学生:表明个人是否是学生。
  • 余额:个人持有的平均余额。
  • 收入:个人的收入。

我们将使用学生身份、银行余额和收入来构建逻辑回归模型,预测给定个人违约的概率:

 #fit logistic regression model
model <- glm(default~balance+student+income, family=" binomial ", data=data)

#view model summary
summary(model)

Call:
glm(formula = default ~ balance + student + income, family = "binomial", 
    data = data)

Deviance Residuals: 
    Min 1Q Median 3Q Max  
-2.4691 -0.1418 -0.0557 -0.0203 3.7383  

Coefficients:
              Estimate Std. Error z value Pr(>|z|)    
(Intercept) -1.087e+01 4.923e-01 -22.080 < 2e-16 ***
balance 5.737e-03 2.319e-04 24.738 < 2e-16 ***
studentYes -6.468e-01 2.363e-01 -2.738 0.00619 ** 
income 3.033e-06 8.203e-06 0.370 0.71152    
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 2920.6 on 9999 degrees of freedom
Residual deviance: 1571.5 on 9996 degrees of freedom
AIC: 1579.5

Number of Fisher Scoring iterations: 8

我们可以在输出中观察到以下零偏差和残差值:

  • 零偏差:2920.6,df = 9999
  • 剩余偏差:1571.5,df = 9996

我们可以使用这些值来计算模型的 X 2统计量:

  • X 2 = 零偏差 – 残余偏差
  • X2 = 2910.6 – 1579.0
  • X2 = 1331.6

预测变量有p = 3 个自由度。

我们可以使用卡方到 P 值计算器发现具有 3 个自由度的 X 2值 1331.6 的 p 值为 0.000000。

由于该 p 值远小于 0.05,因此我们可以得出结论,该模型对于预测给定个人违约的概率非常有用。

其他资源

以下教程解释了如何在 R 和 Python 中实际执行逻辑回归:

如何在 R 中执行逻辑回归
如何在 Python 中执行逻辑回归

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注