盧生巧,黃中祥
(長沙理工大學 交通運輸工程學院,湖南 長沙 410004)
交通流預測是城市智能交通系統(Intelligent Transport System,簡稱為ITS)的重要組成部分。精確的短時交通流預測,可為道路使用者提供實時的、有價值的參考信息,幫助其選擇更優的出行路徑,也可預測道路擁堵的地點和時間。運輸從業者可以提前選擇優化路徑,減少道路擁堵[1]。短時交通流預測有助于ITS 的道路交通控制和交通誘導,提高道路安全性[2?3]。
目前,短時交通流預測方法有基于模型算法和數據驅動的方法。其中,基于模型算法包括:卡爾曼濾波器[4]、梯度增強樹回歸、時間序列的自回歸統計及貝葉斯網絡等經典的淺層學習算法。Hamed[5]等人利用Box-Jenkins 技術,建立ARIMA模型,實現了交通量的短期預測。張濤[6]等人應用基于K 近鄰的非參數回歸預測模型,利用K 值構造的預測區間,進行特殊路況的預測,獲得了較高的預測精度。Hu[7]等人利用粒子群算法,優化支持向量機(Support Vector Machine,簡稱為SVR)參數,進行預測。
這些淺層結構的預測模型,處理小樣本數據時,簡單高效。處理大樣本數據和復雜非線性函數時,存在局限性。深度學習和神經網絡的組合不斷應用于交通流短期預測的深層結構模型中,推動了基于數據驅動方法的神經網絡和深度學習[8?9]等迅速發展,提供了更準確的交通流預測工具。其中,循環神經網絡(Recurrent Neural Networks,簡稱為RNN)為變體的長短時記憶神經網絡(Long Short-Term Memory,簡稱為LSTM),可提取數據的長期依賴特征[10]。Polson[11]等人使用 Math Container 方法,結合tanh 層的深度學習模型,成功預測特殊條件下急劇變化的交通量。Yu[12]等人利用深度卷積神經網絡和長短時記憶網絡相結合的深度結構,捕獲交通網絡路徑的時空相關性,驗證了卷積神經網絡CNN(Convolutional Neural Network,簡稱為CNN)和LSTM 結合的可行性。劉明宇[13]等利用門控循環單元神經網絡 (Gated Recurrent Unit,簡稱為GRU)進行短時交通流預測,取得較高的預測精度。作者基于時空關聯矩陣,擬利用深度神經網絡挖掘短時交通流數據的時空特征。采用Python 軟件,將CNN 和GRU 兩者結合起來,構建一種混合神經網絡預測模型,并以加州交通局績效評估系統PeMS(Performance Measurement System,簡稱為PeMS)的實例數據為依托,對該模型進行訓練和預測。
交通流在空間域和時間域上具有明顯的特征。在空間域中,某些位置上的交通流,可能與附近地區有更強的依賴性(拓撲局部性)。在時間域中,部分歷史交通流,會對未來的交通流產生長期影響。
根據經驗和實驗數據,模型選擇CNN 層作為數據輸入層,預測效果更好。因此,選擇使用一維CNN 結構,挖掘交通流數據中的空間特征。CNN是一種深度神經網絡,能夠捕獲交通流數據的空間特征。CNN 層通過卷積和池化的操作,進行局部趨勢學習,有效保留交通流的空間特征。神經網絡模型層數越多,網絡表現能力則越強。當訓練數據不足時,更容易發生過擬合。為平衡模型的計算成本,模型的一維CNN 層是深度為2 的完整卷積神經網絡。在深度卷積神經網絡中,線性整流層的激活單元用于非線性激活。線性整流函數(Rectified Linear Unit,簡稱為ReLu),是一種常用的激活函數。不僅可以解決“梯度消失”的問題,而且可使深層神經網絡快速收斂[14]。交通流數據具有非線性特征,所以選擇ReLu 作為整流層激活函數,提高網絡非線性特征的學習能力。
由于交通流的動態性,交通流的時間特征不斷變化,使得短時交通流表現出更強的相關性[15]。由于交通流還存在長期依賴性特征,如:上游交通流在擁堵狀態下,需要很長時間,才能到達下游。因此,交通流的時間特征建模時,需要考慮這種長期依賴性。因為LSTM 可用于模擬交通流的時間特征[16],通過輸入門、遺忘門及輸出門3 個門控機制,去除或者增加信息,到LSTM 單元中,解決了RNN存在的長期依賴,所以可選擇更簡單的RNN-GRU模型。與LSTM 相比,GRU 的神經元更少,而且能實現與LSTM 相同或者更好的性能[17]。
GRU 只有更新門和重置門2 個門控機制。更新門的作用是決定當前輸入信息(Xt)有多少是需要保留的;重置門的作用是將Xt和前面傳遞的信息(ht?1)相結合。這2 個門控機制使得GRU 具有交通流的長期依賴特征。
GRU 的計算步驟:
1) 在時間步t,Xt和ht?1,經過線性變換,進入更新門的Sigmoid 層,輸出激活值Zt。重置門與輸出門的表達式一樣,但權重矩陣不同,同樣輸出一個激活值rt、zt和rt的值域均為[0,1]。其中,0 代表完全遺忘信息,1 代表完全保留信息。

式中:W和U為權重矩陣;Xt為t時刻的輸入向量;ht?1為時間步t?1 保存的信息。
2) 由tanh 函數計算當前記憶信息。時間步t的最終記憶信息ht,由、ht?1和更新門激活值zt加權得出。


圖1 GRU 結構展開Fig. 1 GRU expanded structure view

式中:?代表Hadamard 乘積。
CNN-GRU 模型利用卷積結構,提取交通流數據中的空間特征,門控循環單元捕獲交通流數據的時間特征。在訓練階段時,神經網絡從歷史數據中學習交通流的時空特征,對交通流的狀態和特征進行識別和記憶,得到各個網絡層的權重值和偏置量。在預測階段,將處理好的數據,輸入已訓練好的模型,得到交通流的預測值。
在考慮計算量和模型深度基礎上,選擇卷積神經網絡層數為2 層,2 層之間包含一個池化層。模型使用ReLu 函數,激活2 個一維卷積層(Conv1D),提取交通流數據的空間特征。ReLu 函數能保證交通流數據的非負性,并且易于收斂。CNN 每層卷積核數目為150,卷積核時域窗長度為1×10。交通流數據經過卷積層后,使用2 層GRU 來提取時間特征,其神經元個數分別為64 和32,平衡計算成本和預測精度。Dropout 層設定隨機斷開50%的神經元,可有效緩解模型過擬合現象[18]。最終的CNN-GRU 模型結構如圖2 所示。

圖2 CNN-GRU 模型結構示意Fig. 2 An illustration of structure in CNN-GRU
采用的交通流數據來自2018 年9 月-10 月,圣地亞哥區域內標號為I5-N 高速公路,將其中連續16 個探測器記錄的單向車流量數據,作為樣本數據,監測點距離見表1,空間位置如圖2 所示。數據采集間隔為30 s,交通量匯總為5 min。由于采集數據在工作日和周末均表現出較強且不同的周期性模式。因此,本研究只對工作日的交通流量進行預測。選擇9 月1 日-10 月9 日期間的工作日所對應的數據作為模型訓練集,合計9 791 個。10 月22 日-31 日期間的工作日所對應的數據,作為模型測試集,合計2 303 個。

表1 監測點間距Table 1 Distance between monitoring points
受外界因素干擾,原始的交通流數據,會出現缺失、異常等狀況。本研究利用交通流理論的篩選法,剔除原始數據的異常值。根據交通流在時間上的形似性,對于某一時段缺失的數據,采用前1 d或后1 d 的歷史數據替代,將交通流數據歸一化到[0,1]區間,訓練所有模型。
交通流預測實質是一個時間序列的預測,可以依據過去時段的交通流信息,預測未來時段的交通流狀況。交通流遵循一定的規律,呈連續流狀態,連續流道路的相關斷面相互影響,使得斷面觀測到的交通流,具有時間和空間特征,需要將交通流量的數據,處理成帶有時間和空間特征的輸入矩陣A。假定交通流數據的采樣間隔為Δt,選擇的監測點總數為p,采集數據的總量為n,則所有監測點組成的一組交通流量數據為:

綜合考慮各個監測點在時間與空間維度上的相關性,設預測模型的交通流量輸入為X,則有:

任意監測點下一時刻的交通流量,由該監測點和各個監測點的當前時刻及前一個或多個時刻的交通流量數據來預測。訓練時,利用枚舉試算的方法,確定模型預測的時間滯后,設置為6,以實現模型的最低錯誤率。即:使用所有監測點前30 min的交通流量,作為定期輸入,預測下一時刻5 min的交通流量。
利用交叉驗證法訓練模型,選擇最佳的層數和超參數。訓練過程中,利用損失函數之均方誤差(Mean Squared Error,簡稱為MSE)、Relu 激活函數及Adam 優化器。Adam 是一種特殊的隨機梯度下降(Stochastic Gradient Descent,簡稱為SGD)方法,通過動態調整參數,充分提取數據的空間特征,達到快速收斂,正確學習目標。采用MSE 作為模型的目標函數,對比不同超參數的模型誤差,選擇最佳方案。其中,混合模型、CNN、LSTM 及GRU模型的Batchsize 參數為全數據集288,能充分學習數據的本質特征,加快收斂速度,并且滿足預測精度要求。模型交通量的預測時間步長為3,6,9。3 項評價指標都很小,步長為6 時,平均精度最高。自回歸移動平均模型(Autoregressive Integrated Moving Average Model,簡稱為ARIMA)超參數選擇(1,1,1)。
在Python 語言開發環境下,所有神經網絡都基于Keras 框架,進行搭建和訓練。基于Keras,可將訓練模型保存到本地,在預測階段可直接調用進行預測實驗。根據預測精度自適應調整模型參數,具備可移植性和靈活性。
基于訓練好的混合模型和對照模型,隨機選取10 月31 日編號為4 的監測點數據作為預測樣本,模型預測結果如圖3 所示。
從圖3 可以看出,CNN-GRU 模型預測結果最好,能更好的預測出實際交通流的變化趨勢,預測值和實際值的誤差較小,平均誤差低至1 veh/5 min。其中,交通流在凌晨(0-50 時段)比較平穩時,平均誤差為0。但在早晚高峰(50-220 時段)時,交通流變化劇烈,預測誤差會相應出現波動,特別是交通流峰值處,最大誤差達到了5 veh/5 min。從圖4 中還可以看出,CNN 模型對于交通流的峰值預測效果偏低,GRU 和LSTM 模型對于交通流變化趨勢的預測效果較差。混合模型中,利用CNN 和GRU 的優點,識別了短時交通流數據的空間局部特征,并且保留了挖掘時間特征的能力,該模型有效提高了預測精度。
為了更好地分析預測結果,選取均方根誤差eRMSE、平均絕對誤差eMAE和平均絕對百分比誤差eMAPE作為評價指標衡量模型的性能,其中,MAPE是比較不同預測模型準確性的常見評價指標之一。RMSE、MAE 和MAPE 三者定義如下:


圖3 模型的預測結果和誤差對比Fig. 3 Prediction results and error comparison of models
式中:yi為實際交通流量;為預測交通流量;n為樣本數量。
4 號監測點的預測結果評價見表2。CNN-GRU模型與其他模型相比,在3 個評價指標中,均為最低值,預測精度最高。通過神經網絡各模型的評價指標對比,CNN-GRU、GRU 和LSTM 3 種神經網絡模型評價指標,基本處于同一水準。而ARIMA 模型的MAPE,高達11.13%,相比其他神經網絡模型性能最差。可見神經網絡的多隱含層結構,能有效提取交通流數據的特征。此外,混合模型的3 項指標最低,MAPE 相比LSTM 模型減小了19.7%,預測精度大幅提升。

表2 四種模型在4 號監測點對比RMSE、MAE 和MAPE 評價指標Table 2 The comparison of RMSE, MAE and MAPE of four models at No. 4 monitoring point
為了驗證CNN-GRU 預測模型的適用性,選取10 月31 日16 個監測點的數據,作為預測樣本,模型預測結果如圖4 所示。從圖4 可以看出,路段交通流隨時間變化的情況。圖4(b)預測交通量與圖4(a)實際交通量的變化趨勢一致,所提出的模型在整條實驗路段上適用性較好。

圖4 CNN-GRU 模型全天的預測結果Fig. 4 Forecast results of all day in CNN-GRU model
為了進一步驗證CNN-GRU 模型的預測精度,本試驗構建3 個對比模型:CNN、GRU 和LSTM模型。2018 年9 月-10 月16 個采樣點的預測評價結果,見表3。從表3 可以看出,CNN-GRU 模型與GRU、LSTM 及CNN 3 種神經網絡模型的eMAPE相比,CNN-GRU 模型的精度指標最高,均優于其他預測模型。其中,相比GRU 模型,MAPE 減少了12%;相比LSTM 模型,MAPE 減少了13%;相比CNN 模型,MAPE 減少了23%。表明:本研究所提出的CNN-GRU 模型,預測精度最好。CNN 的預測精度比GRU 更好,也進一步驗證了CNN 提取短時交通流空間特征的強大能力。如果與其它體系結構相結合使用,其實用性更強。

表3 全路段預測結果評價Table 3 Evaluation of all road segment prediction results
基于深度神經網絡理論,提出一種卷積神經網絡和門控循環單元神經網絡相結合的CNN-GRN 預測模型,對該模型進行訓練與預測,得到的結論為:
1) 利用Python 語言,完成CNN-GRU 模型的逐層構建和參數調優,實現基于CNN-GRU 模型的短時交通量的精確預測。
2) 利用PeMS 的交通量數據訓練模型,并進行對比測試單個監測點和全路段的預測結果表明:CNN-GRU 模型能夠對交通流的狀態和特征進行識別和記憶,充分提取交通流數據的時間和空間特征,提高模型的預測精度。
3) CNN-GRN 與CNN、GRN 及LSTM 3 種模型相比,3 項評價指標均為最低,預測精度最高,具備較好的適用性。
4) 實例數據證明,CNN-GRU 模型能更精確預測交通流的短時變化,可為交通管理與控制提供有效依據。
本實驗僅僅是針對某個路段,未來應該擴展到城市路網中,如此更符合城市交通智能化需要。