王德廣, 張軼楠
(大連交通大學, 軟件學院,遼寧, 大連 116028)
短時交通流預測在改善日益復雜的現代交通方面是極其重要的一環(huán)。通過對現有交通數據的分析,預測出各個路段未來短時間內可能產生的交通流量,從而提前掌握交通管控的主動權。一方面,由于短時交通存在時間短、不確定性高的特點,受到的影響因素有很多,比如節(jié)假日、天氣等;另一方面,每個人生活出行又呈現出固定性,比如日常的上班、上學等,這樣短時交通流預測就可以從中找出規(guī)律,進行合理預測。
在過去的幾十年間,很多從業(yè)者及專家學者不斷鉆研、創(chuàng)新,建立了多種指揮交通的管理系統,與此同時許多數據分析模型也已逐步成熟[1]。例如循環(huán)神經網絡(Recurrent Neural Network, RNN)等。20世紀90年代,在機器學習的基礎上衍生出集成學習的概念:通過構建并結合多個學習器來完成學習任務[2]。
因此,本研究針對短時交通流量預測設計了以長短時記憶神經網絡(Long-and Short-Term Memory,LSTM)[3]、門控循環(huán)單元(Gated Recurrent Unit,GRU)[4]及棧式自編碼器(Stacked Auto Encoder,SAE),在簡單循環(huán)單元(Simple Recurrent Units,SRU)模型中進行融合的回歸組合預測LGSS模型。
在各種機器學習任務中為了追求預測結果準確率更高,可采用組合多個基分類器的方式,這種方式稱為集成學習(Ensemble Learning),如圖1所示。
圖1 集成學習示意
基分類器通常指的是單一的弱可學習(Weakly Learnable),分類器使用集成學習的方法,可組合成一個強可學習(Strongly Learnable)分類器[5]。在圖1中可以看出強學習器由弱學習器組成的過程。
本研究從回歸問題的角度采用集成學習中的Averaging方法進行交通流預測實驗。
LSTM相較于RNN的優(yōu)勢在于利用門限機制,對信息的累計速度進行把控。該模型主要由3個階段組成,分別為輸入門(it)、遺忘門(ft)以及輸出門(ot)。這3個門控制可以把控傳輸狀態(tài),保存需要長時間記憶的信息,遺忘不重要的信息。LSTM模型的控制特點使其能夠長時間記憶歷史數據的狀態(tài)及自動匹配最佳的時間間隔[6]。
整個存儲單元計算過程可以用如下公式表示:
it=σ(wxixt+whiht-1+wcict-1+bi)
(1)
ot=σ(wxoxt+wh0ht-1+wcoct-1+b0)
(2)
ft=σ(wxfxt+whfht-1+wcfct-1+bf)
(3)
ct=ft⊙ct-1+it⊙tanh(wxcxt+wkcht-1+bc)
(4)
ht=ot⊙tanh(ct)
(5)
式中,LSTM模型在t時刻的所有輸出定義為ht,σ()及tanh()為激活函數,w和b表示權重系數矩陣和偏置,σ和tanh分別代表Sigmoid和雙曲線正切函數。
GRU與LSTM類似,針對門控制進一步優(yōu)化。在結構和計算上更加簡單,只存在更新門和重置門,同時能夠保證避免梯度消失以及爆炸的出現[7],如
zt=σ(wz·[ht-1,xt])
(6)
rt=σ(wr·[ht-1,xt])
(7)
(8)
首先將xt與ht-1拼接進行線性變換,使用Sigmoid激活,計算得出更新門(zt)和重置門(rt)的門值,通過重置門門值作用在ht-1上,就可以得到上一時間所傳來信息可利用的數量。接著將重置后的ht-1代入基礎的RNN算法中進行計算,得到新的ht。最后不同時間的更新門的門值會作用在相對應的ht上,計算得到的ht之和,從而確定隱含狀態(tài)輸出的ht。
SAE模型作為深度神經網絡模型,是由多層稀疏自編碼器組成的[8]。
SAE屬于非監(jiān)督學習算法,使用它進行計算操作時必須同時滿足以下2種約束。
(1)autoencoder(輸入等于輸出):
hw,b(x)≈x
(9)
(10)
SRU是依據循環(huán)神經網絡(RNN)演化而來的深度學習模型。與LSTM 和GRU擁有類似的結構,SRU也是基于“門控”結構構建[9]。
在圖2所示的單層SRU中輕度循環(huán)(Light Recurrence)和高度網絡(High Network)是2部分創(chuàng)新。
圖2 SRU 神經網絡結構圖
SRU第一個重要部分通過“高度網絡”讀取輸入數據信號xt并計算細胞狀態(tài)ct的序列,從而獲取序列信息。其中Wf、W、bf是需要進行訓練得出的參數矩陣,ft是遺忘門。
SRU第二個重要部分是高度網絡,又被稱為跳躍連接,重置門rt用于組合數據信號xt以及當前細胞狀態(tài)ct,跳躍連接式為
rt=σ(Wtxt+br)
(11)
ht=rt×g(ct)+(1-rt)×xt
(12)
其中,Wt和br為神經網絡訓練得出的參數矩陣,(1-rt)×xt稱為跳躍式傳遞,也可稱為殘差連接。
在交通流預測領域,主要通過以下指標來評價模型的預測準確性[10]。
(1)絕對平均誤差(MAE)
(13)
(2)平均絕對百分比誤差(MAPE)
(14)
(3)根均方誤差(RMSE)
(15)
(4)均方誤差(MSE)
(16)
(5)決定系數(R2)
(17)
將所獲數據中的實際值(xi)以及對應時間的預測值(yi)代入式中,得到最終的預測精準度。
為了充分比較本研究使用的LGSS組合模型與3種單一模型的預測精準度,采用上述5種評價指標多角度分析。
在處理許多機器學習問題中,將多種預測值取平均,能得到更為準確的結果。因此,采取對多個結果取平均值的方法建立LGSS模型,如圖3所示。
圖3 LGSS模型示意圖
在 Pycharm中導入Keras模塊,將訓練集時間序列數據以CSV格式存儲,用np.array()方法將數據提取,分別放入LSTM、GRU和SAE 3種單一模型中,并設置R2、RMSE、MAPE、MSE、和 MAE函數對模型預測的精準度進行評估,反復進行實驗、調整參數,最終訓練后在3種神經網絡模型中得到各自預測的結果以及精準度。
接下來是LGSS模型中最重要的部分,將3種單一模型預測的結果放入SRU模型中進行融合,取3種單一模型預測結果值的平均值。數據導入步驟與前3種單一模型相同,接著導入封裝好的 SRU 程序。在RNN 模型眾多同類變形中,計算的先后順序不同會直接影響結果值,前一期細胞狀態(tài)的數值大小決定后一期遺忘門和細胞狀態(tài)的數值大小。因此,必須等到前期計算全部結果完成后,后期計算才可以開始。以下是SRU的計算式:
(18)
ft=σ(wfxt+bf)
(19)
ct=ft×ct-1+(1-ft)×Wxt
(20)
式(14)和式(15)中并沒有t-1的滯后項存在,這是SRU模型的最大特點,它采用逐點乘積的計算方式,可以在多個維度和不同步驟中實現并行計算,因此SRU模型相較于其他模型進行相同數據量計算操作時,所用計算時間更少。用Sequential函數將整個神經網絡進行初始化,設置隱含層單元數量為32,輸入向量長度為6,輸出是1。SRU具有高度網絡的特點,神經網絡中使用了殘差連接,相當于為每一個損失函數對當前細胞狀態(tài)的偏導數提供一個恒等項1,導數值df/dh很小,此方法依舊可以保證誤差反向傳播的有效性,因此高度網絡能夠有效防止梯度消失。最后依舊使用R2、RMSE、MAPE、MSE、和MAE函數進行計算和度量,最終輸出LGSS組合模型的擬合效果值。
此算法模型的資源消耗主要集中在3種基本模型對各個時間段的交通流數據進行訓練:時間復雜度是O(1+n2+n),根據推導大O階的方法,時間復雜度確定為O(n2);在SRU模型計算的時間復雜度為O(n),最終LGSS模型的時間復雜度為O(n2)。
實驗環(huán)境:Windows 7
開發(fā)工具:PyCharm、Tensorflow
采用PeMS系統(Performance Measurement System)中的數據進行分析預測,該系統由美國加州交通運輸部提供,其數據集在交通流的預測研究中使用最廣泛。此數據集中選取多個路段,每5 min對各個路段的交通流數據進行采集。選取2016年1月到4月共12 098條數據,按照約4∶1的比例劃分訓練集與測試集。
(1)首先,使用 LSTM、GRU、SAE等3種單一模型對數據進行計算、訓練和結果預測,見表1、圖4。
表1 LSTM/GRU/SAE預測結果誤差比較
圖4 3種單一模型與真實值比較曲線圖
(2)將LSTM、GRU、SAE等3種單一模型得到的預測結果值放入SRU單層模型中,最后獲取LGSS組合模型的預測精準度:MAE為7.894 6,MAPE為25.004 7%,RMSE為10.550 6,MSE為111.316 2,R2為0.931 5。
從以上5個指標可以看出,LGSS模型相較其他3種單一模型預測精準度更高,如圖5所示。
圖5 單層SRU模型與真實值比較曲線圖
(3)在單層SRU的基礎上進行多次迭代,結果見表2。
從表2可以看出,當LGSS模型中SRU進行4次迭代時預測精準度最高、誤差最小,如圖6所示,但是迭代次數超過5次后,精準度下降、誤差變大。
圖6 SRU多次迭代時LGSS模型與真實值比較曲線圖
表2 SRU多次迭代時LGSS預測結果值
用本研究其中3個評價指標與文獻[11]和文獻[12]所做的短時交通流預測實驗結果對比見表3。
表3 與其他作者實驗結果對比
從表3中結果對比可以看出,本論文所進行的一系列實驗結果效果優(yōu)于其他作者的實驗結果,LGSS模型中SRU為單層時,預測精準度已經優(yōu)于其他單一模型,在SRU經過4次迭代后精準度已經有明顯提升。
(4)SRU模型具有的高度網絡和輕循環(huán)結構特點使其可進行并行運算,使其在計算速度上優(yōu)勝于其他模型。在同為2次迭代時,將LSTM與LGSS組合模型(此時為單層SRU)分別運行10次,取10次運行時間的平均值,在LSTM模型下每次運行時間為1.056 4 s,組合模型運行的模型為0.530 6 s。在保證精度的前提下,組合模型(此時SRU為4次迭代)每次運行時間為0.749 1 s。通過比較單一模型與組合模型的計算時間,可以看出,由于SRU的存在,組合模型比單一模型計算時間縮短很多。
LGSS模型樣本數據采集時間間隔為5 min一次,平均反映時長0.75 s,MAE值可控制在7.8%以下。當采集時間間隔更短時,LGSS模型計算所需時間略長于采集時間間隔為5 min的計算時間。由于在日常生活中節(jié)假日占比較少、極其惡劣天氣發(fā)生概率較低,其產生的影響不大,所以為了保持LGSS模型的適用性,在數據清洗階段將節(jié)假日期間的數據刪除,并排除了天氣影響的因素。如果需要研究節(jié)假日及特殊時間的短時交通流預測,將指定數據放入LGSS模型計算即可。
由于現代交通相較于傳統交通更加復雜,交通流不確定性很高,同時具有高度非線性的特點,單一模型進行短時交通流預測時往往精準度不高。本論文采用集成學習的Averaging方法,將LSTM、GRU、SAE等3種單一模型與SRU模型進行融合組成LGSS模型,將3種單一模型的預測結果取平均值。實驗結果表明,組合后的模型較單一模型能有效地避免數據過度擬合,提升了預測的精準度,減小了誤差。