張欣怡,袁宏俊
(安徽財經大學 統計與應用數學學院,蚌埠 233030)
對于一個時間序列趨勢分析問題,一般不只限于一種時序預測模型可以使用,特別在數據量較大的情況下,數據量的增多意味著信息的增多,只根據誤差大小選擇單一模型進行預測可能會導致部分有用信息的流失.因此對于數據量較大的時間序列趨勢分析,進行組合預測很有必要.組合預測模型是將多個候選預測模型的預測結果賦予合適的權值進行組合,核心問題包括兩個方面:預測模型選擇、權重確定方式.
可供選擇的單項預測模型包括灰色預測模型[1]、時間序列模型[2]以及機器學習模型,前兩者是傳統的統計學模型,機器/深度學習模型應用于組合預測模型則是比較新的探索[3-6].
組合預測模型的權重選擇方式包括層次分析法[6]、熵權法[7,8]和最優加權法[9],以上方法原理是基于預測數據本身的性質;還有一類方法是基于單項模型預測誤差來確定權重的,如最小二乘法[10,11],改進后的廣義加權最小二乘法[12,13],局部加權最小二乘法[14,15].
正則化和交叉驗證是機器學習建立模型時使用的一種用于優化模型參數的方法,Hansen 和Racine[16]提出了基于交叉驗證的Jackknife 模型平均(JMA)方法,并證明了JMA 方法可使模型權重選擇得到優化;Zhao 等[17]在JMA 方法的基礎上開發了一個基于K 折交叉驗證的權重選擇準則,并證明了使用該準則可以產生更準確的預測.Sebastian Bayer[18]則在組合權重的選擇中使用正則化降低單項預測間的多重共線性,并證實這種方法可以通過穩定模型來提高模型預測能力.
通過閱讀以上文獻,發現以往針對正則化和交叉驗證的研究有兩個特點:一方面,正則化和交叉驗證對組合模型的影響都獨立研究,不能夠發現這兩者共同作用于組合模型的影響規律;另一方面,以上研究著重于比較正則化或交叉驗證與其他權重選擇方法的影響能力,不注重討論它們本身應用時的優化規律.有鑒于此,本文將以最小二乘加權組合預測模型為基礎,這種組合預測模型屬于常規組合模型設計,但其結構靈活,使用廣泛,具有一定的改良和研究價值;使用正則化和交叉驗證對其進行優化,正則化項選擇L1范數和L2范數,交叉驗證選擇K 折交叉驗證和留一交叉驗證,實驗數據選擇我國鐵路客運量2005~2018年的月度數據,由于該數據具有明顯時間序列周期性,組合預測的單項模型選擇為適合分析周期性時間序列的SARIMA模型和Holt-Winters 模型.
(1)SARIMA 建模原理和步驟
SARIMA 模型稱為季節性差分自回歸移動平均模型,能夠通過在ARIMA 模型的基礎上通過適當次數的季節性差分來消除序列的不穩定性,適合處理具有趨勢性和周期性的時間序列[19].也寫作SARIMA(p,d,q)(P,D,Q)[m]模型,由6 個部分組成:AR(自回歸)、I(整合/差分)、MA(移動平均)、SAR(季節性自回歸)、SI(季節性整合/差分)、SMA(季節性移動平均),每個模型均是SARIMA 的特殊情況,各自對應的參數為p,d,q,P,D,Q,還有一個參數[m]表示季節性周期長度,本文的實驗數據m 值為12;模型結構為:

其中,B 是滯后算子,d 是趨勢差分次數,D 是以周期m 為步長的季節差分次數,{ εt}為白噪聲序列.
使用SARIMA 模型建模的過程為:
1)檢驗原序列平穩性,對不平穩的原序列通過d 次差分使其滿足平穩性條件;
2)對平穩化后的時間序列數據繪制自相關圖和偏自相關圖,以此初步識別模型的p、q、P、Q 可以取值的范圍,然后使用AIC 準則作為尋找最佳模型的準則,在所有通過檢驗的模型選擇AIC 值最小的模型作為最適合的SARIMA 模型;
3)對已經選定的模型進行檢驗,觀察模型參數是否通過檢驗以及殘差序列是否為白噪聲序列,如果模型參數未能通過檢驗或殘差序列存在相關性,則模型需要重新擬合;
4)使用通過檢驗的SARIMA 模型進行時間序列預測.
(2)Holt-Winters 模型
Holt-Winters 模型是一種可用于周期性和趨勢性時間序列預測問題的模型,也稱作三次指數平滑法.模型思想可認為是對一組時序數據長期趨勢、周期變化和隨機擾動的分解,因為Holt-Winters 模型是在保留了隨機擾動信息的一次指數平滑模型和保留了趨勢信息的二次指數平滑模型的基礎上添加一個新參數,使其對時間序列的周期性進行描述,模型分為累加模型和累乘模型兩種.
累加模型的數學表達如下:

累乘模型的數學表達為:

在上述公式中,Xt為t 時刻的觀測值,st、it、pt分別為t 時刻的穩定成分、周期成分和趨勢成分,h 為區間外預測期數,k 為周期長度,α、β、γ 為平滑參數且α、β、γ∈[0,1].
累加模型適合于周期趨勢不隨時間變化而發生變化的時間序列,累乘模型適合于周期趨勢隨時間變化發生變化的時間序列,在使用Holt-Winters 模型進行單項模型預測時需要根據實驗數據自身特點選擇其中一個模型.
對于一個n 期時間序列預測問題,觀測數據為x={x1,x2,···,xt,···,xn},其中xt表示變量在t 時刻的觀測值,選取J 個單項預測模型對其進行預測,得到J 個預測模型 {φ1,φ2,···,φJ},則在t 時刻對序列的預測值為{φ1(t),φ2(t),···,φJ(t)},組合預測的思想就是對每個模型的預測值通過適當的加權方法進行組合,設單項預測模型的權重為{ ω1,ω2,···,ωJ},且則組合模型的數學表達式為:

權重選擇的常見思想是根據每個模型的預測精度,即預測值與觀測值之間的誤差來進行權重選擇,可供使用的誤差包括相對誤差、絕對誤差、對數誤差和誤差平方和等,本文將在使用誤差平方和作為加權依據的最小二乘加權法的基礎上,加入正則化項并使用交叉驗證對加權法則進行優化,進而研究正則化和交叉驗證對組合預測模型的優化能力.
(1)最小二乘加權法
在組合模型中經常使用預測值與觀測值之間的誤差平方和最小化來計算權重系數,這種方法被稱為最小二乘法[20],對于一個線性組合預測模型:
在t 時刻組合預測模型的預測值為Φt,第i 種單項預測模型的預測值為φi(t),觀測值為 xt;那么在t 時刻,第i 種單項預測模型的預測誤差為 ei(t)=φi(t)-xt,則組合預測模型在t 時刻的預測誤差為et=(Φt-xt)=,為了使組合模型的預測值最優,將預測值最優問題轉化為組合模型性誤差最小化問題,組合預測模型的誤差平方和為,在實際運算時一般采用平均誤差平方和MSE 作為組合預測模型的誤差衡量準則,則基于上述理論,最小二乘加權法的數學表達為:

(2)正則化
正則化技術廣泛應用于機器學習和深度學習算法中,常用于防止模型過擬合或提高模型泛化能力,其思想是在經驗風險(本文指誤差平方和最小化函數)中加上一個正則化項來控制權重系數矩陣的值使權重矩陣縮減或變得相對稀疏,從而避免有些特征在模型中影響力過高導致的模型過擬合[21].
在組合預測模型中,如果幾個單項預測模型的預測效果表現的比較接近,直接選取其中預測精度最高的模型進行組合可能會失去一些有用的信息,但如果將所有單項預測模型一起進行組合,在傳統的加權方式下,組合模型權重選擇會很大程度上偏向在訓練數據中預測誤差最小的單項預測模型,形成的組合模型會在訓練數據上表現的比較好,但是在預測數據上則可能會出現“過擬合”現象,從而降低組合模型對新數據的預測能力.基于這種思考,本文將正則化方法引入組合預測模型的加權過程調整每個單項預測模型的權重,在回歸問題(最小二乘估計)中,正則化一般具有以下形式:

式(7)被稱作代價函數,其中,N 表示數據集的樣本總量,m 表示需要被加權的特征總量,ωi表示權重系數矩陣,xi表示權重系數矩陣對應的樣本特征的向量,加號前是損失函數,加號是正則化項,λ 為調整兩者之間的關系的系數,一般稱之為正則項系數,常用的正則項有兩種:L1范數正則化和L2范數正則化.
1)L1范數正則化
L1范數得名原因是因為式(7)中正則化項的p 取值為1,即正則化項為λ,其中的就是L1范數,一般寫作‖ ωi‖.
在一般的最小二乘加權模型中,模型會通過最小化平方誤差和來選擇權重,在這個過程中模型只會注重誤差平方和最小化而忽略了對權重的控制,將L1范數加入最小化函數中后,如果對單個模型賦予的權重過大,最小化函數仍然無法實現最小化,這就會使得模型在選擇權重時有兩個方面的考慮:誤差平方和最小化和權重系數矩陣最小化.
將L1范數代入本文的組合預測模型中,得到基于L1范數的組合預測模型的代價函數:

2)L2范數正則化
與L1范數類似,L2范數得名原因是由于式(7)中正則化項的p 取值為2,即為,L2范數與L1范數的工作原理類似,都是在最小化損失函數的過程中降低權重系數矩陣的值,但是達到的效果有所不同,具體見圖1.
如圖1 所示,圖左是L1范數,圖右是L2范數,旋渦部分代表損失函數最小化的過程,在整體代價函數最小化的過程中,L1范數的圖像與權重 ωi的圖像在零點以外的地方只會無限接近不會重合,L2范數的圖像與權重 ωi的圖像則有可能在零點以外的地方重合;這意味著L1范數可能會使部分權重變為0,而L2范數則只會讓每個特征盡可能的變小而不會變為0.

圖1 L1范數與L2范數在代價函數最小化中的圖像
將L2范數代入本文的組合預測模型中,得到基于L2范數的組合預測模型的代價函數:

這樣就得到了帶有正則化項的組合預測模型:
基于正則化的組合模型在為單項預測模型加權的過程中,就不會出現因為某個單項預測模型在訓練數據上表現過好或過差而為其賦予很大的權值,避免了組合預測模型在預測數據上表現出“過擬合”的情況.
(3)交叉驗證
交叉驗證是機器學習中另一種選擇模型、優化模型的方法,常用于數據量對于擬合模型不是很充足的時候,其思想是重復的使用數據,把給定的數據進行切分,將切分的數據集分為訓練集和測試集,在這個基礎上反復進行訓練、測試以及模型選擇.交叉驗證方法包括簡單交叉驗證、K 折交叉驗證和留一交叉驗證.
如圖2 所示,K 折交叉驗證的思想是將已給數據切分為K 個大小相同、互不相交的子集,利用其中K-1 個子集進行訓練,剩下的一個子集用來測試模型,這種操作重復進行K 次,最后選擇在K 次評測中誤差最小的模型;留一交叉驗證是是K=N 時的K 折交叉驗證,這種方法往往在數據量較小的情況下使用,本文所使用的數據量相對于較小,故選用留一交叉驗證.

圖2 K 折交叉驗證示意圖
(4)模型優劣判定
本文將把總數據集分為訓練集和測試集,總樣本量設為N,訓練集容量為m,選用平均絕對百分比誤差MAPE 對測試集上的模型預測結果進行評價:

為了保證正則化和交叉驗證有一定的學習率,本文在一定程度上擴大了時間序列的數據量,采用的時間序列數據為我國鐵路客運量2005年1月~2018年11月的月度數據,樣本量為168,數據來源為國家統計局,時間序列趨勢圖如圖3.

圖3 時間序列均值-標準差分析圖
如圖3 所示,我國鐵路客運量有明顯的升高趨勢和周期性趨勢,ADF 檢驗表明數據存在不穩定性,是不平穩序列,適合使用SARIMA 模型和Holt-Winters 模型進行時間序列預測.
根據自相關和偏自相關圖、AIC 準則、模型顯著性以及實驗數據序列周期性與時間的相關性,本文使用的單項預測模型如下:
1)SARIMA(1,1,1)(1,1,1)[12]模型;
2)SARIMA(1,1,1)(0,1,1)[12]模型;
3)SARIMA(0,1,1)(0,1,1)[12]模型;
4)Holt-Winters 累加模型.
另外,以上3 個SARIMA 模型的AIC 值接近,參數只有一個未通過檢驗但是非常接近給定的P 值,
為了保留可能存在的潛在信息,對這3 個SARIMA模型的預測結果都予以保留.
本文選用的組合預測模型如下:
1)最小二乘法組合模型;
2)基于L1范數的組合模型( λ=1);
3)基于L1范數和交叉驗證的組合模型;
4)基于L2范數的組合模型( λ=1);
5)基于L2范數和交叉驗證的組合模型.
在鐵路客運量的組合預測中,將2005年至2017年的數據作為訓練集,2018年的數據值作為預測集,計算每個模型在預測集上的誤差,得到模型在測試集上的表現如表1.
由表1 所示的各模型在預測集上的預測誤差可觀察到,簡單最小二乘法組合預測模型的預測誤差為3.9576%,比所有的單項預測模型的預測誤差都要低;引入L1范數和L2范數后的組合模型的預測誤差分別為3.7993%、3.8118%,比最小二乘法組合預測模型的預測誤差略低;因此根據實驗數據,說明在組合預測模型進行權重選擇時引入正則化項能夠使組合預測模型的預測誤差降低,并且基于L1范數正則的組合模型比基于L2范數正則的組合模型對組合預測模型的優化效果更好;此外,交叉驗證在一定程度上改善了L1范數正則化模型的預測效果,對L2范數的模型起到的作用很小,幾乎可以忽略不計.

表1 各模型在預測集上的預測誤差 (單位:%)
結合各組合預測模型對單項預測模型的權重選擇進行分析,由表2 所示的各組合模型中單項模型的權重,可發現:1)所有的組合模型的權重分布都滿足的條件;2)在最小二乘組合模型的權重選擇的基礎上,加入L1范數和L2范數的單項預測都使其絕對值降低了,但能夠觀察到,加入L1范數正則的組合模型在調整權重時,權重絕對值的下降速度更快,而加入L2范數正則的組合模型對權重的調整則并不明顯.
L1范數是絕對值函數,L2范數則是二次函數,這種差異導致L1范數正則在使模型權重衰減時始終保持同一個速度,而L1范數正則會在權重較大時提高衰減速度,權重較低時降低衰減速度,最終,L1范數正則在降低模型復雜度時保留了權重較大的單項模型,并且盡量使模型變得稀疏,L2范數正則在降低模型復雜度時則使模型更加符合規則化.
相對于L2范數正則經常被使用的機器學習特征分配的應用場景,組合預測模型需要被分配權重的單項預測模型個數較少,權重數值小,這使得L2范數正則在調整組合預測模型的權重時沒有L1范數正則的下降速度快,改善效果明顯.
基于以上分析,認為L1范數正則化更適合用于組合預測模型.另外在實驗過程中發現,參與組合預測的單項預測模型越多,正則化的改善效果越好.

表2 各組合模型的權重選擇
交叉驗證則在一定程度上改善了L1范數正則化模型的預測效果,對L2范數的模型起到的作用很小,L1范數的代價函數在組合預測模型中表現出的懲罰力度大,使得交叉驗證的改善效果強于L2范數的懲罰力度,并且在實驗中發現,訓練數據分配的越多,交叉驗證的改善效果就越好.
本文按照常規的組合模型設計思路,在基于最小二乘法的組合預測模型中,引入了正則化和交叉驗證用以優化組合預測模型的權重選擇,通過實驗發現:首先,組合預測模型優于所有單項預測模型的預測精度,正則化和交叉驗證都能在不同程度改善基于最小二乘法的組合預測模型,且L1范數正則化比L2范數正則化的改善效果更好;其次,實驗中發現候選的單項預測模型越多、數據量越大,正則化和交叉驗證表現的效果就越好,因此這種組合預測方法可以推廣到基于大數據的多模型組合預測中.