段宗濤,張 凱,楊 云,倪園園,SAURAB Bajgain
(長安大學(xué)信息工程學(xué)院,西安710064)
隨著Uber和滴滴出行等出租車需求服務(wù)的日益普及,人們能夠不斷收集大型的出租車數(shù)據(jù).如何利用海量的離線出租車GPS數(shù)據(jù)來進(jìn)行需求預(yù)測是一個有趣而關(guān)鍵的現(xiàn)實(shí)問題.準(zhǔn)確的交通需求預(yù)測模型是國內(nèi)外智能交通系統(tǒng)的研究熱點(diǎn),主要包括基于時間序列的統(tǒng)計(jì)模型、非參數(shù)預(yù)測模型和混合模型等.
在短時交通流量的預(yù)測方面,Smith等[1]采用季節(jié)性ARIMA模型來預(yù)測高速公路交通流.Ma等[2]根據(jù)LSTM具有長時間記憶歷史數(shù)據(jù)和自動確定最佳的歷史時滯的處理時間序列的能力,采用LSTM神經(jīng)網(wǎng)絡(luò)來捕捉短期交通速度預(yù)測的長期相關(guān)性和非線性交通動態(tài).
隨著日益豐富的交通數(shù)據(jù),交通科學(xué)研究者將深度學(xué)習(xí)用于解決交通問題.Zhan X.等[3]提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)的交通流預(yù)測方法,使用浮動車的GPS軌跡數(shù)據(jù)來估算全市的交通量.接下來,Ma等[4]提出了一種大規(guī)模交通網(wǎng)絡(luò)速度預(yù)測的深度卷積神經(jīng)網(wǎng)絡(luò),將時空矩陣轉(zhuǎn)換為圖像作為CNN的輸入.J.B.Zhang等[5]提出了基于CNN的深度時空殘差單元來預(yù)測城市中的人流量變化.
在混合模型方面,羅文慧[6]利用CNN-SVR混合深度學(xué)習(xí)模型實(shí)現(xiàn)短時交通流預(yù)測.尤其是Shi X.等[7]將CNN和LSTM創(chuàng)新地集成在一個端到端的DL結(jié)構(gòu)中,命名為ConvLSTM,從而為解決時空序列問題提供了新的思路.Wu Y.等[8]結(jié)合CNN和LSTM的優(yōu)點(diǎn),利用一維CNN捕捉交通流的空間特征,并且利用兩個LSTM來挖掘交通流量的短期變化性和周期性.
綜上所述,隨著深度學(xué)習(xí)的發(fā)展,以及人們對時空數(shù)據(jù)更深入的認(rèn)識,研究者將其結(jié)合應(yīng)用于交通流預(yù)測研究中取得好的成效.但是,在有限的計(jì)算條件下,大多數(shù)模型不能充分學(xué)習(xí)交通流的時空特征.另一方面,交通流易受外界因素的影響,包括天氣情況、交通事故、交通管制等,這使得交通流經(jīng)常出現(xiàn)異常狀態(tài).為了克服以上挑戰(zhàn),本文提出了一種基于時空圖像的預(yù)測方法,即CNNLSTM-ResNet(CLR)模型,采用網(wǎng)格劃分的方法將城市范圍內(nèi)的大部分出租車GPS數(shù)據(jù)作為靜態(tài)圖像的集合進(jìn)行快照,其中每個像素代表單個路段或多個路段的交通區(qū)域的流量,利用深層卷積神經(jīng)網(wǎng)絡(luò)挖掘整個交通網(wǎng)絡(luò)中絕大多數(shù)鏈路的空間特征,并使用LSTM學(xué)習(xí)交通流變化的時空特征.
本文利用長期的出租車歷史GPS數(shù)據(jù)預(yù)測未來幾小時中城市居民對出租車的需求.預(yù)測的目標(biāo)是解決一個包含空間層次和時間序列結(jié)構(gòu)的問題,即給定歷史觀{Xt|t=0,…,n-1},預(yù)測Xn.
從這個角度來看,本文的研究對象是一個時空序列預(yù)測問題.假設(shè)本文在由M行N列組成的M×N網(wǎng)格表示的空間區(qū)域上的動態(tài)觀察系統(tǒng).在網(wǎng)格中的每個單元格內(nèi),都有P個測量值隨著時間而變化.因此,任何時候的觀測值都可以用X∈RP×M×N來表示,其中R表示觀測到的特征域.如果定期記錄觀察,將得到張量的序列.時空序列預(yù)測問題是預(yù)測未來最有可能的長度K序列,給出了以前的J個觀測值包括目前的一個,如式(1)所示.
為了綜合考慮時間與空間維度上的各種因素對交通流的影響,將歷史出租車GPS數(shù)據(jù)柵格化,處理成帶有時空信息的交通流矩陣,處理過程如下.
定義1區(qū)域和時間分區(qū).
市區(qū)被劃分為I×J網(wǎng)格,每個網(wǎng)格代表一個交通區(qū)域.考慮在30 min的時間間隔t內(nèi)累積的交通量.對于位于第i行和第j列的網(wǎng)格(i,j)在時間間隔t的乘客的上車和下車分別定義為
式中:Ts是軌跡集;Ts中的軌跡點(diǎn)pn是地理空間坐標(biāo),pn∈grid(i,j)表示點(diǎn)pn位于網(wǎng)格(i,j)內(nèi);|?|表示集合的基數(shù).在第t個時隙內(nèi),在I×J區(qū)域內(nèi)的乘客上、下車流量可以表示為張量Xt∈R2×I×J,其中
依據(jù)文獻(xiàn)[9]的方法,本文以30 min為時隙建立時空矩陣,如式(3)所示.矩陣中的每一項(xiàng)Xloni,latj表示在t時隙的(i,j)網(wǎng)絡(luò)區(qū)域的交通流量,即為本文模型輸入的時空矩陣Bt.
式中:loni、latj分別為點(diǎn)x的經(jīng)緯度坐標(biāo).
在城市道路網(wǎng)絡(luò)拓?fù)浞矫?,西安市道路網(wǎng)絡(luò)是典型的方格式網(wǎng)絡(luò)結(jié)構(gòu),比較適合進(jìn)行網(wǎng)格劃分.西安市經(jīng)度范圍為(34.181,34.370),緯度范圍為(108.829,109.076),本文采用32×32的網(wǎng)格,每個交通小區(qū)的實(shí)際大小為[0.657 km×0.859 km].將1天分成48個時間段,統(tǒng)計(jì)每30 min所有交通小區(qū)的乘客上車和下車的次數(shù).如1圖所示,將交通小區(qū)的數(shù)據(jù)轉(zhuǎn)換為柵格數(shù)據(jù),其顏色越深表示該網(wǎng)格中上車或下車的乘客越多.
圖1 交通流數(shù)據(jù)轉(zhuǎn)換為二進(jìn)制矢量圖Fig.1 Traffic flow data is converted to binary vector illustration
由于早晚高峰、節(jié)假日和季節(jié)變化的影響,交通流會出現(xiàn)不同狀態(tài).接下來,從局部和整體兩方面來分析交通流數(shù)據(jù)所具有的臨近性,周期性和趨勢性的特征.
(1)臨近性.
圖2顯示了1天里工作區(qū)進(jìn)出客流量的臨近性特征.可以看到早上和中午進(jìn)入工作區(qū)的客流量較多,同時,晚上和下午離開工作區(qū)的客流較多.可以看到每個時段的客流量變化受其前一時段的影響,而且它也影響后一時段的客流量.
圖3為西安市的流入客流量的熱力圖,圖中“hour:6.5”是指在6:00-6:30期間流入客流量的熱力圖,其他同;圖中顏色越深表示進(jìn)入交通小區(qū)的乘客越多,可以看出7:00,11:00和18:00時人流量較多.
(2)周期性.
圖4為工作區(qū)和居住區(qū)在1周內(nèi)的交通流狀況,可以明顯看到工作區(qū)和居住區(qū)的進(jìn)入客流量具有周期性,且工作日的峰值比節(jié)假日的峰值高.
圖2 工作區(qū)的交通流Fig.2 The traffic flow of work area
圖 5 中,“2016010912~2016011512”依次表示星期六、日、一、二、三、四、五西安市范圍5:30-6:00的乘客流入熱力圖.可以看出,節(jié)假日的交通流較少,工作日的客流量較多,且在星期二、星期三和星期四偏多.
圖3 西安市的流入交通流Fig.3 The inflow traffic in Xi'an
圖4 工作區(qū)和居住區(qū)的周期性Fig.4 Periodicity of work area and living area
圖5 西安市的交通流的周期性Fig.5 Cyclical traffic flow in Xi'an
(3)趨勢性.
圖6顯示3個月期間,從秋季到冬季,天氣變冷,人們21:00-21:30進(jìn)入工作區(qū)的流量減小,回到居住區(qū)的流量增多,體現(xiàn)了時空數(shù)據(jù)的趨勢性.
圖7為西安市區(qū)連續(xù)5個月,每月12日5:30-6:00的交通流熱力圖,表明從1月到5月隨著溫度的升高,人們在此期間的活動逐漸增多.
圖6 工作區(qū)和居住區(qū)的趨勢性Fig.6 Trends of work area and living area
首先根據(jù)式(3)從原始軌跡數(shù)據(jù)中提取Xclose,Xperiod和Xtrend,以矩陣形式(圖1)輸入到模型中.該模型首先使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)捕獲局部范圍交通流量的空間特征,然后采用殘差單元加深網(wǎng)絡(luò)層數(shù),并利用長短期記憶網(wǎng)絡(luò)(LSTM)學(xué)習(xí)時空數(shù)據(jù)的時間臨近性、周期性和趨勢性,再使用CNN捕獲城市范圍的交通流量的空間特征,通過相應(yīng)的權(quán)重融合以上3個分量,最后Xcpt與外部因素Xext(由節(jié)假日,天氣,溫度,風(fēng)速,PM2.5組成,并按時間序列排列的矩陣,將它們饋送到兩層完全連接的神經(jīng)網(wǎng)絡(luò))融合,從而預(yù)測每個地區(qū)的交通流狀況.根據(jù)文獻(xiàn)[4]和1.2節(jié)的結(jié)論,軌跡數(shù)據(jù)具有臨近性,周期性和趨勢性,因此選擇不同的時間戳并連接在一起,分別模擬臨近性,周期性和趨勢性.接下來,構(gòu)建模型如圖8中的Xclose,Xperiod和Xtrend這3個組件,并且與卷積神經(jīng)網(wǎng)絡(luò)共享相同的網(wǎng)絡(luò)結(jié)構(gòu).這3個組件的第1個CNN用于提取如圖3所示的臨近性特征;第2個CNN可以提取圖5所示的工作區(qū)和居住區(qū)的周期特征;從第3個CNN的結(jié)果可以看出圖7中不同地區(qū)的趨勢不同.如圖9所示,本文利用2維CNN來捕捉交通網(wǎng)絡(luò)的空間特征,模型的輸入是表示一個城市范圍交通狀態(tài)的二進(jìn)制矢量圖.
圖7 西安市的流入交通流的趨勢性Fig.7 Trend of inflow traffic in Xi'an
圖8 CLR模型及參數(shù)Fig.8 The CLR model and its parameters
圖9 CNN捕獲城市范圍交通流Fig.9 CNN captures city-wide traffic flow
卷積算子為
式中:*表示卷積運(yùn)算符;f表示激活函數(shù);W表權(quán)重矩陣;b是偏置數(shù).
臨近性,周期性和趨勢性的3個分量的卷積算子為
基于權(quán)重的融合可以寫成
式中:W(1),b(1)分別表示是第1層中的參數(shù);H表示融合;c是臨近性,表示實(shí)際的時隙為30 min;p是周期性,表示1天;tr是趨勢性,表示1周.
最后進(jìn)行眾源數(shù)據(jù)融合時,使用tanh函數(shù)將軌跡特征數(shù)據(jù)XRes和外部數(shù)據(jù)XExt融合,預(yù)測t時隙的出租車需求為
式中:tanh是雙曲正切函數(shù),確保輸出值在[-1,1];Hst是圖8的時空分量的輸出;Wst和WG是參數(shù).
利用均方根誤差(RMSE)來衡量本文中交通流預(yù)測的性能,即
式中:observedt是第t個測試樣本的真實(shí)值;predictedt是第t個測試樣本的預(yù)測值.
研究所使用出租車的GPS數(shù)據(jù)來源于西安交通管理中心.研究的出租車共11 300多輛,數(shù)據(jù)收集時間為2016年1~5月(114天)和9~11月(88天).本文對錯誤和異常的交通流數(shù)據(jù)做了預(yù)處理,研究的時間范圍為全天.
從網(wǎng)上公開數(shù)據(jù)集0①外部數(shù)據(jù)集:https://www.wunderground.com/history/airport/ZLXY/2018/4/4/DailyHistory.html?req_city=Xianyang&req_statename=China手動提取節(jié)假日,如表1所示,西安市的天氣、溫度、風(fēng)速和PM2.5的數(shù)據(jù).17種天氣類型使用二進(jìn)制表示,其中每一位都代表一種天氣.當(dāng)某一位的標(biāo)志為1時,表示這一時隙的天氣類型,比如晴天為“10000000000000000”.當(dāng)多個位標(biāo)志為1時,所以表示這一時隙為組合天氣類型,比如晴~多云指的是“11000000000000000”.
表1 外部數(shù)據(jù)集Table 1 External data set
參數(shù)設(shè)置:CLR模型的優(yōu)化器是用Adam進(jìn)行訓(xùn)練的;卷積核的大小為3×3;學(xué)習(xí)率設(shè)為0.001;衰減參數(shù)設(shè)置為0.9;batch-size設(shè)置為32;損失函數(shù)是均方誤差(MSE);CLR模型訓(xùn)練的迭代次數(shù)為98.模型利用正態(tài)分布N(0,1)來初始化參數(shù).使用python語言在tensorflow和Keras構(gòu)建模型和實(shí)現(xiàn)預(yù)測的,并使用圖形處理單元(GPU)來加速模型學(xué)習(xí)過程.選擇數(shù)據(jù)集最后2周的數(shù)據(jù)作為測試數(shù)據(jù),并將之前的所有數(shù)據(jù)作為訓(xùn)練集.
(1)提出方法的變體進(jìn)行比較.
為了驗(yàn)證所提出的CLR中的臨近性,周期性和趨勢性特征對預(yù)測結(jié)果的影響.本節(jié)評估CLR_CPTM的3個退化模型,包括CLR_C,CLR_CP,CLR_CPT.與CLR-CPTM模型相比,CPT不考慮外部因素,CP不包括趨勢分量和外部因素,C僅使用臨近性.從圖10中可以看到CLR_CPTM效果顯著,表明周期性和趨勢性對預(yù)測更為重要.
圖10 數(shù)據(jù)特征影響Fig.10 The data features impact
對比CLR不同殘差層數(shù)所得到的均方根誤差(RMSE)結(jié)果,結(jié)果顯示,RMSE隨著殘差單元數(shù)量的增加而減少,表明使用殘差單元加深模型的復(fù)雜度,能夠提高準(zhǔn)確率.
(2)與交通流常用的模型進(jìn)行比較.
為了驗(yàn)證模型的有效性,本文選取了5個模型(HA,ARIMA[10],CNN,ConvLSTM[9],ST-ResNet[7])與CLR做性能比較,其中深度學(xué)習(xí)模型CNN,ConvLSTM,ST-ResNet設(shè)置的參數(shù)值與CLR中的保持一致.接下來對5個模型進(jìn)行介紹:
①歷史平均值(HA).通過對應(yīng)時間段內(nèi)的歷史流入和流出來預(yù)測當(dāng)前的交通流,本文中對應(yīng)時間段均為所有歷史20:00-20:30.
②自回歸整合移動平均值(ARIMA).把交通流時間序列的數(shù)據(jù)結(jié)構(gòu)分解為線性自相關(guān)結(jié)構(gòu),將移動平均值和自回歸分量組合用于建模時間序列.
③ConvLSTM.具有LSTM的時序建模能力,還可以通過CNN捕獲局部特征,因而能夠?qū)r空數(shù)據(jù)的時空特征進(jìn)行學(xué)習(xí).
④CNN.1個卷積層可以很好地描述空間區(qū)域的近地依賴性,2個卷積層可以進(jìn)一步描述遠(yuǎn)地的依賴性.深層卷積層,可以模擬城市中任何兩個地區(qū)之間的附近和遙遠(yuǎn)的空間依賴關(guān)系.
⑤ST-ResNet[7].采用殘差神經(jīng)網(wǎng)絡(luò)的CNN框架來分別模擬人群流量的臨近性,周期性和趨勢特征.
如表2所示,從各個模型的預(yù)測結(jié)果來看,HA預(yù)測和ARMIMA預(yù)測誤差較大;CNN預(yù)測,cnnv2dLSTM和ST-ResNet表現(xiàn)出類似的精度,表明時空特征在短期交通流預(yù)測中具有相似的預(yù)測性能.CLR與5個模型在短期交通流預(yù)測相比中,表現(xiàn)出較好的準(zhǔn)確度,因?yàn)镃LR考慮了時空特征,學(xué)習(xí)了全市范圍的交通流所具有的空間特征和時間規(guī)律性.由于LSTM是長短期記憶網(wǎng)絡(luò),CLR可以執(zhí)行長期預(yù)測.
表2 模型對比Table 2 The model comparison
接下來,分別對工作日、節(jié)假日的出租車需求預(yù)測,首先排除HA和ARIMA的結(jié)果,是因?yàn)樗鼈儽憩F(xiàn)不佳.可以看到工作日的預(yù)測結(jié)果最好,節(jié)假日預(yù)測比整體預(yù)測還差.因?yàn)樵诠ぷ魅眨藗兺ǔS幸?guī)律的生活方式,上班族要按時上班,學(xué)生要按時上學(xué)等.而在節(jié)假日,人們的生活方式各不相同,很難預(yù)測居民對出租車需求.
為了評估本文方法的可行性,比較節(jié)假日與工作日的預(yù)測誤差,根據(jù)文獻(xiàn)[11]定義為分別是工作日和節(jié)假日的平均預(yù)測誤差.如表2所示,工作日和節(jié)假日誤差均最小的是CNN,但CNN僅對車輛GPS數(shù)據(jù)的空間特征進(jìn)行預(yù)測,忽視了時間特征;而ConvLSTM、ST-ResNet、CLR同時考慮車輛GPS數(shù)據(jù)的空間和時間特征,相比之中,誤差相對增加最小是ConvLSTM,但工作日和節(jié)假日誤差較大;雖然CLR的工作日和節(jié)假日誤差均比ST-ResNet大,但CLR的節(jié)假日與工作日的相對誤差比STResNet小.更重要一點(diǎn),在CLR模型中的LSTM能夠長期學(xué)習(xí)和記憶歷史數(shù)據(jù),因此CLR的預(yù)測(不區(qū)分工作日、節(jié)假日)誤差為7.714 403,而STResNet達(dá)到了8.427 856.
為了驗(yàn)證1.2節(jié)中時空軌跡數(shù)據(jù)具有的特征,比較3個模型對1星期的7天分別做預(yù)測.從圖11可以看到ConvLSTM分別對1星期內(nèi)不同時間預(yù)測的RMSE都為8.75左右,最大誤差為0.06.因?yàn)镃onvLSTM利用CNN卷積乘客在進(jìn)入和離開每個交通小區(qū)的空間位置,LSTM學(xué)習(xí)和記憶乘客的歷史上下車時間,但沒有考慮現(xiàn)實(shí)中的復(fù)雜的交通狀況,此外,如果給定的交通流受很多因素影響,局部錯誤可能會累積,因而不能有效的模擬現(xiàn)實(shí)交通.ST-ResNet和CLR均考慮影響乘客對出租車需求的多種關(guān)聯(lián)因素,融合了時空軌跡數(shù)據(jù)和外部影響數(shù)據(jù),因而更加接近現(xiàn)實(shí)中乘客對出租車需求.其中星期二~四的RMSE比較低,因?yàn)檫@3天屬于工作日的中間時段,居民有固定的生活方式,對出租車需求也比較固定.例如人們從居住的地方乘車上班,按時上下班.節(jié)假日2天的RMSE比較高,是因?yàn)樵诠?jié)假日時,人們各自有不同的生活方式,對出租車需求也不同.而星期一和星期五受節(jié)假日的影響,星期一是經(jīng)歷2天節(jié)假日后,也是1周工作的開始;星期五是連續(xù)5天工作日的最后1天,同時代表著節(jié)假日的開始.CLR比ST-ResNet在1周內(nèi)的RMSE小,再一次證明了CLR模型的LSTM能夠記憶和學(xué)習(xí)更長的歷史數(shù)據(jù),進(jìn)而模擬更加接近現(xiàn)實(shí)的出租車需求,驗(yàn)證了圖5的結(jié)論.實(shí)驗(yàn)證明,CLR可以預(yù)測未來7天的交通流,且均方誤差較小.如果有更多的訓(xùn)練數(shù)據(jù),模型預(yù)測的結(jié)果可能更精準(zhǔn),預(yù)測的時間越長.
圖11 不同日子的預(yù)測結(jié)果Fig.11 The Predict Results of Different Days
在本文中提出了一種新的基于深度學(xué)習(xí)的出租車需求預(yù)測模型,即根據(jù)歷史軌跡數(shù)據(jù),節(jié)假日和天氣預(yù)測城市每個地區(qū)居民的出租車需求.本文利用西安市的出租車數(shù)據(jù)評估了模型,預(yù)測結(jié)果超過5種常用的預(yù)測方法,證實(shí)了本文的模型更適合出租車需求預(yù)測.
本文從宏觀上分析了西安市的出租車需求問題,局部只針對居住區(qū),工作區(qū)研究,未考慮交通路網(wǎng)的復(fù)雜性,下一步的研究將考慮復(fù)雜的交通路網(wǎng)相關(guān)信息,對城市具體的路段和更為豐富的地區(qū)(娛樂區(qū),工作區(qū),商業(yè)區(qū),旅游景點(diǎn)等)分類研究乘客的出租車需求,從而增強(qiáng)預(yù)測模型的泛化能力,進(jìn)一步提高算法的適用性.