登录
首页精彩阅读【连载5】如何用spss做加权最小二乘回归及岭回归
【连载5】如何用spss做加权最小二乘回归及岭回归
2014-11-28
收藏

【连载5】如何用spss做加权最小二乘回归及岭回归

上一节我们讲到一般多元线性回归的操作方法。本节要介绍的是多元线性回归的其他几种情况。包括适用于含有加权变量的加权最小二乘回归方程等。然后继续讨论上一节中没有讨论完毕的如何解决多重共线性这个问题。

讲加权最小二乘回归之前,我们首先还是举个例子。假设我们想考察全国三十一个省的某种疾病的发病率和每个省的面积,平均气温等的关系,那么我们知道,这三十一个省的人口肯定是不同的。而且差距还蛮大。并且最重要的,我们知道,发病率的高低很可能和人口的多少有关系(考虑传染性,人口密度什么的),那么这个时候我们直接用最小二乘回归就不是那么合适了,我们更好的选择是加权最小二乘回归法。也就是说,当样本和某一个权数存在某种关系的时候,我们就用加权最小二乘回归。

在上一节中我们提到过在线性回归主面板最下边有一个WLS权重框框。在加权最小二乘回归方法里边,我们就要用到这个框框了。我们在设置变量的时候除了自变量和因变量,还要设置一个权数变量(在上述的医学例子里,这个变量可以是每个省的人口。在其他一些金融案例里边,比方研究高价股票和低价股票的波动时,由于这两种股票在其他因素相同时的波动幅度不同,因此需要设一个权数,这个权数可能就是自己设定的了。)然后我们把这个权数变量选入到WLS权重框里边。其他过程和一般线性回归一致。

解释结果的时候也和一般线性回归类似,只是有一个小小的地方需要大家注意一下。我们知道,模型汇总表里边的决定系数是一个比较重要的参考数据。它会告诉你你的方程能解释你的模型的百分之多少,从而从侧面考察了你的方程的合理性。但是不幸的是,这个决定系数在加权线性回归里边出现了比较严重的偏差。这个和决定系数的计算方法有关系。因此假如我们用同样的数据做一遍加权的回归,和一遍不加权的回归,往往会发现不加权的方程决定系数大于加权的。但是这个并不能代表不加权的方程就一定比加权后的准确。实际上加权以后的模型和不加权的模型到底孰优孰劣,好的那个方程又能好多少,这些问题spss都不能给出直接的数据。因此在使用加权最小二乘回归的时候应当格外谨慎。

此外,由于有时候权重并不特别明确,(比如上边那个金融的案例),这时候可以使用分析——回归——权重估计这个选项。这个选项的主面板和回归分析主面板类似,自变量,因变量,权重。变量选择的方法和上边的加权回归也类似。这个方法也需要你事先给出一个大概的权重变量,然后系统会做一定的调整来使方程达到最佳效果。结果解释等也类似,就不赘述了。

除了加权回归以外,还有一个比较特别的线性回归是曲线参数估计。

如果你的线性模型拟合的不是那么理想,那么你的模型很可能就是曲线型的(尤其是你有两个变量的时候,线性模型有时候会非常糟糕)。需要打开分析——回归——曲线估计,选择你的因变量,自变量。此外下边还有十一种模型供你选择。选好以后,结果会给出每种模型的决定系数,F值,P值,你可以从这些数据中判断哪个方程最适合你的模型。

当然,这个不会给出你非常详细的数据。如果你还想要看更详细的数据,比如方程中每个参数的P值什么的,你最好还是用线性回归做一下。啊,当然,当然,你的数据肯定是没办法直接做线性回归的,不然也就不用做曲线估计了。你需要首先转换你的数据。举个例子:Y=X1^2*a1+X2^2*a2……,假设你的模型做出来符合这种形式。那你首先要在数据——计算新变量里边,计算出新变量x1的方,x2的方,然后在做这两个新变量和因变量的一般线性回归。当然,如果你想要在方程的自变量里在加一个x1和x2的积,你也可以这么加上去。

那么除了logistic回归以外,线性回归的内容基本就完毕了。下边我们继续讨论一个问题:如何消除自变量间的共线性?

上一节里边提到,如果VIF(方差因子膨胀率)合格,而DW不合格的话,我们可以使用广义差分法来改善DW,得到好的模型。那这一节,我们就来讨论一下VIF不合格的情况。我们已经知道,如果VIF不合格的话,说明自变量存在严重的共线性。在回归的范畴里边,通常有三种方法可以解决这个问题。他们分别是偏最小平方回归,岭回归,路径分析。

偏最小平方回归对于初学者来讲,是一个并不常用的回归方法。如果想用这个分析的话,需要额外下载相关模块。下好相关模块以后,打开分析——回归——部分最小回归,(如果没有下载相关模块的话,他会提示你下载),打开主面板,这是一个相当简单的面板,选好自变量,因变量之后,点确定就可以。结果会呈现四个表,也并不难判断。就不赘述了。

岭回归可以下载相关模块,也可以自己编程来实现。大部分人都会选择后一种方法。这个主要是因为代码很简洁,很容易编写。代码如下:

INCLUDE’d:\spss20.0\Ridge Regression.sps’.

Ridgereg enter=X1 X2 X3

/dep=y

诺,就这么三行。第一行单引号里边填写你的spss安装目录。比如我的按在d盘下面,所以我就填d:\spss20.0,如果你的按在c盘,那就填C盘呗。然后目录后边那个ridge regression,是最小二乘平方的宏的调用。然后第二行X1,X2,X3的位置填写你的自变量的名字。有几个就填几个。中间用空格隔开。第三行y的位置填你的因变量。运行的时候,打开文件——新建——语法,进入语法编辑器窗口,输入上边的代码,然后点运行——全部就可以了。结果会有一个系数表,这个表的第一列是K值,第二列是决定系数,第三列往后是你的自变量。其中k值会从0开始增大,同时决定系数也会慢慢变小,最终趋于稳定。(岭回归舍弃了一定的信息,从而改善了多重共线性)要从这张表里边选取合适的k值,使决定系数尽量大,同时尽量稳定。选好k值就可以参照系数写出方程了。此外在岭回归里边是不会输出常数的。这也是和一般回归方法的一个不同之处。

岭回归和偏最小平方回归比较而言,岭回归的优势在于容易操作。偏最小平方回归的优势在于可以用于例数很少的情况。如果例数很少,自变量又很多,甚至例数都少于自变量的数目,那么就一定要用偏最小平方回归了。额,通常在金融领域不会发生这种情况,但是在一些特殊的领域,医学啊什么的,则是有可能发生的。因此在某种程度上来讲,偏最小平方回归是给特殊需要的人使用的。

最后补充介绍一下路径分析。如果说前边两种方法都是从过程中实现的话,那么路径分析就是从专业角度来刻画方程了。举个例子,比如你想看看一朵鲜花的开放时间和阳光强度,空气湿度,空气温度,日照时间等等的关系,做出分析来一看,存在共线性。如果你是专业人员,那么很可能你就知道,由于空气温度受到阳光强度,和日照时间的影响,所以你的方程就存在了共线性。所以呢,你就能写出一个空气温度,阳光强度,日照时间之间的一个回归方程。然后你就能画出一个路径图,代表阳光强度的圈圈不仅直接影响了花朵开放时间,而且还影响了空气温度,从而间接影响了花朵开放时间,并且你还能写出彼此之间的影响系数。这就是路径分析的主要内容。

当然路径分析需要有专业知识的人来做。并且呢,通常需要经过许多尝试,才能正确的写出因变量和自变量之间的方程。而且,最重要的是,路径分析只能帮助我们搞清楚自变量之间到底存在怎么样的共线性,对于矫正方程没有什么作用。也就是说,方程的决定系数可能依然很糟糕。所以它更多的是用来做演示图或者什么的,对于改善多重共线性真的没什么用。

解决多重共线性的常见方法可以告一段落了。在非线性回归,分类回归之后我们介绍因子分析时将会旧话重提,再次讨论多重共线性的问题。CDA数据分析师培训

数据分析咨询请扫描二维码

客服在线
立即咨询