为什么R语言做岭回归与SPSS做岭回归求出回归系数的结果不一样

Python015

为什么R语言做岭回归与SPSS做岭回归求出回归系数的结果不一样,第1张

方法一:

1、做多自变量的线性回归,在统计量面板内选:共线性诊断(L);

2、如结果中的方差膨胀系数(VIF)>5,则可做岭回归分析;

3、新建语法编辑器,输入如下命令:

INCLUDE '安装目录\Ridge regression.sps'. RIDGEREG DEP=因变量名 /ENTER = 自变量名(用空格分开)/START=0 /STOP=1[或其它数值] /INC=0.05[或其它搜索步长]/K=999 .

4、选择运行全部,得到各自变量岭迹图和决定系数R2与K值的关系图,在图上作参考线,取一岭迹平稳并且R2值较大的平衡点的K值;

5、将语法编辑器中的K值改为所选K值,再运行全部,得到详细的最终模型参数。

方法二:

可以直接在spss里面做,spss18里面已经比较完善了。

步骤如下:回归——》最优尺度——》规则化(里面有岭回归)。

file——new——syntax,输入命令如下:

‘D:\spss\Samples\English\Ridge Regression.sps'.

RIDGEREG DEP=y/ENTER x1 x2 x3 x4

/inc=0.01.

include 'D:\spss\Samples\English\Ridge Regression.sps'.

RIDGEREG DEP=y/ENTER x1 x2 x3 x4

/k=0.10.

有不懂可以私信我

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

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值就可以参照系数写出方程了。此外在岭回归里边是不会输出常数的。这也是和一般回归方法的一个不同之处。

从一篇文章里摘出来的一部分,希望帮到你了呦。