陳 剛
(廣西交通投資集團,廣西 南寧 530022)
隨著高速公路系統(tǒng)的完善以及人們生活水平的提高,機動車數(shù)量日益增加,高速公路交通擁堵現(xiàn)象頻發(fā),且目前高速公路交管部門對交通數(shù)據(jù)的準(zhǔn)確掌握還存在一定的局限性,因此未能很好地為出行者提供更好的引導(dǎo)。由此,對高速公路的交通流量進行準(zhǔn)確預(yù)測具有重要意義[1-2]。交通流量是指在單位時間內(nèi)通過道路某斷面的車輛數(shù)目[3]。目前諸多相關(guān)學(xué)者的研究對象是如何建立一個適應(yīng)性強、精確度高的交通流量預(yù)測模型[4-5],且交通流量也是使用智能交通系統(tǒng)進行交通控制和誘導(dǎo)的重要基礎(chǔ)[6-7]。
國內(nèi)外學(xué)者對高速公路交通流量預(yù)測做了大量研究。曾憲堂等人[8]研究發(fā)現(xiàn)數(shù)據(jù)質(zhì)量和算法精度是交通流預(yù)測的關(guān)鍵;劉永樂等人[9]將CNN-BiLSTM模型與簡單基準(zhǔn)模型進行對比,實驗結(jié)果表明該模型更加符合實際交通流量變化規(guī)律,但并未關(guān)注時間序列中更重要的因素;Deng等人[10]將時間序列分析問題轉(zhuǎn)化為圖像分析任務(wù),提出模型具有預(yù)測路網(wǎng)不完整數(shù)據(jù)流量的能力,但這些深層網(wǎng)絡(luò)結(jié)構(gòu)比較復(fù)雜,并且其可解釋性不強;Dissanayake B等人[11]采用機器學(xué)習(xí)VAR模型進行預(yù)測,但該模型不能精準(zhǔn)體現(xiàn)交通流的非線性和隨機性,因此預(yù)測精度差;Zhang等人[12]提出基于Spark下時空特征關(guān)系的加權(quán)KNN模型,預(yù)測效率相比KNN算法明顯提高。
在上述研究的基礎(chǔ)上,為了提高高速公路交通流量預(yù)測精度并考慮到交通流量數(shù)據(jù)具有的隨機性、非線性及周期性等特點,該文設(shè)計了基于改進門控循環(huán)網(wǎng)絡(luò)的高速公路交通流預(yù)測模型,對高速公路交通流量進行有效預(yù)測。采用平均絕對誤差(MAE)等3項評估指標(biāo),在廣西高速公路的真實數(shù)據(jù)集上和芬蘭公共交通管理局某自動測量站(LAM)收集的道路交通信息上進行訓(xùn)練測試,并與長短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM)和門控循環(huán)網(wǎng)絡(luò)(GRU)進行對比,評估指標(biāo)表明所提模型較另外兩種模型更準(zhǔn)確和穩(wěn)定。貢獻如下:(1)對GRU網(wǎng)絡(luò)進行改進,分別對激活函數(shù)、梯度下降優(yōu)化器和生成概率密度函數(shù)進行改進;(2)結(jié)合時序數(shù)據(jù)的時序特性比較模型的性能。
LSTM(Long Short Term Memory)是一種針對循環(huán)神經(jīng)網(wǎng)絡(luò)的缺陷進行改進的神經(jīng)網(wǎng)絡(luò),其在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的神經(jīng)元中加入了一個判斷當(dāng)前信息是否要遺忘的“處理器”——cell,從而使RNN網(wǎng)絡(luò)具備了長期記憶功能,解決了RNN無法處理長距離依賴的問題[13]。LSTM引入了3種類型的門,即遺忘門、輸入門和輸出門[14],以及與隱藏狀態(tài)形狀相同的記憶細(xì)胞。
LSTM最重要的特點是保存細(xì)胞狀態(tài)(cell state)。在訓(xùn)練的過程中,輸入信息通過遺忘門,決定從細(xì)胞狀態(tài)中遺忘的信息[15-16],即讀取隱層狀態(tài)ht-1和t時刻輸入向量xt,并給每個細(xì)胞狀態(tài)Ct-1輸出一個[0,1]之間的數(shù)字。
在得到遺忘門的輸出結(jié)果后,將為更新細(xì)胞狀態(tài)做準(zhǔn)備。把輸入數(shù)據(jù)保存到細(xì)胞單元中,并創(chuàng)建一個新的候選向量用于存放上一個細(xì)胞狀態(tài)的輸出值,用這兩個信息對細(xì)胞狀態(tài)進行更新。
在得到當(dāng)前時刻細(xì)胞信息之后,將通過輸出門對信息進行過濾。通過運行sigmoid函數(shù)確定要輸出的信息內(nèi)容。隨后,細(xì)胞狀態(tài)在通過tanh函數(shù)進行處理后得到一個在[-1,1]之間的數(shù)值,再與sigmoid函數(shù)的輸出相乘,即可確定并輸出信息。
門控循環(huán)神經(jīng)網(wǎng)絡(luò)(GRU)是LSTM的一種變體,GRU不再使用單獨的記憶細(xì)胞存儲記憶信息,而是直接利用隱藏單元記錄歷史狀態(tài)且只包含了更新門和重置門[17],即圖1中的zt和rt。利用重置門控制當(dāng)前信息和記憶信息的數(shù)據(jù)量,并生成新的記憶信息繼續(xù)向前傳遞,利用更新門計算當(dāng)前時刻隱藏狀態(tài)的輸出,隱藏狀態(tài)的輸出信息由前一時刻的隱藏狀態(tài)信息ht-1和當(dāng)前時刻的隱藏狀態(tài)信息ht輸出,模型算法如公式(1)至公式(4)所示。GRU的訓(xùn)練方法與LSTM相似。
圖1 GRU結(jié)構(gòu)
zt=σ(Wz·[ht-1,xt])
(1)
rt=σ(Wr·[ht-1,xt])
(2)
(3)
(4)
式中,門控信號zt的范圍為[0,1],當(dāng)zt為0時表示記憶信息全部清除,反之當(dāng)zt為1時,表示記憶信息全部通過。
提出對門控循環(huán)網(wǎng)絡(luò)進行改進,分別對激活函數(shù)、梯度下降優(yōu)化器和生成概率密度函數(shù)進行改進,改進后的GRU網(wǎng)絡(luò)模型具有多樣性、準(zhǔn)確率高、緩解梯度消失等特點。
2.1.1 改進激活函數(shù)
(5)
(6)
(7)
(8)
(9)
(10)
2.1.2 梯度下降優(yōu)化器
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
2.1.3 生成概率密度函數(shù)
在執(zhí)行階段,推導(dǎo)經(jīng)過訓(xùn)練的深度學(xué)習(xí)模型的微分方程,如式(19)所示,得到估計的概率密度函數(shù)。
該模型的輸入為預(yù)處理后的交通流量數(shù)據(jù)集,將該輸入向量傳入到輸入層,根據(jù)2.1.1節(jié)提到的改進激活函數(shù)計算到隱含層的輸入向量;接著依據(jù)訓(xùn)練過程進行逐層訓(xùn)練,其損失函數(shù)為2.1.1節(jié)公式(10);然后使用梯度下降優(yōu)化器進行優(yōu)化,分別選擇RMSprop和adam算法作為權(quán)重優(yōu)化器對模型內(nèi)部權(quán)重進行優(yōu)化;若未達到最大迭代次數(shù),則更新權(quán)重后繼續(xù)進行訓(xùn)練,直到達到最大迭代次數(shù);最后將輸出向量傳遞至輸出層。GRU預(yù)測模型結(jié)構(gòu)如圖3所示。
圖3 GRU預(yù)測模型結(jié)構(gòu)
該文首先對芬蘭交通管理部門某自動測量站數(shù)據(jù)集和廣西高速公路的真實數(shù)據(jù)集進行預(yù)處理,分別在LSTM模型、GRU模型和所提模型上進行訓(xùn)練,然后分別用兩個數(shù)據(jù)集的測試集在訓(xùn)練好的三個模型上進行測試,得到下一時刻的交通流量預(yù)測信息。交通流量預(yù)測模型的整體框架如圖4所示。
圖4 交通流量預(yù)測模型整體框架
所使用的實驗數(shù)據(jù)來源于廣西高速公路的真實數(shù)據(jù)集和芬蘭交通管理部門的某自動測量站(LAM)收集的道路交通信息,如表1所示。下面具體介紹使用到的實驗數(shù)據(jù)集來源。
表1 數(shù)據(jù)集信息
3.1.1 廣西高速公路交通流量數(shù)據(jù)集
從G72泉南高速廣西南寧東收費站斷面采集2019年3月24日至2019年4月9日的交通流量數(shù)據(jù),數(shù)據(jù)單元以5分鐘為時間間隔,一共17天(每天24小時),共采集數(shù)據(jù)4 896組,為避免數(shù)據(jù)采集系統(tǒng)異常導(dǎo)致的數(shù)據(jù)錯誤,對采集的樣本數(shù)據(jù)采用孤立森林異常檢測算法識別異常值,采用B樣條曲線插值法替換異常值和插補缺失值,最終得到樣本數(shù)據(jù)4 890組。并按8∶2的比例劃分為訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集,即可得到訓(xùn)練集數(shù)據(jù)3 912組,測試集數(shù)據(jù)978組。
3.1.2 芬蘭交管部門LAM交通流量數(shù)據(jù)集
該站以5分鐘/次的采樣頻率對通過該測量站的車流量數(shù)據(jù)進行采樣,該數(shù)據(jù)包含了該路段連續(xù)四周的數(shù)據(jù),以及之后一周的數(shù)據(jù),共采集數(shù)據(jù)10 656組。將連續(xù)四周的數(shù)據(jù)作為訓(xùn)練集構(gòu)建模型,之后一周的數(shù)據(jù)作為測試集進行預(yù)測,同樣采用B樣條曲線插值法替換異常值和插補缺失值,最終得到訓(xùn)練集8 516組,測試集2 129組。
采用三種預(yù)測精度衡量方法進行衡量評估,分別為平均絕對誤差(MAE)、均方根誤差(RMSE)、平均絕對百分比誤差(MAPE)。
(1)MAE是絕對誤差的平均值,能更好地反映預(yù)測值誤差的實際情況。
(20)
(2)RMSE用于指示模型在預(yù)測中會產(chǎn)生多大的誤差,能很好地反映出模型的預(yù)測精度,誤差越大,權(quán)重越高。
(21)
(3)MAPE是相對誤差的度量值,不會因目標(biāo)變量的全局縮放而改變。
(22)
為測試模型的性能差異,使用Python語言進行開發(fā),采用了基于Tensorflow、Theano以及CNTK后端的一個高層神經(jīng)網(wǎng)絡(luò)API——Keras。模型包含兩個隱含層的神經(jīng)網(wǎng)絡(luò)。
首先對芬蘭交管部門LAM交通流量數(shù)據(jù)集和廣西高速公路采集到的數(shù)據(jù)集進行預(yù)處理,將處理好的訓(xùn)練集和測試集數(shù)據(jù)生成一個標(biāo)準(zhǔn)化對象scaler,使用該對象對數(shù)據(jù)集進行標(biāo)準(zhǔn)化操作。由于時序數(shù)據(jù)的預(yù)測任務(wù)需要使用歷史數(shù)據(jù)對未來數(shù)據(jù)進行預(yù)測,使用時滯變量lags=12對訓(xùn)練數(shù)據(jù)進行劃分,最后獲得大小為(samples,lags)的數(shù)據(jù)集。劃分后的數(shù)據(jù)集在排序上依然具有時序的特性,即使Keras在訓(xùn)練時可以選擇對數(shù)據(jù)進行混洗,但是其執(zhí)行順序是先對真實數(shù)據(jù)進行采樣再進行混洗,采樣過程依舊是按照順序來的。該文使用numpy.random.shuffle對數(shù)據(jù)進行混洗,打亂數(shù)據(jù)的順序。
模型設(shè)定包含兩個隱含層的神經(jīng)網(wǎng)絡(luò),每一層隱藏層中含有64個神經(jīng)元,在隱藏層和輸出層之間加入dropout層,降低節(jié)點間的相互依賴性,實現(xiàn)神經(jīng)網(wǎng)絡(luò)的正則化,最后輸出層含有1個神經(jīng)單元,即輸出的是一個數(shù)字。
LSTM、GRU和改進GRU模型按照正常的RNN網(wǎng)絡(luò)進行訓(xùn)練。使用train_model()函數(shù)訓(xùn)練。使用RMSprop(lr=0.001,rho=0.9,epsilon=1e-06)作為優(yōu)化器,batch size為256,共有600個epochs,lags為12(即時滯長度為一個小時)。
在模型訓(xùn)練完畢之后,將處理好的測試集輸入模型中進行預(yù)測,得到預(yù)測精度。采用芬蘭數(shù)據(jù)集的預(yù)測結(jié)果如圖5所示。為了便于展示,圖5~圖12僅列出一天的預(yù)測結(jié)果。由圖可以看出使用改進GRU模型對流量數(shù)據(jù)的預(yù)測擬合度更高。采用廣西高速公路數(shù)據(jù)集的預(yù)測結(jié)果如圖6所示,由圖可以看出GRU模型的擬合度較差,不如LSTM模型和改進GRU模型,而LSTM模型和改進GRU模型擬合曲線接近,因此無法分出優(yōu)劣。
圖5 兩層網(wǎng)絡(luò)模型使用RMSprop優(yōu)化器在芬蘭數(shù)據(jù)集上的預(yù)測結(jié)果
圖6 兩層網(wǎng)絡(luò)模型使用RMSprop優(yōu)化器在廣西數(shù)據(jù)集上的預(yù)測結(jié)果
為了得到普遍的規(guī)律,對三個模型的參數(shù)進行調(diào)整,使用相同的數(shù)據(jù)集再次進行訓(xùn)練測試,調(diào)整訓(xùn)練的優(yōu)化器,采用adam優(yōu)化器(lr=0.001,beta_1=0.9,beta_2=0.999,epsilon=1e-08)對模型進行訓(xùn)練,得到圖7所示的芬蘭數(shù)據(jù)集的預(yù)測結(jié)果,可以看出改進GRU模型與原始數(shù)據(jù)擬合度更高。圖8為廣西數(shù)據(jù)集的預(yù)測結(jié)果,可以看出GRU模型的擬合度較差,不如LSTM模型和改進GRU模型,而LSTM模型和改進GRU模型擬合曲線接近,因此無法分出優(yōu)劣。
圖7 兩層網(wǎng)絡(luò)模型使用adam優(yōu)化器在芬蘭數(shù)據(jù)集上的預(yù)測結(jié)果
圖8 兩層網(wǎng)絡(luò)模型使用adam優(yōu)化器在廣西數(shù)據(jù)集上的預(yù)測結(jié)果
同時,還選擇構(gòu)建三層LSTM、GRU和改進GRU神經(jīng)網(wǎng)絡(luò)模型,以比較三個模型之間的性能差別,輸入相同的數(shù)據(jù)集進行訓(xùn)練以及測試,本次實驗依然采用的是RMSprop的優(yōu)化器,與兩層神經(jīng)網(wǎng)絡(luò)的結(jié)果進行參照對比,預(yù)測結(jié)果如圖9和圖10所示。
圖9 三層網(wǎng)絡(luò)模型使用RMSprop優(yōu)化器在芬蘭數(shù)據(jù)集上的預(yù)測結(jié)果
圖10 三層網(wǎng)絡(luò)模型使用RMSprop優(yōu)化器在廣西數(shù)據(jù)集上的預(yù)測結(jié)果
圖9為芬蘭數(shù)據(jù)集的預(yù)測結(jié)果,可以看出改進GRU模型的預(yù)測曲線更接近真實數(shù)據(jù)集的曲線,另外LSTM模型的預(yù)測曲線比GRU模型的預(yù)測曲線更好。圖10為廣西數(shù)據(jù)集的預(yù)測結(jié)果,其結(jié)果與圖9相似。
隨后對構(gòu)建的三層LSTM、GRU和改進GRU神經(jīng)網(wǎng)絡(luò)模型改變訓(xùn)練使用的優(yōu)化器,采用adam優(yōu)化器,并且使用相同的數(shù)據(jù)集再次進行訓(xùn)練以及測試,預(yù)測結(jié)果如圖11和圖12所示。
圖11 三層網(wǎng)絡(luò)模型使用adam優(yōu)化器預(yù)測在芬蘭數(shù)據(jù)集上的預(yù)測結(jié)果
圖12 三層網(wǎng)絡(luò)模型使用adam優(yōu)化器預(yù)測在芬蘭數(shù)據(jù)集上的預(yù)測結(jié)果
圖11為芬蘭數(shù)據(jù)集的預(yù)測結(jié)果,可以看出改進GRU模型的預(yù)測曲線與真實數(shù)據(jù)更接近,而LSTM模型與GRU模型的預(yù)測曲線接近,圖12為廣西數(shù)據(jù)集的預(yù)測結(jié)果,可得出與圖11相似的結(jié)果。
表2為采用芬蘭交管LAM數(shù)據(jù)集和廣西高速公路數(shù)據(jù)集在LSTM、GRU和改進GRU模型進行上述四組不同的訓(xùn)練的交通流預(yù)測指標(biāo)。
表2 不同方法上的交通流預(yù)測性能
對芬蘭交管部門LAM數(shù)據(jù)集的測試結(jié)果進行分析。對于兩層神經(jīng)網(wǎng)絡(luò),采用RMSprop優(yōu)化器(訓(xùn)練1)時,可以明顯看出改進的GRU模型的各項預(yù)測指標(biāo)值均優(yōu)于LSTM模型和GRU模型;采用adam優(yōu)化器(訓(xùn)練2)時,三個模型的各項預(yù)測指標(biāo)值均接近,無法分出性能優(yōu)劣;改進的GRU模型在訓(xùn)練2中的RMSE、MAPE的值均大于使用訓(xùn)練1的值,而MAE值接近,因此改進的GRU模型中使用adam優(yōu)化器的性能較使用RMSprop優(yōu)化器性能更差;在采用三層神經(jīng)網(wǎng)絡(luò)時,明顯看出使用RMSprop優(yōu)化器(訓(xùn)練3)時三個指標(biāo)值均和LSTM模型接近,性能較差。因此著重分析兩層神經(jīng)網(wǎng)絡(luò)采用RMSprop優(yōu)化器(訓(xùn)練1)和三層神經(jīng)網(wǎng)絡(luò)采用adam優(yōu)化器(訓(xùn)練4)的性能,從表1可以看出訓(xùn)練4的RMSE、MAE和MAPE的值均小于訓(xùn)練1的指標(biāo)值。因此可以得出結(jié)論,在預(yù)測交通流量數(shù)據(jù)的時候,提出的改進的GRU模型在三層神經(jīng)網(wǎng)絡(luò)采用adam優(yōu)化器的預(yù)測結(jié)果更好。
由表1可以看出,采用廣西高速公路數(shù)據(jù)集在訓(xùn)練1和訓(xùn)練2中GRU模型的三個指標(biāo)值均優(yōu)于LSTM模型和改進GRU模型的指標(biāo)值,因此GRU模型的性能最差,而LSTM模型與改進GRU三個指標(biāo)值接近,因此二者無法分出優(yōu)劣。在訓(xùn)練3和訓(xùn)練4的結(jié)果中均可以看到改進的GRU模型性能更好,但訓(xùn)練4相比訓(xùn)練3結(jié)果更好。因此在廣西高速公路數(shù)據(jù)集上可以得出與芬蘭數(shù)據(jù)集上同樣的結(jié)論,且所提模型在廣西數(shù)據(jù)集上的測試結(jié)果更好。
(1)設(shè)計了改進門控循環(huán)網(wǎng)絡(luò)的高速公路交通流預(yù)測模型,并與GRU、LSTM模型進行對比,結(jié)果表明采用改進GRU交通流預(yù)測模型所得結(jié)果與實際交通流量的變化趨勢更吻合。
(2)結(jié)合時序數(shù)據(jù)的時序特性比較LSTM、GRU和改進GRU模型的性能差異,選取了改進GRU作為最終預(yù)測模型,尚未考慮數(shù)據(jù)的空間相關(guān)性,沒有將天氣、道路占有率、車輛速率等一些因素作為預(yù)測的影響因素考慮在內(nèi),基于交通流的預(yù)測評價主要放在了模型預(yù)測的性能比較上,可能預(yù)測結(jié)果的精確度不高,需要構(gòu)建更加完善的模型,調(diào)節(jié)參數(shù),在未來的研究中,需要進一步提高最終預(yù)測結(jié)構(gòu)的精確度。