岭回归,Lasso和LAR学习(一)
来源:互联网 发布:零基础学java看什么书 编辑:程序博客网 时间:2024/05/01 11:33
概要:我们要区分岭回归和lasso以及LAR的关系,岭回归是用于消除多重共线性问题,也可以用于删除无效变量(贡献率低或打酱油变量,后面会提及)。Lasso是岭回归的改进算法,对删除无效变量有帮助,而LAR是求Lasso解的一种有效算法。
先进入多远线性回归问题,先观察以下矩阵:
这里y是因变量,β1~βp是所有X的系数,β0是常数,ε1~εn是误差。因此,多远线性回归可以表示成:
用矩阵乘法表示,更加简洁。那么问题来了,Y是结果,即因变量,而X是影响因素,即自变量,在实际分析中,Y和X是已知的。我们要求的就是β,即X的系数。这里根据数学推导,可以求的β的表达式为:
这个式子是用最小二乘法对β的估计结果,补充说明的是,该式可以化简为:
其中,叫做矩阵的广义逆。那么问题就继续分析求X的逆的问题,但在实际问题中,我们会面临两个重要问题,一是X是否是奇异矩阵,二是X中变量是不是都做出贡献。
为体现我的写博客宗旨,这里解释一下奇异性和贡献的意思,1,奇异矩阵的充要条件就是X矩阵的行列式为0(|X|=0),我们知道如果一个矩阵中存在某几个个向量共线(就是两个向量成比例),那这个矩阵的行列式就一定是0,即该矩阵叫做奇异矩阵。2,变量有没有贡献就是指某个X指标对结果Y有没有影响,比如Y是某学生的考试平均分,X中有x1(语文成绩),x2(数学成绩),x3(吃饭速度)……这里x3这个分量就是打酱油的数据,对Y的最终贡献率为0,那我们就要把x3这个分量剔除。
因此,直接用最小二乘法会遇到求不出解的情况,于是我们的问题就转而变成研究:1,消除共线性(去除奇异性);2,剔除无效分量x。在实际问题中,若某两个X分量的比值很大(数/很小的数),我们就认为这两个分量线性相关,而剔除无效分量的方法在后面会讲到。
岭回归(Ridge Regression,RR)
1962年由Heer首先提出,1970年后他与肯纳德合作进一步发展了该方法。RR要先对数据做标准化,为了记号方便,标准化后癿学习集仍然用X表示
其实岭回归说白了就是增加原矩阵的稳定性。公式如下:
,其中k称为岭参数。
岭回归的几个明显性质:
当自变量间存在共线性时,|X′X|≈0,我们设想给X′X加上一个正常数矩阵kI,(k>0),那么X′X+kI接近奇异癿程度就会比X′X接近奇异癿程度小得多。
岭回归做为β癿估计应比最小二乘估计稳定,当k=0时癿岭回归估计就是普通癿最小二乘估计。
(1)各回归系数的岭估计基本稳定;
(2)用最小二乘估计时符号不合理的回归系数,其岭估计的符号变得合理;
(3)回归系数没有不合乎实际意义的绝对值;
(4)残差平方和增大不太多。
(1)在岭回归中设计矩阵X已经中心化和标准化了,这样可以直接比较标准化岭回归系数的大小。可以剔除掉标准化岭回归系数比较稳定且绝对值很小的自变量。
(2)随着k的增加,回归系数稳定,震动趋于零的自变量也可以剔除。
(3)如果依照上述去掉变量的原则,有若干个回归系数稳定,究竟去掉几个,去掉哪几个,这并无一般原则可循,这需根据去掉某个变量后重新进行岭回归分析的效果来确定。
在用岭回归进行变量选择时,因为从岭迹看到自变量x4,x7,x10,x11和x15有较稳定且绝对值比较小的岭回归系数,根据变量选择的第一条原则,这些自变量可以去掉。
又因为自变量x12和x13的岭回归系数很不稳定,且随着k增加很快趋于零,根据上面的第二条原则这些自变量也应该去掉。
再根据第三条原则去掉变量x3和x5。
这个问题最后剩的变量是x1,x2,x6,x8,x9,x14。
>library(MASS)//加载函数包
>longley//加载数据
2,构建模型并作岭迹图
>names(longley)[1] <- "y"
>lm.ridge(y~.,longley)//build the model
<span style="font-size:18px;">>plot(<span style="font-family: 微软雅黑;">lm.ridge(y~.,longley,lambda=seq(0,0.1,0.001))</span>)//graph</span>
>select(lm.ridge(y~.,longley,lambda=seq(0,0.1,0.001)))
根据岭迹图进行变量筛选,随意性太大
岭回归返回的模型(如果没有经过变量筛选)包含所有的变量
- 岭回归,Lasso和LAR学习(一)
- 岭回归、LASSO与LAR的几何意义
- 机器学习总结(一):线性回归、岭回归、Lasso回归
- 机器学习——岭回归和LASSO回归
- Spark Mllib 回归学习笔记一(java):线性回归(线性,lasso,岭),广义回归
- 机器学习:特征缩减技术(shrinkage): lasso和岭回归
- 机器学习实战【9】(岭回归和Lasso)
- 岭回归 & lasso 回归
- lasso 回归 & 岭回归
- 回归,岭回归。LASSO回归
- 机器学习读书笔记之11 - 岭回归 & LASSO回归
- 用R建立岭回归和lasso回归
- 岭回归和lasso回归的r语言代码
- 用R建立岭回归和lasso回归
- 岭回归和lasso回归的r语言代码
- 用R建立岭回归和lasso回归
- 4. Lasso回归和岭(Ridge)回归
- 岭回归与lasso
- windowsI/O模型之select模型
- 微信公众之智能硬件————序
- STL@map应用 hdu4941
- CSU 1658 IQ of XUEXX’s descendants 矩阵快速幂
- 求和(数学,等差数列)
- 岭回归,Lasso和LAR学习(一)
- LeetCode:Maximum Depth of Binary Tree
- View requires API level 14 (current min is 8): <Switch>
- date与char类型的转换
- select详解
- 判断是否是有效的IP地址
- Excel Sheet Column Title
- pImpl用法在Python的示例代码
- crontab命令详解