王祥雪,許倫輝
(華南理工大學(xué) 土木與交通學(xué)院,廣州510640)
短時交通流預(yù)測是近年來交通工程領(lǐng)域的研究熱點,主要可分為模型驅(qū)動和數(shù)據(jù)驅(qū)動兩類.前者通過建立交通流各參數(shù)的數(shù)學(xué)模型,對交通運行狀態(tài)的復(fù)雜變化進行描述,在此基礎(chǔ)上實現(xiàn)交通狀態(tài)預(yù)測.例如基于統(tǒng)計特性的歷史趨勢[1]、非參數(shù)回歸[2]及卡爾曼濾波等[3].后者也稱為機器學(xué)習(xí)方法,主要是通過智能計算挖掘歷史數(shù)據(jù)隱含的信息,實現(xiàn)交通流狀態(tài)的迭代估計.神經(jīng)網(wǎng)絡(luò)作為主要的機器學(xué)習(xí)算法,在交通流預(yù)測領(lǐng)域也大受關(guān)注.Quek等[4]利用模糊邏輯神經(jīng)網(wǎng)絡(luò)實現(xiàn)短時交通流預(yù)測.李松等[5]利用改進粒子群算法對BP神經(jīng)網(wǎng)絡(luò)的參數(shù)訓(xùn)練進行優(yōu)化.Chan[6]應(yīng)用小波理論建立的神經(jīng)網(wǎng)絡(luò)模型,相比傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)獲得更好的預(yù)測效果.Fusco[7]將具體的貝葉斯網(wǎng)絡(luò)與人工神經(jīng)網(wǎng)絡(luò)進行融合建模,并利用浮動車大樣本數(shù)據(jù)進行驗證.隨著計算能力的大幅提升,日漸豐富的交通數(shù)據(jù)使得基于時間序列的交通流預(yù)測煥發(fā)出新的生機,大量學(xué)者從多元時間序列聯(lián)合預(yù)測[8]、量化時間序列噪聲的隨機性[9]、分析不同觀測時間尺度的時間序列構(gòu)成[10]等多個角度提出自己的研究成果.
城市道路交通系統(tǒng)是一個典型的復(fù)雜系統(tǒng),城市規(guī)模、出行方式、通勤高峰與否、天氣狀況、節(jié)假日等因素以非線性方式相互關(guān)聯(lián)作用,導(dǎo)致以模型驅(qū)動的研究方法在實際應(yīng)用中往往出現(xiàn)失效或者不作為的情況,深度學(xué)習(xí)在交通大數(shù)據(jù)挖掘方面體現(xiàn)出越來越強大的應(yīng)用價值.近兩年來,深度學(xué)習(xí)平臺TensorFlow等的興起極大地改善了神經(jīng)網(wǎng)絡(luò)構(gòu)建的可操作性.深度神經(jīng)網(wǎng)絡(luò)在圖像信息識別、自然語言處理等方面取得了較大的進展,但是以交通流時間序列為研究對象的深度神經(jīng)網(wǎng)絡(luò)研究在國內(nèi)才剛涉入.已有的研究要么對訓(xùn)練樣本量有較高要求,在實際的數(shù)據(jù)環(huán)境中往往難以實現(xiàn);要么一味地追求神經(jīng)網(wǎng)絡(luò)精度,造成模型過深,訓(xùn)練時間過長,大大降低了研究的現(xiàn)實意義.
本文將基于深度學(xué)習(xí)的理論框架,以Python語言和TensorFlow為開發(fā)平臺,實現(xiàn)基于LSTM單元的遞歸神經(jīng)網(wǎng)絡(luò)多時間梯度交通流預(yù)測模型,根據(jù)交通流的時空相關(guān)性實現(xiàn)時間序列的重構(gòu)和標準化處理,減小模型的樣本依賴性,利用實測數(shù)據(jù)完成模型的驗證和分析,并實現(xiàn)預(yù)測模型的本地化存儲,同時能根據(jù)預(yù)測精度進行自適應(yīng)更新,使得交通流預(yù)測在保證精度和時效性的前提下獲得更好的實用性和擴展性.
區(qū)別于傳統(tǒng)的前饋神經(jīng)網(wǎng)絡(luò),RNN中具有的信號反饋結(jié)構(gòu),使得網(wǎng)絡(luò)在k時刻的輸出狀態(tài)與k時刻以前的歷史信號關(guān)聯(lián),從而表現(xiàn)出一定的動態(tài)特性和記憶能力.近年來,RNN在語音識別、語言建模等問題上取得了顯著的成功[11-13],關(guān)鍵在于RNN的鏈式結(jié)構(gòu)中引入了LSTM單元,利用不同的門限控制,加強網(wǎng)絡(luò)的記憶能力,從而解決了梯度消失的問題[14].
將RNN的反饋結(jié)構(gòu)展開,如圖1所示,可以發(fā)現(xiàn)其類似于具有多層相同網(wǎng)絡(luò)的神經(jīng)網(wǎng)絡(luò),其中x為輸入,h代表神經(jīng)元的權(quán)值,tanh代表激活函數(shù).基于LSTM的RNN(LSTM-RNN)在這種鏈狀結(jié)構(gòu)的基礎(chǔ)上,對重復(fù)模塊內(nèi)部結(jié)構(gòu)進行改進,如圖2所示,最突出的特點是利用了3個sigmoid神經(jīng)網(wǎng)絡(luò)層和逐點乘法運算構(gòu)成的門限,加強了對通過信息的控制能力.其中,遺忘門限層ft決定哪些信息需要從上一時刻的單元狀態(tài)中拋棄;輸入門限層it決定需要更新的單元狀態(tài);輸出門限層ot將在單元狀態(tài)的基礎(chǔ)上進行過濾輸出,各個門限層的更新如式(1)所示.其中,Wf、bf、Wi、bi、Wo、bo分別是各門限層的權(quán)值和偏移量,σ代表sigmoid激活函數(shù).
圖1 RNN展開結(jié)構(gòu)圖Fig.1 RNN expanded structure view
圖2 基于LSTM的RNN結(jié)構(gòu)展開圖Fig.2 RNN based on LSTM expanded structure view
更新上述門限,其中Ct代表RNN單元的狀態(tài),從LSTM單元狀態(tài)得到C?t,再利用輸入門限和遺忘門限將C?t和Ct-1綜合更新到Ct中,如式(2)所示,同樣的WC、bC為權(quán)值和偏移量,此處仍然采用tanh作為激活函數(shù).本層神經(jīng)網(wǎng)絡(luò)的輸出權(quán)值ht由輸出門限控制,將激活后的單元狀態(tài),如式(2)所示,輸出到下一層神經(jīng)網(wǎng)絡(luò)和下一個鏈式單元,如式(3)所示.上述中sigmoid激活函數(shù)的表達式如(4)所示,可以將實數(shù)域光滑地映射到[0,1]空間,函數(shù)值代表屬于正類的概率.tanh函數(shù)的表達式如式(5)所示,不同于sigmoid,它可以將實數(shù)域映射到[-1,1]的范圍里,并且輸入為0時,輸出也為0.
綜上所述,LSTM-RNN利用門限層,控制RNN模型的記憶能力,在神經(jīng)網(wǎng)絡(luò)的訓(xùn)練階段,從歷史數(shù)據(jù)中學(xué)習(xí)到各個門限層的權(quán)值和偏移量,對歷史狀態(tài)的特征進行識別和記憶.在實時預(yù)測階段,基于已訓(xùn)練好的模型對輸入數(shù)據(jù)進行運算就可以得到時間序列的預(yù)測值.
城市快速路往往里程較長,跨接不同的行政區(qū)域,交通需求可能存在較大差異,使得交通流狀態(tài)在空間上存在分布不均的現(xiàn)象,因而通常的做法是先將快速路分接成多個毗鄰的路段,再針對每個路段分別實施預(yù)測.考慮到交通流的運行和組織特性,如式(6)所示,i是路段編號,N是樣本中的路段個數(shù).取下游路段t時刻及之前共m+1個時刻的狀態(tài),和自身路段t時刻及之前n+1個交通流狀態(tài)共同構(gòu)成的輸入狀態(tài).m和n的取值在訓(xùn)練階段根據(jù)路段結(jié)構(gòu)特點及算法表現(xiàn)確定,例如路段長度較長時,下游的狀態(tài)對上游影響較弱,m可以適當減小,當訓(xùn)練精度達到要求時,可以適當減小n,減小計算耗時.由此一來,經(jīng)過訓(xùn)練的模型能夠更真實精確地描述交通流在時空上的分布狀態(tài),并反映在預(yù)測結(jié)果中.
時間序列是計量經(jīng)濟學(xué)的重要研究對象,經(jīng)典計量理論要求模型的干擾項滿足極限法則(大數(shù)定律和中心極限定律).然而時間序列數(shù)據(jù)的時間序列性破壞了隨機樣本的設(shè)定,此時建立的計量模型是不可靠的,但是,如果時間序列滿足平穩(wěn)性要求,則可以替代隨機抽樣的假定,使得模型的隨機擾動滿足極限法則,此時進行的參數(shù)估計和統(tǒng)計推斷才是正確的,即平穩(wěn)的時間序列數(shù)據(jù)約等于隨機抽樣數(shù)據(jù)[15].平穩(wěn)性定義為時間序列的均值和標準差不隨時間變化而變化,并且序列的所有階統(tǒng)計量都維持不變.時間序列的非平穩(wěn)性體現(xiàn)在來源于外界環(huán)境或刺激帶來的單調(diào)的、周期性的或是階梯狀的分布趨勢.在數(shù)據(jù)處理階段必須對時間序列的平穩(wěn)性進行檢測,對于非平穩(wěn)的時間序列應(yīng)該進行平穩(wěn)化處理.標準化是指將數(shù)據(jù)按照比例進行縮放,使之落入一個相對小的特定區(qū)間,去除數(shù)據(jù)的單位限制,將其轉(zhuǎn)化為無量綱的純數(shù)值.數(shù)據(jù)標準化不僅可以提高尋找最優(yōu)解的速度,還可以提高模型訓(xùn)練的精度,消除范圍較大的特征值所帶來的影響.
為了確保所提模型的可靠性和高效性,對于重構(gòu)后的時間序列X(t),首先采用一階差分完成時間序列的平穩(wěn)化處理得到X′(t),然后,根據(jù)式(7)將差分后的時間序列規(guī)整到[-1,1]的范圍,得到序列
綜合上述分析,提出時間序列的交通流預(yù)測框架如圖3所示.輸入重構(gòu)的時間序列,進行LSTM-RNN模型訓(xùn)練,確定RNN和LSTM單元中的參數(shù)最優(yōu)組合.實驗中發(fā)現(xiàn),對于同一分布特性的時間序列,不同的激活函數(shù)效果有所差異,因而在訓(xùn)練階段必須根據(jù)預(yù)測效果不斷調(diào)整.因為平穩(wěn)化處理后的時間序列有正有負,因此選擇tanh作為激活函數(shù),為了與其輸出值域保持一致,將時間序列按比例縮小到[-1,1]之間以便獲得最佳的預(yù)測效果.圖3中,Epoch是樣本被輪巡計算的次數(shù),Batchsize是指為了獲得穩(wěn)定精確的梯度下降而設(shè)置的最優(yōu)樣本批量.
本文選取深圳市南海大道2016年12月1日由北向南共9個路段的速度時間序列作為數(shù)據(jù)樣本.該數(shù)據(jù)是融合了固定檢測裝置、出租車系統(tǒng)、公交系統(tǒng)及百度地圖等多源大數(shù)據(jù)的集合,是對實際交通流狀態(tài)的準確反映和刻畫.樣本采集間隔為5 min,共計288×9個數(shù)據(jù)點.
以2016年12月1日(星期三)南海大道與北環(huán)大道路口下游的路段交通流速度為例,數(shù)據(jù)樣本分布如圖4所示,顯然,交通流速度在早晚高峰時段有明顯的下降,繼而回升,階梯狀的分布趨勢不符合平穩(wěn)性約束,必須進行平穩(wěn)化處理.同時,為了更好地滿足LSTM-RNN的訓(xùn)練要求,將差分后的數(shù)據(jù)按比例縮小到[-1,1]的范圍.
圖3 LSTM-RNN交通流預(yù)測框架Fig.3 Traffic flow prediction framework based on LSTM-RNN
圖4 速度時間序列Fig.4 Speed time series
TensorFlow是Google開源的第二代用于數(shù)字計算的軟件庫,基于數(shù)據(jù)流圖的處理框架,實現(xiàn)數(shù)據(jù)的運算和交互.在上述LSTM-RNN交通流預(yù)測框架的指導(dǎo)下,本文選擇TensorFlow中的Keras高層神經(jīng)網(wǎng)絡(luò)API,在Python開發(fā)環(huán)境中完成模型搭建和訓(xùn)練.其間,對比了不同深度和結(jié)構(gòu)的模型(表1)的誤差水平,如圖5所示,可見,當模型深度達到4層時,訓(xùn)練和測試效果均達到最優(yōu)值,隨后模型深度增加,誤差略微增大.
圖5 不同深度模型的RMSEFig.5 RMSEs of LSTM-RNN in different depths
綜上,采用圖6所示的4層LSTM-RNN模型,各層輸入輸出維度及其他參數(shù)見圖中.DropOut層設(shè)定隨機斷開20%的神經(jīng)元,Dense為全連接層.優(yōu)化器為“Nadam”,激活函數(shù)為“tanh”,損失函數(shù)為MSE.實驗發(fā)現(xiàn),隨著Epoch的增加,訓(xùn)練時長增加,模型的訓(xùn)練誤差會隨之降低,但是Epoch增大到一定程度,則可能出現(xiàn)過擬合現(xiàn)象.對于比較小的數(shù)據(jù)集,Batchsize可以采用全數(shù)據(jù)集的形式,因為全數(shù)據(jù)集確定的方向能夠更好的代表樣本總體,從而更準確地朝向極值所在的方向下降.相反的,Batchsize等于1時(在線學(xué)習(xí)模式),每次修正的梯度方向都會發(fā)生變化,有可能橫沖直撞,難以收斂.因此,這2個參數(shù)的選擇應(yīng)該首先針對樣本集的大小確定一個大致的范圍,再經(jīng)過仔細調(diào)節(jié),尋找到合適的值,達到兼顧精度和時效性的要求.完成訓(xùn)練并達到精度要求的模型,其結(jié)構(gòu)和內(nèi)部參數(shù)會集成并固化為一個model對象,可以保存成本地文件,在預(yù)測階段,讀取該文件能夠獲取模型的全部信息,輸入處理后的測試樣本即可完成預(yù)測.
圖6 LSTM-RNN交通流時間序列預(yù)測模型Fig.6 Traffic flow time series prediction model based on LSTM-RNN
各個路段的LSTM-RNN訓(xùn)練時間如表2所示,其中路段3和7長度較短,且屬于和其他道路連接處,故重構(gòu)后的時間序列較為復(fù)雜,訓(xùn)練時間相對較長,其他各路段的訓(xùn)練時間分布比較均勻,平均值約16.60 s,相比文獻[16]訓(xùn)練時間縮小了兩個量級,完全可以達到時效要求.
表2 LSTM-RNN訓(xùn)練時間統(tǒng)計Table 2 Training time statistics of LSTM-RNN
基于訓(xùn)練好的LSTM-RNN模型,對所選數(shù)據(jù)樣本完成多步實時預(yù)測.當訓(xùn)練樣本占樣本總量(288)的50%時,圖7分別為路段1和路段4的一步預(yù)測(5 min)結(jié)果和誤差分布.顯然,LSTM-RNN模型可以實現(xiàn)完全跟蹤交通流的變化趨勢.不過,當交通流出現(xiàn)突變時(左圖),預(yù)測誤差可能會出現(xiàn)較大幅度的波動,例如速度突升時誤差較大,預(yù)測精確度有待改善.但是,當時間序列變化較為平穩(wěn)時,如右圖所示,時間序列的預(yù)測誤差在3 km/h以內(nèi),相比文獻[17]有很大提升.
圖7 預(yù)測結(jié)果及誤差分布Fig.7 Prediction result and error distribution
采用平均絕對誤差(MAE)和均方根誤差(RMSE)對作為評價指標,路段4的預(yù)測結(jié)果評價如表3所示,對比BP和RNN模型,預(yù)測精度得到了大幅改進.9個路段的評價結(jié)果如表4所示,多次試驗發(fā)現(xiàn),在模型訓(xùn)練階段根據(jù)路段結(jié)構(gòu)特點重構(gòu)了輸入時空序列后,LSTM-RNN的預(yù)測精度將與路段的物理結(jié)構(gòu)的相關(guān)性降低,預(yù)測精度均能達到較高水平.
表3 預(yù)測結(jié)果對比Table 3 Comparison of prediction results
表4 全部路段預(yù)測結(jié)果評價Table 4 Evaluation of all road segments prediction
增加預(yù)測步長,路段2的預(yù)測結(jié)果如圖8所示,可見,5 min的預(yù)測結(jié)果最準確,10 min和15 min的預(yù)測結(jié)果偏大,精度也依次遞減,如表5所示.同樣,在數(shù)據(jù)劇烈變化時刻,預(yù)測誤差增大,而平穩(wěn)變化時段,誤差較小.
圖8 多步預(yù)測結(jié)果及誤差對比Fig.8 Comparison of prediction results and error
表5 不同步長預(yù)測誤差對比Table 5 Comparison of the error of different step size
另外,當訓(xùn)練樣本占比逐步提高時,如表6所示,由于少數(shù)突變點的誤差減小,MAE的數(shù)值略有下降,而RMSE幾乎保持不變,說明誤差分布較為穩(wěn)定.實驗證明LSTM-RNN相比文獻[5]受訓(xùn)練樣本的限制大幅降低,在樣本較少時仍然能挖掘時間序列的數(shù)據(jù)特征,獲得較高的預(yù)測精度.究其原因在于2點:其一,交通流時間序列的標準化和平穩(wěn)化為模型訓(xùn)練提供了高質(zhì)量的數(shù)據(jù),例如平穩(wěn)化使得訓(xùn)練樣本符合中心極限定理的約束,而標準化將訓(xùn)練樣本規(guī)整到[-1,1]的范圍,更好地發(fā)揮了tanh函數(shù)的激活作用;其二,重構(gòu)后的時間序列能根據(jù)路段實際情況在最小的序列長度內(nèi)展現(xiàn)最大的時空關(guān)聯(lián)信息,提高了數(shù)據(jù)挖掘的效率,有效緩解了RNN的梯度消失問題.
表6 不同訓(xùn)練樣本占比時的預(yù)測結(jié)果評價Table 6 Evaluation of prediction with different train sample proportion
本文在深度學(xué)習(xí)的理論框架下,基于LSTMRNN算法,根據(jù)交通流時空關(guān)聯(lián)性完成時間序列重構(gòu)和標準化處理,建立交通流時間序列分析及預(yù)測框架,借助Keras完成LSTM-RNN的逐層構(gòu)建和精細化調(diào)參,實現(xiàn)了基于LSTM-RNN的短時交通流的精確預(yù)測.本文所提方法利用Python語言,從數(shù)據(jù)處理和時間序列重構(gòu)入手,均衡了神經(jīng)網(wǎng)絡(luò)深度和模型的性能表現(xiàn),降低樣本量依賴性,大幅減少訓(xùn)練時間,并根據(jù)實時預(yù)測精度自適應(yīng)更新訓(xùn)練模型,實用性和擴展性均得到增強.隨著深度學(xué)習(xí)理論和應(yīng)用的不斷發(fā)展,大數(shù)據(jù)環(huán)境下的交通流時間序列數(shù)據(jù)挖掘和分析是本文下一步的重點研究方向.
[1]WILLIAMS B M,HOEL L A.Modeling and forecasting vehicular traffic flow as a seasonal ARIMA process:Theoretical basis and empirical results[J].Journal of Transportation Engineering,2003,129(6):664-672.
[2]CLARK S.Traffic prediction using multivariate nonparametric regression[J].Journal of Transportation Engineering,2003,129(2):161-168.
[3]ZHANG L,MA Y,SHI L.A hybrid traffic flow model for real time freeway traffic simulation[J].KSCE Journal of Civil Engineering,2014,18(4):1160-1164.
[4]QUEK C,PASQUIER M,LIM B B S.POP-TRAFFIC:a novel fuzzy neural approach to road traffic analysis and prediction[J].IEEE Transactions on Intelligent Transportation Systems,2006,7(2):133-146.
[5]李松,劉力軍,翟曼.改進粒子群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的短時交通流預(yù)測[J].系統(tǒng)工程理論與實踐,2012,32(9):2045-2049.[LI S,LIU L J,ZHAI M.Prediction for short-term traffic flow based on modified PSO optimized BP neural network[J].Systems Engineering-Theory&Practice,2012,32(9):2045-2049.]
[6]CHAN K Y,DILLON T S,SINGH J,et al.Neural net work-based models for short-term traffic flow forecasting using a hybrid exponential smoothing and levenberg-marquardt algorithm[J].IEEE Transactions on Intelligent Transportation Systems,2012,13(2):644-654.
[7]FUSCO G,COLOMBARONI C,COMELLI L,et al.Short-term traffic predictions on large urban traffic networks:Applications of network-based machine learning models and dynamic traffic assignment models[C]//Modelsand TechnologiesforIntelligent Transportation Systems(MT-ITS),2015 International Conference on.IEEE,2015:93-101.
[8]YIN Y,SHANG P.Forecasting traffic time series with multivariate predicting method[J].Applied Mathematics&Computation,2016(291):266-278.
[9]YANG Z,LIU Y,ZHU X,et al.Removing forecasting errors with white gaussian noise after square root transformation[J].Journal of Forecasting,2016,35(8):741-750.
[10]YUAN P C,LIN X X.How long will the traffic flow time series keep efficacious to forecast the future?[J].Physica A:Statistical Mechanics&Its Applications,2017(467):419-431.
[11]張亮,黃曙光,石昭祥,等.基于LSTM型RNN的CAPTCHA識別方法[J].模式識別與人工智能,2011,24(1):40-47.[ZHANG L,HUANG S G,SHI Z X,et al.CAPTCHA recognition method based on RNN of LSTM[J].Pattern Recognition&Artificial Intelligence,2011,24(1):40-47.]
[12]LAI J,CHEN B,TAN T,et al.Phone-aware LSTMRNN for voice conversion[C]//Signal Processing(ICSP),2016 IEEE 13th International Conference on.IEEE,2016:177-182.
[13]LI D,QIAN J.Text sentiment analysis based on long short-term memory[C]//IEEE International Conference on Computer Communication and the Internet.IEEE,2016:471-475.
[14]GRAVES A.Supervised sequence labelling with recurrent neural networks[M].Springer Berlin Heidelberg,2012.
[15]史文彬.時間序列的相關(guān)性及信息熵分析[D].北京:北京交通大學(xué),2016.[SHI W B.Analysis of correlation of time series and information entropy[D].Beijing:Beijing Jiaotong University,2016.]
[16]YU H,WU Z,WANG S,et al.Spatiotemporal recurrent convolutional networks for traffic prediction in transportation networks[J].Sensors,2017,17(7).
[17]MA X,TAO Z,WANG Y,et al.Long short-term memory neural network for traffic speed prediction using remote microwave sensor data[J].Transportation Research Part C Emerging Technologies,2015(54):187-197.