鄭 列,張 彥
(湖北工業(yè)大學(xué)理學(xué)院,湖北 武漢 430068)
隨著高速網(wǎng)絡(luò)的普及和數(shù)據(jù)存儲的發(fā)展,人類生活中產(chǎn)生并被記錄的數(shù)據(jù)越來越多,從用戶的使用習(xí)慣到用戶的瀏覽記錄均會被存儲并用于分析;與此同時,數(shù)據(jù)的形式也越來越多樣化,無論是金融市場中股價的波動還是視頻圖像中包含的信息都是數(shù)據(jù)的表現(xiàn)形式。數(shù)據(jù)涉及的領(lǐng)域也越來越廣泛,從線上消費(fèi)到生物基因都可以成為數(shù)據(jù)分析的對象。在各種大型數(shù)據(jù)層出不窮的情況下,對于特征數(shù)量大于樣本數(shù)量的高維數(shù)據(jù)進(jìn)行分析已經(jīng)變得越來越重要。對于這種樣本數(shù)量小于特征數(shù)量的情況,很多傳統(tǒng)的數(shù)據(jù)分析方法無法被有效運(yùn)用,為避免這種“維數(shù)災(zāi)難”問題,主要采用兩類降維方式:一類是特征選擇,另一類是特征組合[1-2]。此外,切片逆回歸模型、向前回歸(FR)法、變系數(shù)模型、可加模型等模型同樣被提出并用于高維數(shù)據(jù)的分析[3-4]。除上述模型外,1983年S.Wold和C.Albano[5]等人發(fā)明的偏最小二乘法(PLS),天生就具有處理特征數(shù)大于樣本數(shù)這類高維數(shù)據(jù)的優(yōu)點(diǎn)[6-7]。在傳統(tǒng)的PLS模型中,僅使用線性回歸模型,對于非線性關(guān)系的擬合效果不佳[8-10]。為解決這一問題,可以基于stacking集成思想的方式對PLS模型中的線性擬合過程進(jìn)行改進(jìn)。stacking集成思想類似于神經(jīng)網(wǎng)絡(luò)的擬合方式[11],為避免過擬合情況的發(fā)生并改善模型對超參數(shù)的敏感性,可以選擇帶有不同正則項的模型進(jìn)行集成,例如Lasso回歸、彈性網(wǎng)等模型[12]?;谏鲜鏊悸?,stacking-plsr模型可以對樣本量較少的高維數(shù)據(jù)進(jìn)行建模,實(shí)現(xiàn)多變量對多變量的非線性擬合過程,相較于現(xiàn)有方法減少了計算量,降低了模型對超參數(shù)的敏感性,使得模型更不容易出現(xiàn)過擬合現(xiàn)象。
stacking-plsr模型(stacking partial least squares regression model),即基于stacking集成思想的非線性偏最小二乘回歸模型,研究的是兩組變量X和Y之間的非線性回歸關(guān)系。
設(shè)自變量X為p維數(shù)據(jù),即
X=[x1,x2,…,xp]
因變量Y為q維數(shù)據(jù),即
Y=[y1,y2,…,yq]
樣本容量為n。通過對數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化,避免量綱影響。令標(biāo)準(zhǔn)化后的自變量矩陣
E0=[e1,e2,…,ep]
標(biāo)準(zhǔn)化后的因變量矩陣
F0=[f1,f2,…,fq]
1)提取自變量與因變量主成分。
首先,求E0的第一個主成分t1,t1=E0w1。其中,w1是E0的第一個軸。為保證解的唯一性,令w1為一個單位向量,即‖w1‖=1。然后,求F0的第一個主成分u1,u1=F0c1。其中,c1是F0的第一個軸,為保證解的唯一性,令c1是一個單位向量,滿足‖c1‖=1。
根據(jù)傳統(tǒng)PLS模型的基本原理,選取第一個主成分的求解問題可以表示為求解有約束條件下的極值問題:
t1=E0w1
u1=F0c1
2)基于stacking集成思想計算當(dāng)前主成分對因變量的非線性擬合。
計算t1對E0和F0的兩個線性回歸方程,是傳統(tǒng)的PLS模型推導(dǎo)過程中存在的線性擬合步驟,傳統(tǒng)的PLS模型以及由其衍生出來的KPLS模型方法都沒有改變這里的線性擬合過程。為使得當(dāng)前主成分能更好地對因變量進(jìn)行擬合,stacking-plsr模型在求得t1和u1后,下一步需要求t1對E0的線性回歸方程和t1對F0的基于stacking集成思想的回歸方程。本文使用stacking集成思想集成一元線性回歸、Lasso回歸和彈性網(wǎng)三種模型進(jìn)行回歸擬合。
在求得自變量和因變量的主成分后,令t1對E0和F0建立兩個回歸方程:
F0=S1(t1)+F1
其中:F0=[f1,f2,…,fq],S1(t1)=[s11(t1),s12(t1),…,s1q(t1)],F(xiàn)1=[ε1,ε2,…,εq],Sk(tk)中k代表第k個主成分分別對q個因變量特征構(gòu)建的基于stacking集成思想的非線性方程擬合矩陣。以f1為例,上述回歸方程可寫成:
f1=s11(t1)+ε1
skj中k代表第k個主成分,j代表第j個因變量,s11(t1)是t1對f1構(gòu)建的基于stacking思想擬合回歸方程的預(yù)測值。
3)迭代求得最終非線性模型。
用E1和F1取代E0和F0,求第二個軸w2和c2以及第二個主成分t2和u2,有t2=E1w2和u2=F1c2。與第二步中建立核回歸方程的方法相同,令t2對E1和F1建立兩個回歸方程:
F1=S2(t2)+F2
重復(fù)第三步的計算過程,直到所有主成分被求出或當(dāng)前主成分滿足終止要求時,停止計算。設(shè)最終提取h個主成分,得出的最終預(yù)測結(jié)果為:
E0=g1(t1)+g2(t2)+…+gh(th)
F0=S1(t1)+S2(t2)+…+Sh(th)
其中:g1,g2,…,gh為基于一元線性回歸構(gòu)建的擬合模型;S1,S2,…,Sh為基于stacking思想構(gòu)建的擬合模型。
根據(jù)上述理論繪制出stacking-plsr模型的詳細(xì)擬合過程(圖1)。
圖 1 stacking-plsr模型的擬合過程
KPLS模型存在多種不同的升維映射方式,如多項式核函數(shù)、徑向基核函數(shù)等。雖通過使用對應(yīng)的核方法可以簡化模型的計算,但其計算量仍然較大。本文提出的stacking-plsr模型能夠在降低計算量的同時,在一定程度上等價于多項式核偏最小二乘回歸模型,當(dāng)多項式的最高次數(shù)degree取k,提取h個主成分時,對兩種模型的等價性進(jìn)行分析。
在多項式核偏最小二乘回歸模型中,當(dāng)提取第一個主成分時,自變量X的矩陣從原來的X=[x1,x2,…,xp]映射成X=[x1,x2,…,xp,x12,x1x2,…x1xp,x22,…,xpk]。映射后的自變量矩陣相比于原始矩陣增加了非常多的交叉項和高次項,并且增加的特征項隨次數(shù)k的增加呈幾何倍增加。設(shè)映射后的自變量矩陣的維度是n×η。
其中第一主成分
t1=E0w1=w1,1x1+…+w1,pxp+
w1,p+1x12+…+w1,p+px1xp+…+w1,ηxpk
x12φ1,p+1+…+x1xpφ1,p+p+…+xpkφ1,η
在stacking-plsr模型中,對于提取的第一個主成分
t1=E0w1=w1,1x1+…+w1,pxp
將得到的第一主成分t1使用多項式核進(jìn)行高維映射,得到主成分矩陣
T1=[t1,t12,…,t1k]
基于stacking集成思想,結(jié)合一元線性回歸、Lasso回歸和彈性網(wǎng)構(gòu)建多個回歸方程。
一元線性回歸:
Lr(T1)∝a1t1
Lasso回歸:
Lasso(T1)∝b1t1+b2t12+…+bkt1k
彈性網(wǎng):
Elastic(T1)∝d1t1+d2t12+…+dkt1k
根據(jù)stacking集成思想,則
stacking(T1)∝e1Lr(T1)+
e2Lasso(T1)+e3Elastic(T1)
關(guān)于F0的回歸方程F0=stacking(T1)+F1,其中:
stacking(T1)∝θ1t1+θ2t12+…+θkt1k
∝x1ψ1,1+…+xpψ1,p+
x12ψ1,p+1+…+x1xpψ1,p+p+…+xpkψ1,η
通過對比多項式核偏最小二乘回歸模型和stacking-plsr模型中第一主成分t1與F0構(gòu)建的回歸方程可知,兩種模型構(gòu)建的回歸方程的核的形式完全相同,故stacking-plsr模型和多項式核偏最小二乘回歸模型具有一定程度上的等價性,并且stacking-plsr模型能夠在解決非線性擬合的同時,較少地增加計算量。在非線性擬合過程中,基于stacking集成思想,結(jié)合一元線性回歸、Lasso回歸和彈性網(wǎng)構(gòu)建回歸方程,能夠起到變量篩選的作用,使模型更不容易過擬合并且對超參數(shù)degree的敏感度較小。
為客觀衡量模型對數(shù)據(jù)的擬合效果和預(yù)測能力,需要采用一些指標(biāo)來判斷模型在測試集上預(yù)測結(jié)果的精確度,為全方位反映模型的預(yù)測能力,采用均方誤差(MSE)、擬合優(yōu)度(R2)、平均相對誤差(ARE)三項指標(biāo)對stacking-plsr模型的擬合效果進(jìn)行檢驗。
均方誤差
其中,n為樣本容量,q為因變量特征個數(shù),yij的下標(biāo)i表示第i個樣本,下標(biāo)j表示第j個因變量。MSE≥0且MSE的值越小,表明模型預(yù)測精度越高。
擬合優(yōu)度
平均相對誤差
ARE≥0,且ARE的值越小,表明模型預(yù)測精度越高。
本文使用的數(shù)據(jù)來源于湖北省統(tǒng)計局官網(wǎng)和2019年湖北省統(tǒng)計年鑒,選取1995-2018年湖北省的4項人口數(shù)據(jù)和25項經(jīng)濟(jì)數(shù)據(jù)作為樣本進(jìn)行分析。
根據(jù)提出的stacking-plsr模型理論對1995-2018年湖北省的4項人口規(guī)模指標(biāo)和25項經(jīng)濟(jì)指標(biāo)進(jìn)行分析,stacking-plsr模型中的超參數(shù)degree的值取5。在建模過程中,由于樣本量較少,均使用全部樣本對stacking過程中的一元線性回歸、Lasso回歸、彈性網(wǎng)模型進(jìn)行訓(xùn)練,并使用所有樣本對三種模型進(jìn)行stacking集成過程的擬合。
根據(jù)stacking-plsr模型的要求,為避免29項特征量綱的影響,標(biāo)準(zhǔn)化自變量與因變量數(shù)據(jù),計算出E0和F0。根據(jù)stacking-plsr模型的計算流程,提取出自變量和因變量的第一主成分,使用第一主成分對標(biāo)準(zhǔn)化后的因變量進(jìn)行擬合。在這一過程中,傳統(tǒng)的PLS模型不考慮當(dāng)前主成分與各因變量是否為線性關(guān)系,直接使用一元線性回歸對數(shù)據(jù)進(jìn)行擬合,這就是傳統(tǒng)PLS模型中需要改進(jìn)的地方。使用stacking的集成思想對這一擬合過程進(jìn)行改進(jìn),使其可以滿足對非線性關(guān)系的擬合。在4個因變量中,常住人口與第一主成分的線性關(guān)系最弱,其相關(guān)系數(shù)僅為0.491,表明僅使用線性擬合效果欠佳。以常住人口為例,詳細(xì)展示stacking集成思想的擬合過程(圖2)。
(a)一元線性回歸
圖 3 不同主成分個數(shù)對應(yīng)的SSh
使用4種擬合方式對4項人口指標(biāo)進(jìn)行擬合。為比較4種擬合方式的擬合效果,計算4種擬合方式的MSE,具體結(jié)果見表1。
表1 第一主成分不同擬合方式的MSE
在4種不同擬合模型中,一元線性回歸的擬合效果最差,stacking集成后的模型擬合效果最好。根據(jù)stacking-plsr模型的理論,計算出E1和F1并重復(fù)上述步驟,按照stacking-plsr模型理論的要求,計算當(dāng)前主成分的SSh,確定主成分個數(shù),建立最終的擬合模型。
當(dāng)主成分個數(shù)大于3時,不同主成分個數(shù)對應(yīng)的SSh變化不明顯,這在一定程度上表明主成分個數(shù)確定為3較為合適。基于建立的stacking-plsr模型對4項人口指標(biāo)的預(yù)測值,為衡量模型的擬合程度。分別計算城鎮(zhèn)人口、鄉(xiāng)村人口、戶籍人口、常住人口和模型總體的MSE、R2和ARE三項指標(biāo),具體結(jié)果見表2。
表2 全樣本stacking-plsr模型擬合精度評價
使用全樣本stacking-plsr模型對原始數(shù)據(jù)進(jìn)行預(yù)測,預(yù)測結(jié)果較好,但是否出現(xiàn)過擬合的現(xiàn)象無法確定。為衡量stacking-plsr模型的魯棒性,將原始數(shù)據(jù)劃分為訓(xùn)練集和測試集。
訓(xùn)練集的樣本數(shù)量依次從15取到22,對應(yīng)的測試集的樣本數(shù)量依次是從9取到2。在確定后的訓(xùn)練集和測試集樣本數(shù)量后,對應(yīng)每種情況隨機(jī)生成200次訓(xùn)練集和測試集,并對每次生成訓(xùn)練集和測試集建立stacking-plsr模型。由于不同訓(xùn)練集所對應(yīng)的主成分個數(shù)不同,為避免過擬合情況的發(fā)生,對建立的模型均只提取2個主成分,超參數(shù)degree取5,對每種情況下的200次訓(xùn)練集和測試集進(jìn)行訓(xùn)練和預(yù)測,計算測試集預(yù)測值與真實(shí)值的MSE和ARE。
結(jié)合圖4和圖5可知,隨著測試集樣本數(shù)量的增加,200次模型預(yù)測結(jié)果的MSE和ARE的均值呈現(xiàn)出略微增加的狀態(tài),但總體而言相對穩(wěn)定,未出現(xiàn)較大的波動。當(dāng)用于測試模型擬合效果的測試集樣本數(shù)量大于等于4時,200次stacking-plsr模型MSE和ARE的方差波動較小,即基于stacking-plsr模型的預(yù)測值與真實(shí)值之間的差異波動較為穩(wěn)定。當(dāng)測試集樣本數(shù)量較小且隨機(jī)產(chǎn)生的測試數(shù)據(jù)集包含極端樣本時,容易導(dǎo)致模型預(yù)測結(jié)果誤差較大,進(jìn)而導(dǎo)致200次stacking-plsr模型的MSE和ARE方差較大。這也在一定程度上證明stacking-plsr模型的魯棒性良好。
圖 4 隨機(jī)生成樣本預(yù)測值的MSE和ARE分布
圖 5 不同樣本量對應(yīng)預(yù)測值MSE和ARE的均值與方差
為探究超參數(shù)degree對satcking-plsr模型擬合的影響,將全部樣本分成訓(xùn)練集和測試集進(jìn)行分析。由于人口數(shù)據(jù)和經(jīng)濟(jì)數(shù)據(jù)均隨時間呈現(xiàn)出較為明顯的增長或降低趨勢,即對于年份在兩端的樣本點(diǎn)較容易出現(xiàn)極端情況,也避免隨機(jī)生成測試集帶來的隨機(jī)誤差,故選取3個年份位于四分位點(diǎn)的樣本作為測試集,即以2001年、2007年和2013年的數(shù)據(jù)作為測試集,以其他年份的樣本數(shù)據(jù)作為訓(xùn)練集,并固定提取的主成分個數(shù),對模型的敏感性進(jìn)行分析。
根據(jù)圖6可知,對于提取不同主成分個數(shù)的stacking-plsr模型,當(dāng)超參數(shù)degree改變時,模型的MSE指標(biāo)均波動較小,模型的ARE指標(biāo)波動相對較大,尤其是提取3或4個主成分時,對應(yīng)不同超參數(shù)degree的模型的ARE波動較大。
圖 6 超參數(shù)degree不同取值下全樣本模型擬合程度
觀察主成分為3或4的模型對應(yīng)的ARE指標(biāo)的變化曲線發(fā)現(xiàn),兩條曲線的變化趨勢無顯著性差別,考慮當(dāng)提取3或4個主成分時模型出現(xiàn)一定程度的過擬合現(xiàn)象。當(dāng)提取的主成分個數(shù)為1或2,超參數(shù)degree≥3時,對應(yīng)擬合模型的MSE和ARE相較于超參數(shù)degree=2的模型有所下降并波動較小,這表明當(dāng)模型沒有出現(xiàn)過擬合現(xiàn)象時,超參數(shù)degree的取值對模型的擬合效果存在影響。模型主成分個數(shù)選取合適時,模型對于超參數(shù)degree的變化敏感性較低,即stacking-plsr模型在超參數(shù)degree的敏感性方面表現(xiàn)較好,不易因超參數(shù)degree的取值出現(xiàn)過擬合情況,這也在一定程度上表明基于stacking集成思想對傳統(tǒng)PLS模型進(jìn)行改進(jìn)是合適的。
為比較改進(jìn)的stacking-plsr模型和傳統(tǒng)的PLS模型擬合效果之間的差異,使用相同訓(xùn)練集和測試集對兩種模型的擬合效果進(jìn)行對比分析,為避免模型出現(xiàn)過擬合情況的影響,將全部樣本劃分成訓(xùn)練集和測試集進(jìn)行預(yù)測。為避免隨機(jī)生成測試集時容易包含極端樣本的情況和隨機(jī)生成帶來的誤差,同樣以2001年、2007年和2013年的數(shù)據(jù)作為訓(xùn)練集,以其他年份的樣本數(shù)據(jù)作為訓(xùn)練集,比較兩種模型的擬合效果。兩種模型擬合時均提取3個主成分,通過兩種模型擬合全樣本后得出的模型,對全樣本數(shù)據(jù)進(jìn)行預(yù)測。
為直觀展示兩個部分樣本模型之間的差別,按照時間順序,分別對城鎮(zhèn)人口、鄉(xiāng)村人口、戶籍人口和常住人口的真實(shí)值和兩種模型的預(yù)測值繪制時序圖。
根據(jù)圖7所示,對比兩種模型的預(yù)測結(jié)果可以發(fā)現(xiàn),stacking-plsr模型在城鎮(zhèn)人口、鄉(xiāng)村人口、戶籍人口和常住人口等4個方面的擬合效果均優(yōu)于傳統(tǒng)的PLS模型,尤其是在常住人口方面,傳統(tǒng)的PLS模型未能成功預(yù)測其變化趨勢,這表明改進(jìn)后的stacking-plsr模型擬合效果更好。為具體衡量兩種模型的擬合效果之間的差別,分別計算兩種模型預(yù)測值的MSE和ARE兩項指標(biāo)。
(a)城鎮(zhèn)人口
根據(jù)表3可知,基于stacking-plsr模型計算的測試數(shù)據(jù)集對應(yīng)的預(yù)測值,其預(yù)測精度在所有方面均優(yōu)于傳統(tǒng)的PLS模型。對于4項人口指標(biāo)而言,stacking-plsr模型的預(yù)測精度在MSE這一指標(biāo)上降低了68.26%,在ARE這一指標(biāo)上降低了34.44%。這表明stacking-plsr模型能夠繼承PLS模型的優(yōu)點(diǎn),對高維數(shù)據(jù)進(jìn)行擬合,同時經(jīng)過stacking集成思想的改進(jìn)能使模型更有效地擬合非線性數(shù)據(jù),擬合精度更高。
表3 兩種部分樣本模型擬合程度評價指標(biāo)
本文將stacking集成思想引入PLS模型進(jìn)行改進(jìn),提出新的stacking-plsr模型,改善了傳統(tǒng)PLS模型對非線性數(shù)據(jù)擬合效果不佳的情況,提升了在高維數(shù)據(jù)情況下多變量非線性關(guān)系的擬合精度。對于提出的stacking-plsr模型,使用1995-2018年的29項數(shù)據(jù)進(jìn)行實(shí)證分析,并與傳統(tǒng)的PLS模型的擬合效果進(jìn)行對比,結(jié)果表明stacking-plsr模型對測試集的預(yù)測結(jié)果在MSE和ARE兩個方面均優(yōu)于PLS模型。
此外,對于改進(jìn)的stacking-plsr的魯棒性和敏感性進(jìn)行分析,結(jié)果表明stacking-plsr模型對于輸入模型的訓(xùn)練集有較好的包容性,極端數(shù)據(jù)對于stacking-plsr模型的擬合效果和預(yù)測精度影響較小,即stacking-plsr模型的魯棒性良好;對于超參數(shù)degree而言,當(dāng)主成分個數(shù)選取合適時,超參數(shù)degree取值較大時并未導(dǎo)致模型的預(yù)測精度出現(xiàn)較大改變,即stacking-plsr模型在超參數(shù)degree取值較大時敏感性較低,模型不易因超參數(shù)degree出現(xiàn)過擬合情況。
本文主要討論的問題是如何在高維數(shù)據(jù)情況下多變量對多變量構(gòu)建非線性擬合模型并進(jìn)行預(yù)測,stacking-plsr模型同樣可以應(yīng)用于其他領(lǐng)域的預(yù)測工作之中。