深入探讨回归分析的假设条件、散点图以及解决方案

回归分析标志着预测建模的第一步。毫无疑问,回归分析非常容易实现。无论是语法还是其中使用的参数,都没有任何易混淆的。但是,只跑一行代码是无法解决问题的,也不是只看看R² ,MSE值就可以的。回归分析告诉我们的远远不止这些!

All models are wrong, but some are useful.
——George Box

1. 简介

在R语言中,通过使用plot(model_name)函数,回归分析会返回4张图。每一张图都提供了重要的信息,或者说是讲了一个关于数据的有趣的故事。可悲的是,许多初学者要么是无法破译其中的信息,要么是不关注这些图背后究竟说明了什么。事实上,一旦你能读懂这些图,你将能够使回归模型的结果有显著的提升!

对于模型的优化,你还需要理解回归分析的假设条件,以及当现实违反了回归分析的基本假定时,采用何种方法进行处理。

在这篇文章中,将解释回归分析的重要假设和图(以及处理和解决方法),以帮助你更详细地理解回归分析的概念。如上所述,掌握了这些知识后,你将能够使回归分析模型效果取得显著性提升!

为了理解回归分析中的图,你必须先了解回归分析的基础知识。如果你已经掌握了回归分析的基本知识,可以跳过以下内容,否则,就继续阅读把!——Tips

在这里插入图片描述

2. 回归分析中的假设

回归分析是一种参数方法。“参数”意味着出于分析的目的,它会做一些关于数据的假设。也正是因为这种参数性质,回归分析本质上是具有限制性的。对于那些不满足回归分析基本假设条件的数据,它无法产生良好的结果。因此,验证假设是否满足对于一次成功的回归分析至关重要。

那么你该如何验证一个数据集是否满足回归分析的基本假设呢?你可以使用回归图以及统计检验来验证,接下来将解释。

接下来看回归分析中的重要假设:
在这里插入图片描述

在依赖变量(响应变量,即Y)与独立变量(预测器X)之间应该存在线性和叠加关系。线性关系表明,无论 X¹取何值, 由X¹发生一个单元的变化引起Y值的变化是固定的。叠加关系表明 X¹对Y的影响与其他变量无关,即X¹对Y影响是独立的。

残差(误差)项之间没有相关性。否则,为自相关

独立变量不应该相关。否则,为多重共线性

残差项的方差恒定,即同方差性。否则,为异方差性

残差项必须服从正态分布

3. 违反了基本假设怎么办

接下来深入了解回归分析的每一种基本假设,以及学习如何分析其结果。

1)线性与叠加

如果将线性模型拟合到非线性、非叠加的数据集上,回归算法将无法从数学上捕获数据集中的趋势,从而导致模型无效。在未知的数据集上进行预测,也将导致预测错误。

校验方法:检查拟合值图中的残差,此外,你还可以在回归模型中加入 (X, X², X³) 多项式项以捕捉其中的非线性影响。

2)自回归

残差项中存在相关性大大地降低了模型的准确率。这通常发生在时间序列模型中,其中下一个值取决于之前的值。如果残差项是相关的,则估计的标准差倾向于低估真实的标准差。

如果发生这种情况,则会导致置信区间和预测区间变窄。较窄的置信区间表明,95%的置信区间里包含系数实际值的概率小于95%。可以通过一个例子来理解预测区间狭窄化。

例如,X¹的最小二乘系数是15.02,其标准误差是2.08(没有自相关)。 但是在存在自相关的情况下,标准误差降低到1.20。 结果,预测间隔从(12.94,17.10)缩小到(13.82,16.22)。

此外,较低的标准误差会导致相关的p值低于实际值。 这将使我们错误地认定参数具有统计意义。

检验方法:检查Durbin - Watson(DW)统计数据。 它必须介于0和4之间。如果DW = 2,则表示没有自相关,0 <DW <2表示正自相关,而2 <DW <4表示负自相关。 此外,还可以查看残差与时间关系图,并查看残差值中的季节性或相关模式。

3)多重共线性

当发现独立变量适度或高度相关时,就出现了多重共线性。在一个具有相关变量的模型里,要找出预测变量与响应变量之间的真实关系就很困难。换句话说,要找出哪个变量真实有助于响应变量的预测变得很困难。

另外一点,出现了相关变量后,标准误差通常会变大。并且,对于大的标准误差,置信区间会变得更宽,导致对斜率参数的估计更不准确。

此外,当预测变量相关时,相关变量的估计回归系数取决于模型中的其他预测变量。如果发生这种情况,你最终会得到一个错误的结论,即变量较强/弱影响目标变量。

因此,即使你从模型中删除一个相关变量,其估计的回归系数也会发生变化,这很不好。

检验方法:你可以使用散点图来显示变量间的相关效果。此外,你还可以用VIF因子。VIF的值<=4表明预测变量间没有多重共线性,而VIF的值>=10表明预测变量之间具有严重的多重共线性。最重要的是,一个相关系数表可以检查多重共线性。

4)异方差性

误差项中出现了非常量方差即为异方差。通常来说,存在异常值或极端杠杆值会导致非常量方差。看起来这些值太重了,才导致对模型性能不同比例对影响。当发生这种情况时,对样本外数据的预测,其置信区间通常会偏宽或偏窄。

检验方法:你可以检查残差与拟合值图。如果存在异方差,该图将呈现漏斗状(如下一节内容所示)。同时,你可以通过BreuschPagan/Cook-Weisberg检验或White检验来检测这种现象。

5)残差项的正态分布

如果误差项不服从正态分布,置信区间就会出现过宽或过窄的现象。一旦置信区间变得不稳定,它将导致难以根据最小二乘法来估计系数。出现了非正态分布表明数据中有一些异常值,需要仔细研究这些异常值才能构建一个更好的模型。

检验方法:你可以检查QQ图,也可以执行正态统计检验,如Kolmogorov-Smirnov test,Shapiro-Wilk。

4. 回归图的解释

至此,我们已经学习了回归模型的重要假设,以及当这些假设条件被违反后如果进行检查。

但这还没结束。现在,你已经知道了如何识别并解决回归假设被违反但情况。在这一章节中,会解释4种回归图以及克服回归限制的方法。

1)残差、拟合值图

在这里插入图片描述

这个散点图展示了残差与拟合值的分布情况。这是一个最重要的图,每个人都必须掌握。它揭示了不同的有用的视角包括了异常值,并且图中的异常值会被标记他们的观测值以易于监测。

有两个重要的点需要牢记:

  • 如果图中有任何模式,比如可能出现抛物线形状,需要考虑数据中的非线性迹象。这表明模型无法捕捉到非线性效应。

  • 如果图中呈现漏斗形状,则是非常量方差的迹象,即异方差性。

解决方案:

为了克服非线性问题,你可以做一个非线性变换例如log(x),√X 或X²变换。为了克服异方差性,一种可行的办法是变换响应变量,例如log(Y)或√Y。此外,你还可以采用加权最小二乘法解决异方差性问题。

2)正态QQ图

在这里插入图片描述

Q-Q图又或是分位数—分位数图,本质是一个散点图,可以用帮助我们检验数据集的正态分布假设。通过这幅图我们可以推断出数据集是否服从正态分布。如果服从正态分布,则Q-Q图呈现出一条直线。若直线出现偏差时,误差不服从正态分布。

如果你想知道什么是’分位数’,这里有一个简单的定义:将分位数视为数据中的点,在这些点下面会有一定比例的数据下降。 分位数通常被称为百分位数。 例如:当我们说第50百分位数的值是120时,这意味着一半的数据低于120。

解决方案:

如果误差不是正态分布的,那么变量(响应或预测变量)的非线性变换可以改善模型。

3)比例位置图

在这里插入图片描述

该图还用于检测同方差性(假设方差相等)。 它显示了残差如何沿着预测变量的范围传播。 除了使用标准化残差值之外,它类似于残差与拟合值图。 理想情况下,情节中应该没有可辨别的模式,这意味着误差通常是正态分布的。 但是,如果图上显示任何可辨别的模式(可能是漏斗形状),则意味着误差是服从非正态分布的。

解决方案:

参见第一幅图中异方差性的解决对策。

4)残差VS杠杆图

在这里插入图片描述

残差杠杆图也被称为库克的距离图。 库克的距离试图识别比其他点更具影响力的点。 这些影响点往往会对回归线产生相当大的影响。 换句话说,从模型中添加或删除此类点可以完全更改模型统计信息。

但是,这些有影响力的观察能否被视为异常值? 只有在查看数据后才能回答这个问题。 因此,在该图中,由库克距离标记的大值可能需要进一步调查。

解决方案:

对于有影响力的观察,只有异常值,如果不是很多,您可以删除这些行。 或者可以使用数据中的最大值缩小异常值观察值,或者将这些值视为缺失值。

本文的动机是帮助您获得回归假设和图表的基础知识和见解。 这样,您可以更好地控制分析,并能够根据您的要求修改分析。

微信公众号:“数据分析师手记”,扫描二维码进行关注
在这里插入图片描述

                                </div>
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 MATLAB 中,您可以使用回归分析来绘制多组散点图。下面是一个简单的步骤示例: 1. 首先,准备您的数据。假设您有多组数据,每组数据包含自变量和因变量。您可以将数据存储在多个向量或矩阵中。 2. 使用 scatter 函数绘制散点图。对于每一组数据,使用 scatter 函数分别绘制自变量和因变量之间的关系。例如,假设你有两组数据X1和Y1,X2和Y2,可以使用以下代码绘制两组散点图: ```matlab scatter(X1, Y1, 'o', 'filled', 'DisplayName', 'Group 1'); hold on; scatter(X2, Y2, 'x', 'DisplayName', 'Group 2'); xlabel('X'); ylabel('Y'); legend('show'); ``` 这段代码使用 'o' 和 'x' 分别表示两组数据的散点形状,并使用 'filled' 参数来填充第一组散点。'DisplayName' 参数用于给每个组添加图例标签。 3. 可选地,您可以添加回归线到散点图上。使用 polyfit 函数进行线性回归拟合,并使用 polyval 函数计算回归线上的预测值。然后,使用 plot 函数绘制回归线。以下是一个示例代码: ```matlab % 线性回归拟合 coeffs1 = polyfit(X1, Y1, 1); Y1_predict = polyval(coeffs1, X1); coeffs2 = polyfit(X2, Y2, 1); Y2_predict = polyval(coeffs2, X2); % 绘制回归线 plot(X1, Y1_predict, 'r-', 'LineWidth', 1.5, 'DisplayName', 'Group 1 Regression'); plot(X2, Y2_predict, 'b-', 'LineWidth', 1.5, 'DisplayName', 'Group 2 Regression'); ``` 这段代码使用 polyfit 函数拟合每组数据的线性回归模型,并使用 polyval 函数计算回归线上的预测值。然后,使用 plot 函数绘制回归线。 4. 最后,您可以使用其他 MATLAB 绘图函数和选项来自定义散点图的外观和布局。例如,您可以添加标题、网格线、坐标轴标签等。 这是一个简单的示例,您可以根据您的数据和需求进行调整和扩展。希望对您有帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值