黃敏,毛鋒,錢宇翔,沙志仁
(1. 中山大學(xué)智能工程學(xué)院,廣東 廣州 510006;2.廣東智能交通系統(tǒng)重點(diǎn)實(shí)驗(yàn)室,廣東 廣州 510006;3. 廣東方緯科技有限公司,廣東 廣州 510006)
進(jìn)入大數(shù)據(jù)時(shí)代,交通運(yùn)輸管理和控制變得更加數(shù)據(jù)驅(qū)動(dòng)[1-2]。近年來,大城市的出租車上都配備GPS傳感器。在城市交通系統(tǒng)中,出租車在滿足城市出行需求方面發(fā)揮著至關(guān)重要的作用。因其方便、舒適、快捷,已經(jīng)成為城市中短距離出行的重要交通工具[3]。然而,現(xiàn)階段出租車服務(wù)存在一個(gè)矛盾。一方面,出租車空載率較高;另一方面,乘客搭乘出租車?yán)щy。這種現(xiàn)象隱含著出租車存在運(yùn)行效率低的問題,也在一定程度上導(dǎo)致了環(huán)境污染和交通擁堵[4]。為了提高出租車服務(wù)的運(yùn)行效率,一個(gè)重要的手段就是提高城市每個(gè)區(qū)域不同時(shí)段乘客出租車需求預(yù)測的準(zhǔn)確性。現(xiàn)有的交通預(yù)測方法可以分為兩類:基于時(shí)間信息方法和基于時(shí)空信息方法。大多數(shù)預(yù)測方法是利用時(shí)間信息來預(yù)測交通,并且交通數(shù)據(jù)總是表示為時(shí)間序列。最常見的方法是自回歸積分滑動(dòng)平均模型(ARIMA)[5],通過挖掘交通流的時(shí)間變化模式,然后利用該信息進(jìn)行預(yù)測。ARIMA模型假設(shè)未來時(shí)刻的交通量和歷史時(shí)刻交通量成線性關(guān)系。一般來說,未來交通量和歷史時(shí)刻交通量之間是非線性關(guān)系,且存在不確定性。因此,學(xué)者們又提出了許多非參數(shù)方法來表示交通量時(shí)間序列的不確定性和非線性關(guān)系,以及預(yù)測交通。如:支持向量回歸(SVR)模型[6-8],人工神經(jīng)網(wǎng)絡(luò)(ANNs)[9-10]和貝葉斯網(wǎng)絡(luò)[11-12]。直觀地說,如果只利用時(shí)間信息預(yù)測交通,預(yù)測準(zhǔn)確性是不夠的,特別是需要預(yù)測多個(gè)位置的交通情況。為了提高交通預(yù)測的準(zhǔn)確性,研究者們進(jìn)一步提出了使用交通時(shí)空特征信息的預(yù)測方法。常見的方法有輸入向量包含時(shí)空信息的深度學(xué)習(xí)[13],多變量時(shí)間序列方法[14-15]和基于張量的方法[16-17]。 這些方法利用由時(shí)間特征和空間特征組成的信息進(jìn)行交通預(yù)測,它們通常比基于時(shí)間信息的方法能實(shí)現(xiàn)更好的預(yù)測效果。
對相關(guān)文獻(xiàn)進(jìn)行回顧之后,在以前的工作中發(fā)現(xiàn)了兩個(gè)局限:① 基于時(shí)間信息的方法(SVR方法,ANNs方法等)忽略了交通空間維度包含的信息,僅僅使用時(shí)間維度的信息用于預(yù)測。而,交通系統(tǒng)是一個(gè)時(shí)空維度高度相關(guān)的系統(tǒng)[18];② 基于時(shí)空信息的方法,一個(gè)難點(diǎn)在于確定用于交通預(yù)測的時(shí)空特征信息,尤其是空間維度的特征信息。時(shí)空特征信息的確定將很大程度影響預(yù)測精度。上述所有方法,很難說在任何情況下一種方法明顯優(yōu)于其他方法。一個(gè)重要原因是,交通預(yù)測準(zhǔn)確性很大程度取決交通時(shí)空特征信息的選擇。但研究表明[13],在使用深度學(xué)習(xí)方法進(jìn)行交通預(yù)測時(shí),具有良好的預(yù)測能力和魯棒性。本文結(jié)合基于時(shí)空信息方法和深度學(xué)習(xí)方法,提出一種使用dropconnect方法的深度學(xué)習(xí)網(wǎng)絡(luò)CorrelationNet, 用以預(yù)測乘客出租車需求。 該方法包括兩個(gè)階段:時(shí)空特征選擇和dropconnect正則化[19]。 在第一階段,分別分析乘客出租車需求在時(shí)間維度上和歷史時(shí)刻出租車需求的相關(guān)性,以及在空間維度上和附近區(qū)域出租車需求的相關(guān)性,并根據(jù)相關(guān)性分析結(jié)果確定用于交通預(yù)測的時(shí)空特征信息。另外,所設(shè)計(jì)的深度神經(jīng)網(wǎng)絡(luò)添加了時(shí)空相關(guān)性分析機(jī)制,形成了新的深度學(xué)習(xí)網(wǎng)絡(luò)CorrelationNet。 在第二階段則使用dropconnect訓(xùn)練新的深度學(xué)習(xí)網(wǎng)絡(luò)CorrelationNet,以防過度擬合。研究成果能有效提高乘客出租車需求預(yù)測的有效性。
DN=(d1,d2,…,dN)
(1)
(2)
其中,f1(·)表示乘客歷史出租車需求到未來時(shí)刻乘客出租車需求的映射函數(shù)。
基于時(shí)間信息的方法僅利用交通的時(shí)變特征信息,該方法需要解決的關(guān)鍵問題是,選擇前幾個(gè)歷史時(shí)段的乘客出租車需求用于未來時(shí)刻的預(yù)測。本文利用相關(guān)性分析來確定用于預(yù)測未來乘客出租車需求的歷史時(shí)段數(shù)目,并確定和各個(gè)區(qū)域乘客出租車需求相關(guān)性大的相鄰區(qū)域。 本文采用的相關(guān)性分析指標(biāo)是皮爾遜相關(guān)系數(shù)。
(3)
其中,k表示用于預(yù)測乘客未來出租車需求的歷史時(shí)段數(shù)目,wi表示第i個(gè)時(shí)段乘客出租車需求對于未來時(shí)刻預(yù)測的相關(guān)權(quán)重。
(4)
(5)
(6)
通過計(jì)算di與其前k個(gè)時(shí)間間隔的時(shí)間特征之間的皮爾遜系數(shù),可以得到一個(gè)相關(guān)系數(shù)矩陣:
(7)
(8)
其中,cov(di,dj)表示di、dj之間協(xié)方差,D(di)表示di方差。
將乘客出租車需求表示成時(shí)間序列,通常未來時(shí)刻乘客出租車需求與其前幾個(gè)時(shí)段需求相關(guān)。一般地,相關(guān)系數(shù)大的值,其對應(yīng)的時(shí)間特征之間的相關(guān)性也大。對于每個(gè)時(shí)間間隔,通過移除相關(guān)系數(shù)小的時(shí)間特征,并確定h個(gè)時(shí)間特征用于乘車出租車需求預(yù)測。
1.2.2 空間相關(guān)性分析 乘客出租車需求空間相關(guān)性分析類似于時(shí)間相關(guān)性分析。不同之處在于,空間相關(guān)性分析只計(jì)算區(qū)域乘客出租車需求與其相鄰區(qū)域的皮爾遜系數(shù)。一個(gè)重要原因是在大城市,土地通常被規(guī)劃為不同的功能區(qū)域。城市居民在相同的功能區(qū)域具有相似的出行模式。因此,本文假設(shè)每個(gè)區(qū)域乘客出租車需求和其相鄰區(qū)域乘客出租車需求存在很大相關(guān)性。
(9)
對于每個(gè)區(qū)域Rj(j=1,2,…,M),計(jì)算與其相鄰區(qū)域dk,Rk∈A(Rj)的皮爾遜系數(shù),可以得到區(qū)域Rj和其相鄰區(qū)域的相關(guān)系數(shù)向量Σj={Σj,k,Rk∈A(Rj)},并有:
(10)
對于每個(gè)區(qū)域Rj(j=1,2,…,M),將確定2個(gè)空間維度上和其乘客出租車需求相關(guān)性大的區(qū)域。本文只選擇2個(gè)空間相關(guān)性大的區(qū)域的原因是一些區(qū)域只有三個(gè)相鄰的區(qū)域,如果選擇3個(gè)或更多的空間特征用于預(yù)測,可能導(dǎo)致過擬合。
通過時(shí)空相關(guān)性分析,選擇用于乘客出租車需求預(yù)測的時(shí)空特征信息后,本文的研究問題可以進(jìn)一步描述為:
對于多個(gè)區(qū)域Rj(j=1,2,…,M),在時(shí)間T(第i時(shí)間段內(nèi)),將各個(gè)區(qū)域的時(shí)空特征信息綜合考慮,表示為:
X=(x1,x2,…,xM)T
Rj1,Rj2∈A(Rj)
(11)
(12)
其中,f2(·)表示乘客歷史出租車需求時(shí)空特征信息到未來時(shí)刻乘客出租車需求的映射函數(shù)。
本文采用深度學(xué)習(xí)方法來預(yù)測每個(gè)區(qū)域乘客出租車需求。盡管已經(jīng)確定了用于預(yù)測的時(shí)空特征特征,但有些選擇的特征信息也可能和未來乘客出租車需求相關(guān)性小,甚至可能不相關(guān)。本文通過在神經(jīng)網(wǎng)絡(luò)全連接層使用dropconnect[19]方法來表示這種不相關(guān)性。圖1給出了dropconnect網(wǎng)絡(luò)的圖示。
圖1 Dropconnect網(wǎng)絡(luò)
在dropconnect網(wǎng)絡(luò),隨機(jī)地將節(jié)點(diǎn)中的每個(gè)與其相連的輸入權(quán)重以1-p的概率變?yōu)?。在訓(xùn)練階段期間,神經(jīng)網(wǎng)絡(luò)全連接層就會(huì)隨機(jī)變成各種稀疏的連接層,以減少過擬合。實(shí)驗(yàn)表明,dropconnect可以提高神經(jīng)網(wǎng)絡(luò)的泛化能力,提高預(yù)測準(zhǔn)確性。
對于一個(gè)全連接網(wǎng)絡(luò),假設(shè)輸入層是x,權(quán)重參數(shù)為W,偏置參數(shù)為b,激勵(lì)函數(shù)為a(·),輸出層為y,則可以將全連接層輸出用公式(13)表示:
y=a(Wx+b)
(13)
在神經(jīng)網(wǎng)絡(luò)全連接層使用dropconnect方法時(shí),輸出層可以表示為公式(14):
y=a((P·W)x+b)
(14)
其中,P是掩膜矩陣,它的每一個(gè)元素都滿足二項(xiàng)伯努利分布Pij~Bernouli(p)。
本文提出使用dropconnect方法的CorrelationNet用于乘客出租車需求預(yù)測,具體框架如圖2。和深度神經(jīng)網(wǎng)絡(luò)比較,本文設(shè)計(jì)的神經(jīng)網(wǎng)絡(luò),在輸入層和特征空間之間添加了時(shí)空相關(guān)性分析機(jī)制,這種新的神經(jīng)網(wǎng)絡(luò)稱之為CorrelationNet。同時(shí)將dropconnect應(yīng)用于神經(jīng)網(wǎng)絡(luò)每個(gè)隱藏層的全連接。 Lv等[13]指出,用神經(jīng)網(wǎng)絡(luò)進(jìn)行交通預(yù)測,隱藏層的最佳數(shù)量至少為2且不超過5,本文中的CorrelationNet由三層隱藏層組成。
圖2 使用dropconnect的CorrelationNet
本文在時(shí)間維度,將1天分成N個(gè)時(shí)間段;在空間維度,將實(shí)驗(yàn)區(qū)域劃分成M個(gè)等面積的小區(qū)域。本文的主要目的是根據(jù)乘客歷史出租車需求時(shí)空特征信息,預(yù)測M個(gè)區(qū)域未來的乘客出租車需求。
從圖2可以看出,乘客出租車需求預(yù)測主要包含兩個(gè)步驟:時(shí)空特征選擇和模型學(xué)習(xí)。在步驟一,采用時(shí)空相關(guān)性分析,選擇和未來乘客出租車需求相關(guān)性大的時(shí)空特征信息。通過相關(guān)性分析,從M×N維輸入特征信息中選擇M×(h+2)維時(shí)空特征信息用于預(yù)測。步驟二的模型學(xué)習(xí)是個(gè)監(jiān)督學(xué)習(xí)問題。本文設(shè)計(jì)的CorrelationNet在每層隱藏層使用dropconnect方法。在隱藏層1,dropconnect權(quán)重參數(shù)矩陣維度是(h+2)×n1,并采用Relu函數(shù)作為激勵(lì)函數(shù),就可以在隱藏層1得到M×n1維數(shù)據(jù),并作為隱藏層2的輸入。經(jīng)過三個(gè)隱藏層,最終在輸出層得到M×1維數(shù)據(jù)作為預(yù)測結(jié)果。
(15)
(16)
廣州位于中國南部,是廣東省的省會(huì),常住人口約1 500萬人。為了評估新的深度學(xué)習(xí)網(wǎng)絡(luò)CorrelationNet的性能,將該算法應(yīng)用于廣州市乘客出租車需求預(yù)測中。本文使用平均絕對誤差(MAE)和均方誤差(MSE)來評估預(yù)測方法的準(zhǔn)確性,并將實(shí)驗(yàn)結(jié)果與支持向量回歸(SVR)方法,人工神經(jīng)網(wǎng)絡(luò)(ANN)方法的預(yù)測結(jié)果進(jìn)行對比。
實(shí)驗(yàn)數(shù)據(jù)集是來自廣州市1 800多輛出租車在2015年6月1日至6月24日之間的6億多條GPS記錄。每條記錄包含出租車ID,GPS記錄時(shí)間,GPS記錄的位置信息(經(jīng)緯度),出租車的速度,出租車載客狀態(tài)等。 通過地圖匹配和檢測出租車載客狀態(tài)變化,可以對出租車每次載客的行駛路徑復(fù)原。
首先,確定乘客出租車需求預(yù)測的時(shí)間間隔。在交通預(yù)測問題中,時(shí)間間隔通常取5到30 min,進(jìn)行短期交通預(yù)測。HCM[20]推薦使用15 min作為時(shí)間間隔,以利于后期的交通分析。然后,要解決的另一個(gè)重要問題是區(qū)域劃分。通常,出租車司機(jī)在某個(gè)區(qū)域下客后,他們會(huì)行駛到該區(qū)域及附近區(qū)域乘客經(jīng)常搭乘出租車的地點(diǎn)。這樣的區(qū)域不能劃分太大,否則出租車司機(jī)就需要花費(fèi)較長時(shí)間在該區(qū)域?qū)ふ倚枰畛顺鲎廛嚨某丝?。本文采用Veloso等[21]在研究中的區(qū)域劃分方法,使用500 m×500 m的小方格將實(shí)驗(yàn)區(qū)域劃分成等面積的小區(qū)域。通過該方法,可以將實(shí)驗(yàn)區(qū)域劃分為983個(gè)小區(qū)域,本文選擇了983個(gè)小區(qū)域中的200個(gè)小區(qū)域進(jìn)行實(shí)驗(yàn),選擇的區(qū)域如圖3所示。圖3中,一些區(qū)域無乘客搭乘出租車的數(shù)據(jù),則刪除這些區(qū)域。
圖3 實(shí)驗(yàn)區(qū)域乘客出租車需求熱力圖
很多指標(biāo)可以評價(jià)實(shí)際觀測值和預(yù)測值之間的誤差,從而評估所提出預(yù)測方法的性能。本文使用兩個(gè)指標(biāo):平均絕對誤差(MAE)和均方誤差(MSE)來評估預(yù)測方法的準(zhǔn)確性。該兩個(gè)指標(biāo)的定義如下:
(17)
(18)
將所提出的深度學(xué)習(xí)網(wǎng)絡(luò)CorrelationNet的實(shí)驗(yàn)結(jié)果,與支持向量回歸(SVR),人工神經(jīng)網(wǎng)絡(luò)(ANN)和CorrelationNet方法的預(yù)測結(jié)果進(jìn)行對比。 SVR和ANN方法是基于時(shí)間信息的預(yù)測方法。SVR法是通過尋找函數(shù),擬合未來乘客出租車需求和歷史乘客出租車需求的線性及非線性關(guān)系。ANN法是將歷史乘客出租車需求輸入神經(jīng)網(wǎng)絡(luò),通過最小化乘客出租車需求觀測值和預(yù)測值的誤差平方和訓(xùn)練網(wǎng)絡(luò),然后進(jìn)行預(yù)測。后兩種方法是基于時(shí)空信息的預(yù)測方法,差別是CorrelationNet方法在神經(jīng)網(wǎng)絡(luò)的各層隱藏層沒有使用dropconnect。文中,使用廣州市2015年6月1日至6月21日之間工作日的出租車GPS數(shù)據(jù)進(jìn)行實(shí)驗(yàn)。以6月1日至6月5日、以及6月8日至6月12日的數(shù)據(jù)作為訓(xùn)練集, 6月15日至6月19日的數(shù)據(jù)作為測試集。
表1給出了四種方法對測試數(shù)據(jù)集的預(yù)測結(jié)果。從表中可以看到,SVM方法在0~15 min和15~30 min時(shí)段內(nèi),乘客出租車需求預(yù)測優(yōu)于ANN方法。這表明SVR方法是一種相對先進(jìn)的預(yù)測模型,優(yōu)于其它許多預(yù)測方法。將ANN方法與CorrelationNet方法進(jìn)行比較,可以看出基于時(shí)空信息的方法比僅利用時(shí)間信息的方法擁有更好的性能。對比基于時(shí)空的兩種方法,可以看到使用dropconnect的CorrelationNet方法比CorrelationNet方法有更好的預(yù)測效果。這是因?yàn)樵贑orrelationNet中使用dropconnect可以減少過擬合,提高預(yù)測精度。另外,基于時(shí)空信息的兩種方法比基于時(shí)間信息的兩種方法,能達(dá)到更好的預(yù)測效果。在所有四種方法中,使用dropconnect的CorrelationNet方法具有最好的預(yù)測效果,這表明本文提出的方法更適合于乘客出租車需求預(yù)測。
圖4-5可視化了四種方法的預(yù)測結(jié)果。從圖中可以看出,對于0~15 min和15~30 min時(shí)段內(nèi)的乘客出租車需求預(yù)測,使用dropconnect的CorrelationNet方法和SVR方法都可以達(dá)到不錯(cuò)的預(yù)測結(jié)果。但,使用dropconnect的CorrelationNet方法在擬合偏差點(diǎn)方面比SVR方法具有更好的性能。對于ANN方法和CorrelationNet方法,可以看到一些區(qū)域乘客出租車需求預(yù)測結(jié)果是負(fù)值,和實(shí)際不符。這解釋了使用dropconnect的CorrelationNet方法性能優(yōu)于CorrelationNet方法的原因:當(dāng)采用CorrelationNet方法進(jìn)行預(yù)測時(shí),利用訓(xùn)練數(shù)據(jù)集訓(xùn)練的網(wǎng)絡(luò)過擬合,因此它無法在測試數(shù)據(jù)集上達(dá)到良好的預(yù)測性能。
圖4 [0,15]min SVR, ANN, CorrelationNet and CorrelationNet with dropconnect方法的可視化預(yù)測結(jié)果
圖5 [15,30]min SVR, ANN, CorrelationNet and CorrelationNet with dropconnect方法的可視化預(yù)測結(jié)果
表1 SVR,ANN, CorrelationNet,CorrelationNet with dropconnect預(yù)測結(jié)果對比
深度學(xué)習(xí)和大數(shù)據(jù)挖掘, 在交通管理和控制方面的應(yīng)用引起了學(xué)者關(guān)注。本文提出一種使用dropconnect的CorrelationNet方法,用于乘客出租車需求預(yù)測。該方法可以自動(dòng)提取用于出租車需求預(yù)測的時(shí)空特征信息,并且減少過擬合,提高預(yù)測精度。實(shí)例證明,本文的預(yù)測算法在預(yù)測效果方面優(yōu)于SVR, ANN及CorrelationNet方法,更適合用于乘客出租車需求預(yù)測。利用該算法更有助于提高出租車服務(wù)和運(yùn)行效率,使出租車在城市出行中變得更有競爭力。
出租車GPS數(shù)據(jù)不可避免的問題是數(shù)據(jù)缺失。在未來的工作中,將研究在不同數(shù)據(jù)缺失率情況下各方法的預(yù)測效果。此外,還將引入基于張量的方法以預(yù)測乘客出租車需求。