主要介绍了线性回归模型,岭回归,lasso回归和弹性网的基础理论。
线性回归模型
线性回归是回归分析中最基本的一类回归问题,对于一般的线性回归模型来说,假设预测变量的个数为 p p ,样本容量为 N N ,则:
{yi=β0+β1xi1+⋯+βpxip+ϵiϵi∼N(0,σ2),i=1,2,3,⋯,N(1) (1) { y i = β 0 + β 1 x i 1 + ⋯ + β p x i p + ϵ i ϵ i ∼ N ( 0 , σ 2 ) , i = 1 , 2 , 3 , ⋯ , N
若记:
Y=(y1,y2,⋯,yN)T Y = ( y 1 , y 2 , ⋯ , y N ) T ,
β=(β0,β1,⋯,βp)T β = ( β 0 , β 1 , ⋯ , β p ) T ,
Xi=(x1i,x2i,⋯,xNi)T X i = ( x 1 i , x 2 i , ⋯ , x N i ) T ,
i=1,2,⋯,N i = 1 , 2 , ⋯ , N
X=(1,X1,X2,⋯,Xp) X = ( 1 , X 1 , X 2 , ⋯ , X p ) , ϵ=(ϵ1,ϵ2,⋯,ϵN)T ϵ = ( ϵ 1 , ϵ 2 , ⋯ , ϵ N ) T , T T 代表转置。
则模型1用矩阵表示为:
{Y=Xβ+ϵϵ∼NN(0,σ2IN)(2) (2) { Y = X β + ϵ ϵ ∼ N N ( 0 , σ 2 I N )
故回归系数的最小二乘估计为:
β^LS=(XTX)(−1)XTY β ^ L S = ( X T X ) ( − 1 ) X T Y
对于任意给定的
x0=(x01,x02,⋯,x0p)T x 0 = ( x 01 , x 02 , ⋯ , x 0 p ) T ,其拟合值为:
f^(x0)=β^0+β^1x01+⋯+β^px0p f ^ ( x 0 ) = β ^ 0 + β ^ 1 x 01 + ⋯ + β ^ p x 0 p
对于给定的 x=x0 x = x 0 ,拟合值的期望误差分解如下:
Err(x0)=E[(y−f^(x0)2)]=σ2+Bias2(f^(x0))+Var(f^(x0)) E r r ( x 0 ) = E [ ( y − f ^ ( x 0 ) 2 ) ] = σ 2 + B i a s 2 ( f ^ ( x 0 ) ) + V a r ( f ^ ( x 0 ) )
其中,
E(y)=f(x0) E ( y ) = f ( x 0 ) ,
σ2 σ 2 为目标值围绕真实值的一个扰动,无论模型估计的有多不好,这一项都不可避免的出现。
Bias2(f^(x0)) B i a s 2 ( f ^ ( x 0 ) ) 为偏倚,即为估计值偏差真实值的一个度量,
Var(f^(x0)) V a r ( f ^ ( x 0 ) ) 为估计值的方差。
岭回归
对于模型1,岭回归估计的定义为:
β^ridge=argminβ{∑i=1N(yi−β0−∑j=1pxijβj)2+λ∑j=1pβ2j}(3) (3) β ^ r i d g e = arg min β { ∑ i = 1 N ( y i − β 0 − ∑ j = 1 p x i j β j ) 2 + λ ∑ j = 1 p β j 2 }
或者等价的
β^ridge=argminβ{∑i=1N(yi−β0−∑j=1pxijβj)2}s.t.∑j=1pβ2j≤t β ^ r i d g e = arg min β { ∑ i = 1 N ( y i − β 0 − ∑ j = 1 p x i j β j ) 2 } s . t . ∑ j = 1 p β j 2 ≤ t
其中:
λ≥0 λ ≥ 0 为罚参数,
λ λ 取值越大,回归系数收缩 越大.特别地,当
λ=0 λ = 0 时,岭回归退化为LS回归. 值得注意的是,在惩罚项中,并没有对常数项
β0 β 0 进行惩罚.事实上,对每一个响应加上一个常数,不会 对回归系数造成影响.从而,岭回归的解式(3),可以分为两部分,一部分是对响应变量
Y Y 中心化,得 到常数项
β0 β 0 的估计值为
y¯¯¯=1N∑i=1Nyi y ¯ = 1 N ∑ i = 1 N y i ,另一部分是用 岭回归定义估计其他预测变量的系数。
将响应变量中心化后,式(3)等价为
RSS(λ)=(Y−Xβ)T(Y−Xβ)+λβTβ R S S ( λ ) = ( Y − X β ) T ( Y − X β ) + λ β T β
解优化问题
minRSS(λ)β m i n R S S ( λ ) β 得岭回归的解为
β^ridge=(XTX+λI)−1XTY β ^ r i d g e = ( X T X + λ I ) − 1 X T Y
由式(5)可以看出,岭回归的解是在LS回归 解的基础上,加了一个正的惩罚参数
λ λ .故当矩阵
X X 的某些列向量近似线性相关时,矩阵
XTX+λI X T X + λ I ,的奇异性要比
XTX X T X 低,从而降低了估计值的方差, 提高了估计精度.然而,岭回归也有一定的局限性, 它的回归结果中包含所有的预测变量,没有进行变量选择,因此会影响模型的准确性.
lasso回归
针对岭回归中没有变量选择的问题,Tibshirani 在1996年提出了Lasso回归,对其进行了改进. Lasso估计的定义为
β^ridge=argminβ{∑i=1N(yi−β0−∑j=1pxijβj)2+λ∑j=1p|βj|} β ^ r i d g e = arg min β { ∑ i = 1 N ( y i − β 0 − ∑ j = 1 p x i j β j ) 2 + λ ∑ j = 1 p | β j | }
或者等价的记为
β^ridge=argminβ{∑i=1N(yi−β0−∑j=1pxijβj)2}s.t.∑j=1p|βj|≤t β ^ r i d g e = arg min β { ∑ i = 1 N ( y i − β 0 − ∑ j = 1 p x i j β j ) 2 } s . t . ∑ j = 1 p | β j | ≤ t
与岭回归的二次罚函数
λ∑j=1pβ2j λ ∑ j = 1 p β j 2 相比,Lasso的 一次罚函数
λ∑j=1p|βj| λ ∑ j = 1 p | β j | 既能把非0的预测变量系数
βj β j 向0收缩,又能选择出那些很有价值的预测变量 (
|βj| | β j | 值大的预测变量).这是因为相对于
λ∑j=1pβ2j λ ∑ j = 1 p β j 2 来说,一次罚
λ∑j=1p|βj| λ ∑ j = 1 p | β j | 对变量系数口
βj β j 的收缩程度要小,因此比Lasso能选出更精确的模型.
弹性网回归
Lasso回归与LS回归相比虽然大大降低了预 测方差,达到了系数收缩和变量选择的目的,但是 也有一定的局限性广。譬如
- 在Lasso回归求解路径中,对于N×P的设计矩阵来说,最多只能选出 min(N,p) m i n ( N , p ) 个变量. 当 p>N p > N 的时候,最多只能选出 N N 个预测变量.因 此,对于 p∼N p ∼ N 的情况,Lasso方法不能够很好的选 出真实的模型.
- 如果预测变量具有群组效应,则用Lasso回 归时,只能选出其中的一个预测变量.
- 对于通常的 N>P N > P 的情形,如果预测变量中 存在很强的共线性,Lasso的预测表现受控于岭回 归.
基于以上几点Lasso回归的局限性,Zou和 Hastie在2005年提出了弹性网回归方法,回归系 数表达式为
β^ridge=argminβ{∑i=1N(yi−β0−∑j=1pxijβj)2+λ∑j=1p|βj|+λ∑j=1pβ2j} β ^ r i d g e = arg min β { ∑ i = 1 N ( y i − β 0 − ∑ j = 1 p x i j β j ) 2 + λ ∑ j = 1 p | β j | + λ ∑ j = 1 p β j 2 }
若令
λ=λ1+λ2,α=λλ1+λ2 λ = λ 1 + λ 2 , α = λ λ 1 + λ 2 则
β^ridge=argminβ{∑i=1N(yi−β0−∑j=1pxijβj)2+λ∑j=1p(α|βj|+(1−α)β2j)} β ^ r i d g e = arg min β { ∑ i = 1 N ( y i − β 0 − ∑ j = 1 p x i j β j ) 2 + λ ∑ j = 1 p ( α | β j | + ( 1 − α ) β j 2 ) }
由此可知,弹性网的罚函数
λ∑j=1p(α|βj|+(1−α)β2j) λ ∑ j = 1 p ( α | β j | + ( 1 − α ) β j 2 ) 恰好为岭回归罚函数和Lasso罚函数的一个凸线性组合.当
α=0 α = 0 时,弹性网回归即为岭回归;当
α=1 α = 1 时,弹性网回归即为Lasso回归.因此,弹性网 回归兼有Lasso回归和岭回归的优点,既能达到变 量选择的目的,又具有很好的群组效应.
结果对比:
岭回归结果表明,岭回归虽然一定程度上可以拟合模型,但容易导致回归结果失真;lasso回归虽然能刻画模型代表的现实情况,但是模型过于简单,不符合实际。弹性网回归结果表明,一方面达到了岭回归对重要特征选择的目的,另一方面又像Lasso回归那样,删除了对因变量影响较小的特征,取得了很好的效果