查看原文
其他

SPSS实例教程:自变量多重共线性怎么办?

2017-07-13 龚志忠 医咖会

在前期推送的有关多重线性回归的内容中,我们讨论了当自变量之间存在多重共线性时,可以采用变量剔除和逐步回归的方法,对自变量进行一定的筛选,从而避免在模型拟合时出现多重共线性的问题。


但不管是变量剔除还是逐步回归,往往有时候会出现我们所研究的重点因素被剔除了模型,或者该因素估计的偏回归系数与实际明显相反的情况,此时所得出的结论可靠度也较差。当我们希望能够建立因变量与某个给定自变量的回归模型,但在模型中又出现自变量多重共线性时,应该如何进行处理呢?


今天我们继续讨论处理多重共线性的一种常用方法--岭回归

一、岭回归

岭回归(Ridge Regression)在1962年首次提出,是采用改进的普通最小二乘法,用于处理自变量多重共线性问题的一种有偏估计回归方法。岭回归放弃了普通最小二乘法的无偏估计,损失了部分信息,因此岭回归方程的R2通常会稍低于普通最小二乘法回归,但其估计的偏回归系数往往更接近真实的情况,从而提高了回归模型的稳定性和可靠性,对于病态数据的修复和拟合,具有较好的效果。

二、岭参数K值

岭回归的原理较为复杂,简单来说就是通过在正规方程中引入一个有偏常数,通常称为岭参数(K值),从而求得回归估计量。当K=0时即为最小二乘法估计,由于岭回归为有偏估计,K的取值应尽可能小,才能确保更接近于最小二乘法的无偏估计,因此岭回归分析的一个重要问题就是确定岭参数K的最适宜取值。

三、岭迹分析确定K值

当岭参数K值发生变化时,我们可以将各个自变量的岭迹曲线描绘出来,即对每个自变量绘制出随K值变化而引起岭回归估计值变化的曲线,称作为岭迹图,如图1所示。通过岭迹图分析,根据曲线的变化形状来确定适宜的K值。


一般要求当各个自变量的回归系数的岭轨迹基本趋于稳定,用最小二乘法估计时符号不合理的回归系数,其岭估计的符号变得合理,残差平方和增长不太多时,此时对应的K值就是要寻找的最适宜的K值。此外也可以应用方差膨胀因子法,选择的K值使得岭回归估计的所有自变量VIF<10。

 图1. 岭迹图

四、岭回归变量选择

在岭回归中,对自变量的选择可以遵循以下几个参考原则:


1. 在岭回归的计算中,由于其回归系数是已经经过标准化了,可以直接比较不同自变量标准化回归系数的大小,因此可以剔除标准化回归系数比较稳定,且绝对值很小的自变量,因为这些自变量对因变量的影响较小。


2. 通过岭迹图分析,当K值较小时标准化回归系数并不小,随着K值的增加,标准化回归系数很不稳定,迅速趋近于0,对于此类自变量可以考虑予以剔除。


3. 根据上述两个原则,在剔除部分变量后,需要再次进行岭回归分析,根据剔除变量后的拟合效果再做相应的调整。

五、岭回归SPSS操作

以上是对岭回归基本知识的一个简单介绍,大家最关心的还是如何通过SPSS软件来实现岭回归分析。很遗憾,SPSS并没有直接提供进行岭回归分析的对话框界面,不过没关系,其实SPSS已经为我们提供了一套名为Ridge Regression.sps的程序,隐藏在安装目录中,可以直接进行简单的调用就能实现岭回归的分析,下面就来介绍一下如何利用SPSS实现岭回归分析。


1. 研究问题


某研究人员测量了97名受试者的某项生理指标(Y),并收集了他们的性别(Gender)、总胆固醇(CHO)、低密度脂蛋白胆固醇(LDL)、甘油三酯(TG)、C反应蛋白(CRP)等资料,拟探讨这些因素对指标Y的影响。


2. 共线性诊断


针对该研究问题,判断是一个较为典型的回归分析,因此我们首先构建标准的多重线性回归模型,并进行自变量的共线性诊断(具体操作过程请参照前期推送的多重线性回归的内容)。


结果显示,CHO与LDL的相关系数为0.862(P<0.001),呈现高度相关性,同时CHO和LDL的Tolerance均<0.2,VIF值均>5,提示这两个变量之间存在多重共线性。同时,结合专业知识,CHO和LDL对指标Y的影响应为负向影响,但是回归模型估计的偏回归系数却显示,LDL为负向影响,CHO为正向影响,与实际情况矛盾,也提示两者存在多重共线性的问题,因此考虑使用岭回归的方法来进行处理。


普通最小二乘法得到的回归方程如下:

Y=1.705*Gender + 1.393*CHO - 1.433*LDL + 0.938*TG + 0.613* CRP + 22.633

 



3. 岭回归分析


我们在介绍如何利用构建的多重线性回归模型进行预测的内容中,已经提到了使用SPSS的语法模块,今天在介绍岭回归分析时同样也需要调用语法模块。


(1) 选择File → New → Syntax新建一个语法界面,岭回归的语法结构为:


INCLUDE 'SPSS安装目录\Samples\Simplified Chinese\ Ridge regression.sps'.

RIDGEREG ENTER= 自变量列表

/DEP= 因变量

/START= K起始值,默认为0

/STOP= K终止值,默认为1

/INC= K变化步长,默认为0.05

/K= 适宜K值


其中,INCLUDE命令为读入SPSS安装目录下Ridge regression.sps程序,行末最后的“.”不能遗漏。Ridgereg命令为调用该程序,ENTERDEP后面设置对应的自变量和因变量,最后四行命令可以直接采用默认值,或者根据情况自行设定。


结合本例研究,设定语法如下,并点击Run → All运行即可。 



(2) 岭迹图显示,CHO和LDL的岭回归系数很不稳定,随着K值的增大很快趋近于0,由于两者存在多重共线性,两者只要保留一个即可。而其他变量的岭回归系数随K值的增加而变化不大,相对稳定予以保留。根据前面介绍的岭回归自变量的选取选择,并结合专业知识判断CHO、LDL与因变量Y的关系,因此决定剔除CHO,然后再次进行岭回归分析。



(3) 再次进行岭回归分析的语法如下。结果输出了不同K值时的决定系数(本例数据为模拟数据,故决定系数较小,请自行忽略数值意义),及各个自变量系数的变化情况(图示仅列出了前11行)。岭迹图显示,当K达到约1.5左右时,各个自变量的岭迹图都开始变得平稳,因此设定适宜K值为1.5。





注意:通过岭迹图来确定适宜的K值带有较强的主观性,SPSS目前无法给出最适宜的K值结果,可参考上述K值选取原则来进行确定。本例中以K=1.5作为例子,目的是为了讲解岭回归的操作过程。另外,R软件可以输出三种方法计算的适宜K值,有兴趣的同学可以留言进行咨询。)


(4) 设定K=1.5,带入到语法中再次进行模型拟合,语法如下图所示。结果显示,对于整体模型检验的P=0.044,模型具有统计学显著性。同时结果中也输出了各个自变量的回归系数。




岭回归法得到的回归方程如下:

Y=0.3580*Gender - 0.0173*LDL + 0.1940*TG + 0.0591*CRP + 25.5063


(5) 比较岭回归法和普通最小二乘法构建的回归模型的预测效果


根据两种方法构建的回归方程分别计算预测的Y值,岭回归法记为Y1,最小二乘法记为Y2,分别与原始的Y值进行相关分析和差异性比较。



相关性分析结果显示,Y与Y1的相关系数为0.415(P<0.001),大于Y与Y2的相关系数0.389。提示岭回归模型预测的Y值与实际Y值的相关性更强。


差异性比较结果显示,Y的均值为26.59±3.07,Y1的均值为26.59±0.45,Y2的均值为28.85±4.24,Y与Y1之间差异无统计学显著性(P=0.999),Y与Y2之间差异有统计学显著性(P<0.001)。提示岭回归模型预测的Y值与实际Y值更为接近,预测效果更好。


相关阅读

1. SPSS实例教程:多重线性回归的操作步骤

2. SPSS实例教程多重线性回归的结果解读和报告

3. SPSS实例教程:自变量多重共线性怎么办--变量筛选

医咖会微信:medieco-ykh

关注医咖会,轻松学习统计学!


我们建了一个微信群,有临床研究设计或统计学方面的难题?快加小咖个人微信(xys2016ykf),拉你进群和其他小伙伴们一起交流学习;或者点击公众号下方自定义菜单的“统计咨询”,提出你遇到的统计难题。


点击左下角“阅读原文”,看看既往小伙伴们都提出了哪些问题,以及该如何去解决,也许正好能帮到你~

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存