潘偉靖,陳德旺
(1.福州大學(xué) 數(shù)學(xué)與計算機科學(xué)學(xué)院,福建 福州 350108;2.福州大學(xué)-星云股份智慧新能源研究中心,福建 福州 350108)
短時交通流量預(yù)測研究,為智能交通系統(tǒng)中的一個重要研究方向。該類研究可以為相關(guān)部門提供較為準(zhǔn)確的城市道路流量信息,進(jìn)而為相關(guān)部門對于路面車流的引導(dǎo)以及預(yù)警信息的發(fā)布提供相關(guān)決策依據(jù),為市民的出行等提供了更為可靠的建議。因此,該類研究也具有一定的現(xiàn)實意義。
在短時交通流量預(yù)測的問題上,很多學(xué)者做了相關(guān)研究,如宮曉燕等使用的基于非參數(shù)回歸的方法[1]以及張一基于卡爾曼濾波算法的研究[2]等一系列基于數(shù)學(xué)模型進(jìn)行的研究。楊兆升等采用支持向量機[3]等機器學(xué)習(xí)方法進(jìn)行預(yù)測。有部分學(xué)者采用一些混合模型,期望多種方法的互補,使得其模型的最終預(yù)測達(dá)到更好的效果,如采用SVM與卡爾曼濾波法相結(jié)合的研究[4]、將K-means與極限學(xué)習(xí)機相結(jié)合的方法[5]以及采用小波分析法與ARMA模型相結(jié)合的方法[6]等,在短時交通流量預(yù)測方向,取得了明顯的進(jìn)展。
隨著深度學(xué)習(xí)及硬件設(shè)備等的蓬勃發(fā)展,不少學(xué)者嘗試構(gòu)建深層次神經(jīng)網(wǎng)絡(luò),希望網(wǎng)絡(luò)模型在預(yù)測結(jié)果精確度和可靠性上更高。其中對短時交通流量預(yù)測這類時間序列預(yù)測問題而言,最常用的便是RNN。
RNN是一種區(qū)別于傳統(tǒng)前饋神經(jīng)網(wǎng)絡(luò)的新型網(wǎng)絡(luò),其設(shè)計思想是使神經(jīng)網(wǎng)絡(luò)具有一定的“記憶”功能,從而使訓(xùn)練后的RNN模型可以根據(jù)已有的若干個狀態(tài)的值來對下一時刻S的值進(jìn)行估測,正是因為這種“記憶”的特性,為時間序列預(yù)測、字符序列等問題提供了一個新的解決方案。但是,在訓(xùn)練標(biāo)準(zhǔn)RNN試圖獲取數(shù)據(jù)在一段較長時間內(nèi)的特征時,RNN通常會出現(xiàn)梯度消失或梯度爆炸的情況[7]。于是有研究人員嘗試將RNN的隱藏層基本單位由一個簡單神經(jīng)元節(jié)點改變?yōu)橐粋€擁有記憶性的模塊[8]。這種對標(biāo)準(zhǔn)RNN的更改中,最為著名的為Hochreiter和Schmidhu-ber提出的長短時記憶網(wǎng)絡(luò)(long short term memory,LSTM)[9]以及Cho等提出的門循環(huán)單元(gated recurrent unit,GRU)[10]。這兩種改進(jìn)型的RNN,使得對一段相對較長時間內(nèi)的特征捕獲問題有了長足的進(jìn)步。目前,RNN模型廣泛應(yīng)用在語音識別[11]、自然語言處理[12]、機器翻譯[13]、語義分析[14]等方面。
有學(xué)者將LSTM運用于短時交通流量預(yù)測[15],也有學(xué)者對LSTM與GRU兩種模型在短時交通流量預(yù)測方面的性能做了比較[16],也有學(xué)者將LSTM與SVR進(jìn)行結(jié)合,得到了相對較好的結(jié)果[8]。由于GRU相對LSTM通常收斂較快[16],計算量也就會相對減少。在結(jié)構(gòu)上只包括更新門和重置門。其中更新門會對當(dāng)前時刻保存?zhèn)鱽淼臓顟B(tài)信息多少做出決策,重置門則正好相反,是對當(dāng)前時刻丟棄或忽略傳來的狀態(tài)信息的多少做出判定。在LSTM與SVR相結(jié)合[8]的方法的啟發(fā)下,文中提出一種將GRU與SVR相結(jié)合的模型用于短時交通流量預(yù)測,以期取得更高的預(yù)測精度和更快的運算速度。該模型使用門循環(huán)單元(GRU)對數(shù)據(jù)做特征提取,再將其輸入到模型頂層的支持向量機回歸(SVR)模型中以得到模型最終的預(yù)測輸出。
提出的模型結(jié)構(gòu)如圖1所示。
圖1 GRU-SVR模型框圖
假設(shè)在模型訓(xùn)練時一次輸入模型的數(shù)據(jù)長度為num,數(shù)據(jù)采樣時間間隔設(shè)為Δt,即一次輸入模型的一組數(shù)據(jù)之間的時間間隔為num*Δt,且訓(xùn)練集整體表示為D=(x1,x2,…,xn),其中xi表示每個數(shù)據(jù)采樣時間間隔內(nèi)的交通流量數(shù)據(jù)。將訓(xùn)練集數(shù)據(jù)轉(zhuǎn)化為向量V,表示為V=(V1,V2,…,Vm),其中Vi=(xi,x2,…,xi+num)。之后對Vi做切片,使得其前num個數(shù)據(jù)為模型的一次輸入,最后一個為其對應(yīng)的結(jié)果。在這之后進(jìn)行匯總,形成真正的訓(xùn)練數(shù)據(jù)。對測試集數(shù)據(jù)也做相同的處理,得到測試數(shù)據(jù)。
將訓(xùn)練數(shù)據(jù)作為圖1中的Input輸入模型,訓(xùn)練GRU網(wǎng)絡(luò)模型使之學(xué)習(xí)到相關(guān)參數(shù)。之后將數(shù)據(jù)集輸入已訓(xùn)練好的GRU模型,獲取到由GRU模型輸出的特征向量,組成新的訓(xùn)練集與測試集。輸入到SVR模型進(jìn)行訓(xùn)練,得到最終的預(yù)測信息。相應(yīng)流程如下:
Step1:對獲取到的數(shù)據(jù)進(jìn)行規(guī)范化處理;
Step2:以處理后的數(shù)據(jù)訓(xùn)練GRU網(wǎng)絡(luò)模型,對輸入數(shù)據(jù)進(jìn)行學(xué)習(xí);
Step3:將GRU網(wǎng)絡(luò)輸出的特征向量作為SVR模型的輸入,并對SVR模型進(jìn)行訓(xùn)練;
Step4:使用SVR模型進(jìn)行預(yù)測,并將模型輸出做反規(guī)范化得到預(yù)測結(jié)果。
在GRU網(wǎng)絡(luò)設(shè)計中,首先固定輸入數(shù)據(jù)的長度進(jìn)行設(shè)計。這里以num為12來進(jìn)行設(shè)計。經(jīng)反復(fù)迭代測試,在兼顧模型的計算量與最終性能的情況下,選擇使模型在測試集上MAPE值達(dá)到最小的模型,并不斷調(diào)整其余超參數(shù),使得模型的平均絕對百分比誤差(mean absolute percentage error,MAPE)以及平均絕對誤差(mean absolute error,MAE)等指標(biāo)逐步降低。GRU網(wǎng)絡(luò)模型如圖2所示。
圖2 GRU特征提取模型
在圖2中,使用只有一層GRU網(wǎng)絡(luò)層的網(wǎng)絡(luò)結(jié)構(gòu),其中輸入層單元數(shù)為12,隱含層的單元數(shù)為135,激活函數(shù)選擇sigmoid,初始化函數(shù)選擇he_uniform。之后,Dropout層隨機斷開50%的單元,再經(jīng)過全連接層進(jìn)行輸出。Epochs為300。
在GRU網(wǎng)絡(luò)結(jié)構(gòu)確定之后,需要對SVR模型進(jìn)行設(shè)計,在反復(fù)迭代測試之后,最終采用核函數(shù)為徑向基(RBF),懲罰因子C=1,gamma為0.3,epsilon為0.001的SVR模型。
實驗采用的數(shù)據(jù)來自加利福尼亞交通局公路績效監(jiān)控系統(tǒng)(Caltrans performance measurement system,PeMS),使用的是加利福尼亞州薩克拉門托市I80-E檢測到的采樣間隔為5分鐘的流量數(shù)據(jù),時間為2018年4月到2018年7月,且使用的為工作日的總車流量。選擇將4月的工作日數(shù)據(jù)作為訓(xùn)練集對模型進(jìn)行訓(xùn)練,5月的工作日數(shù)據(jù)作為測試集。
采取的評價標(biāo)準(zhǔn)為平均絕對誤差(MAE)以及平均絕對百分比誤差(MAPE):
(1)
(2)
在確定網(wǎng)絡(luò)模型及其所配置的使MAPE、MAE等評價標(biāo)準(zhǔn)最低的超參數(shù)后,設(shè)計采用不同的單次數(shù)據(jù)輸入長度進(jìn)行實驗。實驗的數(shù)據(jù)輸入長度包括3,6,9,12。模型的預(yù)測結(jié)果如圖3所示。
圖3 不同num的模型對測試集數(shù)據(jù)的預(yù)測結(jié)果
使用上文所述指標(biāo)進(jìn)行評價,其結(jié)果如表1所示。
表1 不同數(shù)據(jù)輸入長度模型的預(yù)測結(jié)果評價
如圖3所示,在所有的實驗中,單次數(shù)據(jù)輸入長度為12的模型所預(yù)測出的曲線,與真實流量的曲線始終較為貼合,即誤差始終在一個相對較小的范圍內(nèi)。同時,從表1中可以看到,在不同實驗中,以num為12訓(xùn)練的模型,使得模型的預(yù)測誤差值達(dá)到最低,在其之前的幾個不同實驗中,MAPE與MAE指標(biāo)值均高于num為12的模型,但是都相差不大。所以仍然選擇數(shù)據(jù)輸入長度為12的模型進(jìn)行預(yù)測,達(dá)到最佳的結(jié)果。
為了測試該模型的泛化性,使用4月數(shù)據(jù)訓(xùn)練所得模型,分別對獲取到的6、7月數(shù)據(jù)進(jìn)行測試,其結(jié)果如表2所示。
表2 不同測試集上的性能比較
由表2可知,使用4月份數(shù)據(jù)作為訓(xùn)練集所訓(xùn)練得到的模型在6、7月份的數(shù)據(jù)集也有與5月份數(shù)據(jù)集上的相似表現(xiàn),即使用6、7月數(shù)據(jù)作為測試集,其MAE、MAPE值與5月份數(shù)據(jù)作為測試集的對應(yīng)評價指標(biāo)浮動相對較小,說明該模型在非連續(xù)自然月的數(shù)據(jù)集上具有一定的泛化能力。
在這之后,對模型的抗噪能力也進(jìn)行了測試。分別為5月份數(shù)據(jù)集加入三組具有不同均值、方差的高斯噪聲以檢測模型在不同情況下的抗噪能力。約定以“均值-標(biāo)準(zhǔn)差”的形式來表示每次測試的均值與標(biāo)準(zhǔn)差,其結(jié)果如表3所示。
表3 加入不同高斯白噪聲的性能比較
由表3可知,在加入高斯白噪聲之后,模型的MAPE、MAE評價指標(biāo)與原始測試集相比并沒有產(chǎn)生過多的浮動。所以,可以說明該模型具有相對較好的抗噪性。
為了驗證該模型的性能,使用如上文所述的數(shù)據(jù)集進(jìn)行訓(xùn)練及預(yù)測,即使用4月的數(shù)據(jù)進(jìn)行訓(xùn)練,5月的數(shù)據(jù)進(jìn)行預(yù)測,且分別與相同參數(shù)的GRU、SVR模型的性能進(jìn)行對比,其具體結(jié)果如圖4所示。
圖4 不同模型的預(yù)測結(jié)果對比
其預(yù)測的誤差如表4所示。
表4 不同模型的預(yù)測誤差
由圖4及表4可以看出,所有模型的預(yù)測曲線均可以較好地模擬出真實曲線數(shù)據(jù),均較為貼合,相對誤差均較小。但是,文中采用的模型相比于SVR、GRU,可以取得最低的MAPE以及MAE的值,說明該模型優(yōu)于SVR和GRU模型,且GRU-SVR模型最終的r2值為0.97,是一種可靠的預(yù)測模型。
借助深度學(xué)習(xí)模型強大的特征提取能力以及支持向量機回歸的預(yù)測能力,以結(jié)合門循環(huán)單元(GRU)與支持向量機回歸(SVR)兩種模型的混合模型對單一傳感器的交通流量進(jìn)行了相對較好的預(yù)測。但是,在大數(shù)據(jù)背景下,如何將機器學(xué)習(xí)與大數(shù)據(jù)相結(jié)合,仍是一個有前景的研究問題。對多個傳感器在大數(shù)據(jù)背景下的短時交通流量預(yù)測問題,是下一步的研究內(nèi)容。