做者:童話李
連接: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的係數做爲縱軸的話,能夠畫一幅大體如上的圖。