首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一文轻松读懂回归分析

一、理论部分

简单地说,一元线性回归和多元线性回归都属于简单线性回归范畴,最直接的差异在于一元线性回归的自变量只有一个,而多元线性回归的自变量存在多个。

尽管主要的解决思路一致,大家可以把一元线性回归看作多元线性回归的特例,但在解决多元的问题上,咱们还是有比较多的问题需要注意。

回到咱们的回归方程,针对于此问题,我们需要关注的重点有3个:

(1)参数估计

(2)假设检验与评价

(3)变量选择

为了便于讨论,我们把上式改写成向量形式:

其中我们的数据集D中一共有n个样本,每个样本均可以由m个属性进行描述:

数据集D表示成矩阵X,第一列置为1,表示回归方程中的常数项

问题1:参数估计

针对于该方程中的未知参数,我们同样可以利用最小二乘法进行估计,损失函数方程有:

问题2:假设检验与评价

(1)F检验

与一元回归分析不一样,我们现在存在多个自变量。为了衡量整体方程的有效性,我们需要研究整体变量X是否有对y产生影响,也即意味着,我们需要验证的命题是:

也即对应的原假设:

为了验证该命题,我们可以借助F检验。

F检验是根据平方和分解式,从回归模型效果的角度进行验证。

平方和分解式有:

其中各项定义有:

通过以上的平方和分解式,我们成功把因变量的波动情况(SST)成功分解为两部分:

(1)能够通过自变量x解释的部分(SSR);

(2)不能由自变量x解释的部分(SSE);

因此构造F统计量如下:

在正态假设的前提下,当原假设成立时,上述的F统计量将服从自由度为(m,n-m-1)的F分布,当F大于临界值时,我们可以拒绝原假设,即认为在显著水平a下,回归方程的整体自变量x与因变量y有显著的线性关系。

(2)t检验

正如在F检验中介绍的,通过原假设,F检验只能说明整体变量X与Y之间有关系,但是并不能说明某个自变量x是否与因变量y有关系,因此我们仍然需要t检验来判断每个自变量的显著性

由一元线性回归的t检验进行推广:假若我们需要检验某个变量xi是否显著(即对应的回归系数bi是否不为0),则可以生成原假设:

(3)偏F检验

事实上,即使是一元回归分析,我们也是可以使用F检验来判断回归方程的显著性,只是在一元回归分析中的t检验与F检验是完全等价的,而在多元回归分析中,则没有那么直接。

但是这是否意味着在多元回归分析中,t检验和F检验则是完全没有关系呢?答案显示是否定的。接下来,我们尝试从另一个视角,从总平方和分解的角度来考察自变量的显著性。

对于平方和分解公式,我们用回归平方和(SSR)反映自变量X对因变量Y的解释能力,那么假如我们要衡量某个特定的自变量x(j)的解释能力可以怎们做?

记对所有自变量得到回归平方和为SSR,剔除掉x(j)后,其他自变量得到回归方程的回归平方和为SSR(-j),显而易见地,变量x(j)对回归方程的贡献为:SSR(j)=SSR-SSR(-j),同样地,我们可以构造偏F统计量

(4)决定系数

让咱们再次回到平方和的分解公式:

如我们在F检验中所讨论的,在整个分解式中,回归平方和(SSR)反映的是能够通过自变量x解释的部分,因此非常直观地,我们可以认定回归平方和所占的比重越大,则残差平方和越小,就越能证明回归的效果越好。

因此,我们不妨就把回归平方(SSR)和与总平方和(SST)的比值定义为决定系数,一般记作R方。

但值得注意的是,R方虽然经常被用作与评估线性回归模型的拟合好坏,但是却也存在着明显的不足:例如自变量越多,R方总是不减(事实上,随着自变量数目的增加,R方一般都是会增加)的,而不管这个自变量本身是否真的有效。

证明:

正如上述所证明的,随着自变量个数的增加,决定系数也随之增大,当自变量足够多的情况下,决定系数将表现得足够的“好”。极端情况下,当需要估计参数的数量与样本数量一致时,决定系数将能够达到1.

实际上,这种“好”是通过增加模型复杂度(也意味着牺牲了了残差自由度)所得到的,而随着模型复杂度越高,我们模型过拟合的情况可能就越严重,泛化能力就越差。关于模型过拟合的问题,浩彬老撕会在后面单独写一篇文章详细介绍。

因此为了避免这种无用的假象,我们需要在决定系数公式当中引入惩罚项,对于这个增加惩罚项的决定系数,我们一般称之为调整决定系数:

从公式可以看到,调整的R^2可以是一个负数,它总是小于/等于R方。另外不同于原有的R方,它只有在引入真正有助于分析的变量时,它才会得到增加。

问题3:变量选择

正如我们所了解到的,并不是所有输入到模型的自变量x都能对因变量y产生显著作用,这就引出了咱们关于多元回归分析的第三个问题,怎么选择变量构建合适的方程。

一个显而易见的方法是,根据所有候选变量所形成的子集,求出所有可能的方程,再根据本文前面所提供的模型选择标准,例如调整r方,选择最优模型。

但该方法一个最大的问题是,对于存在m个变量的场景,我们需要构建(2^m)-1个方程组,显然,当自变量个数m十分大的时候,这是十分困难的。

因此人们为了能够更加简便快速的选择方程,提出了“前进法”,“后退法”以及“逐步回归法”

实际上,上述的各种方法的核心在于借助于检验标准,控制自变量的进出,而这里的标准,实际上就是咱们在前面介绍的偏F检验。

(1)前进法:

前进法是一个变量由少到多的过程,它根据变量准入标准,每一步引入一个当前最重要的自变量,直至引入所有合乎标准的变量为止。具体做法如下:

(2)后退法

后退法与前进法的思想相反,它是一个变量由多到少的过程,后退法首先利用全部m个自变量建立全模型回归方程,再利用检验标准逐个剔除最不重要的变量,具体做法如下:

(3)逐步回归法

前进法和后退法都存在一个明显的不足,那就是变量的引入后无法再剔除(前进法)/变量被剔除后(无法再被引入),即所谓的“终身制”

实际上,假定我们的的自变量间完全独立的话,上述前进法和后退法的“终身制”都是没有问题的,但在实际应用当中,我们的自变量往往存在着一定的相关关系,那么这就会带来问题了。

例如在前进法中,某个变量可能一开始是因为通过显著性检验而进入了方程,但在我们引入其他自变量后,这个变量可能就会显得不显著,但是这时候我们却没有办法将它重新剔除出模型了。

为了能够吸收前进法以及后退法的优点,因此提出了逐步回归法。逐步回归法的具体思想,实际上是在前进法的基础上,每当回归方程引入新的自变量后,都对方程中现有的变量重新检验,当发现有自变量不显著的情况下,则会将其重新剔除,具体做法如下:

二、实战部分

实战案例:

样例数据:房产价格分析.xlsx

链接: https://pan.baidu.com/s/1gfBKCmB

密码: t95b

该数据集是某地区1998年的房产销售价格信息,包括属性:ID,建造年代,占地面积,室内面积,户外面积,价格

模型流如下所示:

类型节点中:

(1)把ID设为记录表示,表示该属性只作为标识用而不参与建模;

(2)把建造年代,占地面积,室内面积,户外面积四个属性作为输入;

(3)把价格设为目标;

在下方建模选项板中,选中回归节点,并把回归节点添加到流。

在回归节点中,模型选项卡下,一共有四种方法:

(a)进入法:即把所有输入均作为自变量建立全模型;

(b)步进法:即逐步回归法;

(c)后退法

(d)前进法

在此处,我们选择步进法建立回归模型,确认后,运行模型;

运行模型后,点开模型块查看模型结果。

首先看到的是变量重要性,经过分析,模型认为占地面积是最重要的变量,室内面积次之,接下来就是建造年代和户外面积;

在模型块中的高级选项卡下,可以进一步查看模型结果。

首先查看F检验结果,首先看到一共经历了4步构建出最终模型,按顺序分别引入了占地面积,建筑年代,室内面积,以及户外面积;下方表格对应了每一步所建立回归方程的F检验结果,可以看到最终结果的F统计量为1204.721,对应P值

因此,我们认为回归方程整体显著,方程的自变量整体上对因变量销售价格有显著的线性影响

接下来查看系数检验的结果,从表中我们可以写出对应的回归方程式:

价格=-1747343.2+建造年代*901.8+占地面积*281.1+室内面积*206.1+户外面积*156.4

进一步地,我们也可以看到所有系数的t检验结果都是显著的。

最后查看拟合优度检验,可以看到R方值为0.81,调整R方值为0.809,说明我们所选择的自变量还是很能够解释因变量的影响。

文章授权转载自探数寻理

文字编辑:鸭血粉丝多多蒜

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180916B1IQ7V00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券