劉家學 沈貴賓
(中國民航大學電子信息與自動化學院 天津 300300)
運輸航空公司的能源消費量約占到民航業總能源消費量的94%,所產生的二氧化碳排放量約占到整個民航業的90%[1],能源的高效利用已成為航空公司面臨的一個關鍵性挑戰[2]。為進一步開展民航業節能減排工作,掌握運輸航空公司能耗的變化方向和發展特性,有必要對航空公司能耗預測進行研究。
目前,在能耗預測的相關研究中,主要的預測方法有情景分析法[3]、ARMA時間序列法[4]、灰色預測法[5]、支持向量回歸預測法[6-7]和人工神經網絡預測法[8]等。情景分析法不可避免地摻雜有預測者的主觀影響因素,預測結果受人為影響大,合理性較差。灰色預測模型簡單且計算方便,但不適用于波動數據,ARMA時間序列法對于高度復雜非線性系統的預測能力不足。而支持向量回歸預測法和傳統神經網絡預測方法,在針對小樣本、非線性等情況下,易于出現“過擬合”,預測精度和模型穩定性不高。隨著航空運輸業的發展,能耗呈上升趨勢,易受季節、國家政策、機型、機隊規模等多種因素的影響,且航空公司的能耗結構復雜,能耗數據同時呈現出趨勢性和波動性。常規傳統預測模型表達能力有限,無法清晰展現航空運輸公司能耗數據的發展特性,預測模型需要進一步改進。
為了進一步提高預測精度,在充分考慮航空公司能耗的數據特征的基礎上,本文采用LSTM[9]循環神經網絡建立能耗時間窗滑動預測模型。航空公司能耗受到外界諸多因素的影響,是一個非線性、強耦合的復雜系統,無法用精確的數學模型來描述,具有不確定性。本文將航空公司的歷史能耗數據作為時間序列模型進行能耗預測。
傳統的神經網絡模型各個層之間的節點是完全連通的,但每層之間的節點卻沒有任何連接,這種網絡結構無法對序列問題進行建模。
RNN的隱藏層增加了一個隱藏層狀態,節點在各層不再是無連接的,其網絡會對歷史信息進行記憶并傳遞到后面的節點中,即一個節點當前時刻的輸出與前面時刻的輸入也有關,如圖1所示。

圖1 RNN網絡結構
RNN單元輸出有兩個,隱藏層輸出ht以及狀態輸出yt,其數學表達式為:
ht=fa(Wxhxt+Whhht-1+bh)
(1)
yt=Whyht+by
(2)
式中:Wxh為輸入層到隱藏層的權重系數;Whh為隱藏層到隱藏輸出的權重系數;bh為隱藏層的偏置項系數;fa為激活函數;Why為隱藏層到狀態輸出層的權重系數;by為狀態輸出層的偏置項系數;t表示時刻。
由于傳統RNN需要記錄歷史信息,相當于一個多層的前饋神經網絡,歷史信息過多會導致網絡訓練時出現梯度消失、梯度爆炸等問題,損失歷史信息[10]。針對這些問題,進一步出現了長短時記憶循環網絡。
與傳統RNN相比,LSTM除了擁有“隱藏狀態”外,還增加了一個“細胞狀態”,同時在與時間點對應的每層中的神經元中添加了輸入門、輸出門以及忘記門,用來控制增加或刪除信息的程度。該模型可以學習長期的依賴信息,同時避免梯度消失問題[9],誤差更小,模型預測準確率更高。當前使用最廣泛的 LSTM網絡就是使用圖2中的LSTM單元替代原先RNN隱含層中的神經節點[11]。

圖2 LSTM單元示意圖
LSTM單元更新可以分為以下幾個步驟:
(3)
it=σ(Wxixt+Whiht-1+Wcict-1+bi)
(4)
ft=σ(Wxfxt+Whfht-1+Wcfct-1+bf)
(5)
(6)
ot=σ(Wxoxt+Whoht-1+Wcoct-1+bo)
(7)
ht=ot⊙tanh(ct)
(8)

LSTM模型同樣具有前向傳播和反向傳播兩部分,前向傳播部分通過式(3)-式(8)計算神經元的輸出值。反向傳播采取BPTT算法,其原理與經典反向傳播算法類似,只是其反向計算每個神經元的誤差項時,同時包括時間和網絡兩個方向,根據所計算的誤差,應用相應的優化算法更新神經元權重。
梯度下降法是最常用的優化算法之一,在每一個深度學習框架中都實現了各種優化的梯度下降法,常見的有SGD、AdaGrad、RMSProp、Adam等。本文使用的是自適應矩估計(Adaptive Moment Estimation,Adam)優化算法,Adam會對每一個參數都計算自適應的學習率。Adam不但保存一個指數衰減的歷史平方梯度平均值,還保存一個歷史梯度的指數衰減均值,在實際應用中,Adam有著更好的表現。
首先判斷序列的平穩性,由于航空公司的能耗數據具有季節性,所以需要消除時序的季節性趨勢,以得到平穩的序列。使用一階差分法處理原始數據,消除原始序列的非平穩性。
另外,LSTM框架包括輸入層、隱藏層和輸出層。航空公司的能耗數據是一個時間序列,顯然不符合網絡輸入輸出要求。為了適用于訓練模型,需要將時間序列數據轉換為監督學習型數據。
對于時間序列{x1,x2,…,xn},{xn}是預測的目標值,本文用前m天的能耗值預測下一天的能耗值,那么可以將時間序列數據按照滑動時間窗口長度m轉換為:
輸入:(n-m)×m維的矩陣X;
輸出:(n-m)維的矩陣Y;
即經過變換之后,得到用于學習訓練的樣本為:
(9)
由于樣本數據有限,模型復雜度較低,本文所構建的LSTM網絡只有三層,第一層為輸入層,輸入序列維度是m,輸出序列維度為隱藏層單元個數S;第二層為LSTM層,輸入和輸出維度均為S;第三層為Dense層,輸入序列維度是S,輸出序列維度為1,最終將輸入與輸出對應起來。模型架構如圖3所示。

圖3 時間序列預測模型
為實現對序列數據的多步預測,采取逐點迭代的預測方式。使用滑動時間窗定義模型觀測數據的寬度,對于下一個預測點,使具有固定寬度(固定個數的觀測數據)的時間窗向后推移一個步長。
例如時刻t-1是最新預測到的月份,時刻t是下一預測的月份,那么序列yt-1、yt-2、yt-3、…、yt-m是此時滑動時間窗口包含的所有觀測數據。
在構建深度學習模型時,超參數的選取至關重要。網格搜索算法(Grid-Search)是通過指定參數值,對其進行窮舉搜索選取最優參數組合的模型優化方法,簡單實用、可以并行進行運算而且運行時間可控[14]。在訓練模型時,待選取的超參數主要包括學習率、網絡步長、隱藏層個數、批尺寸等。通過給定相關超參數的范圍,Grid-Search通過循環遍歷每一種參數組合,從中選出性能最好的一組參數。
例如,要確定隱藏層單元個數,首先根據經驗設置參數為200,在保持其他參數不變的情況下,以此參數為中心,模型分別遍歷100、150、200、250、300。根據測試結果,選取最優的隱藏層單元個數。
模型的根本原理是分析原始序列的趨勢和季節性,從原始序列中刪除這些不穩定因素,得到一個穩定的序列,然后將穩定的序列應用到基于Grid-Search參數優化后的LSTM預測模型中,得到預測序列,并將預測值轉換成原來的區間。模型主要流程圖4所示。

圖4 航空公司能耗的預測流程圖
數據來自于某航空公司的2009年1月至2016年12月總計7年的月度能耗數據,采樣周期為1個月,將數據分成訓練集和驗證集,訓練集包括2009年至2015年的數據,驗證集包括2016年的數據。依次采用LSTM模型、RNN、SVR和ARMA對能耗數據進行仿真,并對各個預測結果進行分析。
采用相對誤差(RE)、平均相對誤差(RME)和均方根誤差(RMSE)作為檢驗預測模型的預測效果的指標:
(10)

實驗同一臺計算機上進行仿真,LSTM和RNN模型使用深度學習框架Keras及其后端框架tensorflow[13]構建,SVR使用MATLAB軟件,并結合Libsvm工具箱進行建模和仿真。ARMA模型由統計軟件SPSS進行仿真。
為了驗證LSTM模型的有效性,下文將LSTM模型分別與RNN、ARMA和SVR進行對比。為此,再分別建立基于ARMA和SVR的航空能耗預測模型。
3.2.1基于ARMA的航空能耗預測模型
對于航空公司能耗數據的時間序列{x1,x2,…,xn},自回歸移動平均模型[4]ARMA(p,q),可以表示為:
xt=φ1xt-1+φ2xt-2+…+φpxt-p+
et-θ1et-1-θ2et-2-…-θqet-q
(11)

et+l-θ1et+l-1-θ2et+l-2-…-θqet+l-q
(12)
本文根據文獻[15]提出的基于新陳代謝灰色馬爾可夫-ARMA方法構建航空能耗預測的ARMA模型,并進行仿真試驗。
3.2.2基于SVR的航空能耗預測模型
對于航空公司能耗數據的時間序列{x1,x2,…,xn},為了滿足輸入輸出要求,也需要依據式(9)進行變換,使用變換之后的樣本對SVR進行訓練[12]。
使用的回歸函數為:
(13)
由此得到一步預測為:
(14)
s.t.t=m+1,…,n
式中:xn-m+1={xn-m+1,xn-m+2,…,xn},得到一個樣本xn-m+2={xn-m+2,xn-m+3,…,xn+1},則二步預測為:
(15)
以此類推可以得到第l步預測為:
(16)
式中:xn-m+l={xn-m+l,…,xn+1,…,xn+l-1}。
本文SVR模型中的懲罰因子C取20,高斯核函數參數γ=0.01,窗口大小為6。
訓練模型過程中,需要確定的超參數主要包括:窗口長度、隱藏層個數、學習率,分別采用Grid-Search策略逐個循環遍歷進行參數尋優。由于數據量相對較少,歷史依賴信息少,所以設定窗口長度的取值范圍從最小值開始,設定為m∈{1,2,3,…,12},隱藏層神經元個數的取值范圍為n∈{50, 100, 150, 200, 250, 300}。在設置學習率的取值范圍時,由于在訓練過程中,LSTM 模型的精度和損失受學習率的取值影響較大,學習率過高或過低都可能會出現過擬合或欠擬合,陷入死循環或者輸出變“糊”的情況會經常發生,影響模型的預測性能。所以設置學習率的取值范圍為3個等級{0.001,0.01,0.1},在每個等級上擴充為3個數值,即設定學習率η∈{0.001,0.003,0.005,0.01,0.03,0.05,0.1,0.3,0.5}進行搜索。
取驗證集的RMSE作為評判標準,實驗記錄了在不同參數條件下的仿真結果,基于篇幅有限,以下列出學習率η為0.001、0.01、0.1的仿真結果圖(如圖5、圖6、圖7所示),圖中顏色越深,代表著RMSE值越小,預測精度越高。

圖5 η=0.001參數尋優

圖6 η=0.01參數尋優

圖7 η=0.1參數尋優
根據圖7的實驗結果,當學習率為0.1級別時,顏色普遍較淺,代表其RMSE越大,說明在建立此LSTM模型時,學習率不易過大。同時根據圖5和圖6的結果可以判斷,在學習率固定下,隱藏層神經元個數相對偏大,窗口長度相對偏小時,其RMSE值較好,模型精度更高。
以下列出LSTM模型參數尋優結果中,前5組最優的參數組合以及對應的RMSE如表1所示。

表1 LSTM模型的最優參數組合
根據網格搜索算法選出的最優參數組合,即參數組合為(m,n,η)=(4,200,0.001),訓練出LSTM的參數預測模型,并與其他預測模型的預測結果進行對比。
ARMA、SVR、RNN和LSTM模型預測值的RME和RMSE如表2所示,各個模型2016年預測值的RE如表3所示。其中LSTM模型的RME為0.019 4,預測精度最高。 ARMA、SVR和LSTM預測下一年每個月能耗的預測結果如圖8所示。其中LSTM預測值與實際數據相差最小。以上結果說明本文提出的LSTM模型對預測精度有一定的提高,預測效果更好。

圖8 ARMA,SVR和LSTM模型預測

模型RMERMSEARMA0.032321261SVR0.025518798RNN0.025015603LSTM0.019410162

表3 各模型的RE對比 %
本文根據航空公司能耗統計數據具有的非線性和非平穩性的數據特征,提出了基于Grid-Search 優化的LSTM預測模型,進一步提升了航空公司能耗預測的精度。以某航空公司月度綜合能耗數據進行仿真試驗,對ARMA、SVR、RNN和LSTM預測模型進行了驗證和對比,證實了LSTM預測模型的有效性。本文提出的預測模型,更適用于具有趨勢性且內部影響因素復雜的隨機時間序列的短期預測,可為航空公司制定能源規劃、能耗管理和節能減排的優化開展提供一定的參考。