宋瑞琪,朱永忠,王新軍
(河海大學 理學院,南京 211100)
如何從海量數據中提取有用的信息,是目前研究的熱點以及難點。而在實際問題中,往往由于時間、地域、經費等因素的影響,使得人們尋找到的樣本量低于研究問題的維度,這就出現了高維數據模型。
處理高維數據的關鍵在于變量的選擇,按照其特征,變量選擇可以分為子集選擇法和系數壓縮法。對于子集選擇法,最早可以追溯到AIC準則的提出,并逐漸發展到BIC準則、向前回歸、向后回歸以及逐步回歸等。劉立祥[1]通過逐步回歸,選取影響水泥凝固放熱的因素。子集選擇法在變量選擇的過程中容易受變量微小變動的影響,不具有較好的穩健性;同時子集選擇法將變量選擇與參數估計兩步分開進行,增加了模型構建的誤差,故子集選擇法并不適用于高維數據分析。系數壓縮法可以同時進行變量選擇和參數估計,從而節省了模型構建的時間成本,克服了子集選擇法的一些缺點。常見的系數壓縮法主要有嶺回歸、Lasso、自適應Lasso、Elastic Net回歸等。Groll等[2]基于生存模型,采用Lasso、嶺回歸以及Lasso和嶺回歸的組合模型,在仿真和實際應用中進行了方法的比較;Zou等[3]首次提出Elastic Net回歸方法,并指出在實際問題中,Elastic Net回歸往往優于Lasso估計;BALL等[4]將Elastic Net回歸運用于生物科學研究中,基于Elastic Net回歸方法選擇合適的變量,從而通過最優氨基酸序列預測蛋白質結構。
本文對嶺回歸、Lasso、自適應Lasso以及Elastic Net回歸的基本原理及實現進行了梳理,基于蒙特卡洛模擬實現變量選擇。本文通過引進敏感性與特異性,來分析比較不同方法的適用領域,并將方法擴展到高維數據空間,拓展模型的應用。
首先考慮最簡單的一般線性回歸模型:設x1,x2…xp為模型的p個自變量,y為解釋變量,則自變量與解釋變量之間可以建立如下線性回歸模型

其中β0是截距項表示模型的回歸系數,ε為隨機誤差項,并且滿足假設(xi1,xi2…xip;yi),(i=1,2…n)是n組觀測變量,X為n×p階設計矩陣,并且假設變量已經進行了中心化處理,則式(1)的最小二乘估計可以表示為:

最小二乘估計是常用的一種系數估計方式,在滿足線性回歸的一般假設條件下,最小二乘估計的估計結果具有無偏性。但是最小二乘估計又存在局限性,當自變量之間存在多重共線性問題時,回歸系數的估計具有很大的不穩定性。
嶺回歸:為了解決最小二乘估計的缺陷,Hoerl和Kennard于1970年提出了一種新的系數估計方法——嶺回歸。通過在式(2)中加入懲罰項,從而控制了回歸系數的膨脹性。嶺回歸的定義如下:

其中,λ≥0是調節參數,并稱為L2懲罰項。調節參數λ控制著RSS和L2對模型中回歸系數β估計的相對影響程度,適當的λ值可以使β1,β2…βp中一些系數往0的方向收縮,當λ=0時,嶺回歸為一般的線性回歸模型。與最小二乘估計不同的是,嶺回歸以增大模型的偏差作為代價,通過壓縮模型的系數來減少模型的預測方差。但是嶺回歸也存在一定的缺點,其并不會將任何一個變量壓縮為0(除非λ→∞),即嶺回歸并沒有實現真正意義上的變量選擇,當自變量的個數p很大時,模型中將會含有大量的解釋變量,不利于模型的解釋。
Lasso回歸:1996年Tibesirani將式(3)中的L2懲罰項改為了L1懲罰項,并將得到的新的回歸模型定義為Lasso回歸模型:

與嶺回歸類似,Lasso回歸的第一項RSS表示損失函數,度量了回歸模型擬合的好壞,第二項λL1為懲罰函數,可以將回歸系數中一些很小的系數壓縮為0,實現了回歸模型中稀疏模型的構建,從而克服了嶺回歸中不能將回歸系數壓縮為0的缺點。

考慮Lasso的等價形式(6):在條件量選擇。式(5)是嶺回歸的等價形式,它表示在的限制下,使得RSS盡量的小。
自適應Lasso(簡稱aLasso):aLasso是對Lasso模型的改進,它將回歸系數賦予不同的權值,并對懲罰函數進行了二次懲罰,其主要思想是:將貢獻度較大的回歸系數進行較小程度的懲罰,而將貢獻度較小的回歸系數進行較大的懲罰。其回歸模型如下所示:

其中ωj≥0 為懲罰權重表示改進后的懲罰函數。ωj的選擇是模型中變量選擇好壞的關鍵,當ω=1時,為一般意義的Lasso模型。取作為自適應 Lasso的懲罰權重,其中表示 Lasso估計中的回歸系數,本文取γ=1。式(7)可以表示為:

值得強調的是,式(7)與式(8)是一個凸規劃問題,并不會受局部極小點的影響,并且其全局極小點也很容易獲得。
Elastic Net回歸:Lasso雖然具有良好的性質,可以選擇稀疏模型,但是當兩個或以上變量具有很強的相關性時,Lasso會隨機選取其中一個變量而排除其他變量。從模型的稀疏性角度來看,Lasso模型無疑是滿足要求的。但是從實際生產的解釋角度而言,人們更希望將所有的相關變量都選入模型中?;谝陨峡紤],2005年,Zou和Hastie將嶺回歸模型和Lasso模型相結合,提出了Elastic Net回歸模型:
產科實驗指標結果均進行統計學計算,使用統計學軟件SPSS18.0。自然分娩率、新生兒窒息率等計數指標結果均以%形式展開,進行卡方檢驗。P<0.05,說明觀察指標結果差異有統計學意義。

其中λ1和λ2是模型中兩個非負的懲罰參數。由式(9)可以看出,當λ1=0時,Elastic Net回歸模型便是嶺回歸模型,當λ2=0時,此時的Elastic Net回歸模型為Lasso回歸模型。令則式(9)可以表示為:

假設變量服從一般線性回歸模型y=Xβ+σε,其中
模型1:設回歸系數的真實值為β=(3.7,1,0,2,0,0),變量的影響程度介于較大影響程度和較小影響程度之間。取σ=3,表示信噪比(SNR)為5.7,用ρ|i-j|表示任意兩個解釋變量Xi與Xj之間的相關系數,并且取ρ=0.5表示中等相關。取樣本量n=50,重復進行100次試驗。基于嶺回歸、Lasso、自適應Lasso以及Elastic Net回歸,分別預測模型的回歸系數并將預測結果繪制在圖1中。由圖1(見下頁)可以看出,所有模型都可以正確識別3個重要變量。針對變量X3,X5與X6(對模型沒有影響),Lasso、自適應Lasso和Elastic Net回歸三種回歸均將系數壓縮為0,但是自適應Lasso具有較小的預測誤差,在圖中表現為箱線圖的箱線較短,再其次是Lasso估計。而對于變量X1,X2與X4(對模型表現出不同程度的影響),嶺回歸、Lasso以及Elastic Net回歸的預測結果是有偏的,在圖中表現為箱線圖的中心位置偏離真實值。對于變量X2的預測,Elastic Net回歸很好地將回歸系數壓縮為0,自適應回歸將X4的系數壓縮為0。綜上比較,無論是預測對模型有影響的回歸系數,還是預測對模型沒有影響的回歸系數,自適應Lasso都表現出了很好的預測效果。
客觀上,可以用敏感性(Sensitivity)和特異性(Specificity)兩個指標來評價回歸模型中參數選擇的好壞,敏感性和特異性的定義如下:

圖1 回歸系數估計結果

其中#表示計數,Sensitivity∈[0,1],Specificity∈[0,1],值越接近1,變量選擇的效果越好。與模型1相同,取樣本量n=50,100,150,分別重復進行100次試驗,計算每個樣本量下模型的敏感性和特異性,結果見表1。嶺回歸只是對模型的系數進行了壓縮,并沒有真正的實現變量選擇,因此在嶺回歸估計中,其敏感性為1,特異性為0,這與嶺回歸的性質相一致。對于Lasso、自適應Lasso以及Elastic Net回歸,當樣本量增大時,敏感性和特異性也會隨之增大,說明模型的選擇效果也在變好。而在相同樣本量的條件下,比較四種模型的敏感性和特異性,發現自適應Lasso對于變量選擇的能力會優于其他三種模型。

表1 不同樣本量下模型的敏感性與特異性
模型2(含有少量較大影響因素):在這個例子中,令β=(4,1.5,0,0,2,0,0),Xi與Xj之間的相關性為ρ=0.5,xj1與xj2之間的相關系數為cor(j1,j2)=(0.5)|j1-j2|。 取σ=1,3,6,其對應的SNR分別為21.25,2.35和0.59,取樣本量n為50和100。
對于模型2和模型3,針對每一個組合(n,σ)(n=30,50,σ=1,3,6),本文均進行100次模擬試驗,計算每次試驗RPE。選取每個組合中RPE的中位數作為最終模型的RPE。
表2顯示了仿真數據的結果,從表2中可以得到如下結論:第一,當樣本量增大時,模型的精度越來越好;第二,針對模型2,自適應Lasso似乎自動結合了嶺回歸和Lasso的優點,在低等或中等水平下的信噪比下,自適應Lasso的預測精度高于嶺回歸和Elastic Net回歸,在高等水平的信噪比下,自適應Lasso的預測精度顯著高于Lasso;而對于模型3,嶺回歸的預測精度明顯高于其他模型,其次是Elastic Net回歸,這與模型的定義保持一致。對于含有大量較小影響因素的模型,Lasso、自適應Lasso將不顯著的影響變量的系數壓縮為0。Elastic Net回歸是Lasso與嶺回歸的組合模型,既有Lasso的特點,也保留了嶺回歸的性質。

表2 比較各模型的RPE值
模型2和模型3說明,不同的方法適用于不同的模型。一般情況下,只有一小部分解釋變量與響應變量不相關或相關程度很小時,自適應Lasso展現了其獨特的優勢,而當每個解釋變量的解釋程度大致相等時,本文應該選用嶺回歸模型。
當自變量的個數大于樣本量的個數(即p>n)時,為高維數據,上文已經討論了典型的變量選擇問題,在這種情況下,固定預測變量的個數,不斷增大樣本量的個數,從而減少預測誤差,即上文中討論的是p<n的情形。而在實際問題中,經常出現p=pn→∞的例子,如基因問題,通過確定急性白血病的基因組合,消除沒有影響或影響較小的基因,尋找致病因子,從而尋找并制定合適的醫療方案,促進醫學的發展。雖然p很大,但是由于時間、經費、抽樣技術、地理跨度以及不可避免的客觀因素如基因排序等因素的影響,往往不能滿足p<n,這就是接下來將要討論的高維數據問題。
同樣假設變量服從一般線性回歸模型y=Xβ+σε,其中取σ=3,用ρ|i-j|表示任意兩個解釋變量Xi與Xj之間的相關系數,分別取ρ=0.5和ρ=0.85,表示變量之間中等相關和高等相關。取自變量p=70,重復進行100次試驗??紤]如下兩種情形:
(1)樣本量n=70,回歸系數即只有20個變量與解釋變量有關,此時p=n。
(2)樣本量n=30,回歸系數的設定與第一種情況保持一致,此時p>n。
利用蒙特卡洛隨機模擬,對于每一個(ρ,n)組合,分別計算以上兩種情形下模型的敏感性、特異性以及RPE,結果見表3??梢园l現:(1)在相同樣本量的條件下,比較四種模型的敏感性和特異性,發現Elastic Net回歸對于變量選擇的能力會優于其他三種模型,增大樣本量,敏感性與特異性也會增大。(2)固定自變量的個數p值和相關系數ρ值,當增大樣本量時,模型的相對預測誤差(RPE)也會減小,說明增大樣本量可以減少模型的預測誤差。而往往在現實生活中,很難獲得如此多的樣本量。此時應該選擇合適的解釋變量加入模型,盲目增加模型的維度反而不利于模型的構建,只有加入與因變量真正相關的自變量,才會降低模型的預測誤差。(3)對于正確變量的選擇比例,Elastic Net回歸所占比例最高,其次是Lasso和自適應Lasso,嶺回歸的選擇效果最差。(4)比較模型的預測誤差,Elastic Net回歸的RPE值最小,其次是Lasso。嶺回歸在模型預測的過程中并沒有實現真正的變量選擇,對于0值得預測,反而出現了不一致性。當相關系數值增大時,嶺回歸、Lasso、自適應Lasso的RPE值都有所增大,Elastic Net回歸反而有所減少。在高維數據中經常會出現共線性問題,即使變量之間是相互獨立的,由于維數很高,樣本的相關性也可能會很高。高度相關的變量中,L1懲罰會表現得很不好,共線性問題會嚴重降低Lasso的預測能力。當相關性很高的時候,Lasso的預測路徑很不穩定。自適應Lasso繼承了Lasso估計的不穩定性。而當變量之間的相關性很高的時候,Elastic Net回歸可以很好地提高預測精度。

表3 高維數據下各方法的比較
通過隨機模擬表明:第一,在低維模型中,當其他條件一致時,比較四種模型的敏感性和特異性,發現自適應Lasso對于變量選擇的能力會優于其他三種模型。需要強調的是,本文并未表明某種模型具有絕對優勢,而是為了說明不同模型適用于不同的數據類型,當只有小部分解釋變量與響應變量不相關或相關程度很小時,自適應Lasso展現了其獨特的優勢,而當每個解釋變量的解釋程度大致相等時,應該選用嶺回歸模型。這一點在模型2和模型3中給出了解釋;第二,在高維數據中,通過蒙特卡洛模擬實驗數據,在相同樣本量的條件下,比較四種模型的敏感性和特異性,發現Elastic Net回歸對于變量選擇的能力會優于其他三種模型。而增大模型的相關系數時,嶺回歸、Lasso、自適應Lasso的RPE值都有所增大,Elastic Net回歸反而有所減少。當變量之間的相關性很高的時候,Elastic Net回歸可以很好地提高預測精度。