admin 管理员组文章数量: 1086019
2024年4月15日发(作者:margin属性是用来控制)
本科生学年论文
题目:从理论到应用——浅谈lasso模型
指导教师:
学院:
姓名:
学号:
班级:
从理论到应用——浅谈lasso模型
【摘要】
回归模型是我们在处理数据中常用的方法。其中,Lasso模型是一种适用于多重共线性
问题,能够在参数估计的同时实现变量的选择的回归方法。本文从lasso模型的概念谈起,
对其起源、思想、与岭回归的比较、通过lar的算法实现等方面进行了探究。另外还使用R
语言对简单案例进行lasso模型的应用。最后简述了lasso模型的研究现状。
【abstract】
Regression model is our commonly used method in processing data. Lasso model is
a kind of regression method for multiple linear problems, which can be used to achieve
parameter estimation and variable selection at the same time. This paper starts from the
concept of the lasso model, including its origin, ideas, and the comparison of ridge
regression, through lar algorithm implementation, etc. In addition, using R language to
solve a simple case through lasso. At last, the research status of lasso model is
introduced.
【关键词】
Lasso
岭回归 最小角回归 R语言
【key words】
Lasso
ridge regression lar R language
- 1 -
目录
一、 定义及基本信息 .................................. - 3 -
二、 起源与原理 ...................................... - 3 -
三、 模型的思想 ...................................... - 3 -
四、 Lasso与岭回归 .................................. - 4 -
1、 岭回归的概念 .................................. - 4 -
2、 Lasso与岭回归的比较 ........................... - 4 -
五、 Lasso的算法步骤 ................................. - 5 -
1、 lasso算法实现的背景 ........................... - 5 -
2、 最小角回归 .................................... - 6 -
3、 用lar实现lasso ............................... - 6 -
六、 案例分析 ........................................ - 7 -
1、 问题描述 ...................................... - 7 -
2、 简单线性回归求解 .............................. - 8 -
3、 利用lasso求解 ............................... - 10 -
七、 应用与研究现状 ................................. - 11 -
八、 参考资料 ....................................... - 12 -
- 2 -
一、定义及基本信息
Lasso模型是由Robert Tibshirani在1996年JRSSB上的一篇文章Regression
shrinkage and selection via the lasso所提出的一种能够实现指标集合精简的估计方法。在
参数估计的同时实现变量的选择(可以解决回归分析中的多重共线性问题)。
全称:Least Absolute Shrinkage and Selection Operator
读音:[læ‵su:] 而不是[‵læso]
Robert Tibshirani 简介:生于1956年7月10日,担任斯坦福大学the Departments of
Statistics and Health Research and Policy的教授。1985-1998年担任多伦多大学的教授。
他主要研究方向是致力于开发处理复杂数据的分析统计工具。Lasso模式是他最著名的贡
献。同时在著名的 "Generalized Additive Models", "An Introduction to the Bootstrap", and
"The Elements of Statistical Learning"三本书中都有他的编著。
[1]
二、起源与原理
在常规的回归分析中,假设我们有一组(x
i
,y
i
),i=1,2,...,N,其中xi=(x
i1
,...,x
ip
)
T
,y
i
是第
i维观测值的回归量的数据。普通最小二乘(OLS)通过最小化残差平方和来进行估计。它对
数据的分析不那么令人满意通常有两个原因。一是预测精度:OLS往往偏差较低但方差大;
预测精度有时可以用缩小或设置一些系数为0的方法来提高。通过这样做,我们牺牲一点偏
差减少预测的方差值,因此可以提高整体预测准确性。第二个原因是可解释性的问题。在大
量的预测值中,我们通常想确定一个展现出最强影响的更小的子集。
两个公认优秀的改善OLS估计的方法是子集选择(subset selection)和岭回归(ridge
regression)它们都有缺点。子集选择提供了可解释的模型但是可变性非常强,因为它是一
个离散的过程——回归量要么保留要么从模型中去掉。小的数据变化就会使得模型的选择改
变,这会降低预测准确度。岭回归是连续缩小参数的过程,因此更稳定:然而它不会使得任
何参数为0,没办法得出简单的可解释的模型。
lasso模型就此提出,The least absolute shrinkage and selection operator,同时缩小
(shrinkage)和设置成参数为0(selection),保持了子集选择和岭回归的良好特征。
[2]
三、模型的思想
lasso是在回归系数的绝对值之和小于一个常数的约束条件下,使残差平方和最小化,
从而能够产生某些严格等于0的回归系数,得到解释力较强的模型。
- 3 -
给出一组测量数据x
1
, x
2
...x
p
以及测量结果y,lasso符合线性模型
yhat=b
0
+ b
1
×x
1
+ b
2
×x
2
+ ... b
p
×xp
它所使用的标准是:
当∑| b
j
|<= s时,使得∑(y-yhat)
2
最小
最初的和是根据观察数据集得来的。边界”s”是一个调谐参数。当s很大时,约束起不
到作用,解决方案只是常见的多元线性最小二乘回归的关于y,x1,x2,xp的函数。然而当s
变小时,解决方案就是缩小的版本最小二乘(least squares)估计。通常一些系数bj为零。
选择s就像选择一个回归模型的预报器的数值,交叉验证(cross-validation)是估计s最
佳值的一个好办法。
[3]
四、Lasso与岭回归
1、岭回归的概念
岭回归(ridge regression)是一种专用于共线性数据分析的有偏估计回归方法,实质上是
一种改良的最小二乘估计法,通过放弃最小二乘法的无偏性,以损失部分信息、降低精度为
代价获得回归系数更为符合实际、更可靠的回归方法,对病态数据的拟合要强于最小二乘法。
它的数学表达式如下:即在回归系数的平方和小于一个常数的约束条件下,使残差平
方和最小化。
2、Lasso与岭回归的比较
下面是lasso写成相同形式的表达式。
- 4 -
可以看出Lasso与岭回归的区别就是约束条件不一样,一个是回归系数绝对值之和小
于一个常数,一个是平方和小于一个常数。Lasso的约束条件是线性的,而ridge是L2-norm。
通过这幅图可以很明显的看出岭回归和lasso之间的差异。图中是两个变量回归的情
况,等高线图表示的是残差平方和的等高线。残差在最小二乘估计处最小。阴影部分分别是
岭回归和lasso的限制区域。显然圆形为岭回归,菱形为lasso的。这两种带有惩罚项的方
法都是要找到第一个落到限制区域上的等高线的那个位置的坐标(即岭估计和lasso估计)。
因为菱形带尖角,所以更有可能使得某个变量的系数为0(即所找到的第一个点是菱形四个
顶点之一)。当回归变量增多时,lasso的尖角也会变得更多,从而增大更多系数变0的可
能性。而光滑的高维球面的显然不可能有这样的概率。这也就是说lasso可以用于变量选择。
这是lasso相较于ridge有优势的一点。
五、Lasso的算法步骤
Lasso的算法实现与lar(least angle regression)有密不可分的关系。
1、lasso算法实现的背景
- 5 -
Tibshirani在《The Science of Bradley Efron》这本书的序言里写道,”He sat down and
pretty much single-handedly solved the problem. Along the way, he developed a new
algorithm,’least angle regression’,which is interesting in its own right, and sheds great
statistical insight on the Lasso.”大意是说:Efron独自摆平了具有Shrinkage的Gradient
Boosting应用到线性回归中时与Lasso得到的Solution Path相似这个问题,与此同时发明
了“Least angle regression (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
1
,x
2
,...,x
p
)
X的每一行代表一个样本,即:
X
首先对数据进行预处理,使其去均
值标准化。
y
i1
n
i
0,
x
ij
0
i1
n
x
i1
n
2
ij
1,forj1,2,...,n
ˆ
(
ˆ
,
ˆ
,...,
ˆ
)
T
12m
ˆ
的系数,则有 定义为当前拟合向量
y
ˆ
ˆ
X
y
x
ˆ
j
j1
m
j
则
x
i
跟残差
yy
ˆ
的相关系数
c
i
:
- 6 -
ˆ
i
x
i
T
(
yy
ˆ
)
c
刚开始时,相关系数都为0,然后找出跟残差(此时即为y)相关系数最大的变量,假
设是
x
j1
,将其加入到活动集,这时我们在
x
j1
的方向上找到一个最长的步长,使得出现下一
到残差的相关系数相等,,此时也把个变量(假设是
x
j2
)跟残差的相关系数跟
x
j1
x
j2
活动
集里,LARS继续在跟前面2个变量等角度的方向上,找到第3个变量
面2个跟残差的相关系数相等,随后LARS继续找寻下一个变量。
[7]
具体算法步骤如下:
x
j3
使得该变量跟前
ˆ
——当前拟合的y值
——当前最小角度方向,即角平分线方向
y
ˆ
——残差跟变量的相关系数
r
c
ˆ
——当前的最长步长
ˆ
0.
For
k1,2,...,p
(找p个最优回归量)
y
1)
2)
3)
4)
5)
ˆ
X
T
(
yy
ˆ
)
(
c
ˆ
1
,
c
ˆ
2
,...,
c
ˆ
m
)
T
c
ˆ
j
max(
c
ˆ
)
C
}
A
{
j
:
c
X
A
[...x
j
...,jA]
1
AA
(k)X
A
w
A
(w
A
a
A
G1
a
A
X
T
(a
1
,a
2
,...,a
m
)
a
A
(1G1)
T
A
1
AA
1
2
T
G
A
X
A
X
A
,1
A
(1,...,1)
T
)
ˆ
j
Cc
ˆ
j
Cc
ˆ
r
min
jA
C
,
rmin
jA
C
a
A
a
j
a
A
a
j
6)
j
w
j
ˆ
r
7)if
r
ˆ
(k)y
ˆ
(k1)r
(k)
AA{j}
y
else
ˆ
ˆˆˆ
y(k)y(k1)r
(k)
AA{j}
六、案例分析
现在在R语言中包含了运用lasso的包。
1、问题描述
- 7 -
我们考虑一个简单问题:假设某种水泥在凝固时放出的热量Y(卡/克)与水泥中的四
种活血成分X1,X2,X3,X4有关,现测得13组数据,如下表所示,希望从中选出主要的
变量,建立Y与它们的线性回归方程。
[8]
序号
X1
X2
X3
X4
Y
1
7
26
6
60
78.5
2
1
29
15
52
74.3
3
11
56
8
20
104.3
4
11
31
8
47
87.6
5
7
52
6
33
95.9
6
11
55
9
22
109.2
序号
X1
X2
X3
X4
Y
7
3
71
17
6
102.7
8
1
31
22
44
72.5
9
2
54
18
22
93.1
10
21
47
4
26
115.9
11
1
40
23
34
83.8
12
11
66
9
12
13
10
68
8
12
113.3 109.4
2、简单线性回归求解
用R对数据做简单多元线性回归:
(输入代码以文字显示,控制台的响应以图片显示)
>cement <- (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))
- 8 -
>cement
><-lm(Y~.,data=cement)
>summary()
可以看到虽然R
2
接近于1,拟合优度较理想,但是自变量的p值均大于0.05,回归系
数没有通过显著性检验。利用简单线性回归得到回归方程中的X与Y的关系不明显。F检
验的值也非常大,说明自变量的显著性较低,需要进行变量选择。
利用car包中的vif()函数查看各自变量间的共线情况
>library(car)
>vif()
从结果看,各自变量的VIF值都超过10,存在多重共线性,其中,X2与X4的VIF值
- 9 -
均超过200。
>plot(X2 ~ X4, col = "red", data = cement)
图中可以明显看出X2与X4存在线性关系。
3、利用lasso求解
此时我们尝试用lars-lasso来求解这个方程。
>library(lars)
>x = (cement[, 1:4])
>y = (cement[, 5])
>(laa = lars(x, y, type = "lar"))
可以看到lasso的变量选择依次是X4,X1,X2,X3。
>plot(laa)
- 10 -
可以看出各变量的系数的变化过程。
>summary(laa)
其中Cp(衡量多重共线性,其值越小越好)
可以看到在第3步以后cp值明显变小。
说明lasso模型在实际应用中能够解决多重共线性的问题,有良好的应用。
七、应用与研究现状
我们在知网中对lasso进行中文数据库的搜索,结果见下图:
可以看到该模型在计算机、医学、经济等各个领域均有应用。见微知著的可以下结论其
运用十分广泛。
在应用和拓展方面的研究也十分丰富。下表中列出了部分内容。
- 11 -
这些研究在数学层面考察了lasso产生最小预测误差模型的能力,并重新获得了真正的
底层(稀疏)模型。重要的贡献者包括Bickel, Buhlmann, Candes, Donoho, Johnstone,
Meinshausen,van de Geer, Wainwright and Yu.也证明了lasso可以揭示更多的传统技术,
给向前逐步选择方法带来了新的理解。另一个例子是graphical lasso拟合的稀疏高斯图,
将其应用于逆协方差矩阵,提供了一个强有利的图选择方法(确定哪些边缘)。
[9]
随着计算机处理速度的不断提高和当今社会对于大数据处理的要求的不断进步,对
lasso的研究必当更加深入,在各个领域的拓展也是值得期待的。
八、参考资料
[1] Wikipedia. Robert Tibshirani[DB/OL]. /wiki/Robert_Tibshirani.
[2] Tibshirani,sion Shrinkage and Selection Via the Lasso[J].Journal of the
Royal Statical B.58,267-288.
[3]Stanford University. A simple explanation of the Lasso and Least Angle
Regression[DB/OL]. /~tibs/lasso/.
[4]杨灿. 统计学习那些事[DB/OL]. /2011/12/stories-about-statistical-
learning/#more-4532.
[5] Efron B, Hastie T, Johnstone I and Tibshirani R. Least angle regression [J]. Ann. Stat.,
2004, 32:409-499.
[6]梁斌,陈敏,缪柏其,黄意球,陈钊. 基于LARS-Lasso的指数跟踪及其在股指期货套利策略
中的应用[J]. 数理统计与管理,2011,06:1104-1113.
[7]月之十三. LASSO[DB/OL]. /view/ff93761052d380eb629
, 2011-04-07
[8]薛毅, 陈立萍. 统计建模与R软件[M]. 北京:清华大学出版社, 2007. 279-280
[9] Robert, Tibshirani. Regression Shrinkage and Selection Via the Lasso:a
retrospective[J]. Royal Statistical Society, 2011, (73): 273-282
- 12 -
版权声明:本文标题:从理论到应用——浅谈lasso模型 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1713179494a622734.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论