岭回归

岭回归:岭回归分析是在构建多重线性回归模型时, 对基于“最小二乘原理”推导出的估计回归系数的计算公式作一下校正,使回归系数更稳定。

当自变量之间存在较强的多重共线性时,求得的多重线性回归模型很不稳定; 尤其是某些自变量回归系数的正负号与实际问题的专业背景不吻合时,岭回归分析可以很好地解决这一问题。

岭回归实施的一般步骤

(●)

岭回归分析通常要先对 X 变量作中心化和标准化处理, 以使不同自变量处于同样数量级上而便于比较。

(●●)

确定 k 值

① 岭迹图

岭迹法主要是通过将β(k) 的分量βi(k) 的岭迹画在同一幅图上, 从图中选择尽可能小的k值, 使得各回归系数的岭估计大体稳定, 即各分量在图上的岭迹曲线趋于平行于X轴。

选择k值的一般原则主要有:①各回归系数的岭估计基本稳定;②用最小二乘估计时符号不合理的回归系数, 其岭估计的符号将变得合理;③回归系数的大小要与实际相符, 即从专业上讲对因变量影响较大的自变量其系数的绝对值也较大;④均方误差增大不太多。

②方差膨胀因子法

方差膨胀因子cjj度量了多重共线性的严重程度, 一般当cjj>10时, 模型就有严重的多重共线性。

(●●●)

根据岭迹图进行变量筛选及重新确定k值

把岭迹应用于回归分析中自变量的选择,其基本原则为:

(1) 去掉岭回归系数比较稳定且绝对值比较小的自变量。这里岭回归系数可以直接比较大小,因为设计阵X 是假定已经中心标准化了的。

(2) 去掉岭回归系数不稳定但随着k 值的增加迅速趋于零的自变量。

(3) 去掉一个或若干个具有不稳定岭回归系数的自变量。如果不稳定的岭回归系数很多,究竟去掉几个, 去掉哪几个, 并无一般原则可遵循。这要结合已找出的复共线性关系以及去掉后重新进行岭回归分析的效果来决定。

(●●●●)

对模型进行表达及作出专业结论

在进行岭估计后, 应根据所估计的参数写出回归方程, 并结合专业知识判断方程中各自变量的系数及正负号是否符合实际情况。最后根据回归系数的大小来判断各自变量对因变量影响的大小及根据所求得的回归方程进行预测。

案例分析

以下为11名儿童的智力测试数据,试以IQ为因变量拟合多重线性回归模型。其中,变量常识(X1)、算数(X2)、理解(X3)、拼图(X4)、积木(X5)、译码(X6),IQ(Y)。

数据视图

数据类型:自变量(X1~X6),因变量Y 均为定量资料;根据研究目的,试采用多重线性回归模型来分析。

SPSS操作

(Ⅰ)先拟合多重线性回归模型

具体步骤 ☞☞☞☞【多重线性回归分析】

(Ⅱ)输出结果

为了说明问题,只列出系数表;

变量X1~X6 ,p-value 均 大于0.05,即纳入多重线性回归模型中无统计学意义;其次,共线性诊断中,VIF(variation inflation factor)均大于10,提示变量间存在多重共线性。

由于多重共线性的存在,使得多重线性回归模型不稳定,而岭回归分析可以很好地解决这个问题。

SPSS之岭回归

在SPSS中没有专门的菜单模块来做岭回归分析,但可以通过额外编写了 一个程序文件:ridge regression.sps, 用户可以编写一段代码来调用该程序做岭回归分析。

其中,

INCLUDE' 文件 Ridge regression.sps 所在路径 ' .

RIGDEREG ENTER =  自变量

/DEP= 因变量

/START= k值起始值

/STOP= k值终末值

/INC =  k值步长

【运行】单击 Run

ALL

运行结果:

岭回归:岭迹图,从图中大致看出k≧0.1 时,岭迹曲线趋于稳定 。

输出的变量X1~X6 不同K值情况下的回归系数

(在SPSS中,原始数据已标准化)

验证当k=0.1时的模型,

验证结果:

本结果拟合得不太理想,仅供参考~~~

因此可以写出岭回归方程式:y= ~~~~

SAS之岭回归

(Ⅰ)读取数据,

data test.multiple_reg;input x1 x2 x3 x4 x5 x6 y @@;cards;14 13 28 14 22 39 5410 14 15 14 34 35 3712 12 19 13 24 39 287 8 7 9 20 24 1913 12 24 12 26 38 3619 15 23 16 24 38 2819 16 26 21 38 69 539 10 14 9 31 46 4010 8 15 13 15 43 519 8 12 10 22 43 5512 10 20 14 12 28 42;run;

(Ⅱ)使用原始数据做回归分析

/**** 多重线性回归模型,自变量筛选方法为stpewise*****/proc reg data = test.multiple_reg ;stepwise : model y = x1-x6 / selection = stepwise vif collin ;run;quit ;/*****  岭回归 ridge regression   **********/proc reg data = test.multiple_reg outest = out_2 outvif ;model y = x1-x6 / ridge = 0.0 to 1 by 0.01 ;plot / ridgeplot ;run;quit ;/***  打印输出结果******/proc print data = out_2 ;run;

(Ⅲ)原始数据标准化

/**** 数据标准化处理********/proc standard data = test.multiple_regm=0 s=1out =test.multiple_reg_standard ;run;

(Ⅳ)标准化后的数据 进行岭回归

/**  使用标准化后的数据 ***/proc reg data = test.multiple_reg_standardoutest = out_3 outvif ;model y = x1-x6  /  ridge = 0.0 to 1 by 0.01  ;plot / ridgeplot ;run;quit ;proc print data = out_3 ;run;

【输出结果】此结果为原始数据标准化后的结果

下图为岭迹图,大致发现,当k≧0.1 时,岭迹曲线趋于稳定 。

obs = 22,k=0.1,各回归系数的VIF 均小于2 ;

obs=23,给出了变量x1~x6的回归系数;

在SAS中, 岭迹图描绘的是原始系数估计值随岭参数 k 的变化轨迹,原始系数描绘岭迹图会存在1个问题: 回归方程中系数数量级别差异较大;因此,对原数据标准化处理可以很好地避免这一问题。

参考来源:

[1]胡良平,岭回归分析.科研方法专题

[2] 尹 康 , 常用统计软件关于岭回归计算原理的比较分析 . 统计研究

挑灯

夜写,只为

好看

matlab做岭回归分析,岭回归分析(SPSS+SAS)相关推荐

  1. 简单使用matlab做回归分析、拟合分析

    简单使用matlab做回归分析.拟合分析 前言 一元线非线性回归 例子 多元线性回归 例子 多元线非线性回归 前言 这里是简单做一元非线性,及多元线性. 一元:就是只有一个X.比如:y=x^2+x+1 ...

  2. spss回归分析_回归分析中的简单斜率检验:用SPSS或jamovi实现

    哈哈,不简单的"简单效应",How old are you? 之前的两篇文章,我们已经深入探讨了如何用SPSS做方差分析中的简单效应检验,并且最终得到结论:要用GLM语句,不需要再 ...

  3. 对有序变量进行回归分析,使用SPSS能够轻松做到

    作为一款专业的数据分析软件,SPSS问世以来就是各行各业数据分析的重要工具,无论是医学领域,还是做金融和市场分析,SPSS的分析功能都十分强大且实用. 下面就和大家分享一下如何使用SPSS对有序变量进 ...

  4. matlab做偏最小二乘回归(PLS带精度验证)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/lusongno1/article/de ...

  5. SPSS SAS 是什么?

    SPSS(Statistical Product and Service Solutions),"统计产品与服务解决方案"软件.最初软件全称为"社会科学统计软件包&quo ...

  6. 拉格朗日插值法matlab上机,拉格朗日插值法使用MATLAB做的例题

    <拉格朗日插值法使用MATLAB做的例题>由会员分享,可在线阅读,更多相关<拉格朗日插值法使用MATLAB做的例题(2页珍藏版)>请在人人文库网上搜索. 1.一物体廓线数据如下 ...

  7. matlab做聚类分析

    说明:如果是要用matlab做kmeans聚类分析,直接使用函数kmeans即可.使用方法:kmeans(输入矩阵,分类个数k). 转载一: MATLAB提供了两种方法进行聚类分析: 1.利用 clu ...

  8. imwrite函数 matlab_用matlab做一个脉动磁势分解的动画

    :::::在知乎上看到别人用matlab做动画就想学学,正好电机学讲到绕组磁势,那就做一个脉动磁势分解成两个旋转磁势来练练手,同时保存为了avi和gif clear all; outputVideo ...

  9. matlab动画_用matlab做一个脉动磁势分解的动画

    :::::在知乎上看到别人用matlab做动画就想学学,正好电机学讲到绕组磁势,那就做一个脉动磁势分解成两个旋转磁势来练练手,同时保存为了avi和gif clear all; outputVideo ...

最新文章

  1. WPF实现Windows资源管理器(附源码)
  2. Java环境变量之Path和classpath
  3. [学习笔记]我们追过的神奇异或(Trie树系列)
  4. 如何进行基于Anolis OS的企业级Java应用规模化实践?|龙蜥技术
  5. 专访OPPO Find X5产品经理:深耕自研芯片 以最高标准打造极致旗舰体验
  6. 一、TensorFlow的简介和安装和一些基本概念
  7. Python是Python的web框架
  8. 学计算机的一直对画画感兴趣,[电脑绘画兴趣小组教学总结]sai电脑绘画入门教学...
  9. Towards a new generation of artificial intelligence in China
  10. ORACLE RAC 11.2.0.4 一节点出现Suspending MMON slave action kewrmrfsa_ for 82800 seconds
  11. 关于线性回归分析的理解
  12. 备份与同步(二) 如何使用云存储来实现多设备的备份与同步
  13. 公告或通知的未读 设计(MySQL Redis)
  14. 设计模式 - 漫谈软件编程背后的系统化思维
  15. Android 编译系统之Android.bp
  16. c语言程序设计江义火答案,大学就是一个群英会集的(),天下各处各地的学子到这里来,以寻求天下各种各样的知识。...
  17. Modbus通信协议指令学习记录
  18. canvas绘制时钟刻度表
  19. Eudemon 300   Eudemon 300
  20. 内置MOS DC-DC 升压IC

热门文章

  1. opencv人头检测
  2. GCC 命令行详解 -L 指定库的路径 -l 指定需连接的库名
  3. 手机cpu厂商和手机cpu架构
  4. 最新版某音X-Gorgon算法和设备注册算法研究思路
  5. 搞水产的人都笑了,智慧水产养殖水质监测解决方案
  6. Windows 7安装Telnet服务
  7. solve error pydoop.LocalModeNotSupported: ERROR: Hadoop is configured to run in local mode
  8. pycharm项目名称字体变成红色
  9. WebGL扭曲时空动画js特效
  10. windows文件夹锁