魏 健,趙紅濤,加鶴萍
(1.華北電力大學 數理學院,北京 102206;2.華北電力大學 經濟管理學院,北京 102206)
近年來隨著人們的生活質量不斷提高,機動車購買量也變得越來越多。伴隨而來的是嚴重的交通擁堵狀況,給人們的出行造成極大不便。短時車流預測可以幫助交通部門及時了解某路段未來可能發生的擁堵情況,從而提前做出反應,同時對于人們的出行也具有一定的意義,可以讓人們及時避過擁堵路段[1]。
文獻[1]使用LSTM 模型對北京市朝陽區某道路交叉口的車流量進行預測,使用自動編碼器進行無監督學習,將自動編碼器的輸出作為LSTM 的輸出。文獻[3]使用LSTM 模型預測地鐵站溫度,并且在數據預處理的過程中使用了小波降噪的方法,建立了有關時序數據的模型方法,并且與傳統的ARIMA 模型比較,證明了LSTM 在處理較大幅度變化的數據時,其誤差小于ARIMA 模型。文獻[5]考慮到語言特征可能不僅僅受到以前語言的影響,也可能受到之后語句的影響,所以在自然語言處理中利用了雙向GRU 模型和注意力機制。文獻[6]針對數據的長期依賴性,使用基于注意力機制的CNN-LSTM 模型擬合數據,在LSTM 后端構建注意力機制,給隱含層賦予不同的權重來優化最終的輸出結果。實驗證明,在注意力機制的優化下,其誤差結果小于CNN 等神經網絡模型。文獻[7]構建了短時車流量的預測模型,建立CNN-LSTM 模型預測車流量數據并且得到了良好的結果。
由于在后續的實驗中發現車流量在工作日和節假日明顯不同,所以將數據分成工作日和節假日兩部分進行討論[3],建立了基于注意力機制的長短時記憶神經網絡模型對短時車流量進行預測,使用卷積神經網絡(CNN)、長短時記憶神經網絡(LSTM)、雙向長短時記憶神經網絡(BiLSTM)作為對比模型,且考慮到可能存在的過擬合問題,本文在對比模型中加入了基于注意力機制的雙向長短時記憶神經網絡(BiLSTM-attention)模型。LSTM 通過門結構的設置在很大程度上解決了循環神經網絡(RNN)模型存在的問題,注意力機制對LSTM 隱含層賦予不同的權值,從而優化了輸出值,得到了相對較小的誤差值。
LSTM 模型是在上世紀90 年代提出的一種神經網絡模型,它在處理時間序列數據方面具備獨特的優勢[4]。隨著神經網絡層數的增加,RNN 模型不可避免地會出現梯度消失或梯度爆炸現象,而LSTM 以其特有的結構可以大大緩解上述現象。
LSTM 模型在RNN 模型的基礎之上增加了門結構的設置,使用三種門來控制信息。第一層門為遺忘門,遺忘門會遺忘一部分不重要的信息,選擇記住一些重要的數據特征;第二層門為輸入門,輸入門會更新一些內容,以填補已經被遺忘門略去的信息;第三層門為輸出門,輸出門可以對先前的信息進行處理,然后對數據輸出。
然而當步長過長時,LSTM 會發生明顯的梯度消失現象,所以應使用下文的注意力機制算法對LSTM 中的權重進行處理,以更準確地進行預測。
注意力機制通過概率分配的方式,對關鍵信息賦予足夠的關注,突出重要信息的影響,從而提高模型的準確率[5]。在序列數據過長時,LSTM 模型也可能會發生梯度消失現象,為了盡可能削弱梯度消失現象造成的影響,此處引入注意力機制,給不同的LSTM 單元賦予不同的權值,給較為接近真實值的LSTM 單元賦予較大的權值,反之亦然[6-7]。其計算公式如(1)、(2)所示。
設第x 個LSTM 神經元的輸出值為hx,設每個神經元對應的權重為ux,最終的輸出值為yt,設總共有a 個LSTM 神經元。

Step1:數據預處理,其中包含根據工作日和節假日劃分數據,對數據進行歸一化處理,使用平均值填充缺失值等等。
Step2:將經過數據預處理的數據輸入至模型中,通過LSTM 的遺忘門、輸入門、輸出門來學習數據的特征,其中主要學習的時間之間的關聯。
Step3:對LSTM 中隱含層各單位賦予權值,給較為接近真實值的LSTM 單位較大的權值。
Step4:輸出預測值。
本文使用的數據是北京某公路路段的車流量,時間跨度為2018 年1 月18 日至2018 年5 月11 日,數據為五分鐘記錄一次,總共有數據26650 條,其中包含1320條缺失值。本文采用取平均值的方法來填補平均值,但是由于各個時刻的車流量差距很大,所以取缺失值所在時刻的平均值來代替缺失值,同時在使用LSTM 模型之前需要對原始數據進行歸一化,否則不利于數據的訓練。
在工作日時間,車流量存在明顯的周期性變化,出現周期性變化的原因與早晚高峰有關,且其峰值也明顯高于節假日的車流量;但是在節假日時間并沒有十分明顯的周期性波動。
本文工作日數據總共有17686 條,節假日數據共有8964 條。參數的設置分兩種情況,在工作日情況下,設定epoch=1200,batch_size=17000,shuffle=False;在節假日情況下,設定epoch=1000,batch_size=8000,shuffle=False。工作日測試集的時間跨度為2018 年5 月10 日18:00 至2018 年5 月11 日18:50,節假日測試集的時間跨度2018 年5 月5 日全天。測試集數據均為288 個,其余作為訓練集。
本文采取平均絕對百分誤差(Mean Absolute Percentage Error,MAPE)和均方根誤差(Root Mean Square Error,RMSE)來展示不同方法的負荷預測誤差,如式(3)、(4)所示。

由于RMSE 使用的是平均誤差,MAPE 是以相對誤差為原理,所以二者誤差兼顧了不同的因素,同時本文引入訓練時間作為判斷模型優劣的依據之一。
在作對比實驗的過程中,為了盡可能減少偶然因素,實驗的數值均是用十次實驗的結果取平均值,并且對每個對比實驗的參數進行校正。本文使用CNN、LSTM、雙向LSTM、BiLSTM-attention 模型作為對比實驗。
從圖1、圖2 可以得出結論,在節假日和工作日兩種情況下,本文所使用的模型均能對短時車流量進行準確預測。下文將用量化的方式來具體對比。
由表1、表2 知,LSTM-attention 的表現最好,BiLSTMattention 誤差相對較大的原因與過擬合因素有直接的關聯,且BiLSTM-attention 的訓練時間也遠高于LSTMattention。在工作日對車流量的預測中,LSTM-attention 模型在MAPE 標準下分別比LSTM、雙向LSTM,CNN、BiLSTM-attention 低6.85%、6.34%、8.04%、0.72%;在RMSE 標準下,LSTM-attention 分別比LSTM、雙向LSTM,CNN、BiLSTM-attention 低26.08、25.915、26.325、4.335,訓練時間方面則節省了15s、111s、28s、96s。而在節假日中的差距更加明顯,LSTM-attention 模型在MAPE 和RMSE兩個標準下的數值甚至只有大部分對比模型的左右,訓練時間也低于其它對比模型,從而證實了LSTMattention 模型可以勝任對于車流量的預測,有一定的應用潛力。

圖1 本文模型預測值與實際值關系圖(工作日)

圖2 本文模型預測值與實際值關系圖(節假日)

表1 各實驗誤差對比(工作日)

表2 各實驗誤差對比(節假日)
由前文的分析得知,節假日和工作日的車流量特點有很大的不同,主要體現在峰值和周期差距較大上,所以將二者分開分析有利于數據的預測。否則會干擾LSTMattention 模型學習數據特征,進而影響預測效果。LSTM可以通過門結構來學習時序數據特征,遺忘門、輸入門、輸出門的存在大大改善了RNN 模型存在的梯度消失與爆炸問題。但是當輸入的序列長度過長時,LSTM 仍會出現此問題,注意力機制可以在很大程度上解決這一問題。
本文選用CNN、LSTM、BiLSTM、BiLSTM-attention 模型作為對比模型,由結果來看LSTM-attention 在MAPE、RMSE、乃至訓練時間上都有很好的表現,還考慮到可能存在的過擬合現象,所以引入BiLSTM-attention 模型作為對比模型,事實證明LSTM-attention 確為最佳選擇。