做者:童话李
连接:https://www.zhihu.com/question/38121173/answer/403986652
来源:知乎
著做权归做者全部。商业转载请联系做者得到受权,非商业转载请注明出处。
函数
这两天的项目就是LASSO跟RIDGE,讲讲个人体会。3d
LASSO这两年莫名的很是火,无论什么经济学话题,只要涉及到解释变量有效性的问题,评论人或者审稿人都想看看,你这玩意儿作的LASSO有啥结果没有。潜台词就是,若是LASSO作不出结果是否是你这个话题自己就有问题呢。过两年这阵风过去可能你们的想法又变了,不过身处其中普通人别无选择只能适应,不管如何都不能在潮流中落了下风。blog
公式以前好多人都写了,我就直接摆几个别人总结最简单的结果,这对我理解背后的机制帮助很是大,图懒得画,都是从网上贴的。it
先随便生成一组数io
本质上是三角函数加上一个正太分布的随机扰动,大概长这样基础
接着再跑15个OLS回归,里面加上1到15阶的x做为回归变量,变量
拟合结果大概长这样lambda
上图能够看出,从1到15阶的x,确实拟合的愈来愈精确,但是与背后真正的函数sin(x)的距离,也经历了先接近后远离的状况。缘由是OLS为了把拟合精确度提升,会尽力把噪音也拟合上,最终形成了所谓的过分拟合(overfitting),catch the noise, not the signal。方法
那么一个合理的问题就是:如何才能避免过分拟合?im
为了回答这个问题,就先看一眼刚刚回归出来的系数,大概长这样。
有看到什么趋势没有?
一个很明显的趋势就是,系数的数量级从个位数奔到了十的5次方到6次方!
直觉就是大的系数能够把X微小的变更放大,经过多个正负项的叠加尽可能把每一个点都拟合上。
这就是在平常实践中判断过分拟合的一个重要标准,系数若是大的离谱,多半是过分拟合了。至于多少是离谱,须要根据经验判断。单变量股票收益率预测回归,在采用百分比收益率,并把X标准化到(0,1)以后若是出来个几十的系数,多半是过分拟合了。就像R^2若是作到20%以上多半是有look ahead bias,其余结果我根本就不想往下看。。。
那么好怎么解决这个问题?
一个很是直觉的解决方法就是,在目标函数里面把过大的系数进行惩罚(penalty)。
LASSO与RIDGE的区别就是怎么进行这个惩罚。
先说LASSO,
它是这样作惩罚的,在OLS拟合的基础上,对其系数的绝对值进行惩罚,目标函数长这样
这样写目标函数就是想达到一个平衡,第一拟合的偏差要小,第二系数的绝对值不能太大。
拟合的图像跟系数分别以下
有如下几个特色,
再说RIDGE,目标函数长这样
也是想达到一个相似的平衡,第一拟合的偏差要小,第二系数的平方不能太大。
结果以下,
有如下几个特色,
接下来的一个问题是,既然惩罚力度alpha太大了容易拟合不足,过低了容易过分拟合。究竟多大的惩罚力度是合适的?
这个问题对于OLS,LASSO,和RIDGE,有一个相对标准的作法,用赤池信息准则(AIC)或贝叶斯信息准则(BIC)进行判断。
多余的公式就不写了,直觉是这样的,AIC大体都是关于惩罚力度的U型函数,条件形同的状况下AIC越小越好,直接选取AIC最低点对应的惩罚力度alpha。一个例子就是下图。
最后用一幅图总结三者的关系
若是以OLS的系数做为横轴,OLS, LASSO, RIDGE的系数做为纵轴的话,能够画一幅大体如上的图。