劉 銘, 魚(yú) 昕
(長(zhǎng)春工業(yè)大學(xué) 數(shù)學(xué)與統(tǒng)計(jì)學(xué)院, 長(zhǎng)春 130012)
及時(shí)準(zhǔn)確的短時(shí)交通預(yù)測(cè)是智能交通系統(tǒng)中交通誘導(dǎo)、 事故檢測(cè)、 交通分配的前提, 常見(jiàn)的短時(shí)交通流量預(yù)測(cè)方法可以簡(jiǎn)略分為以下3種: ①基于線性模型的方法。線性模型主要包括: 歷史平均模型(historical average, HA)、 卡爾曼濾波模型(Kalman filtering, KF)及求和自回歸滑動(dòng)平均模型(autoreg ressive integrated moving average, ARIMA)。如Emami等將卡爾曼濾波模型應(yīng)用到短時(shí)交通流量預(yù)測(cè)中[1], Kumar等使用季節(jié)性ARIMA模型進(jìn)行交通流量預(yù)測(cè)[2], 并且取得了不錯(cuò)的預(yù)測(cè)結(jié)果。但從總體的預(yù)測(cè)結(jié)果來(lái)分析, 這類預(yù)測(cè)方法的大多數(shù)理論基礎(chǔ)都是線性估計(jì)模型, 抗外界干擾能力差, 當(dāng)交通流變化的隨機(jī)性和非線性增強(qiáng)后, 模型的預(yù)測(cè)性能逐漸變差, 并且上述線性模型大多只考慮了交通流本身的規(guī)律, 沒(méi)有考慮其他的因素(例如天氣因素)。②基于非線性模型方法。非線性模型主要包括: 非參數(shù)回歸預(yù)測(cè)模型、 神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型以及支持向量回歸預(yù)測(cè)模型等。如Carl等使用人工神經(jīng)網(wǎng)絡(luò)對(duì)短時(shí)交通流量進(jìn)行了預(yù)測(cè)[3], Clark使用非線性回歸模型預(yù)測(cè)短時(shí)交通流量[4], 歐陽(yáng)俊等提出基于多核混合支持向量機(jī)(support vector machine, SVM)的預(yù)測(cè)方法[5]。從預(yù)測(cè)效果來(lái)看, 基于短時(shí)交通流非線性的特點(diǎn), 相比線性方法, 非線性方法理論上更加適用, 它不需要線性方法的模型辨識(shí)和參數(shù)估計(jì)過(guò)程, 而是通過(guò)對(duì)歷史數(shù)據(jù)進(jìn)行學(xué)習(xí)推演。但是這種方法也有弊端, 一是由于只是根據(jù)歷史數(shù)據(jù)訓(xùn)練, 從數(shù)據(jù)本身尋找演化規(guī)律, 沒(méi)有涉及交通流的機(jī)理; 二是為了能夠保證學(xué)習(xí)的效果和預(yù)測(cè)精度, 必須有大量的數(shù)據(jù)作支撐, 數(shù)據(jù)量越大運(yùn)算量也越大, 并且這類方法數(shù)學(xué)計(jì)算較為困難。③基于混合模型方法。混合模型算法是指將兩種或者兩種以上的模型組合應(yīng)用于短時(shí)交通流量的預(yù)測(cè), 是目前國(guó)內(nèi)外最流行的短時(shí)交通流量預(yù)測(cè)方法。如林靜等將小波分析和貝葉斯估計(jì)組合對(duì)鐵路貨運(yùn)量進(jìn)行了預(yù)測(cè)[6], 提高了模型的精度;Ma等將SVM和循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network, RNN)相結(jié)合進(jìn)行交通流預(yù)測(cè)[7]; 杜金彪將K近鄰算法 (Knearest neighbor, KNN)和徑向基網(wǎng)絡(luò)(radial basis function, RBF)相結(jié)合應(yīng)用于短時(shí)交通流量的預(yù)測(cè)[8], 都取得了不錯(cuò)的預(yù)測(cè)效果。雖然混合模型可以將幾種模型的優(yōu)勢(shì)互補(bǔ), 相比于單一的預(yù)測(cè)模型擁有更高的預(yù)測(cè)精度, 但也增加了預(yù)測(cè)的計(jì)算量和復(fù)雜度。
近年來(lái), 隨著深度學(xué)習(xí)的發(fā)展, 其已被廣泛應(yīng)用于短時(shí)交通流量的預(yù)測(cè)中。如Koesdwiady等使用深度神經(jīng)網(wǎng)絡(luò)(deep neural network, DBN)算法研究了天氣因素對(duì)于交通流的影響[9], 并以美國(guó)實(shí)際數(shù)據(jù)證明了算法的有效性。Zhao等使用單一的LSTM模型對(duì)15、 30、 45和60 min后的交通流量進(jìn)行了預(yù)測(cè), 雖然整體效果均優(yōu)于傳統(tǒng)模型, 但在15和30 min后的交通流量預(yù)測(cè)中精度的提升并不明顯, 沒(méi)有充分提取短時(shí)交通流量數(shù)據(jù)的時(shí)空特性[10]。Zhang等提出了一種基于CNN深度學(xué)習(xí)框架的短期交通流量預(yù)測(cè)模型[11], 通過(guò)卷積學(xué)習(xí)交通流量的特征, 從而建立預(yù)測(cè)模型, 并將預(yù)測(cè)結(jié)果與實(shí)際交通數(shù)據(jù)進(jìn)行比較, 評(píng)估了該方法的有效性。
交通流具有不確定性、 周期性、 相關(guān)性、 非線性等基本的特征, 這決定了短時(shí)交通流預(yù)測(cè)不是單一的模型或者方法所能夠解決或者完成的。上述模型都有自己的優(yōu)缺點(diǎn)以及使用范圍和條件, 因此混合方法在短時(shí)交通流預(yù)測(cè)中更具有優(yōu)勢(shì)。為了充分提高短時(shí)交通流量預(yù)測(cè)的準(zhǔn)確率, 本文提出了一種基于改進(jìn)LSTM的短時(shí)交通流量預(yù)測(cè)模型。
Hochreiter等首次提出了LSTM算法[12], 它是遞歸神經(jīng)網(wǎng)絡(luò)的一種, 目前已被廣泛應(yīng)用到機(jī)器控制、 文本識(shí)別、 語(yǔ)音識(shí)別等領(lǐng)域。LSTM同其他神經(jīng)網(wǎng)絡(luò)一樣, 也有相似的鏈?zhǔn)浇Y(jié)構(gòu), 如圖1所示。
其中,xt代表t時(shí)刻的輸入,ht代表t時(shí)刻的隱藏層的狀態(tài),ot代表t時(shí)刻的輸出,yt代表樣本t時(shí)刻給出的實(shí)際值,lt代表t時(shí)刻的損失函數(shù),W代表隱藏層上一個(gè)狀態(tài)到下一個(gè)狀態(tài)的權(quán)重,U代表輸入層到隱藏層的權(quán)重??芍? 隨著序列推進(jìn),“損失”也不斷累積。除上述特點(diǎn)之外, LSTM中神經(jīng)元之間權(quán)值共享, 即圖1中的W、U是完全相同的。每個(gè)神經(jīng)元都只與其本身的路線建立權(quán)連接, 不會(huì)與別的神經(jīng)元連接, 與其他神經(jīng)網(wǎng)絡(luò)的不同之處在于, 它以圖2這種特殊的重復(fù)結(jié)構(gòu)進(jìn)行神經(jīng)元之間的交互。
圖1 LSTM遞歸神經(jīng)網(wǎng)絡(luò)鏈?zhǔn)浇Y(jié)構(gòu)圖
圖2 重復(fù)模塊結(jié)構(gòu)圖
通過(guò)3部分理解這種特殊方式。第1部分為過(guò)濾, 即在LSTM中以一定的概率過(guò)濾去除上一層的隱藏細(xì)胞狀態(tài)。
ft=σ(Wf1ht-1+Wf2xt+bf1),
(1)
其中:σ為sigmoid激活函數(shù),Wf1、Wf2為權(quán)重矩陣,bf1為偏置矩陣。
第2部分是輸入部分, 整個(gè)輸入部分可分為兩個(gè)子部分it、gt。
it=σ(Wi1ht-1+Wi2xt+bi1);
(2)
gt=?(Wg1ht-1+Wg2xt+bg1)。
(3)
Ct=Ct-1ft+itgt,
(4)
其中,σ為sigmoid激活函數(shù), ?為tanh激活函數(shù),Wi1、Wi2、Wg1、Wg2為權(quán)重矩陣,Bi1、Wg1為偏置矩陣,Ct-1代表t-1時(shí)刻的細(xì)胞狀態(tài)。通過(guò)Ct更新細(xì)胞的狀態(tài)。
第3部分為輸出部分。先用sigmoid函數(shù)決定將要輸出的細(xì)胞內(nèi)容, 再通過(guò)tanh函數(shù)更新細(xì)胞狀態(tài), 兩者相乘, 從而實(shí)現(xiàn)只輸出想要輸出的部分。
Ot=σ(Wo1ht-1+Wo2xt+bo1),
(5)
ht=Ottanh(Ct),
(6)
其中,Wo1、Wo2為權(quán)重矩陣,bo1為偏置矩陣。
(7)
其實(shí)質(zhì)是把n個(gè)采樣值相加, 求其平均值, 作為t時(shí)刻的值。
對(duì)于短時(shí)交通流量的預(yù)測(cè), 影響因素較多, 例如: 道路交通管制、 車(chē)輛限行、 極端天氣、 能見(jiàn)度低、 其他突發(fā)狀況等, 交通流的變化極其復(fù)雜, 使得交通流的數(shù)據(jù)具有極強(qiáng)的噪聲。原有的LSTM模型在預(yù)測(cè)時(shí)受交通流數(shù)據(jù)的極強(qiáng)噪聲的干擾極強(qiáng), 很難保證準(zhǔn)確性。現(xiàn)對(duì)原有的LSTM模型進(jìn)行改進(jìn), 提出一種MVF-LSTM模型, 其網(wǎng)絡(luò)結(jié)構(gòu)圖如圖3所示。
圖3 MVF-LSTM模型網(wǎng)絡(luò)結(jié)構(gòu)圖
MVF-LSTM模型在原始的LSTM模型的輸入層之前加了算術(shù)平均濾波層, 經(jīng)過(guò)算術(shù)平均濾波處理后特征加入到原始LSTM模型的輸入層當(dāng)中。即算術(shù)平均濾波是一個(gè)安插在LSTM輸入層之前的計(jì)算單元, 能夠過(guò)濾掉短時(shí)交通流量數(shù)據(jù)存在的噪聲, 從而減少噪聲數(shù)據(jù)對(duì)模型預(yù)測(cè)準(zhǔn)確度的影響。則式(1)、 (2)、 (3)、 (5)變換為
(8)
(9)
(10)
(11)
采用前文提到的MVF-LSTM模型預(yù)測(cè)交通流的數(shù)量, 所設(shè)計(jì)的MVF-LSTM網(wǎng)絡(luò)結(jié)構(gòu)包含算術(shù)濾波層、 輸入層、 隱藏層和輸出層各1個(gè)。其中隱藏層有9個(gè)神經(jīng)單元結(jié)構(gòu)。在訓(xùn)練中每次給網(wǎng)絡(luò)中輸入50組數(shù)據(jù), 每組的時(shí)間步長(zhǎng)為6, 整個(gè)網(wǎng)絡(luò)的迭代次數(shù)設(shè)置為1 800。使用TensorFlow框架完成網(wǎng)絡(luò)的搭建。在優(yōu)化網(wǎng)絡(luò)參數(shù)時(shí), 選用動(dòng)量梯度下降(Momentum)優(yōu)化網(wǎng)絡(luò)的參數(shù)。
2.1.1 數(shù)據(jù)來(lái)源 采用美國(guó)明尼蘇達(dá)州的明尼阿波利斯和圣保羅之間94號(hào)州際公路西行每小時(shí)的交通量、 是否節(jié)假日、 天氣、 氣溫等信息數(shù)據(jù),數(shù)據(jù)來(lái)源于UCI(University of California Irvine)數(shù)據(jù)庫(kù)(http: //archive.ics.uci.edu/ml/index.php)。 圖4所示為94號(hào)州際公路的概況。
圖4 94號(hào)州際公路的位置
2.1.2 預(yù)測(cè)結(jié)果性能評(píng)價(jià)性指標(biāo) 為了對(duì)LSTM模型在交通流量預(yù)測(cè)中的性能進(jìn)行評(píng)價(jià), 本研究采用平均相對(duì)誤差MAPE和均等系數(shù)EC作為評(píng)價(jià)指標(biāo):
(12)
(13)
以明尼阿波利斯和明尼蘇達(dá)州圣保羅之間94號(hào)州際公路西行2016—2018年的每小時(shí)交通量為數(shù)據(jù)基礎(chǔ)進(jìn)行仿真實(shí)驗(yàn)。數(shù)據(jù)的時(shí)間間隔為1 h?,F(xiàn)以仿真數(shù)據(jù)中的80%作為訓(xùn)練集, 后20%數(shù)據(jù)作為測(cè)試集, 進(jìn)行模型參數(shù)的尋優(yōu)并進(jìn)行交通流量的預(yù)測(cè), 尋找最佳的參數(shù)。
為了驗(yàn)證MVF-LSTM模型的優(yōu)越性, 本文同時(shí)還采用了支持向量回歸(SVR)、 門(mén)控循環(huán)單元(GRU)神經(jīng)網(wǎng)絡(luò)、 深度神經(jīng)網(wǎng)絡(luò)(DBN)、 卷積神經(jīng)網(wǎng)絡(luò)(CNN)、 長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)與本文的MVF-LSTM模型進(jìn)行對(duì)比, 結(jié)果如圖5所示。
圖5 各種模型預(yù)測(cè)結(jié)果對(duì)比
SVR的預(yù)測(cè)結(jié)果和原始交通流量的誤差相對(duì)較大, 尤其在峰值點(diǎn)處, 預(yù)測(cè)趨勢(shì)會(huì)出現(xiàn)滯后的現(xiàn)象。GRU模型的預(yù)測(cè)結(jié)果雖然在預(yù)測(cè)的趨勢(shì)上和真實(shí)趨勢(shì)相吻合, 但在峰值和拐點(diǎn)處預(yù)測(cè)偏差較大。DBN模型和CNN模型雖然相較于SVR和GRU模型的預(yù)測(cè)結(jié)果稍好, 但在峰值處的預(yù)測(cè)也相對(duì)較差。從LSTM模型預(yù)測(cè)的結(jié)果來(lái)看, 雖然模型的泛化能力比較好, 但峰值預(yù)測(cè)的精度上存在一定的偏差。MVF-LSTM模型在原始LSTM模型的輸入層加入算術(shù)平均濾波后, 濾掉了交通干擾噪聲, 預(yù)測(cè)出的交通流量的趨勢(shì)和真實(shí)趨勢(shì)吻合度比較高, 在峰值處預(yù)測(cè)值和真實(shí)值也十分貼近。各模型的精度如表1所示。
表1 模型預(yù)測(cè)性能比較
可見(jiàn), MVF-LSTM模型的MAPE值比SVR、 GRU、 DBN、 CNN和LSTM模型的都小, 表明MVF-LSTM模型的預(yù)測(cè)值最貼近真實(shí)值, 預(yù)測(cè)的準(zhǔn)確度更好。本文改進(jìn)后的新方法EC值增大, 說(shuō)明增加了模型的穩(wěn)定性, 減少了真實(shí)值和預(yù)測(cè)值的分散程度, 從而獲得了更好的預(yù)測(cè)效果。通過(guò)分析比較本文提出的MVF-LSTM模型在短時(shí)交通流量的預(yù)測(cè)中泛化能力更好, 相比于其他模型取得了較高的精度, 較原始的LSTM模型MAPE值提升了6%。
2.3.1 迭代次數(shù)對(duì)模型準(zhǔn)確度的影響 由圖6可以看出, 在前1 000~1 500次迭代中,MAPE值迅速下降; 1 500~1 800次,MAPE值緩慢下降, 代表模型的準(zhǔn)確率通過(guò)迭代次數(shù)的增加在緩慢上升; 直到1 800次以后,MAPE值隨訓(xùn)練次數(shù)增加而增大, 模型的預(yù)測(cè)誤差再次上升。故選取1 800次作為本研究的模型迭代次數(shù)。
圖6 不同迭代次數(shù)對(duì)模型準(zhǔn)確度的影響圖
2.3.2 時(shí)間步長(zhǎng)對(duì)模型準(zhǔn)確度的影響 從圖7可以看出,MAPE值隨著時(shí)間步長(zhǎng)的增加呈現(xiàn)起伏的狀況, 當(dāng)時(shí)間步長(zhǎng)取6個(gè)時(shí),MAPE值最小。
圖7 不同的時(shí)間步長(zhǎng)對(duì)模型準(zhǔn)確度的影響
3.3.3 隱藏層的神經(jīng)元的個(gè)數(shù)對(duì)模型準(zhǔn)確度的影響 如圖8所示, 隨著模型隱藏層神經(jīng)元個(gè)數(shù)的上升,MAPE值出現(xiàn)了往復(fù)震蕩的狀況。 當(dāng)隱藏層神經(jīng)元的個(gè)數(shù)為9時(shí),MAPE值達(dá)到最小, 所以最終MVF-LSTM模型的隱藏層神經(jīng)元的個(gè)數(shù)設(shè)置為9。
圖8 不同隱藏層神經(jīng)元的數(shù)量對(duì)模型準(zhǔn)確率的影響
本文提出的MVF-LSTM算法是本文短時(shí)交通流量預(yù)測(cè)研究的核心算法。利用算術(shù)平均濾波去除交通流量數(shù)據(jù)中的干擾噪聲, 從而增加MVF-LSTM模型輸入層的維度, 然后放入MVF-LSTM模型的隱藏層進(jìn)行模型的訓(xùn)練, 通過(guò)模型去學(xué)習(xí)交通流量的特征, 從而學(xué)習(xí)到交通流量時(shí)間序列的本質(zhì)特征, 并對(duì)交通流量進(jìn)行了有效的預(yù)測(cè)。通過(guò)預(yù)測(cè)的評(píng)價(jià)指標(biāo), 與其他常用模型進(jìn)行了分析比較, 驗(yàn)證了本文提出的MVF-LSTM模型對(duì)交通流量的預(yù)測(cè)精度很高, 并且具有很好的泛化能力, 對(duì)短時(shí)交通流量數(shù)據(jù)的預(yù)測(cè)具備一定的參考價(jià)值。但本文算法仍存在一些不足: 該模型雖然去除了交通流數(shù)據(jù)中的部分噪聲, 但去噪效果的優(yōu)劣主要取決于算術(shù)平均濾波層采樣值個(gè)數(shù)的準(zhǔn)確選擇, 如何選取合適的采樣值個(gè)數(shù), 有待今后進(jìn)一步的研究。
桂林理工大學(xué)學(xué)報(bào)2021年2期