从理论到应用浅谈lasso模型.docx
《从理论到应用浅谈lasso模型.docx》由会员分享,可在线阅读,更多相关《从理论到应用浅谈lasso模型.docx(12页珍藏版)》请在冰豆网上搜索。
![从理论到应用浅谈lasso模型.docx](https://file1.bdocx.com/fileroot1/2023-1/10/9bc5ddb6-5a55-456e-96b9-d69e724211ae/9bc5ddb6-5a55-456e-96b9-d69e724211ae1.gif)
从理论到应用浅谈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
一、定义及基本信息-2-
二、起源及原理-2-
三、模型的思想-2-
四、Lasso及岭回归-3-
1、岭回归的概念-3-
2、Lasso及岭回归的比较-3-
五、Lasso的算法步骤-4-
1、lasso算法实现的背景-4-
2、最小角回归~5-
3、用lar实现lasso-5-
六、案例分析_6-
1、问题描述-6-
2、简单线性回归求解-7-
3、利用lasso求解-9-
七、应用及研究现状-10-
八、参考资料-11-
1.定义及基本信息
Lasso模型是由RobertTibshirani在1996年JRSSB上的一篇文章Regressionshrinkageandselectionviathelasso所提岀的一种能够实现指标集合精简的估计方法。
在参数估计的同时实现变量的选择(可以解决回归分析中的多重共线性问题)。
全称:
LeastAbsoluteShrinkageandSelectionOperator
读音:
険'su:
]而不是['Iseso]
RobertTibshirani简介:
生于1956年7月10B,担任斯坦福大学theDepartmentsofStatisticsandHealthResearchandPolicy的教授。
1985-1998年担任多伦多大学的教授。
他主要研究方向是致力于开发处理复杂数据的分析统讣工具。
Lasso模式是他最著名的贡献。
同时在著名的"GeneralizedAdditiveModels","AnIntroductiontotheBootstrap",and"TheElementsofStatisticalLearning''三本书中都有他的编著。
⑴
二、起源及原理
在常规的回归分析中,假设我们有一组(人,y.),i=1,2,...,N,其中xi=(xi1,...,xip)T,yi是第i维观测值的回归量的数据。
普通最小二乘(OLS)通过最小化残差平方和来进行估计。
它对数据的分析不那么令人满意通常有两个原因。
一是预测精度:
OLS往往偏差较低但方差大;预测精度有时可以用缩小或设垃一些系数为0的方法来提高。
通过这样做,我们牺牲一点偏差减少预测的方差值,因此可以提髙整体预测准确性。
第二个原因是可解释性的问题。
在大量的预测值中,我们通常想确左一个展现出最强影响的更小的子集。
两个公认优秀的改善OLS估计的方法是子集选择(subsetselection)和岭回归(ridgeregression)它们都有缺点。
子集选择提供了可解释的模型但是可变性非常强,因为它是一个离散的过程一一回归量要么保留要么从模型中去掉。
小的数据变化就会使得模型的选择改变,这会降低预测准确度。
岭回归是连续缩小参数的过程,因此更稳左:
然而它不会使得任何参数为0,没办法得岀简单的可解释的模型。
lasso模型就此提出,Theleastabsoluteshrinkageandselectionoperator,同时缩小(shrinkage)和设K成参数为0(selection),保持了子集选择和峻回归的良好特征。
⑵
三、模型的思想
lasso是在回归系数的绝对值之和小于一个常数的约束条件下,使残差平方和最小化,从而能够产生某些严格等于0的回归系数,得到解释力较强的模型。
给出一组测量数据xi,x2...xP以及测量结果y,lasso符合线性模型
yhat=b0+bixxn-b2xx2+...bPxxp
它所使用的标准是:
当L|bj|<=s时,使得E(y-yhat)2最小
最初的和是根据观察数据集得来的。
边界”s”是一个调谐参数。
当s很大时,约束起不到作用,解决方案只是常见的多元线性最小二乘回归的关于y,xl,x2,xp的函数。
然而当s变小时,解决方案就是缩小的版本最小二乘(leastsquares)估计。
通常一些系数bj为零。
选择s就像选择一个回归模型的预报器的数值,交叉验证(cross-validation)是估计s最佳值的一个好办法。
⑶
四、Lasso及岭回归
1、岭回归的概念
岭回归(ridgeregression)是一种专用于共线性数据分析的有偏估il•回归方法,实质上是一种改良的最小二乘估计法,通过放弃最小二乘法的无偏性,以损失部分信息、降低精度为代价获得回归系数更为符合实际、更可靠的回归方法,对病态数据的拟合要强于最小二乘法。
它的数学表达式如下:
即在回归系数的平方和小于一个常数的约朿条件下,使残差平方和最小化。
subjectto力7=1
2、Lasso及岭回归的比较
F而是lasso写成相同形式的表达式。
可以看出Lasso及岭回归的区别就是约朿条件不一样,一个是回归系数绝对值之和小
于一个常数,一个是平方和小于一个常数.Lasso的约束条件是线性的,而ridge是L2・norm。
通过这幅图可以很明显的看出岭回归和lasso之间的差异。
图中是两个变虽:
回归的情况,等高线图表示的是残差平方和的等高线。
残差在最小二乘估讣处最小。
阴影部分分別是岭回归和lasso的限制区域。
显然圆形为岭回归,菱形为lasso的。
这两种带有惩罚项的方法都是要找到第一个落到限制区域上的等高线的那个位置的坐标(即岭估汁和lasso估计)。
因为菱形带尖角,所以更有可能使得某个变量的系数为0(即所找到的第一个点是菱形四个顶点之一)。
当回归变量增多时,lasso的尖角也会变得更多,从而增大更多系数变0的可能性。
而光滑的髙维球而的显然不可能有这样的概率。
这也就是说lasso可以用于变量选择。
这是lasso相较于ridge有优势的一点。
五、Lasso的算法步骤
Lasso的算法实现及lar(leastangleregression)有密不可分的关系。
Klasso算法实现的背景
Tibshirani在《TheScienceofBradleyEfron》这本书的序言里写道,"Hesatdownandprettymuchsingle-handedlysolvedtheproblem.Alongtheway,hedevelopedanewalgorithm,'leastangleregression1,whichisinterest!
nginitsownright,andshedsgreatstatisticalinsightontheLasso."大意是说:
Efron独自摆平了具有Shrinkage的GradientBoosting应用到线性回归中时及Lasso得到的SolutionPath相似这个问题,及此同时发明T“Leastangleregression(LAR)”。
Efron结论是Lasso和Boosting的确有很紧密的数学联系,它们都可以通过修改LAR得到。
现在,Lasso已经家喻户晓了,但是Lasso出生后的头两年却很少有人问津。
后来Tibshirani自己回忆时说,可能是由下而几个原因造成的:
1.速度问题:
当时计算机求解Lasso的速度太慢:
2.理解问题:
大家对Lasso模型的性质理解不够(直到Efron的LAR出来后大家才搞明白);3.需求问题:
当时还没有遇到太多髙维数据分析的问题,对Sparsity的需求似乎不足。
⑷
2、最小角回归
Efrons提出最小角回归(LARS)方法,这种方法既可以进行变量选择,可以用来解决Lasso问题,并且可以提高计算效率。
LARS算法的基本思想是:
首先选择一个及因变量相关性最大的协变量,然后沿这个方向走一左长度,知逍出现第二个协变量,这两个协变量及残差的相关性相同,就沿着及这两个变量等角度的方向继续走,以此类推,选择岀需要的协变量。
LARS算法既不像向前法那样贪婪,选择一个变量后,定尽量长的长度来讣算残差,也不像分段法(Stagewise),每步只建很短的距离。
LARS方法具有很髙的il•算效率。
⑹
3、用lar实现lasso
X的每一行代表一个样本,即:
X=(首‘2,...,兀丿首先对数据进行预处理,使其去均值标准化。
乞升=°,£旳=°f用T'0丿=1,2,...,"
能义0=(久02,…,瓦)为当前拟合向虽5的系数,则有
则兀跟残差y—y的相关系数%
G=/(y-y)
刚开始时,相关系数都为0,然后找出跟残差(此时即为y)相关系数最大的变量,假设是勺-将苴加入到活动集,这时我们在“5的方向上找到一个最长的步长,使得出现下一个变量(假设是勺2)跟残差的相关系数跟®[到残差的相关系数相等,,此时也把®2活动集里,LARS继续在跟前而2个变量等角度的方向上,找到第3个变量使得该变量跟前而2个跟残差的相关系数相等,随后LARS继续找寻下一个变量。
⑺
具体算法步骤如下:
“一一当前最小角度方向,即角平分线方向$——当前拟合的y值
——残差跟变疑的相关系数*—一当前的最长步长
$=0.For«=2,找p个最优回归量)
1)c=Xr(y-y)=(q,c2,c,„)7
2)A={j:
Q=max(c)=C]
3)=[...x7...,jeA]
4)“伙)=Xw(必心气Ga=X.;X,,14=(1,…,1)巧
5)"人=X“=(5,°2,・・・4刚)
八C-JC+c.[p'
r=min*c、/•=min*c\——-
6)71心-幻心jIvvJ
7)ifr$伙)=彳伙一1)+7"伙)A=A-{j}
else
y(k)=y伙-1)+加伙)A=A\J{j}
6.案例分析
现在在R语言中包含了运用lasso的包。
我们考虑一个简单问题:
假设某种水泥在凝固时放出的热量Y(卡/克)及水泥中的四种活血成分X1,X2,X3,X4有关,现测得13组数据,如下表所示,希望从中选岀主要的变量,建立丫及它们的线性回归方程。
⑻
序号
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
XI
X2
X3
X4
Y
1
7
26
6
60
7:
8・5
2
1
29
15
52
74・3
3
11
56
8
20
104・3
4
11
31
8
47
刖・6
5
7
52
6
33
95・9
6
11
55
9
22
109・2
7
3
71
17
6
102・7
S
1
31
22
44
兀・5
9
2
54
18
22
93.1
10
21
47
q
26
115.9
11
1
40
23
34
83.8
12
11
66
9
12
113・3
13
10
68
8
12
103・4
>lm・solv・lm(Y~・,data=cement)
>summary(lm.sol)
Call:
lm(formula=Y~•了data=ceznen.t)
Residuals:
MinIQMedian3仑Max
一3・1750-I.€7090・2508丄・37833・9254
Coefficients:
Es*tima七亡
Std・Error
tvalue
Pr(>|t|)
(IntEHOwpt)
62・4054
?
0・0710
0・891
0・3991
XI
〕.・5511
0・744S
2・O03
0・070S・
X2
0・5102
0.723S
0.705
0・5009
X3
0・1015
0.7547
0・135
0・S959
X4
一0・1441
0.7091
-0.203
0・S441
Signif・codes:
0w0.0010・01'0・05♦・'0•丄'71
Residualstandarderror:
2・446on.Sdegreesoffreedom
MultipleR-squared:
0・9824rAdjustedR-squared:
0・9736
F-statistic:
111・5on4andST>Frp-value:
4・756e-07
可以看到虽然R2接近于1,拟合优度较理想,但是自变量的P值均大于0.05,回归系
数没有通过显著性检验。
利用简单线性回归得到回归方程中的X及Y的关系不明显。
F检验的值也非常大,说明自变虽:
的显著性较低,需要进行变量选择。
利用car包中的vif()函数查看各自变量间的共线情况
>library(car)
>vif(lm.sol)
XiX2X3X4
33.49621254・4231746・26339282.5128€
从结果看,各自变量的VIF值都超过10,存在多重共线性,其中,X2及X4的VIF值
均超过200。
>plot(X2~X4,col=■丫ecf,data=cement)
o
9_
sg-
o_
oc_
102030405060
X4
图中可以明显看出X2及X4存在线性关系。
3、利用lasso求解
此时我们尝试用lars-lasso来求解这个方程。
>library(lars)
>x=as.matrix(cement[,1:
4])
>y=as.matrix(cement[,5])
>(laa=lars(x,y,type=*1a广))
Call:
lars(x=丫=t-ype=
R-squaxed;Q.982
SequenceofLARiriovea:
X4XIX2X3
Var4123
Step1234
可以看到lasso的变量选择依次是X4,X1,X2,X3.
>plot(laa)
|beta|/max|beta|
可以看岀齐变量的系数的变化过程。
>summary(laa)
LARS/LAR
Ca.ll;Lars(x=y=type=^lar^)
DfRssCp
英中Cp(衡量多重共线性,其值越小越好)
可以看到在第3步以后cp值明显变小。
说明lasso模型在实际应用中能够解决多重共线性的问题,有良好的应用。
7.应用及研究现状
分组潮览:
来源数拥岸WF发耒年度研究层灭佢者机构基金丄雪订咼虚制陰塞态
计宜机软件及计宜机应冃心血管系统我病C3)甦学(474)电魏和367)自曲化技术(274生物学(仮X
宏磁齐苣理与可挣魅展心;临床冬学㈤)主融呵外科学(匹处国语吉文字(絶段资30
互翊技朮刀)松Lt.0)证芽:
66)2
我们在知网中对lasso进行中文数据库的搜索,结果见下图:
可以看到该模型在讣算机、医学、经济等各个领域均有应用。
见微知著的可以下结论英运用十分广泛。
在应用和拓展方面的研究也十分丰富。
下表中列出了部分内容。
Table1.Asamplingofgenoralizationsofthelasso
Method
Reference
Detail
Grouixjdlasso
Elasticnet
Fusedlasso
Adaptivelasso
Graphicallasso
Dantzigselectoi
N已arisotonicregularizationMatrixcompletionCompressivesensingMultivariatemethods
YuanandLin(2007a)
ZouandHcistie(2005)
libshiianietal.(2005)
Zou(2006)
YuanandLin(2007b);Friedmanetal.(2(X)7)
CandesandTao(2007)
Tibshiranietal.(2010)
CandesandTao(2(X)9);Mazumdcretal.(2010)
Donoho(20(4);Candes(2(X)6)
Jollift'eetui(2003);Wittenetal.(2009)
%ll如2
入Q©|+牡巧
入£|坊+1-®AlElVyl/?
;!
min{XT(y-Xr/)|loc}H4lli||X-Xp+A||X|Lmin(l.?
li)subjecltov=XBSparseprincipalcomponentsanalysis.lineardiscriminantanalysisandcanonicalcorrelationanalysis
这些研究在数学层而考察了lasso产生最小预测误差模型的能力,并重新获得了真正的底层(稀疏)模型。
重要的贡献者包括Bickel,Buhlmann,Candes,Donoho,Johnstone,Meinshausen.vandeGeer,WainwrightandYu.也证明了lasso可以揭示更多的传统技术,给向前逐步选择方法带来了新的理解。
另一个例子是graphicallasso拟合的稀疏髙斯图,将其应用于逆协方差矩阵,提供了一个强有利的图选择方法(确左哪些边缘)。
⑼
随着计算机处理速度的不断提高和当今社会对于大数据处理的要求的不断进步,对lasso的研究必当更加深入,在各个领域的拓展也是值得期待的。
八、参考资料
[1]Wikipedia.RobertTibshirani[DB/OL].・
[2]TibshiraniRRegressionShrinkageandSelectionViatheLasso[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丄asso的指数跟踪及其在股指期货套利策略中的应用[J].数理统计及管理,2011,06:
1104-1113.
[7]月之十三.LASSO[DB/OL].46dfe.html,2011-04-07
[8]薛毅,陈立萍.统il•建模及R软件[M].北京:
淸华大学岀