高維回歸中的變量選擇方法比較_第1頁
高維回歸中的變量選擇方法比較_第2頁
高維回歸中的變量選擇方法比較_第3頁
高維回歸中的變量選擇方法比較_第4頁
高維回歸中的變量選擇方法比較_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

高維回歸中的變量選擇方法比較一、引言:高維數(shù)據(jù)時(shí)代的變量選擇困境我至今記得幾年前參與的一個(gè)金融風(fēng)控項(xiàng)目——當(dāng)時(shí)要構(gòu)建客戶違約預(yù)測(cè)模型,原始數(shù)據(jù)里光是用戶行為指標(biāo)就有800多個(gè),而樣本量只有2000條。當(dāng)我試著用傳統(tǒng)線性回歸跑模型時(shí),電腦直接卡死;改用逐步回歸,變量篩選過程像“抽獎(jiǎng)”,換個(gè)隨機(jī)種子結(jié)果就大相徑庭。這種“變量多到數(shù)不清,樣本少到不夠看”的場(chǎng)景,就是典型的高維數(shù)據(jù)問題。在統(tǒng)計(jì)學(xué)和機(jī)器學(xué)習(xí)領(lǐng)域,“高維”通常指變量維度p遠(yuǎn)大于樣本量n(p>>n),比如生物信息學(xué)中的基因表達(dá)數(shù)據(jù)(上萬個(gè)基因?qū)?yīng)幾百個(gè)樣本)、金融高頻交易中的多因子數(shù)據(jù)(數(shù)百個(gè)因子對(duì)應(yīng)千余條觀測(cè))。面對(duì)這樣的數(shù)據(jù),傳統(tǒng)回歸方法會(huì)遭遇“維數(shù)災(zāi)難”:參數(shù)估計(jì)不唯一、模型過擬合嚴(yán)重、解釋性完全喪失。這時(shí)候,變量選擇就成了破局的關(guān)鍵——通過篩選重要變量、剔除冗余信息,既能提升模型預(yù)測(cè)能力,又能增強(qiáng)結(jié)果的可解釋性。但問題也隨之而來:市面上的變量選擇方法琳瑯滿目,Lasso、Ridge、ElasticNet、SCAD……這些方法各自有什么“脾氣”?在實(shí)際項(xiàng)目中該怎么選?本文將從技術(shù)原理、適用場(chǎng)景、優(yōu)缺點(diǎn)對(duì)比等維度,帶大家深入理解高維回歸中的變量選擇方法。二、高維回歸與變量選擇的基本邏輯2.1高維數(shù)據(jù)的典型特征與挑戰(zhàn)高維數(shù)據(jù)的“高”,不只是變量數(shù)量多,更在于其內(nèi)在結(jié)構(gòu)的復(fù)雜性。首先是“稀疏性”——現(xiàn)實(shí)中真正影響因變量的變量往往只有少數(shù)幾個(gè),比如預(yù)測(cè)房?jī)r(jià)時(shí),可能只有地段、面積、房齡等5-10個(gè)關(guān)鍵變量,剩下的幾百個(gè)變量要么是噪音,要么是冗余。其次是“共線性”——變量間可能存在高度相關(guān)性,比如GDP增長(zhǎng)率和工業(yè)增加值、居民可支配收入之間往往同漲同跌,這會(huì)導(dǎo)致傳統(tǒng)最小二乘估計(jì)的方差爆炸。最后是“計(jì)算復(fù)雜性”——當(dāng)p達(dá)到上千甚至上萬時(shí),傳統(tǒng)的矩陣求逆、迭代優(yōu)化等操作在計(jì)算資源和時(shí)間成本上都難以承受。這些特征給回歸分析帶來了三大挑戰(zhàn):一是參數(shù)估計(jì)的不穩(wěn)定性,小樣本下最小二乘估計(jì)的方差會(huì)隨著p增大呈指數(shù)級(jí)增長(zhǎng);二是模型解釋的模糊性,大量無關(guān)變量的存在會(huì)掩蓋真正重要變量的影響;三是預(yù)測(cè)性能的衰減,過擬合會(huì)導(dǎo)致模型在訓(xùn)練集上表現(xiàn)很好,但在新數(shù)據(jù)上“翻車”。2.2變量選擇的核心目標(biāo)與評(píng)估標(biāo)準(zhǔn)變量選擇的本質(zhì),是在“模型復(fù)雜度”和“預(yù)測(cè)精度”之間找平衡。具體來說,它需要實(shí)現(xiàn)三個(gè)核心目標(biāo):第一,“稀疏性”——讓模型只保留少數(shù)關(guān)鍵變量,系數(shù)向量盡可能多為0;第二,“無偏性”——保留變量的系數(shù)估計(jì)要盡可能接近真實(shí)值,避免因懲罰過度導(dǎo)致的偏差;第三,“穩(wěn)定性”——在數(shù)據(jù)微小波動(dòng)時(shí),變量選擇結(jié)果不會(huì)大幅變化,增強(qiáng)模型的魯棒性。評(píng)估變量選擇方法的好壞,通常要看四個(gè)指標(biāo):一是“變量選擇的準(zhǔn)確性”,即是否能正確識(shí)別出真實(shí)相關(guān)的變量(真陽性率),同時(shí)排除無關(guān)變量(真陰性率);二是“系數(shù)估計(jì)的精確性”,可以用均方誤差(MSE)衡量估計(jì)值與真實(shí)值的偏差;三是“計(jì)算效率”,包括收斂速度、內(nèi)存占用等工程指標(biāo);四是“模型的可解釋性”,稀疏的模型顯然更容易被業(yè)務(wù)人員理解和應(yīng)用。三、主流變量選擇方法的技術(shù)解析3.1基于L1正則化的Lasso方法3.1.1算法原理與數(shù)學(xué)表達(dá)Lasso(LeastAbsoluteShrinkageandSelectionOperator)是高維變量選擇中最“出圈”的方法,由統(tǒng)計(jì)學(xué)家Tibshirani在1996年提出。它的核心思想是在最小二乘損失函數(shù)中加入L1正則化項(xiàng),通過懲罰系數(shù)的絕對(duì)值之和來壓縮系數(shù),甚至將部分系數(shù)置零。數(shù)學(xué)表達(dá)式為:[^{}=_{}||y-X||_2^2+||||_1]其中,第一項(xiàng)是普通最小二乘的損失函數(shù),第二項(xiàng)是L1懲罰項(xiàng),λ是調(diào)節(jié)懲罰強(qiáng)度的超參數(shù)。λ越大,懲罰越重,被壓縮為0的系數(shù)越多。3.1.2稀疏性誘導(dǎo)的內(nèi)在機(jī)制L1正則化為什么能產(chǎn)生稀疏解?從幾何角度看,最小二乘的等高線與L1球(||β||_1=λ)的切點(diǎn)往往出現(xiàn)在坐標(biāo)軸上,對(duì)應(yīng)某個(gè)系數(shù)為0;而L2正則化的等高線與L2球的切點(diǎn)通常不在坐標(biāo)軸上,所以系數(shù)不會(huì)被完全置零。打個(gè)比方,L1像“手術(shù)刀”,精準(zhǔn)剔除無關(guān)變量;L2像“按摩儀”,整體放松但不切斷。我在之前的信貸評(píng)分項(xiàng)目中用過Lasso,當(dāng)λ調(diào)整到合適值時(shí),800多個(gè)變量里最后只保留了12個(gè),包括歷史逾期次數(shù)、月收入、負(fù)債收入比等業(yè)務(wù)上能合理解釋的變量,這驗(yàn)證了Lasso的稀疏性優(yōu)勢(shì)。3.1.3實(shí)際應(yīng)用中的優(yōu)勢(shì)與局限Lasso的優(yōu)勢(shì)很明顯:首先,它同時(shí)實(shí)現(xiàn)了變量選擇和系數(shù)估計(jì),不需要分兩步操作;其次,計(jì)算效率高,坐標(biāo)下降法、路徑算法等優(yōu)化方法能快速求解;最后,結(jié)果稀疏,模型解釋性強(qiáng)。但它也有“軟肋”:當(dāng)變量間存在高度相關(guān)性時(shí),Lasso可能隨機(jī)選擇其中一個(gè)變量,而忽略其他相關(guān)變量;另外,Lasso的系數(shù)估計(jì)是有偏的,尤其是當(dāng)真實(shí)系數(shù)較大時(shí),懲罰項(xiàng)會(huì)過度壓縮它們。3.2基于L2正則化的Ridge方法3.2.1從嶺估計(jì)到高維場(chǎng)景的適配Ridge回歸(嶺回歸)其實(shí)比Lasso早誕生近30年,由Hoerl和Kennard在1970年提出。它的正則化項(xiàng)是L2范數(shù),數(shù)學(xué)表達(dá)式為:[^{}=_{}||y-X||_2^2+||||_2^2]L2懲罰項(xiàng)通過壓縮系數(shù)的平方和來降低方差,尤其在變量共線性嚴(yán)重時(shí),能有效避免最小二乘估計(jì)的方差爆炸。早期Ridge主要用于解決低維數(shù)據(jù)的共線性問題,后來隨著高維數(shù)據(jù)的興起,它被擴(kuò)展用于高維場(chǎng)景,但主要作用是提高預(yù)測(cè)精度,而不是變量選擇。3.2.2共線性問題的緩解機(jī)制為什么L2能處理共線性?假設(shè)X的列向量存在近似線性相關(guān),那么X’X的行列式接近0,逆矩陣不穩(wěn)定。加入λI后,X’X+λI的行列式增大,逆矩陣變得穩(wěn)定,從而降低了估計(jì)的方差。打個(gè)比方,共線性就像繩子上的結(jié),L2正則化相當(dāng)于在繩子上涂了層潤(rùn)滑油,讓結(jié)變得松散,估計(jì)結(jié)果更平滑。我曾用Ridge處理過一組宏觀經(jīng)濟(jì)數(shù)據(jù),其中工業(yè)產(chǎn)值、用電量、鐵路貨運(yùn)量這三個(gè)變量的相關(guān)系數(shù)都在0.9以上,用普通回歸時(shí)系數(shù)估計(jì)值波動(dòng)極大,今天跑是正的,明天跑可能變負(fù)。用Ridge后,系數(shù)估計(jì)變得穩(wěn)定,雖然沒有變量被剔除,但預(yù)測(cè)誤差明顯下降。3.2.3非稀疏解的適用邊界Ridge的最大缺點(diǎn)是不產(chǎn)生稀疏解——所有變量的系數(shù)都是非零的,只是被壓縮到很小。這在需要模型解釋的場(chǎng)景下很麻煩,比如醫(yī)生要看哪些基因與疾病相關(guān),Ridge會(huì)說“所有基因都有點(diǎn)關(guān)系”,但無法給出明確的“關(guān)鍵基因列表”。因此,Ridge更適合預(yù)測(cè)導(dǎo)向的任務(wù),比如股價(jià)波動(dòng)預(yù)測(cè)、用戶點(diǎn)擊預(yù)測(cè),這時(shí)候我們更關(guān)注模型的預(yù)測(cè)精度,而不是具體哪些變量起作用。3.3彈性網(wǎng)絡(luò):L1與L2的融合(ElasticNet)3.3.1雙正則化項(xiàng)的設(shè)計(jì)邏輯ElasticNet(彈性網(wǎng)絡(luò))由Zou和Hastie在2005年提出,算是Lasso的“升級(jí)版”。它同時(shí)引入L1和L2正則化項(xiàng),數(shù)學(xué)表達(dá)式為:[^{}=_{}||y-X||_2^2+(||||_1+(1-)||||_2^2)]其中α(0≤α≤1)是L1和L2的權(quán)重參數(shù)。當(dāng)α=1時(shí),退化為L(zhǎng)asso;α=0時(shí),退化為Ridge。這種“雙罰項(xiàng)”設(shè)計(jì),目的是解決Lasso在變量組相關(guān)時(shí)的缺陷——比如當(dāng)多個(gè)高度相關(guān)的變量同時(shí)對(duì)y有影響時(shí),Lasso可能只選其中一個(gè),而ElasticNet會(huì)傾向于選擇整個(gè)變量組。3.3.2變量組相關(guān)場(chǎng)景的獨(dú)特優(yōu)勢(shì)我在做用戶畫像分析時(shí)遇到過這樣的情況:用戶的“網(wǎng)購頻率”“外賣頻率”“打車頻率”這三個(gè)變量高度相關(guān)(相關(guān)系數(shù)>0.8),且都與“用戶價(jià)值”正相關(guān)。用Lasso時(shí),模型只選了“網(wǎng)購頻率”,另外兩個(gè)被剔除;用ElasticNet(α=0.5)時(shí),三個(gè)變量都被保留,系數(shù)分別為0.3、0.25、0.28,這更符合業(yè)務(wù)直覺——這三個(gè)行為其實(shí)共同反映了用戶的活躍程度。3.3.3參數(shù)調(diào)優(yōu)的實(shí)踐難點(diǎn)ElasticNet的優(yōu)勢(shì)需要以合理的參數(shù)選擇為前提,它需要同時(shí)調(diào)優(yōu)λ和α兩個(gè)參數(shù),這比Lasso的單參數(shù)調(diào)優(yōu)復(fù)雜得多。在實(shí)際項(xiàng)目中,通常需要用交叉驗(yàn)證(如10折CV)來選擇最優(yōu)參數(shù)組合,但計(jì)算量會(huì)增加。我之前用Python的sklearn庫調(diào)參時(shí),50個(gè)λ值×10個(gè)α值,光交叉驗(yàn)證就跑了半個(gè)多小時(shí),對(duì)于超大規(guī)模數(shù)據(jù)來說,這可能是個(gè)瓶頸。3.4非凸懲罰函數(shù)方法:SCAD與MCP3.4.1懲罰函數(shù)的形狀差異與理論突破Lasso的L1懲罰函數(shù)是線性的,這導(dǎo)致它在系數(shù)估計(jì)時(shí)存在“過罰”問題——對(duì)大系數(shù)的懲罰強(qiáng)度和小系數(shù)一樣,會(huì)導(dǎo)致估計(jì)偏差。為解決這個(gè)問題,統(tǒng)計(jì)學(xué)家提出了非凸懲罰函數(shù),其中最著名的是SCAD(SmoothlyClippedAbsoluteDeviation)和MCP(MinimaxConcavePenalty)。SCAD的懲罰函數(shù)在t≤λ時(shí)是線性的(類似L1),在λ<t≤2λ時(shí)是二次的,t>2λ時(shí)保持常數(shù),形狀像“被平滑截?cái)嗟慕^對(duì)值”。MCP的懲罰函數(shù)在t≤λ時(shí)是凹函數(shù),t>λ時(shí)導(dǎo)數(shù)逐漸減小,最終趨于0。兩者的共同點(diǎn)是:對(duì)大系數(shù)的懲罰力度小于L1,從而減少估計(jì)偏差。3.4.2Oracle性質(zhì)的實(shí)現(xiàn)條件統(tǒng)計(jì)學(xué)家Fan和Li提出的“Oracle性質(zhì)”是變量選擇方法的理想狀態(tài),即方法能以概率1正確識(shí)別所有無關(guān)變量(變量選擇一致性),且保留變量的系數(shù)估計(jì)具有漸近正態(tài)性(無偏性)。Lasso不滿足Oracle性質(zhì)(因?yàn)長(zhǎng)1的線性懲罰導(dǎo)致大系數(shù)被過罰),而SCAD和MCP在適當(dāng)條件下可以滿足。這意味著,當(dāng)樣本量足夠大時(shí),SCAD和MCP的變量選擇結(jié)果更接近“上帝視角”的真實(shí)模型。3.4.3計(jì)算復(fù)雜度與工程實(shí)現(xiàn)挑戰(zhàn)非凸懲罰函數(shù)的優(yōu)化比L1、L2更復(fù)雜。Lasso可以用坐標(biāo)下降法高效求解,因?yàn)槟繕?biāo)函數(shù)是凸的;但SCAD和MCP的目標(biāo)函數(shù)是非凸的,可能存在多個(gè)局部極小值,需要更復(fù)雜的算法,比如迭代加權(quán)最小二乘法(IRLS)或近鄰梯度法。我在嘗試用R語言的ncvreg包實(shí)現(xiàn)SCAD時(shí),明顯感覺收斂速度比Lasso慢,尤其是當(dāng)p超過5000時(shí),計(jì)算時(shí)間會(huì)顯著增加。四、多維度比較:從理論到實(shí)踐的視角4.1稀疏性與模型解釋性比較從稀疏性來看,Lasso、ElasticNet(α>0)、SCAD、MCP都能產(chǎn)生稀疏解,其中Lasso的稀疏性最強(qiáng)(嚴(yán)格置零),SCAD和MCP次之(大部分系數(shù)為零,少數(shù)非零),ElasticNet的稀疏性取決于α(α越大越稀疏)。Ridge不產(chǎn)生稀疏解,所有變量系數(shù)非零,解釋性最差。在模型解釋性上,稀疏解顯然更友好。比如在醫(yī)學(xué)研究中,醫(yī)生需要明確知道哪些基因是致病的,這時(shí)候Lasso或SCAD的結(jié)果可以直接對(duì)應(yīng)到具體基因;而Ridge的結(jié)果只能說“這些基因共同起作用”,無法給出明確的“關(guān)鍵基因列表”。4.2預(yù)測(cè)精度與泛化能力對(duì)比預(yù)測(cè)精度方面,Ridge在變量共線性強(qiáng)、數(shù)據(jù)非稀疏時(shí)表現(xiàn)更好(因?yàn)樗ㄟ^L2降低了方差);Lasso在數(shù)據(jù)稀疏(真實(shí)相關(guān)變量少)時(shí)預(yù)測(cè)精度更高;ElasticNet在變量組相關(guān)場(chǎng)景下的預(yù)測(cè)誤差通常低于Lasso和Ridge;SCAD和MCP在大樣本、高維稀疏數(shù)據(jù)中,由于具有Oracle性質(zhì),預(yù)測(cè)精度漸近最優(yōu)。我曾用模擬數(shù)據(jù)做過對(duì)比實(shí)驗(yàn):生成p=500個(gè)變量,其中只有10個(gè)真實(shí)相關(guān)變量,其余是噪音。當(dāng)n=200時(shí)(小樣本),Lasso的預(yù)測(cè)MSE為0.82,SCAD為0.85(因?yàn)樾颖鞠路峭箖?yōu)化容易陷入局部最優(yōu));當(dāng)n=1000時(shí)(大樣本),Lasso的MSE上升到0.91,SCAD下降到0.78,這驗(yàn)證了SCAD在大樣本下的優(yōu)勢(shì)。4.3共線性處理效能分析處理共線性時(shí),Ridge是“老大哥”,L2懲罰能有效降低估計(jì)方差;ElasticNet因?yàn)榘琇2項(xiàng),處理共線性的能力僅次于Ridge;Lasso在共線性強(qiáng)時(shí)可能隨機(jī)選擇變量,導(dǎo)致結(jié)果不穩(wěn)定;SCAD和MCP的共線性處理能力與Lasso類似,因?yàn)樗鼈兊膽土P函數(shù)在小系數(shù)區(qū)域接近L1。舉個(gè)例子,用三組高度相關(guān)的變量(每組5個(gè)變量,組內(nèi)相關(guān)系數(shù)0.9)模擬數(shù)據(jù),真實(shí)模型中每組有1個(gè)變量對(duì)y有影響。用Lasso時(shí),每組可能只選1個(gè)變量,且選擇結(jié)果隨機(jī);用ElasticNet(α=0.3)時(shí),每組會(huì)選2-3個(gè)變量,更接近真實(shí)情況;用Ridge時(shí),所有15個(gè)變量的系數(shù)都被壓縮,但沒有被剔除。4.4計(jì)算效率與可擴(kuò)展性評(píng)估計(jì)算效率上,Lasso最快(坐標(biāo)下降法時(shí)間復(fù)雜度O(np)),Ridge次之(閉式解直接計(jì)算),ElasticNet因?yàn)樾枰{(diào)兩個(gè)參數(shù),計(jì)算量是Lasso的幾倍;SCAD和MCP最慢(非凸優(yōu)化需要多次迭代)??蓴U(kuò)展性方面,Lasso和Ridge都支持并行計(jì)算,適用于超大規(guī)模數(shù)據(jù)(p>10萬);ElasticNet的可擴(kuò)展性稍差;SCAD和MCP在p>1萬時(shí)可能需要分布式計(jì)算。我在處理p=10萬的用戶行為數(shù)據(jù)時(shí),用Lasso的路徑算法(pathwisecoordinatedescent)只需要幾分鐘就收斂了;而用SCAD時(shí),同樣的數(shù)據(jù)量跑了近1小時(shí),還出現(xiàn)了內(nèi)存溢出的情況(后來用了稀疏矩陣存儲(chǔ)才解決)。五、應(yīng)用場(chǎng)景的適配性建議5.1稀疏高維數(shù)據(jù):Lasso與非凸方法的選擇如果數(shù)據(jù)是稀疏的(真實(shí)相關(guān)變量很少),且需要強(qiáng)解釋性,優(yōu)先選Lasso。比如生物信息學(xué)中的基因篩選、文本分類中的關(guān)鍵詞提取,Lasso能快速給出稀疏的變量列表,方便后續(xù)驗(yàn)證。但如果樣本量足夠大(n>5p),且對(duì)估計(jì)偏差敏感(比如需要精確的系數(shù)值用于因果推斷),則建議用SCAD或MCP,它們的無偏性更好,長(zhǎng)期來看預(yù)測(cè)更準(zhǔn)。5.2變量組相關(guān)場(chǎng)景:ElasticNet的用武之地當(dāng)變量間存在明顯的組結(jié)構(gòu)(如同一類別的多個(gè)指標(biāo)、時(shí)間序列的滯后項(xiàng)),且組內(nèi)變量高度相關(guān)時(shí),ElasticNet是更優(yōu)選擇。比如用戶行為分析中的“消費(fèi)頻率”“消費(fèi)金額”“消費(fèi)品類”組,金融風(fēng)控中的“收入類”“負(fù)債類”“征信類”組,ElasticNet能保留整個(gè)組的關(guān)鍵變量,避免Lasso的“隨機(jī)選擇”問題。5.3小樣本高維問題:平衡偏差與方差的策略小樣本(n接近p甚至n<p)時(shí),Ridge和ElasticNet更穩(wěn)健。Ridge雖然不稀疏,但能通過L2懲罰降低方差,適合預(yù)測(cè)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論