鄭友康,王紅蕾
(貴州大學(xué)電氣工程學(xué)院,貴州 貴陽 550025)
實時、準確的交通流量預(yù)測能夠為出行者提前規(guī)劃合理的路線,減緩交通擁堵和空氣污染,節(jié)約出行時間,因此,對短時道路交通流量預(yù)測的研究具有重要的現(xiàn)實意義。楊高飛[1]等人應(yīng)用ARMA和卡爾曼濾波來對未來短時道路交通流量進行研究,劉釗[2]等提出了用基于時空參數(shù)的 KNN算法對序列狀態(tài)向量進行重建。但是,道路交通流量時間序列具有隨機性和高度的非線性,為了更深層次挖掘道路交通流量時間序列的特征,也有學(xué)者將目光轉(zhuǎn)向機器學(xué)習(xí)的支持向量機等方法上,韓志聰[2]等提出了基于GA-SVR模型的短期交通流量預(yù)測方法,并取得了比較好的效果。近年來,有越來越多的學(xué)者運用深度學(xué)習(xí)相關(guān)方法來進行道路交通流量的預(yù)測,劉明宇[3]等提出了一種基于GRU深度學(xué)習(xí)模型的交通流量預(yù)測研究方法,預(yù)測精度還是不高。提出的基于長短時記憶模型的方法,實現(xiàn)對道路短時交通流量的預(yù)測,提高了道路交通流量預(yù)測的準確性。
長短期記憶模型(LSTM)是一種特殊的 RNN模型,是為了解決RNN模型梯度消失的問題而提出的[4]。LSTM 的循環(huán)結(jié)構(gòu)由 3個控制門組成,由遺忘門(forget gate)、輸入門(external input gate)和輸出門(output gate)組成。它的結(jié)構(gòu)如圖1所示。
圖1 LSTM單元結(jié)構(gòu)圖Fig.1 LSTM unit structure
各個門的激活方式為:
其中 g代表邏輯函數(shù)sigmond,值域在[0,1]區(qū)間內(nèi),通過g函數(shù)的映射。f代表遺忘門,i代表輸入門,o代表輸出門,h為神經(jīng)元細胞輸出,c代表隱含細胞狀態(tài),p表示tanh函數(shù),構(gòu)建候選向量[5-7]。
假設(shè)時間 t時刻待預(yù)測路口橫斷面交通流量為v(t),嵌入維數(shù)為m,時間間隔為p,則有集合x(i)={v(t-p)},v(t-2*p),…,v(t-(m-1)*p)},樣本{x(i),v(t)}為一個訓(xùn)練樣本,任務(wù)是通過模型挖掘歷史狀態(tài)序列數(shù)據(jù)的特征,預(yù)測未來一段時間的路口交通流量[8-9],即 v(t)=h(x(i))。
我們的任務(wù)是找出h,如圖2所示。
圖2 模型結(jié)構(gòu)Fig.2 Model structure
深度學(xué)習(xí)算法使用梯度[10]下降來進行權(quán)重參數(shù)的更新,在LSTM中,參數(shù)更新方式為:
其中ω代表LSTM待優(yōu)化參數(shù),η表示學(xué)習(xí)速率,為一常量,E代表傳播誤差。
梯度下降算法并不能保證使得損失函數(shù)達到全局最優(yōu)的位置,并且隨著迭代次數(shù)的增多,參數(shù)ω的值理論上越來越接近極值點,若使學(xué)習(xí)率η參數(shù)一直保持原值,則在更新參數(shù)時可能會跳出極值點范圍,進一步,會使得模型失效。為了解決這個問題,筆者提出了一種自適應(yīng)學(xué)習(xí)率方法來改進LSTM在權(quán)重更新時可能會遇到的“跳出”怪圈,改進為:
其中ig表示損失函數(shù)關(guān)于ω的第i次偏導(dǎo)數(shù),iη代表第i次更新的學(xué)習(xí)速率值,代表E代表損失函數(shù)。
這里選取了安徽省合肥市某路口的道路交通流量數(shù)據(jù),時間范圍為2016年6.22號到2016年6月30號,去除雙休時間,時間間隔為2分鐘,嵌入維數(shù)為4,得到了899組樣本,其中前720個樣本作為訓(xùn)練集,后179個樣本作為測試集。
本文采用了支持向量回歸(SVR),普通長短期記憶模型(LSTM)進行對比,選取了均方根誤差(RMSE)兩個指標(biāo)來對模型的質(zhì)量做出評價,下面給出它的定義:
式中iy代表實際交通流量,iy˙代表模型預(yù)測的交通流量,n代表了模型中預(yù)測的點的個數(shù)。
仿真環(huán)境是64位的windows7系統(tǒng),python版本為3.5.0,使用sublime_text3作為編輯器,keras,sklearn的開發(fā)庫。對于支持向量回歸(SVR),核函數(shù)選取非線性函數(shù) RBF,gama=0.2,C=100,選擇t=10的交叉驗證方法,epochs=10,batch_size=1,LSTM,隱含層神經(jīng)元數(shù)為 156,學(xué)習(xí)速率常量取0.3,以下是各種算法在同一測試數(shù)據(jù)集下的預(yù)測分布圖。
圖3 SVR預(yù)測結(jié)果Fig.3 SVR prediction results
圖4 LSTM預(yù)測結(jié)果Fig.4 LSTM prediction results
圖5 ILSTM預(yù)測結(jié)果Fig.5 ILSTM prediction results
分析知ILSTM相對于和SVR,LSTM模型在訓(xùn)練集和測試集擁有更好的預(yù)測精度,因為它們有更深的層次結(jié)構(gòu),對交通流量時間序列的特征挖掘更深,這說明LSTM相對復(fù)雜的結(jié)構(gòu)能夠提升模型的精準度,SVR雖然在訓(xùn)練集上擁有更好的預(yù)測精度,但其泛化能力不高,在測試集上表現(xiàn)變差。
三種模型誤差對比如表1所示。
表1 三種模型誤差對比Tab.1 Error comparison of three models
為了提高對研究路口道路交通流量預(yù)測的精度,分別嘗試了K最近鄰回歸(KNN),支持向量回歸(SVR),普通長短期記憶模型(LSTM)以及改進長短期記憶模型(ILSTM)等算法,仿真結(jié)果顯示,改進的ILSTM的深度學(xué)習(xí)算法具有更好的預(yù)測精度??梢詾榘不帐『戏适薪痪块T的交通疏導(dǎo)以及決策提供依據(jù)。