陳靜杰 孟 琦
(中國(guó)民航大學(xué)電子信息與自動(dòng)化學(xué)院 天津 300300)
民航節(jié)能減排“十三五”規(guī)劃對(duì)民航業(yè)溫室氣體排放的要求以及國(guó)際上即將實(shí)行的碳排放交易體系,使我國(guó)機(jī)場(chǎng)節(jié)能減排壓力日益增加[1]。因此,準(zhǔn)確預(yù)測(cè)機(jī)場(chǎng)能耗意義重大。而機(jī)場(chǎng)非飽和狀態(tài)與飽和狀態(tài)相互轉(zhuǎn)換的生命周期特點(diǎn)導(dǎo)致非飽和機(jī)場(chǎng)能耗數(shù)據(jù)有效樣本量較少且具有非線性和非平穩(wěn)特性,預(yù)測(cè)難度較大。
能耗預(yù)測(cè)方法的研究大致分為單一模型法和組合模型法。常見(jiàn)單一模型有時(shí)間序列法[2]、支持向量回歸法[3-4]和神經(jīng)網(wǎng)絡(luò)法[5]等,但以上單一模型在處理非線性且非平穩(wěn)的時(shí)間序列時(shí)均存在一定的局限性。因此,能夠結(jié)合單一模型優(yōu)點(diǎn)的組合模型研究開(kāi)始受到越來(lái)越多關(guān)注。組合模型主要有:1) 并聯(lián)式組合法,該方法利用組合權(quán)系數(shù)將單一模型預(yù)測(cè)結(jié)果進(jìn)行加權(quán)相加,組合模型是單一模型的線性疊加[6-7]。該方式忽略了模型間的非線性關(guān)系且組合權(quán)重的確定決定了模型精度的高低。2) 串聯(lián)式組合法,該方法利用前一模型的輸出作為后一模型的輸入,后一模型的輸出為最終結(jié)果,該方式的組合模型精度受前一模型輸出影響且易導(dǎo)致誤差疊加[8]。3) 基于序列分解的組合預(yù)測(cè)法,該方法將原始序列分解為一系列子序列,對(duì)子序列分別建模預(yù)測(cè)并疊加得組合預(yù)測(cè)值。如小波變換法[9]、經(jīng)驗(yàn)?zāi)B(tài)分解EMD(Empirical Mode Decomposition)方法[10-11]、聚類(lèi)經(jīng)驗(yàn)?zāi)J椒纸釫EMD(Ensemble Empirical Mode Decomposition)方法[12]和自適應(yīng)噪聲完整集成經(jīng)驗(yàn)?zāi)B(tài)分解CEEMDAN(Complete Ensemble Empirical Mode Decomposition with Adaptive Noise)方法[13]等。以上研究通過(guò)分解技術(shù)降低了原始序列的非線性與非平穩(wěn)特征。但由于各種分解算法的固有缺陷,使得受外界隨機(jī)因素影響的時(shí)間序列經(jīng)分解所得的高頻分量的非線性和非平穩(wěn)性依然較高[14]。
綜上可知,對(duì)高頻分量進(jìn)一步弱線性化和平穩(wěn)化是基于序列分解的組合預(yù)測(cè)方法精度提高的關(guān)鍵,因此,提出一種基于兩步分解法和季節(jié)差分自回歸滑動(dòng)平均模型SARIMA相結(jié)合的組合預(yù)測(cè)方法。首先,利用CEEMDAN算法將原始序列分解為一系列從高頻到低頻的分量,依據(jù)各分量的樣本熵SE(Sample Entropy)識(shí)別其復(fù)雜度進(jìn)行模式重組。然后,利用變分模態(tài)分解VMD(Variational Mode Decomposition)算法把重組分量中的高頻復(fù)雜分量再次分解,得到一系列呈現(xiàn)弱非線性且相對(duì)平穩(wěn)的子序列。最后,采用SARIMA對(duì)子序列分別進(jìn)行建模,將各子序列預(yù)測(cè)值疊加得機(jī)場(chǎng)能耗預(yù)測(cè)值。以某非飽和機(jī)場(chǎng)能耗數(shù)據(jù)作為樣本進(jìn)行實(shí)驗(yàn),驗(yàn)證所提方法具有較高的預(yù)測(cè)精度。
兩步分解法的分解過(guò)程見(jiàn)圖1。第一步分解,利用CEEMDAN算法將原始序列分解為一系列本征模函數(shù)IMF和一個(gè)剩余趨勢(shì)分量RES。利用SE值識(shí)別各分量的復(fù)雜度進(jìn)行模式重組,降低預(yù)測(cè)模型的運(yùn)算量。第二步分解,利用VMD算法對(duì)高頻復(fù)雜分量再次分解,得到一系列子序列VM。經(jīng)過(guò)以上兩步分解,原始時(shí)間序列被分解為一系列呈現(xiàn)弱非線性且相對(duì)平穩(wěn)的子序列。
圖1 兩步分解流程圖
其中,IMF1,IMF2,…,IMF(n-1)和RES為CEEMDAN分解所得子序列,IMF1′,IMF2′,…,IMFm′為經(jīng)樣本熵識(shí)別重組后的子序列,VM1,…,VMu為VMD分解所得子序列。
定義EMD算法分解所得分量為Ek(·),CEEMDAN算法分解所得分量為FIM,k(t),k為分解階段。CEEMDAN-SE分解具體步驟如下:
(1) 向原始時(shí)間序列加入N次白噪聲構(gòu)造新序列:
xi(t)=x(t)+ε0wi(t)
(1)
式中:x(t)為實(shí)際時(shí)間序列,wi(t)為服從N(0,1)分布的白噪聲,i=1,2,…,N,ε0為自適應(yīng)系數(shù)。
(2)
(3) CEEMDAN的第1個(gè)分量FIM,1(t)和第1階段(k=1)的余量信號(hào)r1(t)為:
(3)
r1(t)=x(t)-FIM,1(t)
(4)
(4) 對(duì)信號(hào)r1(t)+ε1E1(wi(t))進(jìn)行EMD分解,則FIM,2(t)為:
(5)
(5) 對(duì)其余階段,即k=2,3,…,K,與步驟(3)相同,計(jì)算第k個(gè)余量信號(hào)為:
rk(t)=rk-1(t)-FIM,k(t)
(6)
計(jì)算第k+1個(gè)模態(tài)分量為:
(7)
(6) 重復(fù)步驟(5),直至所獲余量信號(hào)不能再分解為止,即余量信號(hào)極值點(diǎn)數(shù)不超過(guò)兩個(gè)。最終序列分解為K個(gè)IMF分量和一個(gè)余量R(t):
(8)
(7) 計(jì)算各FIM,k(t)和R(t)的SE值,將SE值相差較小的FIM,k(t)合并為新分量。SE的具體算法見(jiàn)文獻(xiàn)[15],設(shè)時(shí)間序列為{u(t),t=1,2,…,N},u(t)為FIM,k(t)或R(t),m為嵌入維數(shù),r為相似容限,定義X(i)=[u(1),u(2),…,u(i+m-1)],i=1,2,…,N-m+1,矢量X(i)與X(j)之間的距離為:
(9)
式中:j=1,2,…,N-m+1且i≠j,則SE表示為:
(10)
經(jīng)以上步驟,原始時(shí)間序列分解為一系列具有復(fù)雜度差異的子序列,設(shè)各子序列的SE均值γ為門(mén)限值,對(duì)SE大于γ的子序列進(jìn)行第二步分解。
VMD算法實(shí)現(xiàn)過(guò)程如下:
(2) 根據(jù)下式更新參數(shù)yk和wk。
(11)
(12)
(3) 更新參數(shù)λ:
(13)
式中:τ為噪聲容限,為達(dá)良好去噪效果可設(shè)為0。
(4) 迭代停止判斷條件如下式,若不滿(mǎn)足,則m加1,返回步驟(2),否則停止迭代,得k個(gè)模態(tài)分量。
(14)
經(jīng)過(guò)以上兩步分解,原始時(shí)間序列被分解為一系列呈現(xiàn)弱非線性且相對(duì)平穩(wěn)的子序列。
季節(jié)ARIMA模型記作SARIMA(p,d,q)(P,D,Q)S,公式如下:
(15)
CEEMDAN-SE-VMD-SARIMA組合預(yù)測(cè)方法具體過(guò)程如下:
(1) 將原始時(shí)間序列進(jìn)行兩步分解,得到一系列子序列。
(16)
(17)
式中:yi(t)為殘差修正后各子序列預(yù)測(cè)結(jié)果;y(t)為子序列預(yù)測(cè)結(jié)果相加所得的最終預(yù)測(cè)結(jié)果。
實(shí)驗(yàn)程序在Windows 7 64位系統(tǒng)Intel-I7 CPU、32 GB內(nèi)存的計(jì)算機(jī)上進(jìn)行,在MATLAB 2009a軟件平臺(tái)上進(jìn)行仿真。實(shí)驗(yàn)數(shù)據(jù)為某非飽和機(jī)場(chǎng)2013年-2016年的機(jī)場(chǎng)綜合能耗數(shù)據(jù),數(shù)據(jù)采樣周期為1個(gè)月。利用2013年-2015年月度能耗數(shù)據(jù)對(duì)2016年機(jī)場(chǎng)月度能耗進(jìn)行預(yù)測(cè),用2016年的能耗實(shí)際數(shù)據(jù)對(duì)預(yù)測(cè)方法的預(yù)測(cè)精度進(jìn)行評(píng)價(jià)。采用平均相對(duì)誤差(RME)、均方根誤差(RMSE)和判定系數(shù)(R2)對(duì)模型預(yù)測(cè)效果進(jìn)行比較。
(18)
(19)
(20)
3.2.1 兩步分解
首先利用CEEMDAN算法分解原始能耗時(shí)間序列,分解結(jié)果如圖2所示。
圖2 能耗原始序列和CEEMDAN分解所得子序列
由圖2可以看出,原始時(shí)間序列被分解為5個(gè)IMF分量和1個(gè)剩余趨勢(shì)分量RES。由于分解后的分量較多,若對(duì)每一個(gè)分量都進(jìn)行SARIMA建模并進(jìn)行殘差修正,計(jì)算規(guī)模較大,且會(huì)造成誤差疊加。為降低上述影響,利用SE識(shí)別各子序列的復(fù)雜度進(jìn)行模式重組。由式(10)可知,SampEn值與m和r有關(guān),由于SE具有較好的一致性,其值的變化趨勢(shì)不受m和r影響,一般情況下取m=1或2,r=0.1~0.25SD,SD為時(shí)間序列標(biāo)準(zhǔn)差,本文選取m=2,r=0.2SD。各子序列的SE值結(jié)果如圖3所示。
圖3 各IMF及RES的樣本熵
由圖3可知,IMF3和IMF4的樣本熵值差異較小,可將其合并為一個(gè)子序列。經(jīng)過(guò)重組后子序列變?yōu)?個(gè)。結(jié)合圖2和圖3可知,IMF1和IMF2的復(fù)雜度較高依然具有較高的非線性和非平穩(wěn)性特征。
計(jì)算得IMF1和IMF2的SE值均大于γ,采用VDM算法再次分解IMF1和IMF2,結(jié)果如圖4所示。
(a) IMF1經(jīng)VMD分解所得子序列
(b) IMF2的VMD分解所得子序列圖4 VDM分解
由圖4可以看出,IMF1和IMF2經(jīng)再次分解后分別得到4個(gè)充分降低了非線性和非平穩(wěn)性的子序列。至此,經(jīng)兩步分解得到11個(gè)子序列。
3.2.2 模型比較分析
在經(jīng)過(guò)兩步分解的基礎(chǔ)上,對(duì)分解所得子序列建立不同的SARIMA模型,并對(duì)擬合殘差建模,修正預(yù)測(cè)結(jié)果,將各子序列的預(yù)測(cè)值相加得機(jī)場(chǎng)能耗預(yù)測(cè)值。為驗(yàn)證CEEMDAN-SE-VMD-SARIMA組合預(yù)測(cè)方法對(duì)提高機(jī)場(chǎng)能耗預(yù)測(cè)精度的有效性,分別利用SARIMA模型、CEEMDAN-SE-ARIMA法和VMD-SARIMA法對(duì)相同的能耗時(shí)間序列進(jìn)行預(yù)測(cè),對(duì)比分析各個(gè)方法得到的預(yù)測(cè)值。機(jī)場(chǎng)能耗預(yù)測(cè)結(jié)果對(duì)比如圖5所示,各模型的預(yù)測(cè)誤差指標(biāo)對(duì)比見(jiàn)表1。
圖5 能耗實(shí)際值和各模型預(yù)測(cè)值
表1 四種方法誤差指標(biāo)比較
根據(jù)圖5和表1可知,CEEMDAN-SE-VMD-SARIMA組合預(yù)測(cè)方法的擬合效果最好,其RME和RMSE均低于其他方法,其擬合優(yōu)度R2高于其他方法,說(shuō)明本文提出的CEEMDAN-SE-VMD-SARIMA組合預(yù)測(cè)方法的預(yù)測(cè)精度最高。CEEMDAN-SE-SARIMA方法和VMD-SARIMA方法的誤差小于SARIMA模型,擬合優(yōu)度R2高于SARIMA模型,說(shuō)明通過(guò)分解技術(shù)可以提高模型的預(yù)測(cè)能力。而相比于單步分解的組合預(yù)測(cè)法,CEEMDAN-SE-VMD-SARIMA組合預(yù)測(cè)方法的誤差更小,擬合優(yōu)度R2更高。這說(shuō)明在處理非線性非平穩(wěn)的機(jī)場(chǎng)能耗時(shí)間序列時(shí),對(duì)序列進(jìn)行弱非線性化和平穩(wěn)化預(yù)處理對(duì)提高預(yù)測(cè)精度有很大的幫助,而一步分解得到的子序列中的高頻分量依然存在著較高的非線性和非平穩(wěn)性,直接將其舍棄或?qū)⑵漕A(yù)測(cè)結(jié)果加入最終結(jié)果均會(huì)導(dǎo)致預(yù)測(cè)精度的下降。相比于單步分解法,兩步分解法能夠更好地降低各個(gè)子序列的非線性和非平穩(wěn)性,從而有效地提高模型的預(yù)測(cè)精度。
針對(duì)非飽和機(jī)場(chǎng)能耗時(shí)間序列具有的非線性和非平穩(wěn)性特點(diǎn),提出一種基于兩步分解法和SARIMA的組合預(yù)測(cè)方法。
(1) CEEMDAN-SE方法優(yōu)于一般的序列分解方法,能夠有效地對(duì)原始時(shí)間序列信號(hào)進(jìn)行分解并減少建模運(yùn)算量。
(2) 采用CEEMDAN-SE-VMD兩步分解法來(lái)處理原始能耗時(shí)間序列的非線性和非平穩(wěn)性,分解效果明顯優(yōu)于一步分解法。
(3) 對(duì)子序列建立SARIMA預(yù)測(cè)模型,有效提取了序列的周期特征,并且利用擬合殘差預(yù)測(cè)值修正最初的預(yù)測(cè)值,提高了預(yù)測(cè)準(zhǔn)確性。
(4) 通過(guò)對(duì)幾種方法預(yù)測(cè)結(jié)果的對(duì)比分析,可以得出,本文方法大大提升了機(jī)場(chǎng)能耗預(yù)測(cè)的精度,也適用于其他非飽和型機(jī)場(chǎng),可為相關(guān)機(jī)場(chǎng)制定能耗有關(guān)決策、能耗綜合管理和節(jié)能績(jī)效評(píng)價(jià)提供一定的參考。