从理论到应用浅谈lasso模型.docx

上传人:b****3 文档编号:5520031 上传时间:2022-12-18 格式:DOCX 页数:12 大小:284.72KB
下载 相关 举报
从理论到应用浅谈lasso模型.docx_第1页
第1页 / 共12页
从理论到应用浅谈lasso模型.docx_第2页
第2页 / 共12页
从理论到应用浅谈lasso模型.docx_第3页
第3页 / 共12页
从理论到应用浅谈lasso模型.docx_第4页
第4页 / 共12页
从理论到应用浅谈lasso模型.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

从理论到应用浅谈lasso模型.docx

《从理论到应用浅谈lasso模型.docx》由会员分享,可在线阅读,更多相关《从理论到应用浅谈lasso模型.docx(12页珍藏版)》请在冰豆网上搜索。

从理论到应用浅谈lasso模型.docx

从理论到应用浅谈lasso模型

 

本科生学年论文

题目:

从理论到应用——浅谈lasso模型

指导教师:

学院:

姓名:

学号:

班级:

从理论到应用——浅谈lasso模型

【摘要】

回归模型是我们在处理数据中常用的方法。

其中,Lasso模型是一种适用于多重共线性问题,能够在参数估计的同时实现变量的选择的回归方法。

本文从lasso模型的概念谈起,对其起源、思想、及岭回归的比较、通过lar的算法实现等方面进行了探究。

另外还使用R语言对简单案例进行lasso模型的应用。

最后简述了lasso模型的研究现状。

【abstract】

Regressionmodelisourcommonlyusedmethodinprocessingdata.Lassomodelisakindofregressionmethodformultiplelinearproblems,whichcanbeusedtoachieveparameterestimationandvariableselectionatthesametime.Thispaperstartsfromtheconceptofthelassomodel,includingitsorigin,ideas,andthecomparisonofridgeregression,throughlaralgorithmimplementation,etc.Inaddition,usingRlanguagetosolveasimplecasethroughlasso.Atlast,theresearchstatusoflassomodelisintroduced.

【关键词】

Lasso岭回归最小角回归R语言

【keywords】

LassoridgeregressionlarRlanguage

 

 

一、定义及基本信息

Lasso模型是由RobertTibshirani在1996年JRSSB上的一篇文章Regressionshrinkageandselectionviathelasso所提出的一种能够实现指标集合精简的估计方法。

在参数估计的同时实现变量的选择(可以解决回归分析中的多重共线性问题)。

全称:

LeastAbsoluteShrinkageandSelectionOperator

读音:

[læ‵su:

]而不是[‵læso]

RobertTibshirani简介:

生于1956年7月10日,担任斯坦福大学theDepartmentsofStatisticsandHealthResearchandPolicy的教授。

1985-1998年担任多伦多大学的教授。

他主要研究方向是致力于开发处理复杂数据的分析统计工具。

Lasso模式是他最著名的贡献。

同时在著名的"GeneralizedAdditiveModels","AnIntroductiontotheBootstrap",and"TheElementsofStatisticalLearning"三本书中都有他的编著。

[1]

二、起源及原理

在常规的回归分析中,假设我们有一组(xi,yi),i=1,2,...,N,其中xi=(xi1,...,xip)T,yi是第i维观测值的回归量的数据。

普通最小二乘(OLS)通过最小化残差平方和来进行估计。

它对数据的分析不那么令人满意通常有两个原因。

一是预测精度:

OLS往往偏差较低但方差大;预测精度有时可以用缩小或设置一些系数为0的方法来提高。

通过这样做,我们牺牲一点偏差减少预测的方差值,因此可以提高整体预测准确性。

第二个原因是可解释性的问题。

在大量的预测值中,我们通常想确定一个展现出最强影响的更小的子集。

两个公认优秀的改善OLS估计的方法是子集选择(subsetselection)和岭回归(ridgeregression)它们都有缺点。

子集选择提供了可解释的模型但是可变性非常强,因为它是一个离散的过程——回归量要么保留要么从模型中去掉。

小的数据变化就会使得模型的选择改变,这会降低预测准确度。

岭回归是连续缩小参数的过程,因此更稳定:

然而它不会使得任何参数为0,没办法得出简单的可解释的模型。

lasso模型就此提出,Theleastabsoluteshrinkageandselectionoperator,同时缩小(shrinkage)和设置成参数为0(selection),保持了子集选择和岭回归的良好特征。

[2]

三、模型的思想

lasso是在回归系数的绝对值之和小于一个常数的约束条件下,使残差平方和最小化,从而能够产生某些严格等于0的回归系数,得到解释力较强的模型。

给出一组测量数据x1,x2...xp以及测量结果y,lasso符合线性模型

yhat=b0+b1×x1+b2×x2+...bp×xp

它所使用的标准是:

当∑|bj|<=s时,使得∑(y-yhat)2最小

最初的和是根据观察数据集得来的。

边界”s”是一个调谐参数。

当s很大时,约束起不到作用,解决方案只是常见的多元线性最小二乘回归的关于y,x1,x2,xp的函数。

然而当s变小时,解决方案就是缩小的版本最小二乘(leastsquares)估计。

通常一些系数bj为零。

选择s就像选择一个回归模型的预报器的数值,交叉验证(cross-validation)是估计s最佳值的一个好办法。

[3]

四、Lasso及岭回归

1、岭回归的概念

岭回归(ridgeregression)是一种专用于共线性数据分析的有偏估计回归方法,实质上是一种改良的最小二乘估计法,通过放弃最小二乘法的无偏性,以损失部分信息、降低精度为代价获得回归系数更为符合实际、更可靠的回归方法,对病态数据的拟合要强于最小二乘法。

 它的数学表达式如下:

即在回归系数的平方和小于一个常数的约束条件下,使残差平方和最小化。

2、Lasso及岭回归的比较

下面是lasso写成相同形式的表达式。

可以看出Lasso及岭回归的区别就是约束条件不一样,一个是回归系数绝对值之和小于一个常数,一个是平方和小于一个常数。

Lasso的约束条件是线性的,而ridge是L2-norm。

通过这幅图可以很明显的看出岭回归和lasso之间的差异。

图中是两个变量回归的情况,等高线图表示的是残差平方和的等高线。

残差在最小二乘估计处最小。

阴影部分分别是岭回归和lasso的限制区域。

显然圆形为岭回归,菱形为lasso的。

这两种带有惩罚项的方法都是要找到第一个落到限制区域上的等高线的那个位置的坐标(即岭估计和lasso估计)。

因为菱形带尖角,所以更有可能使得某个变量的系数为0(即所找到的第一个点是菱形四个顶点之一)。

当回归变量增多时,lasso的尖角也会变得更多,从而增大更多系数变0的可能性。

而光滑的高维球面的显然不可能有这样的概率。

这也就是说lasso可以用于变量选择。

这是lasso相较于ridge有优势的一点。

五、Lasso的算法步骤

Lasso的算法实现及lar(leastangleregression)有密不可分的关系。

1、lasso算法实现的背景

Tibshirani在《TheScienceofBradleyEfron》这本书的序言里写道,”Hesatdownandprettymuchsingle-handedlysolvedtheproblem.Alongtheway,hedevelopedanewalgorithm,’leastangleregression’,whichisinterestinginitsownright,andshedsgreatstatisticalinsightontheLasso.”大意是说:

Efron独自摆平了具有Shrinkage的GradientBoosting应用到线性回归中时及Lasso得到的SolutionPath相似这个问题,及此同时发明了“Leastangleregression(LAR)”。

Efron结论是Lasso和Boosting的确有很紧密的数学联系,它们都可以通过修改LAR得到。

现在,Lasso已经家喻户晓了,但是Lasso出生后的头两年却很少有人问津。

后来Tibshirani自己回忆时说,可能是由下面几个原因造成的:

1.速度问题:

当时计算机求解Lasso的速度太慢;2.理解问题:

大家对Lasso模型的性质理解不够(直到Efron的LAR出来后大家才搞明白);3.需求问题:

当时还没有遇到太多高维数据分析的问题,对Sparsity的需求似乎不足。

[4]

2、最小角回归

Efron[5]提出最小角回归(LARS)方法,这种方法既可以进行变量选择,可以用来解决Lasso问题,并且可以提高计算效率。

LARS算法的基本思想是:

首先选择一个及因变量相关性最大的协变量,然后沿这个方向走一定长度,知道出现第二个协变量,这两个协变量及残差的相关性相同,就沿着及这两个变量等角度的方向继续走,以此类推,选择出需要的协变量。

LARS算法既不像向前法那样贪婪,选择一个变量后,走尽量长的长度来计算残差,也不像分段法(Stagewise),每步只走很短的距离。

LARS方法具有很高的计算效率。

[6] 

3、用lar实现lasso

X的每一行代表一个样本,即:

首先对数据进行预处理,使其去均值标准化。

定义

为当前拟合向量

的系数,则有

跟残差

的相关系数

刚开始时,相关系数都为0,然后找出跟残差(此时即为y)相关系数最大的变量,假设是

,将其加入到活动集,这时我们在

的方向上找到一个最长的步长,使得出现下一个变量(假设是

)跟残差的相关系数跟

到残差的相关系数相等,,此时也把

活动集里,LARS继续在跟前面2个变量等角度的方向上,找到第3个变量

使得该变量跟前面2个跟残差的相关系数相等,随后LARS继续找寻下一个变量。

[7]

具体算法步骤如下:

——当前最小角度方向,即角平分线方向

——当前拟合的y值

——残差跟变量的相关系数

——当前的最长步长

(找p个最优回归量)

1)

2)

3)

4)

5)

6)

7)if

else

六、案例分析

现在在R语言中包含了运用lasso的包。

1、问题描述

我们考虑一个简单问题:

假设某种水泥在凝固时放出的热量Y(卡/克)及水泥中的四种活血成分X1,X2,X3,X4有关,现测得13组数据,如下表所示,希望从中选出主要的变量,建立Y及它们的线性回归方程。

[8]

序号

1

2

3

4

5

6

X1

7

1

11

11

7

11

X2

26

29

56

31

52

55

X3

6

15

8

8

6

9

X4

60

52

20

47

33

22

Y

78.5

74.3

104.3

87.6

95.9

109.2

 

序号

7

8

9

10

11

12

13

X1

3

1

2

21

1

11

10

X2

71

31

54

47

40

66

68

X3

17

22

18

4

23

9

8

X4

6

44

22

26

34

12

12

Y

102.7

72.5

93.1

115.9

83.8

113.3

109.4

 

2、简单线性回归求解

用R对数据做简单多元线性回归:

(输入代码以文字显示,控制台的响应以图片显示)

>cement<-data.frame(X1=c(7,1,11,11,7,11,3,1,2,21,1,11,10),

X2=c(26, 29,56,31,52,55,71,31,54,47,40,66,68),

X3=c(6,15,8,8,6, 9,17,22,18,4,23,9,8),

X4=c(60,52,20,47,33,22,6,44,22,26, 34,12,12),

Y=c(78.5,74.3,104.3,87.6,95.9,109.2,102.7,72.5,93.1, 115.9,83.8,113.3,109.4))

>cement

>lm.sol<-lm(Y~.,data=cement)

>summary(lm.sol)

可以看到虽然R2接近于1,拟合优度较理想,但是自变量的p值均大于0.05,回归系数没有通过显著性检验。

利用简单线性回归得到回归方程中的X及Y的关系不明显。

F检验的值也非常大,说明自变量的显著性较低,需要进行变量选择。

利用car包中的vif()函数查看各自变量间的共线情况

>library(car)

>vif(lm.sol)

从结果看,各自变量的VIF值都超过10,存在多重共线性,其中,X2及X4的VIF值均超过200。

>plot(X2~X4,col="red",data=cement)

图中可以明显看出X2及X4存在线性关系。

3、利用lasso求解

此时我们尝试用lars-lasso来求解这个方程。

>library(lars)

>x=as.matrix(cement[,1:

4])

>y=as.matrix(cement[,5])

>(laa=lars(x,y,type="lar"))

可以看到lasso的变量选择依次是X4,X1,X2,X3。

>plot(laa)

可以看出各变量的系数的变化过程。

>summary(laa)

其中Cp(衡量多重共线性,其值越小越好)

可以看到在第3步以后cp值明显变小。

说明lasso模型在实际应用中能够解决多重共线性的问题,有良好的应用。

七、应用及研究现状

我们在知网中对lasso进行中文数据库的搜索,结果见下图:

可以看到该模型在计算机、医学、经济等各个领域均有应用。

见微知著的可以下结论其运用十分广泛。

在应用和拓展方面的研究也十分丰富。

下表中列出了部分内容。

这些研究在数学层面考察了lasso产生最小预测误差模型的能力,并重新获得了真正的底层(稀疏)模型。

重要的贡献者包括Bickel,Buhlmann,Candes,Donoho,Johnstone,Meinshausen,vandeGeer,WainwrightandYu.也证明了lasso可以揭示更多的传统技术,给向前逐步选择方法带来了新的理解。

另一个例子是graphicallasso拟合的稀疏高斯图,将其应用于逆协方差矩阵,提供了一个强有利的图选择方法(确定哪些边缘)。

[9]

随着计算机处理速度的不断提高和当今社会对于大数据处理的要求的不断进步,对lasso的研究必当更加深入,在各个领域的拓展也是值得期待的。

八、参考资料

[1]Wikipedia.RobertTibshirani[DB/OL]..

[2]Tibshirani,R.RegressionShrinkageandSelectionViatheLasso[J].JournaloftheRoyalStaticalSociety.SeriesB.58,267-288.

[3]StanfordUniversity.AsimpleexplanationoftheLassoandLeastAngleRegression[DB/OL]..

[4]杨灿.统计学习那些事[DB/OL].

learning/#more-4532.

[5]EfronB,HastieT,JohnstoneIandTibshiraniR.Leastangleregression[J].Ann.Stat.,2004,32:

409-499.

[6]梁斌,陈敏,缪柏其,黄意球,陈钊.基于LARS-Lasso的指数跟踪及其在股指期货套利策略中的应用[J].数理统计及管理,2011,06:

1104-1113.

[7]月之十三.LASSO[DB/OL].46dfe.html,2011-04-07

[8]薛毅,陈立萍.统计建模及R软件[M].北京:

清华大学出版社,2007.279-280

[9]Robert,Tibshirani.RegressionShrinkageandSelectionViatheLasso:

aretrospective[J].RoyalStatisticalSociety,2011,(73):

273-282

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1