问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

为什么一定要用残差图检查你的回归分析?

创作时间:
作者:
@小白创作中心

为什么一定要用残差图检查你的回归分析?

引用
1
来源
1.
https://www.pianshen.com/article/3676210356/

在进行回归分析时,残差图是验证模型有效性的关键工具。它不仅能够帮助我们检查模型的拟合情况,还能揭示模型中可能存在的问题。本文将深入探讨残差图的重要性及其如何帮助我们改进回归模型。

什么是残差图?

残差图是指以残差为纵坐标,以任何其他指定的量为横坐标的散点图。在使用普通最小二乘法(OLS)进行回归分析后,我们通常需要通过残差图来验证模型的有效性。但为什么一定要用残差图呢?这背后既有数学原因,也有直观的解释。

模型的基本组成部分

一个有效的回归模型可以分为两个基本组成部分:

  • 确定性部分(Deterministic Portion):这部分由关于预测自变量的函数组成,包含了模型中所有可解释、可预测的信息。
  • 随机误差(Stochastic Error):这部分不仅包含随机性,还包含不可预测性。这意味着在误差中不应该含有任何可解释、可预测的信息。

残差图的作用

残差图可以帮助我们检查模型的随机误差是否符合预期。理想情况下,残差应该呈现随机分布,没有明显的模式。如果残差图显示出某种规律性,那么就说明模型可能存在问题,需要进行调整。

正确的残差图特征

  • 残差应该以0为中心,均匀分布在拟合值的范围内。
  • 残差应该呈现正态分布,且在整个拟合范围内具有恒定的扩散。

下面是一个使用Seaborn绘制的正确残差图示例:

%matplotlib inline
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
np.random.seed(sum(map(ord, "anscombe"))) 
import seaborn as sns
anscombe = sns.load_dataset("anscombe")
sns.residplot(x="x", y="y", data=anscombe.query("dataset == 'I'"), scatter_kws={"s": 80}) 

错误的残差图特征

如果残差图显示出某种规律性,那么就说明模型可能存在问题。例如,下面这个残差图就显示出明显的非随机模式:

sns.residplot(x="x", y="y", data=anscombe.query("dataset == 'II'"), scatter_kws={"s": 80})

在这个例子中,我们可以根据拟合值预测残差的非零值。例如,拟合值为9的预期残差为正值,而5和13的拟合值具有负的预期残差。这种非随机模式表明模型的确定部分没有捕获一些可解释的信息,可能需要考虑以下几种情况:

  • 缺失的变量
  • 缺少高阶项来解释曲率
  • 缺少交叉项

此外,还需要注意以下两种情况:

  • 残差不应该与另外的变量相关
  • 相邻残差不应该相互关联

总结

残差图是验证回归模型有效性的重要工具。一个理想的残差图应该体现出随机性和不可预测性。通过检查残差图,我们可以发现模型可能存在的问题,并据此进行调整,以获得更准确的预测结果。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号