楊馬英,樓 挺,李一飛
1 (浙江工業(yè)大學(xué) 信息工程學(xué)院,杭州 310023)2 (浙江工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,杭州 310023)
交通擁堵是一種常見(jiàn)的現(xiàn)象,在許多城市中這已經(jīng)成為一種城市病.交通擁堵直接造成了城市的整體運(yùn)轉(zhuǎn)效率降低,間接的導(dǎo)致了經(jīng)濟(jì)損失.根據(jù)中國(guó)交通部發(fā)表的數(shù)據(jù)顯示,交通擁堵帶來(lái)的經(jīng)濟(jì)損失占城市人口可支配收入的20%,相當(dāng)于每年國(guó)內(nèi)生產(chǎn)總值損失5-8%,每年達(dá)2500億元人民幣.如果可以準(zhǔn)確預(yù)測(cè)道路未來(lái)的車速,那么在擁堵發(fā)生之前就可以采取預(yù)防措施來(lái)幫助解決擁堵問(wèn)題.
預(yù)測(cè)道路未來(lái)的車速是一個(gè)具有挑戰(zhàn)性的問(wèn)題,道路未來(lái)的車速受到以下三個(gè)因素影響:1.空間依賴.一段道路的車速受到其上游的車速和下游的車速的影響.2.時(shí)間依賴.一段道路的車速受到上個(gè)時(shí)間段道路車速的影響.特定的時(shí)間點(diǎn)也會(huì)影響道路車速,例如工作日的早高峰和晚高峰車速會(huì)下降.3.其他因素.例如在下雨、大霧等天氣情況下,道路車速會(huì)較慢.節(jié)假日也會(huì)影響道路車速.
目前國(guó)內(nèi)外對(duì)于交通擁堵預(yù)測(cè)的諸多研究,主要有基于時(shí)間序列相關(guān)的預(yù)測(cè)分析[1,2]、向量自回歸方法[3]、神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)[4,15,16]、貝葉斯網(wǎng)絡(luò)預(yù)測(cè)等方法[5,6].這類方法的研究多見(jiàn)于理論研究,且由于其立足的基礎(chǔ)理論在處理大數(shù)據(jù)上缺少魯棒性,所以導(dǎo)致模型普遍缺乏長(zhǎng)效性和擴(kuò)展能力[7].
深度學(xué)習(xí)可以讓那些擁有多個(gè)處理層的計(jì)算模型來(lái)學(xué)習(xí)具有多層次抽象的數(shù)據(jù)的表示.這些方法在許多方面都帶來(lái)了顯著的改善,包括最先進(jìn)的語(yǔ)音識(shí)別、視覺(jué)對(duì)象識(shí)別、對(duì)象檢測(cè)和許多其它領(lǐng)域,例如藥物發(fā)現(xiàn)和基因組學(xué)等[8].LSTM(Long Short-Term Memory)是深度學(xué)習(xí)中的一種方法,它適合解決時(shí)間序列輸入輸出問(wèn)題[9],因此十分適用于解決道路車速預(yù)測(cè)問(wèn)題.本文應(yīng)用LSTM網(wǎng)絡(luò)來(lái)處理具有時(shí)空特性的道路車速信息,結(jié)合神經(jīng)網(wǎng)絡(luò)中的全連接層來(lái)融合外部因素,構(gòu)建了一個(gè)端對(duì)端的基于LSTM的道路未來(lái)車速預(yù)測(cè)模型研究(FSPOL).
預(yù)測(cè)道路車速首先需要能準(zhǔn)確估計(jì)道路的平均車速,浮動(dòng)車技術(shù)是目前常用的獲取道路交通信息技術(shù)手段之一,而出租車GPS 數(shù)據(jù)是該技術(shù)重要數(shù)據(jù)來(lái)源.許多城市的出租車都安裝了GPS 設(shè)備,這些設(shè)備往往以較小的時(shí)間間隔持續(xù)的向出租車管理部門(mén)上傳車輛序號(hào)、車牌號(hào)碼、GPS時(shí)間、車輛行駛狀態(tài)(載客,空載)、精度、緯度等數(shù)據(jù).由于出租車長(zhǎng)時(shí)間、大范圍的城市出行特點(diǎn),安裝有 GPS 設(shè)備的出租車通常被視為流動(dòng)的檢測(cè)器,能夠很好的反應(yīng)城市全局路網(wǎng)的交通動(dòng)態(tài),一定程度上克服了定點(diǎn)設(shè)備檢測(cè)范圍有限、成本昂貴、建設(shè)困難等缺點(diǎn)[10].本文以出租車軌跡數(shù)據(jù)來(lái)估算道路的平均車速.
車輛行駛軌跡Traj可以定義以下一個(gè)多元組:
Traj=
(1)
公式(1)中pi,i∈[1,n]為車輛行駛軌跡上的任意一個(gè)定位點(diǎn),包含空間位置信息,時(shí)間信息等,并按照編號(hào)由小到大依時(shí)間先后順序排列.生成軌跡的過(guò)程如下:
1.根據(jù)車輛ID將GPS數(shù)據(jù)按時(shí)間先后排序,按先后順序去取GPS數(shù)據(jù);
2.新建軌跡Traj(Traj是一個(gè)包含按時(shí)間排序的車輛GPS數(shù)據(jù)的集合),并將當(dāng)前GPS數(shù)據(jù)加入Traj中;
3.取下一條GPS數(shù)據(jù),如果此GPS數(shù)據(jù)與當(dāng)前Traj中車輛的ID不同則執(zhí)行步驟2;否則執(zhí)行步驟4;
4.將當(dāng)前GPS數(shù)據(jù)加入到Traj中,執(zhí)行步驟3;
5.最后我們可以得到根據(jù)車輛ID區(qū)分的軌跡數(shù)據(jù)集.
城市道路車輛的速度具有明顯的時(shí)間特性和空間特性.在時(shí)間上,同一天中未來(lái)某時(shí)段的運(yùn)行速度受到上一個(gè)時(shí)段及上幾個(gè)時(shí)段等多個(gè)歷史時(shí)段運(yùn)行速度的影響,在同一周內(nèi),工作日某一時(shí)段的運(yùn)行速度受到前幾個(gè)工作日該時(shí)段運(yùn)行速度的影響,具體表現(xiàn)為速度的周相似性,已有研究表明運(yùn)行速度的周相似性程度較高,具有很強(qiáng)的規(guī)律性;在空間上,由于路網(wǎng)的連通性,上游道路的運(yùn)行速度會(huì)直接影響到下游道路的運(yùn)行速度,下游道路交通阻塞等情況也會(huì)影響上游道路車輛的運(yùn)行速度.因此,路段下一時(shí)段的運(yùn)行速度不僅與該路段當(dāng)前時(shí)段的速度數(shù)據(jù)及歷史速度數(shù)據(jù)有關(guān),同時(shí)也與其上下游路段當(dāng)前時(shí)段的速度數(shù)據(jù)及歷史速度數(shù)據(jù)有關(guān).因此需要對(duì)GPS軌跡數(shù)據(jù)進(jìn)行時(shí)間和空間上的劃分,得到預(yù)測(cè)所需的時(shí)間、空間信息.
在每一條GPS數(shù)據(jù)中都有時(shí)間信息,因此很容易可以對(duì)軌跡進(jìn)行時(shí)間劃分.GPS數(shù)據(jù)的空間劃分是將GPS數(shù)據(jù)和具體的路段聯(lián)系起來(lái),目前針對(duì)GPS 數(shù)據(jù)的地圖匹配算法有:基于道路幾何信息的匹配算法、基于概率統(tǒng)計(jì)的匹配算法以及基于卡爾曼濾波的匹配算法,基于人工神經(jīng)網(wǎng)絡(luò)的匹配算法等.除了基于道路幾何信息的匹配算法,其他算法復(fù)雜性相對(duì)較高,因而對(duì)于實(shí)時(shí)性要求高、數(shù)據(jù)量較大、行駛道路環(huán)境復(fù)雜多變的出租車,這些種算法很難符合要求.一般一小段道路在地圖中可以認(rèn)為是一個(gè)平行四邊形,因此本文采用平行四邊形框來(lái)選取經(jīng)過(guò)道路的GPS軌跡[11].
對(duì)于每個(gè)路段在每個(gè)時(shí)間段中的軌跡數(shù)據(jù),我們可以用來(lái)估算平均車速.要計(jì)算一個(gè)路段的平均速度首先需要計(jì)算每一條軌跡的速度,每一條軌跡Traj的車速計(jì)算方法如公式(2):
(2)
可以采用歐氏距離計(jì)算小范圍內(nèi)兩點(diǎn)之間的距離,計(jì)算方法如公式(3)所示:
(3)
公式(3)中,xi和yi表示pi中的空間位置信息.由于采集數(shù)據(jù)中難免會(huì)有誤差,因此需要將異常的速度數(shù)據(jù)予以刪除,保證軌跡速度數(shù)據(jù)有效,本文采用四分位法去除異常.每個(gè)路段的平均速度的計(jì)算如公式(4)所示:
(4)
公式(4)中,vi表示軌跡i的速度.但是上述方法較容易受到高速,低速樣本對(duì)終結(jié)果帶來(lái)的影響.考慮行程距離的因素可以使結(jié)果更加精確[12],計(jì)算方法如公式(5)所示:
(5)
公式(5)中Li表示軌跡走過(guò)的總路程.
同一天中未來(lái)某時(shí)段的運(yùn)行速度受到上一個(gè)時(shí)段及上幾個(gè)時(shí)段運(yùn)行速度的影響.在一周內(nèi),工作日某一時(shí)段的運(yùn)行速度受到前幾個(gè)工作日該時(shí)段運(yùn)行速度的影響.空間上,由于路網(wǎng)的連通性,上游道路的運(yùn)行速度會(huì)影響到下游道路的速度.反過(guò)來(lái),下游道路交通阻塞也會(huì)影響上游道路車輛的運(yùn)行速度.因此,某一路段下一個(gè)時(shí)段的運(yùn)行速度不僅與該路段當(dāng)前時(shí)段的速度及歷史速度有關(guān),同時(shí)也與其上下游路段當(dāng)前時(shí)段的速度及歷史速度有關(guān).基于上述考慮,在對(duì)速度進(jìn)行短時(shí)預(yù)測(cè)時(shí),不僅僅考慮當(dāng)前路段當(dāng)前時(shí)段及前幾個(gè)時(shí)段的運(yùn)行速度,還考慮了該路段上下游、和上周同一天的當(dāng)前時(shí)段和前幾個(gè)時(shí)段的運(yùn)行速度.某路段在t+T時(shí)段的運(yùn)行速度如公式(6)所示:
(6)
公式(6)中,F表示一種非線性函數(shù)關(guān)系;t表示當(dāng)前時(shí)刻;T表示時(shí)間隔;vs,vx分別為上下游路段的平均運(yùn)行速度值;vW為預(yù)測(cè)路段上周同一天相同時(shí)段的平均運(yùn)行速度;n可以稱為時(shí)段參數(shù),表示選擇前n個(gè)時(shí)段的道路車速特征來(lái)預(yù)測(cè)未來(lái)車速.
道路的車速會(huì)受到許多其他因素的影響,例如天氣事件.圖1(a)展示了在下雨天和晴天的道路平均車速.從圖中可以看出雨天時(shí)大部分時(shí)間段道路的平均車速低于晴天.
道路的車速還會(huì)受節(jié)假日的影響,上圖展示了工作日和周末的道路平均車速.從圖中可以看出工作日的道路車速高峰在早上9點(diǎn)左右,晚高峰在晚上6點(diǎn)左右,而工作日則沒(méi)有明顯的早高峰和晚高峰.本文選取天氣和星期幾作為額外特征fext來(lái)提升道路預(yù)測(cè)精度.
圖1 不同天氣和日期情況下的道路車速狀況圖Fig.1 Road speed chart under different weather and date conditions
RNN網(wǎng)絡(luò)的結(jié)構(gòu)如圖2所示.RNN 可以被看作是同一神經(jīng)網(wǎng)絡(luò)的多次復(fù)制,每個(gè)神經(jīng)網(wǎng)絡(luò)模塊會(huì)把消息傳遞給下一個(gè),RNN的這種結(jié)構(gòu)適用于處理時(shí)序數(shù)據(jù).
圖2 RNN網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.2 RNN network structure diagram
LSTM是一種特殊類型的RNN,它繼承了大部分RNN模型的特性,同時(shí)解決了梯度反傳過(guò)程由于逐步縮減而產(chǎn)生的梯度消散問(wèn)題[9].LSTM的基本單元是一個(gè)細(xì)胞和三個(gè)門(mén),分別是輸入門(mén)(input gate),遺忘門(mén)(forget gate)和輸出門(mén)(output gate),如圖3所示.輸入門(mén)是將新的信息選擇性的記錄到細(xì)胞狀態(tài)中.遺忘門(mén)是將細(xì)胞狀態(tài)中的信息選擇性的遺忘.輸出門(mén)是用來(lái)控制細(xì)胞的輸出值.通過(guò)這三個(gè)門(mén)的協(xié)作,可以使細(xì)胞中包含的信息不斷的更新和遺忘,因此十分適用于處理時(shí)序數(shù)據(jù).
圖3 LSTM網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.3 LSTM network structure diagram
道路未來(lái)的車輛行使速度和之前時(shí)段的車輛行使速度有很大的關(guān)系,預(yù)測(cè)選取的預(yù)測(cè)特征具有時(shí)序信息,因此可以用LSTM來(lái)進(jìn)行道路車速預(yù)測(cè).
本文預(yù)測(cè)道路所選取特征包括當(dāng)前路段當(dāng)前時(shí)段及前幾個(gè)時(shí)段的行使速度,還考慮了該路段上下游、上周同一天的當(dāng)前時(shí)段和前幾個(gè)時(shí)段的運(yùn)行速度,這些特征都是時(shí)序數(shù)據(jù),因此考慮使用LSTM來(lái)處理每一種時(shí)序數(shù)據(jù)提取特征.
圖4 模型結(jié)構(gòu)圖Fig.4 Model structure diagram
本文設(shè)計(jì)模型如圖4所示,圖4中,Vs代表上游路段的時(shí)空特征,V代表需預(yù)測(cè)路段的時(shí)空特征,VW代表需預(yù)測(cè)路段上周同一天的時(shí)空特征,Vx表示下游路段的時(shí)空特征.FC單元表示神經(jīng)網(wǎng)絡(luò)中的全連接層.天氣類型共有陰、晴、小雨、多云等15種.天氣信息映射成一個(gè)15維的特征向量,星期信息映射成一個(gè)7維向量,因此Fext是一個(gè)22維的特征向量.模型各層的特征維度信息如表1所示.
表1 模型各層的特征維度信息
Table 1 Feature dimension information of each layer of the model
輸入層Vs(1,n)V(1,n)VW(1,n)Vx(1,n)Fext(1,22)隱層1輸出(1,n)(1,n)(1,n)(1,n)(1,10)隱層2輸入(1,4?n+10)隱層2輸出(1,5)
表1中n為時(shí)段參數(shù),表示選擇前n個(gè)時(shí)段的道路車速特征來(lái)預(yù)測(cè)未來(lái)車速.
模型采用均方根誤差(RMSE)作為預(yù)測(cè)誤差,如公式(7)所示:
(7)
訓(xùn)練中batch的最小值設(shè)置為64,訓(xùn)練的終止條件設(shè)置為迭代訓(xùn)練10000次.
表2 模型訓(xùn)練方法表
Table 2 Table of model training method
模型訓(xùn)練算法:輸入:按照時(shí)空劃分的道路平均速度:{V0,v1,…,V179}其他特征:{fext}時(shí)間段參數(shù):n輸出:訓(xùn)練好的模型//準(zhǔn)備訓(xùn)練樣本初始化T—>0Fori(n5 仿真和驗(yàn)證
5.1 數(shù)據(jù)
原始數(shù)據(jù)包括成都市1.4萬(wàn)輛出租車的超過(guò)14億條GPS記錄.這些GPS記錄的時(shí)間范圍從2014年8月3日開(kāi)始,到2014年8月30日為止,中間缺失了8月7日,8月13日,8月17日.這些數(shù)據(jù)已經(jīng)經(jīng)過(guò)了初步處理,清洗掉了其中重復(fù)和異常的記錄,并忽略了00:00:00~05:59:59這一時(shí)間段的記錄.已掌握的數(shù)據(jù)包括三個(gè)部分:1)出租車GPS數(shù)據(jù);2)道路軌跡數(shù)據(jù);3)用于輔助識(shí)別軌跡對(duì)應(yīng)的前一小時(shí)的GPS記錄數(shù)據(jù),其中乘客狀態(tài)1表示載客,0表示無(wú)客,如表3所示.
表3 出租車GPS數(shù)據(jù)示例表
Table 3 Sample table of taxi GPS data
出租車ID緯度經(jīng)度載客狀態(tài)時(shí)間點(diǎn)112230.4996330.4936530.6319730.63188103.97717104.00362104.03840104.03667110106:01:2206:02:2206:01:1306:02:53
本文選取了成都市一環(huán)路、二環(huán)高架路、人民路、蜀都大道等10多條道路上的100個(gè)路段為研究對(duì)象.實(shí)驗(yàn)中定義路段長(zhǎng)為500米,時(shí)間段設(shè)置為10分鐘.實(shí)驗(yàn)中樣本的總數(shù)量受到如下因素的影響:是否有前一周當(dāng)時(shí)的道路車速數(shù)據(jù)(共16天可提供完整數(shù)據(jù))時(shí)段參數(shù)n的影響(n太小則缺少之前時(shí)段的信息,會(huì)導(dǎo)致預(yù)測(cè)不準(zhǔn)確,n太大則會(huì)有太多和下一時(shí)段不相關(guān)的信息影響下一時(shí)段車速的預(yù)測(cè),因此考慮n∈[3,10],共約270000的樣本數(shù)量).本文在實(shí)驗(yàn)中隨機(jī)挑選70%的樣本作為訓(xùn)練數(shù)據(jù),剩下的30%作為測(cè)試數(shù)據(jù),如表4所示,誤差通過(guò)公式(13)計(jì)算.
表4 不同時(shí)段參數(shù)下模型的精度表
Table 4 Accuracy table of the model under different time interval parameter
n訓(xùn)練集誤差測(cè)試集誤差3456789103.693.613.213.573.183.503.234.145.464.924.524.904.564.994.745.09
首先驗(yàn)證了當(dāng)n∈[3,10]時(shí)模型在整個(gè)數(shù)據(jù)集上的精度.從表3可以看出當(dāng)n=7時(shí),訓(xùn)練集誤差最小為3.18.當(dāng)n=5時(shí)測(cè)試集誤差最小為4.52.從總體上來(lái)看,當(dāng)n∈[3,10]時(shí),訓(xùn)練集誤差和測(cè)試集誤差非常接近,因此本文提出的模型魯棒性較強(qiáng),受參數(shù)的影響較小.
圖5 模型預(yù)測(cè)展示圖Fig.5 Diagram of model predictive display
圖5展示了n=5時(shí)本文方法的預(yù)測(cè)結(jié)果,橫坐標(biāo)為時(shí)間,縱坐標(biāo)為汽車行駛速度,從圖上的結(jié)果可以看出預(yù)測(cè)結(jié)果和實(shí)際結(jié)果較為接近,表明本文方法取得了較良好的預(yù)測(cè)結(jié)果.
為驗(yàn)證本文方法(FSPOL)的性能,選擇目前比較優(yōu)秀的四個(gè)模型進(jìn)行對(duì)比:
1.ARIMA(Auto-Regressive Integrated Moving Average):一種用來(lái)處理時(shí)序數(shù)據(jù)的常用模型[1,2].
2.VAR(Vector Auto-Regressive):一種可以處理時(shí)空數(shù)據(jù)的模型,它可以發(fā)現(xiàn)輸入特征之間的關(guān)聯(lián),但是這個(gè)方法的參數(shù)較多,計(jì)算量較大[3].
3.RBF(Radial Basis Function Network):徑向基神經(jīng)網(wǎng)絡(luò)是一種前饋反向傳播網(wǎng)絡(luò),是一種可以在高維空間內(nèi)插值并可以進(jìn)行局部逼近的神經(jīng)網(wǎng)絡(luò),這種網(wǎng)絡(luò)訓(xùn)練速度快,適合一些實(shí)時(shí)性較強(qiáng)的場(chǎng)合[14].
4.DBN(Deep Belief Network):深度信念網(wǎng)絡(luò)(DBN)是深度學(xué)習(xí)中一個(gè)非常成功的模型.DBN采用無(wú)監(jiān)督的預(yù)訓(xùn)練方法,對(duì)于噪聲具有很好的穩(wěn)定性,可以達(dá)到很小的均方誤差和很高的識(shí)別率[15].
本文方法(FSPOL,n=5)和上述四種傳統(tǒng)的方法比較實(shí)驗(yàn)結(jié)果如表5所示,誤差通過(guò)公式(13)計(jì)算得到.
表5 不同方法的預(yù)測(cè)精度表
Table 5 Prediction accuracy table for different methods
方法訓(xùn)練集誤差測(cè)試集誤差A(yù)RIMAVARRBFDBNFSPOL 7.743.610.13.183.218.284.9517.224.894.52
實(shí)驗(yàn)結(jié)果表明 ARIMA和RBF方法在總誤差的表現(xiàn)上差于其他三種方法.RBF方法訓(xùn)練集的誤差只有0.1,但是在測(cè)試集上的誤差確達(dá)到了17.22,模型出現(xiàn)了過(guò)擬合現(xiàn)象.本文方法在測(cè)試集誤差上均取得了最佳的結(jié)果.可以認(rèn)為本文方法取得了優(yōu)于其他4種方法的預(yù)測(cè)結(jié)果.另外本文方法的訓(xùn)練集誤差和測(cè)試集誤差的差值是最小的,這說(shuō)明本文方法的泛化性能較強(qiáng).
預(yù)測(cè)道路未來(lái)車速受限需要解決道路車速估計(jì)的問(wèn)題,本文采用浮動(dòng)車技術(shù)來(lái)估計(jì)道路車速.在時(shí)間上,道路未來(lái)的車速受前幾個(gè)時(shí)段的車速的影響;在空間上,道路未來(lái)的車速受當(dāng)前道路上游、下游道路的影響,因此本文選取了時(shí)空特征來(lái)預(yù)測(cè)未來(lái)車速,并用LSTM來(lái)處理這些時(shí)空特征.道路未來(lái)的車速還受到天氣,節(jié)假日等因素的影響,采用神經(jīng)網(wǎng)絡(luò)中的全連接層來(lái)融合這些特征.本文基于成都市的數(shù)據(jù)進(jìn)行了驗(yàn)證,結(jié)果表明本文提出的模型魯棒性較強(qiáng),模型的泛化性能較強(qiáng),模型的預(yù)測(cè)精度較高.