魏姝瑤,張 瑾
(昆明理工大學 交通工程學院, 昆明 650504)
2019年12月武漢市發現新型冠狀病毒后,為了抑制病毒的快速蔓延,國家采取了一系列全國范圍內的交通管制措施,這些政策性措施對鐵路客運組織造成了巨大沖擊[1]。目前鐵路運營管理仍舊是依靠調度員的經驗來判斷客流變化,這就造成部分鐵路部門應對像新冠肺炎這樣的重大公共衛生突發事件的能力和準備不足,難以適應客流的波動特征[2]。因此,有必要研究鐵路突發性事件的短時客流預測問題,為運營管理提供理論依據。
鐵路客流短時預測的方法大致可分為線性模型、非線性模型和組合模型3種[3]。時間序列模型作為最傳統的線性客流預測方法,如Zhu[4]通過n日移動平均客流量指標,建立ARlMA模型預測上海地鐵客流的變化情況;Rusyana等[5]運用SARIMA季節模型將數據建模為依賴于前一個季節的值而不是之前的原始序列值,應用這種方法更加精確地預測了吉隆坡國際機場入境游客數量。這類模型的缺陷在于只關注數據在時間維度上的變化特征,通過測量其相關性和變化趨勢來建立模型并用于預測,但顯然還有許多其他因素和信息尚未參考,如難以捕捉的空間維度信息等。因此,經典時間序列模型對于復雜的多變量非線性關系的建模并不理想。隨著數據采集手段的進步和歷史數據量的增加,以神經網絡為代表的非線性模型發展迅速,在模式識別、樣本分類、預測等領域得到廣泛應用,如Sha等[6]提出了一種基于RNN的地鐵客流預測方法,但是隨著相關理論知識的不斷完善,發現RNN不能很好地處理遠距離依賴的問題;Liu等[7]將LSTM模型應用于短時客流預測,解決了RNN在訓練期間梯度消失的問題。Chen等[8]則針對長短期記憶(LSTM)模型在城市交通流預測中準確率低的問題,提出了一種基于注意機制的LSTM模型。該模型計算每個過去值和當前值之間的相關性,為這些過去值分配不同的權重,并衡量它們對當前值的重要性。為了更加充分地發揮二者在線性方面和非線性方面的互補優勢,近年來,出現了將以上2種方法混合建模的發展趨勢,如ARIMA和BP神經網絡[9]、ARIMA模型和小波神經網絡[10]等組合模型。因為隨著經濟的快速發展,軌道交通給人們帶來快速便捷出行方式的同時,不可否認線路的日益復雜和客流的迅速增加也給鐵路運營的調試和管理帶來了巨大的壓力,而運用組合模型預測短時客流對緩解軌道交通壓力具有重要意義。
上述組合模型的研究雖有助于短期客流預測,但是都缺少對短期異常客流預測的關注。本文將因新冠疫情對春運期間日客流量造成的異常波動稱之為異常客流。在面對新冠肺炎疫情這樣的突發事件時,客流的變化具有很大不確定性,所以降低了歷史數據的參考價值。因此,對于罕見的相似樣本(例如在春運期間本該持續上升的客流量卻因疫情防控的管制而持續大幅下降的現象所產生的數據樣本)和不確定的發展趨勢,短期異常客流預測是困難的。在研究疫情期間客流的估計問題時,根據相關研究和實例分析,SARIMA模型在基于相似歷史樣本的線性回歸中具有優勢,能夠很好地進行客流預測。然而,對于罕見的相似樣本,就需要結合非線性分析來減弱SARIMA季節模型局限性帶來的誤差。因此,提出SARIMA-LSTM滾動優化模型,在SARIMA線性回歸基礎上,增加LSTM神經網絡模型,運用滾動優化的方法進行訓練。同時,受自然語言處理中注意力機制的巨大成功的啟發,基于交通流數據也是時間序列數據的事實,嘗試將注意力機制加入LSTM模型中,并將該模型應用于短時交通流預測領域,以反映罕見的大隨機波動。
春運期間鐵路日客流量有明顯的季節性和周期性波動現象,為了處理這類時間序列問題,采用季節性時間序列模型(SARIMA),即SARIMA(p,d,q)(P,D,Q)S。其中p和P分別表示自回歸和季節自回歸的順序;d和D分別代表著根據不同差異和不同季節差異進行的排列組合;q和Q分別表示移動平均線和季節移動平均線的順序[11]。公式如下:
(1)
其中,
φ(BS)=1-φ1BS-…-φpBS
?(BS)=1+?1BS+…+?qBS
由于疫情期間很少有相似的歷史數據,SARIMA模型也無法反映異常的客流波動。因此,設計了滾動優化方法來訓練長短期記憶(LSTM)神經網絡,充分利用實時數據,及時反映異常波動。LSTM神經網絡的核心是增加存儲器神經元和柵極控制單元,存儲神經元通過存儲當前信息和提取數據將信件填充到時間序列鏈中[12]。因此,以較早的時間為單位的信息可以以較晚的時間為單位傳輸,從而減緩信息丟失的速度,提高信息存儲容量。LSTM網絡的神經元結構如圖1所示。Xt、ht和Ct分別表示時間t的輸入向量、隱藏狀態和單元狀態。相應的LSTM正向傳播方程[13]如下:
it=σ(Wiixt+Whiht-1+bi)
(2)
ft=σ(Wifxt+Whfht-1+bf)
(3)
gt=tanh(Wigxt+Whght-1+bg)
(4)
Ot=σ(Wioxt+Whoht-1+bo)
(5)
Ct=ft*Ct-1+it*gt
(6)
ht=Ot*tanh(Ci)
(7)
其中:it、ft、gt分別是輸入門、遺忘門和輸出門;Wii、Whi、bi分別是輸入權重矩陣、回歸權重矩陣和輸入門的偏差項;Wif、Whf、bf分別是輸入權重矩陣、回歸權重矩陣和遺忘門的偏差項;Wig、Whg、bg分別是輸入權重矩陣、回歸權重矩陣和輸入層到隱藏層的偏差項;Wio、Who、bo分別是輸入權重矩陣、回歸權重矩陣和輸出門的偏差項;σ代表sigmoid函數。
圖1 LSTM網絡的神經元結構示意圖
由于時間相關性有一定的社會原因,任何一天的乘客需求都會受到其他時間的影響,特別是受到相鄰時間段的影響。為了表示這種相關性,運用滾動優化預測算法,這種算法在模型預估時,每個采樣時刻都要根據當前的預估誤差重新計算控制作用的變化量,不斷滾動計算。就算是遇到類似新冠疫情的重大公共衛生突發事件,也能通過這種累計方法使預測值始終處于一種動態平衡狀態。
本文中建立的組合預測模型結合了2種性能互補算法,有效克服了單一算法在預測方面的局限性,提高了預測精度。因為SARIMA模型可以很好地擬合序列中的線性關系,LSTM神經網絡可以挖掘序列中的非線性關系。通過2種模型的結合,可以發揮兩者的優勢,對復雜時間序列進行有效預測。而鐵路短時客流因受新冠疫情影響,形成了2條不同特征的客流曲線,這就是一種復雜的時間序列。
因此,采用Attention Mechanism的方法,可以幫助模型對輸入的X每個部分賦予不同的權重,抽取出更加關鍵及重要的信息,使模型做出更加準確的判斷,同時不會對模型的計算和存儲帶來更大的消耗[15]。把SARIMA模型的異常值代入LSTM神經網絡后,訓練集數據波動較大,隨著網絡深度的不斷加深,會造成網絡退化問題。而AttentionMechanism機制的引入有效緩解了網絡模型訓練過程中反向傳播梯度消失的問題,還解決了深度網絡的訓練難度和性能下降的問題[16]。注意力層的實現是由LSTM編碼器保留輸入序列的中間輸出結果,計算前一層的中間輸出結果與當前輸出的相似度,得到權重因子,最后得到注意力系數,如圖2所示。
圖2 在LSTM模型中增加注意力機制的過程示意圖
H=[h1,h2…hn]
(8)
(9)
(10)
(11)
(12)
式中,首先使用向量H和H′進行計算獲得權重的相似度,其次使用softmax功能對權值進行歸一化,然后使用歸一化權值ai和hj加權求和,最后得出的結果就是注意力權重值Ci。
本文以南昌火車站春運期間的原始客流數據為依據作出客流時序圖。從圖3(a)中可以發現,2015—2019年春運期間鐵路局的日客流量呈周期性上升狀態,而2020年本應上升的趨勢卻因新冠疫情的影響,導致了春運期間總客流量同比2019年下降53.6%。2021年在疫情常態化背景下,“就地過年”成為越來越多人的選擇,客運量較往年降幅依然明顯,雖然比2020年同比增長11.2%,但也僅為疫情前正常年份的51.6%。
圖3 2015—2021年春運期間日客流量曲線
通過分析圖3(b)可以發現,2020年春運前14 d符合春運周期性變化趨勢,然而從1月24日(除夕)開始鐵路日客流量呈現斷崖式下降。所以,首先利用2015—2019年南昌站春運期間前14 d的客流數據建立SARIMA季節模型,預測2020年前14 d的日客流量,從第15 d開始因受疫情影響,將其導入LSTM滾動優化模型進行計算,得到后26 d非線性預測模型的計算結果。最后為精度評定,除了將預測值與2020春運實測值進行比較外,還使用了SARIMA季節模型和門控循環單元網絡(GUR)來預測樣本,比對預測數據,驗證預測模型。
結合SARIMA季節模型與LSTM滾動優化神經網絡,構建組合預測模型,算法流程如圖4所示,對疫情期間鐵路春運日客流進行預測,該模型輸入數據為南昌站2015—2019年春運40 d的原始客運量,輸出數據為用組合模型預測出的2020年春運日客流量。
圖4 算法流程框圖
對在疫情期間鐵路春運客流量的原始數據進行去均值化處理。通過一階差分后,對數據的平穩性進行檢驗,使用的是單位根檢驗(即ADF),表1顯示的t統計值為-4.306,明顯比各顯著水平的臨界值小,故差分后的序列可以通過平穩性檢驗。
表1 ADF檢驗
通過繪制自相關圖(ACF)和偏自相關圖(PACF)對模型進行定階。如果有一個進入藍色置信區域(一般取95%)的點,并且在其之后的點大部分都在此區域內浮動,該點就可以暫定為q和p的值,如圖5和圖6所示。
圖5 自相關圖(ACF)
圖6 偏自相關圖(PACF)
通過赤池信息準則(AIC)對上述函數所產生的所有參數項進行評估,篩選后得出在SARIMA(1,1,1)*(0,1,1,12)時,AIC最小。由此,可以利用SARIMA模型通過2015—2019年春運前14 d預測2020年春運前14 d的客流量。
通過時間序列對數據的處理,發現春運第15 d開始因受疫情影響,日客流量大幅度下降,這與上階段數據分析中的結果相吻合。因此,從第15 d開始的客流量定義為異常值,將其權重置零,即讓SARIMA特征檢測器暫時停止工作,導入LSTM神經網絡進行計算。首先通過輸入層將預處理后的輸入數據傳輸到下一層,并在神經網絡中嵌入了注意機制模塊,在Attention LSTM模型的構建中確定網絡的結構。將輸入層的大小設置為輸入系列長度,隱藏層編號設置為2,把歷史數據和最新數據共同作為訓練集數據,對新的訓練集數據持續學習,不斷調整模型參數,滾動更新數據變化,找出最新規律,以提高預測的準確率。運算過程中產生了殘差學習單元,把它們組成殘差模塊,該單元主要由2個分支組成,第一個是殘差學習分支,另一個是輸入的身份映射分支。用X表示輸入,F(x)表示殘差映射,那么殘差學習單元的輸出就是H(x)=F(x)+x,如果殘差結果趨近于白噪聲序列,那么累加層只用于恒等式映射。因此,接下來的訓練目標是將殘差結果趨近于白噪聲序列,這樣隨著網絡的深入,精度就不會再下降。其次進入輸出層,對神經網絡計算的分量進行歸一化處理,得到LSTM滾動優化模型的預測結果;最后將前14 d的SARIMA線性模型預測數據與后26 d的LSTM神經網絡模型預測數據代入權重組合法,計算前一層的中間輸出結果與當前輸出的相似度,得到權重因子,同時得到注意力系數,再利用梯度下降法對2種互補算法的訓練結果進行權重優化,計算出組合模型的預測誤差,得到2020年春運40 d客流預測數據。
首先,將被歸一化的樣本數據輸入到SARIMA-LSTM組合模型中。使用梯度下降的公式進行反向傳播計算,不斷更新模型的權重。每迭代1次,都要計算模型的當前誤差精度,結果如圖7所示。可以看出,經過200次迭代訓練,訓練誤差的精度線損失從0.727 8下降到0.042 5并保持穩定,效果良好。
圖7 迭代誤差變化曲線
其次,使用SARIMA季節模型和SARIMA-GUR組合模型來預測樣本數據,將結果與本文選取的SARIMA-LSTM組合模型進行比較。由圖8可知,僅使用SARIMA季節模型預測的春運日客流量真實值與預測值差距很大,嚴重失真。而在加入了神經網絡模型對非線性部分進行擬合后,實驗精度得到了極大提高,這是因為線性模型對隨機性、突發性強的交通流數據的預測效果不佳,組合模型具有更好地預測控制性。
圖8 2020年春運實際日客流量與 3種模型預測值曲線
最后,為了驗證長短期記憶網絡(LSTM)和門控循環單元網絡(GRU)在短時客流中的預測精度,比較這2種神經網絡在組合模型中的性能差異。使用平均百分比誤差(MAPE)和均方根誤差(RMSE)作為檢驗模型的評價指標,公式如下:
(13)
(14)
表2顯示了不同模型的預測結果誤差。結果表明,在整個預測期內,SARIMA-LSTM組合模型的預測精度總體上優于SARIMA-GRU組合模型。從模型原理分析原因,門控循環單元網絡(GUR)只有一個門控來遺忘和選擇內存,且參數較少,而長短期記憶人工神經網絡(LSTM)可以使用更多的門控和更多的參數來完成相同的任務,所以在客流異常且波動很大的情況下,與LSTM相比,GRU的性能損失更為嚴重。
表2 預測結果誤差
1) 提出了一種基于SARIMA-LSTM的組合模型對疫情期間南昌火車站的春運日客流數據進行了預測。該方法中,穩態序列由SARIMA季節模型計算,將穩態序列和時間序列作為周期特征輸入。同時設計了一種LSTM滾動優化模型,該模型利用實時樣本和歷史樣本進行滾動預測,可以更及時、更近似地反映異常流量的波動情況。最后,將2種模型的預測結果加權求和得到最終的預測數據。
2) 利用SARIMA模型和LSTM滾動優化模型的互補優勢,在模型的預測中,大大降低了組合模型的平均百分比誤差(MAPE)和均方根誤差(RMSE),提高了在突發事件中異常客流的預測精度,其精確度達到了72.7%。當面臨突發性重大衛生公共事件時,可以解決鐵路短時客流預測問題,緩解因客流大幅減少而造成的鐵路客運部門直接性經濟損失。
3) 實驗中還存在一些不足,比如實驗數據只使用實時樣本和歷史樣本,沒有考慮其他外部因素。因此,在后期的研究工作中,還需考慮影響客流的其他環境因素,如天氣、臨時組織措施與地鐵等其他交通方式的連接狀態等,從而得到更準確的預測模型。