你的位置:首页 > 软件开发 > 数据库 > 多重共线性的解决方法之——岭回归与LASSO

多重共线性的解决方法之——岭回归与LASSO

发布时间:2015-12-12 12:00:10
   多元线性回归模型 的最小二乘估计结果为 如果存在较强的共线性,即 中各列向量之间存在较强的相关性,会导致的从而引起对角线上的 值很大并且不一样的样本也会导致参数估计值变化非常大。即参数估计量的方差也增大,对参数的估计会不准确。因此,是否可以删除 ...

多重共线性的解决方法之——岭回归与LASSO

 

 

 

多元线性回归模型

多重共线性的解决方法之——岭回归与LASSO

的最小二乘估计结果为

多重共线性的解决方法之——岭回归与LASSO

如果存在较强的共线性,即多重共线性的解决方法之——岭回归与LASSO 中各列向量之间存在较强的相关性,会导致多重共线性的解决方法之——岭回归与LASSO的从而引起多重共线性的解决方法之——岭回归与LASSO对角线上的 值很大

并且不一样的样本也会导致参数估计值多重共线性的解决方法之——岭回归与LASSO变化非常大。即参数估计量的方差也增大,对参数的估计会不准确。

因此,是否可以删除掉一些相关性较强的变量呢?如果p个变量之间具有较强的相关性,那么又应当删除哪几个是比较好的呢?

本文介绍两种方法能够判断如何对具有多重共线性的模型进行变量剔除。即岭回归和LASSO(注:LASSO是在岭回归的基础上发展的)

多重共线性的解决方法之——岭回归与LASSO

 

 

思想:

既然共线性会导致参数估计值变得非常大,那么给最小二乘的目标函数加上基础上加上一个对多重共线性的解决方法之——岭回归与LASSO 的惩罚函数

最小化新的目标函数的时候便也需要同时考虑到多重共线性的解决方法之——岭回归与LASSO 值的大小,多重共线性的解决方法之——岭回归与LASSO不能过大

在惩罚函数上加上系数k

随着k增大,共线性的影响将越来越小。在不断增大惩罚函数系数的过程中,画下估计参数多重共线性的解决方法之——岭回归与LASSO(k)的变化情况,即为岭迹。

通过岭迹的形状来判断我们是否要剔除掉该参数(例如:岭迹波动很大,说明该变量参数有共线性)。

步骤:

  1. 对数据做标准化,从而方便以后对多重共线性的解决方法之——岭回归与LASSO(k)的岭迹的比较,否则不同变量的参数大小没有比较性。
  2. 构建惩罚函数,对不同的k,画出岭迹图。
  3. 根据岭迹图,选择剔除掉哪些变量。

岭回归的目标函数

多重共线性的解决方法之——岭回归与LASSO

式中,t为多重共线性的解决方法之——岭回归与LASSO 的函数。多重共线性的解决方法之——岭回归与LASSO越大,t越小(这里多重共线性的解决方法之——岭回归与LASSO就是k)

多重共线性的解决方法之——岭回归与LASSO

如上图中,相切点便是岭回归得出来的解。是岭回归的几何意义。

可以看出,岭回归就是要控制多重共线性的解决方法之——岭回归与LASSO 的变化范围,弱化共线性对多重共线性的解决方法之——岭回归与LASSO大小的影响。

解得的岭回归的估计结果为:

多重共线性的解决方法之——岭回归与LASSO

岭回归的性质

多重共线性的解决方法之——岭回归与LASSO

    由岭回归的目标函数可以看出,惩罚函数的系数多重共线性的解决方法之——岭回归与LASSO (或者k)越大,目标函数中惩罚函数所占的重要性越高。

从而估计参数多重共线性的解决方法之——岭回归与LASSO 也就越小了。我们称系数多重共线性的解决方法之——岭回归与LASSO (或者k)为岭参数。因为岭参数不是唯一的,所以我们得到的岭回归估计多重共线性的解决方法之——岭回归与LASSO 实际是回归参数多重共线性的解决方法之——岭回归与LASSO 的一个估计族。例如下表中:

多重共线性的解决方法之——岭回归与LASSO

岭迹图

    将上表中回归估计参数与岭回归参数k之间的变化关系用一张图来表示,便是岭迹图

    多重共线性的解决方法之——岭回归与LASSO

    当不存在奇异性是,岭迹应该是稳定地逐渐趋于0

多重共线性的解决方法之——岭回归与LASSO

当存在奇异性时,由岭回归的参数估计结果可以看出来,刚开始k不够大时,奇异性并没有得到太大的改变,所以随着k的变化,回归的估计参数震动很大,当k足够大时,奇异性的影响逐渐减少,从而估计参数的值变的逐渐稳定。

岭参数选择的一般原则

  1. 各回归系数的岭估计基本稳定
  2. 不存在有明显不符合常理的回归参数,其岭估计的符号应当要变得合理
  3. 回归系数没有不合实际意义的绝对值
  4. 残差平方和增大不多

用岭回归选择变量

  1. 由于岭回归是已经变量标准化之后的回归,因此岭回归系数的大小是能够互相比较的,可以剔除掉标准化
  2. 随着k的增加,回归系数不稳定,震动趋于零的变量也可以剔除

那么,问题来了,趋于0到底是怎样才能看出来呢?能不能程序自动判断呢?如果有好几个回归系数不稳定的,又应该去掉哪个呢?这就需要根据去掉某个变量之后的回归效果来定。这就涉及到扩展的岭回归方法LASSO了。

在此之前,先用R语言运行一个岭回归的例子

R语言中岭回归的包是MASS, 运行岭回归的函数是lm.ridge

1.载入MASS包,使用R内置的longley数据集(宏观经济数据)做为例子。(注:宏观经济数据一般而言都会存在比较严重的共线性问题(

多重共线性的解决方法之——岭回归与LASSO

多重共线性的解决方法之——岭回归与LASSO

  1. 使用传统OLS方法进行回归的结果

    原标题:多重共线性的解决方法之——岭回归与LASSO

    关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录