徐 特, 陳學(xué)武, 楊 敏, 吳靜嫻
(東南大學(xué) 交通學(xué)院, 南京 210096)
公交客流預(yù)測研究由來已久,但是針對(duì)地面公交客流集散點(diǎn)的刷卡客流預(yù)測問題依然值得繼續(xù)探究. 從ITS設(shè)備獲取的交通數(shù)據(jù)比傳統(tǒng)方法獲取的交通數(shù)據(jù)擁有更加大的量級(jí)和準(zhǔn)確性,這使得研究人員可以更加深入地研究交通運(yùn)輸工程領(lǐng)域的相關(guān)內(nèi)容,如交通流量預(yù)測、交通需求預(yù)測、出行時(shí)間預(yù)測與公交停站時(shí)間預(yù)測等. Yussof S等[1]開發(fā)了一種季節(jié)差分自回歸移動(dòng)平均模型(Seasonal ARIMA)去預(yù)測短時(shí)交通流量;費(fèi)祥[2]等提出了一種基于動(dòng)態(tài)貝葉斯的線性模型(DLM)去預(yù)測高速公路實(shí)時(shí)的短期旅行時(shí)間,他們使用的數(shù)據(jù)是高速公路線圈數(shù)據(jù);丁劍等[3]提出了一種基于差分自回歸移動(dòng)平均模型與支持向量機(jī)模型(ARIMA-SVM Model)結(jié)合的組合模型去預(yù)測快速公交車輛在站臺(tái)的??繒r(shí)間,這個(gè)模型可以充分捕獲??繒r(shí)間的線性與非線性特征. 同時(shí),隨著人工智能、機(jī)器學(xué)習(xí)技術(shù)的蓬勃發(fā)展和廣泛應(yīng)用,交通領(lǐng)域也受到了新興技術(shù)的沖擊,一些研究人員已經(jīng)意識(shí)到將深度學(xué)習(xí)方法運(yùn)用在交通運(yùn)輸工程研究領(lǐng)域中會(huì)帶來很多益處. Toque等[4]使用長短期記憶遞歸神經(jīng)網(wǎng)絡(luò)對(duì)動(dòng)態(tài)公交OD矩陣進(jìn)行預(yù)測,并提出未來研究中應(yīng)當(dāng)考慮諸如天氣和交通事故等外生變量的影響;Polson 等[5]利用深度學(xué)習(xí)方法預(yù)測芝加哥短時(shí)交通流量并考慮了極端天氣的影響,提高了預(yù)測結(jié)果的精度;許海濤等應(yīng)用深度學(xué)習(xí)中一種叫做堆疊式自動(dòng)編碼器預(yù)測短時(shí)BRT客流,模型考慮了天氣、工作日和周末3個(gè)因素,并把它們作為啞元變量輸入模型中. 本文在已有相關(guān)研究基礎(chǔ)上,綜合考慮天氣、空間特征如土地利用特征等因素對(duì)模型結(jié)果的可能影響,提出了一種特征層融合的長短期記憶遞歸神經(jīng)網(wǎng)絡(luò)(Feature-fusion LSTM RNN)模型,用于預(yù)測城市地面公交集散點(diǎn)的智慧卡刷卡客流量.
深層神經(jīng)網(wǎng)絡(luò)(DNN: Deep Neural Network)和遞歸神經(jīng)網(wǎng)絡(luò)(RNN:Recurrent Neural Network)是在交通預(yù)測領(lǐng)域廣泛應(yīng)用的深度學(xué)習(xí)算法. 在共享了反向傳播(Back Propagation)神經(jīng)網(wǎng)絡(luò)的所有優(yōu)點(diǎn)情況下,DNN已經(jīng)克服了BP神經(jīng)網(wǎng)絡(luò)因?yàn)殡[層數(shù)量局限性而導(dǎo)致的模型收斂性問題[6]. 在實(shí)際應(yīng)用中,合理增加隱層數(shù)量有利于模型的擬合. 由于一般的深層神經(jīng)網(wǎng)絡(luò)無法理解數(shù)據(jù)在時(shí)間軸上的變化,因此模型不能捕捉數(shù)據(jù)在時(shí)間序列上的特征. 針對(duì)這些缺點(diǎn),RNN模型被提出,RNN已經(jīng)在高性能的語言識(shí)別技術(shù)、自然語言處理算法中得到廣泛可靠的應(yīng)用. 與前饋(Feed Forward)神經(jīng)網(wǎng)絡(luò)不同, RNN可以使用其內(nèi)部儲(chǔ)存器來處理任意輸入序列. 圖1是RNN隱層的內(nèi)部結(jié)構(gòu),輸入是以T為時(shí)間步長的向量序列x=(x1,x2,…,xT),輸出是一個(gè)隱藏的向量序列h=(h1,h2,…,hT).
圖1 RNN隱層的內(nèi)部結(jié)構(gòu)
在時(shí)間戳t處的隱藏單位值ht儲(chǔ)存了包括前面時(shí)間步長的隱藏值(h1,h2,…,ht-1)和輸入值(x1,x2,…,xt-1). 連同t中的輸入,即xt,它在每次迭代中被傳遞到下一個(gè)時(shí)間戳xt+1. 通過這種方式,RNN可以記住多個(gè)先前時(shí)間戳的信息.
雖然RNN擁有很強(qiáng)的捕捉時(shí)間特征的能力,但他不能儲(chǔ)存長期記憶信息. LSTM(Long Short-Term Memory),作為一種特殊的RNN結(jié)構(gòu),可以克服記憶長期信息的缺點(diǎn). 1個(gè)LSTM層由1個(gè)輸入層、1個(gè)或數(shù)個(gè)隱藏層和1個(gè)輸出層組成. 圖2顯示了單個(gè)LSTM層的內(nèi)部結(jié)構(gòu).it,ft,ot-1,ct,(t=1,2,…,T)分別表示輸入門、遺忘門、輸出門和記憶單位向量,它們和ht共享相同的維度.
圖2 單個(gè)LSTM層的內(nèi)部結(jié)構(gòu)
符號(hào)‘○’表示哈達(dá)馬乘積(Hadamard product).σand tanh是2個(gè)非線性方程:
σ(x)=1/(1+e-x)
(6)
tanhx=(ex-e-x)/(1+e-x)
(7)
Wxi、Whi、Wci、Wxf、Whf、Wcf、Wxc、Whc、Wxo、Who、Wco是權(quán)重參數(shù)矩陣;bi、bf、bc、bo是截距參數(shù). LSTM的記憶單元堆疊時(shí),模型可發(fā)掘出輸入和輸出更深層次的關(guān)系. 圖3是堆疊LSTM的結(jié)構(gòu)示意圖.
圖3 堆疊LSTM結(jié)構(gòu)示意圖
圖4 特征層融合的長短期記憶遞歸神經(jīng)網(wǎng)絡(luò)示意圖
從公交公司數(shù)據(jù)庫中獲取了2017年3月至6月的3 000多萬條常州市的智慧卡刷卡數(shù)據(jù). 與其他城市不同的是,常州市的智能卡記錄包含了每次刷卡上車公交站臺(tái)的全面信息,這省去了刷卡上車時(shí)間匹配的環(huán)節(jié),大大提高了數(shù)據(jù)的準(zhǔn)確性與可靠性. 同時(shí)我們也得到了常州市公交公司每條線路、每個(gè)公交站臺(tái)的信息,這有助于精細(xì)化把控每個(gè)站點(diǎn)的具體情況.
然而,上述數(shù)據(jù)遠(yuǎn)遠(yuǎn)不夠用于分析與建模. 在多數(shù)前人的研究中表明,天氣和空間數(shù)據(jù)對(duì)城市客流帶來顯著影響[7]. 直觀上來說,天氣良好的時(shí)候,一些非通勤客流會(huì)顯著上升,人們趨向于在好天氣的時(shí)候外出游玩等. 同時(shí),站點(diǎn)位于城市中心還是非中心,公共交通的客流量也會(huì)有較大的區(qū)別. 為了得到常州相關(guān)的天氣數(shù)據(jù),訪問中國氣象數(shù)據(jù)網(wǎng)是一個(gè)不錯(cuò)的選擇.
同時(shí),在地面公交客流集散點(diǎn)附近獲取詳細(xì)的土地利用信息或者建成環(huán)境信息是十分困難的,例如國土局等單位提供的圖紙無法給出具體的、量化的職住信息、就業(yè)崗位數(shù)量信息等. 然而,隨著百度地圖API的開放,基于Python的爬蟲可以獲取相關(guān)數(shù)據(jù). POI爬蟲數(shù)據(jù)中文叫做興趣點(diǎn)數(shù)據(jù),可以在較大程度上反映土地利用的狀況[8].
1) 智慧卡刷卡數(shù)據(jù) 表1描述了從智能卡數(shù)據(jù)中獲取的記錄信息基本概況.
2) 公交站點(diǎn)信息 表2列出了常州市公交公司每條線路、每個(gè)公交站臺(tái)的信息.
3) 天氣數(shù)據(jù) 為從中國氣象數(shù)據(jù)網(wǎng)上得到的天氣數(shù)據(jù),由于氣象站數(shù)據(jù)是每隔3 h記錄1次數(shù)據(jù),稍后必須對(duì)數(shù)據(jù)進(jìn)行插值處理.
4) POI爬蟲數(shù)據(jù) 表4展示了基于百度地圖API爬取的以地面公交客流集散點(diǎn)位中心半徑的300 m緩沖區(qū)內(nèi)的POI數(shù)據(jù)信息.
在相同宏觀經(jīng)辦服務(wù)制度安排前提下,各統(tǒng)籌地區(qū)根據(jù)當(dāng)?shù)氐奶攸c(diǎn)探索并形成不同的經(jīng)辦模式?;谏鲜隼碚摲治龊蛯?shí)踐經(jīng)驗(yàn),可以分析出不同模式都具有共同的構(gòu)成要素,只是各要素在不同模式上體現(xiàn)不同。見表1
2.3.1 融合多源數(shù)據(jù)
得到上述數(shù)據(jù)后需要進(jìn)行多源數(shù)據(jù)融合,先是根據(jù)給定日期匹配智慧卡數(shù)據(jù)和天氣數(shù)據(jù)集. 然后,將智慧卡每個(gè)時(shí)間戳的刷卡記錄與相應(yīng)的公交站點(diǎn)匹配. 最后,根據(jù)爬取的POI數(shù)據(jù)改善數(shù)據(jù)集質(zhì)量. 以上所述數(shù)據(jù)集合并得到完整數(shù)據(jù)集然后計(jì)算每個(gè)站點(diǎn)每小時(shí)的客流量. 這是因?yàn)樘鞖鈹?shù)據(jù)的粒度,我們決定預(yù)測每小時(shí)客流量. 研究所選取13個(gè)客流集散點(diǎn)位置,這些點(diǎn)位有的在常州市中心,有點(diǎn)位于郊區(qū),這樣選擇有利于分析不同用地對(duì)客流預(yù)測結(jié)果的影響,時(shí)間段為3月15日至6月14日每小時(shí)的刷卡客流量. 所有步驟在Microsoft SQL server 2015中完成.
表2 常州市公交站點(diǎn)數(shù)據(jù)信息
表3 天氣數(shù)據(jù)
表4 POI爬蟲數(shù)據(jù)
2.3.2 分割數(shù)據(jù)集
得到完整數(shù)據(jù)集后,需要將數(shù)據(jù)集分為3個(gè)部分. 將3月15日至6月14日間70%的數(shù)據(jù)為訓(xùn)練集,20%的數(shù)據(jù)作為測試集用于評(píng)估檢驗(yàn)?zāi)P?,剩?0%的數(shù)據(jù)為交叉驗(yàn)證集,以防止過早停止訓(xùn)練[9].
數(shù)據(jù)實(shí)驗(yàn)以預(yù)測下一個(gè)小時(shí)地面公交客流集散點(diǎn)的刷卡客流量來驗(yàn)證所提出方法的準(zhǔn)確性. 實(shí)驗(yàn)與評(píng)價(jià)過程是在Python上編程基于Keras框架實(shí)現(xiàn)的,它具有直觀的API接口可調(diào)用Google深度學(xué)習(xí)平臺(tái)Tensorflow,并支持自動(dòng)求導(dǎo)和更新速度快等優(yōu)點(diǎn).
所有數(shù)據(jù)實(shí)驗(yàn)過程都是在實(shí)驗(yàn)室臺(tái)式機(jī)上進(jìn)行(CPU:英特爾酷睿i7- 7700 3.40 GHz,32 GB內(nèi)存,GPU:NVIDIA GTX 1080),訓(xùn)練過程依靠NIVIDA公司生產(chǎn)的GPU完成,具有比CPU訓(xùn)練更快的速度.
ARIMA模型不能很好地捕獲客流的時(shí)空特征信息. 本文使用提出3種深度學(xué)習(xí)模型來預(yù)測刷卡客流量,包括:深度神經(jīng)網(wǎng)絡(luò)、堆疊的長短期記憶遞歸神經(jīng)網(wǎng)絡(luò)和特征層融合的長短期記憶遞歸神經(jīng)網(wǎng)絡(luò)模型. 對(duì)于上述深度學(xué)習(xí)模型,時(shí)間窗設(shè)置為6,這意味著模型是通過前6 h的刷卡客流去預(yù)測下一個(gè)小時(shí)客流. 在這之前需要注意的是一些不同尺度下的變量需要做啞元變換,是周幾,是一個(gè)月中的幾號(hào)又或者是否為節(jié)假日(是:1,否:0). 模型基于Adam優(yōu)化器進(jìn)行訓(xùn)練[9]. 為了防止模型過擬合,我們還在模型中加入了隨機(jī)失活層[10].
在對(duì)模型結(jié)果的評(píng)估中使用了平均絕對(duì)誤差(MAE)、均方根誤差(RMSE)和平均絕對(duì)百分誤差(MAPE)3個(gè)指標(biāo),計(jì)算公式如式(8)~(10):
MAE=1N∑ni=0|xi-i|
(8)
RMSE=1N∑ni=1(|xi-i|)2
(9)
MAPE=1N∑ni=0|xi-i|i×100%
(10)
式中,xi為客流集散點(diǎn)的刷卡客流;i模型預(yù)測的結(jié)果. 平均絕對(duì)誤差、均方根誤差和平均絕對(duì)百分誤差旨在測量預(yù)測值與實(shí)際值之間的誤差.
圖5展示了模型擬合的過程,從圖中可以看出,特征層融合的長短期記憶遞歸神經(jīng)網(wǎng)絡(luò)模型需要大約9 000多次迭代可以達(dá)到擬合. 圖5和表5展示了地面公交客流集散點(diǎn)刷卡客流預(yù)測的結(jié)果. 在圖6(a~d)中,實(shí)際值曲線是實(shí)際刷卡客流量,預(yù)測值曲線是模型預(yù)測的刷卡客流量. 長短期記憶遞歸神經(jīng)網(wǎng)絡(luò)-1訓(xùn)練時(shí)不包含POI數(shù)據(jù),而長短期記憶遞歸神經(jīng)網(wǎng)絡(luò)-2包含了POI數(shù)據(jù). 實(shí)驗(yàn)結(jié)果表明2個(gè)長短期記憶神經(jīng)網(wǎng)絡(luò)模型的效果要好于傳統(tǒng)深度神經(jīng)網(wǎng)絡(luò). 這一點(diǎn)可以證明反映土地利用信息的POI數(shù)據(jù)在一定程度上可以提高模型的精度. 觀察MAE、RMSE和MAPE值,特征層融合的長短期記憶神經(jīng)網(wǎng)絡(luò)保持較低的值,這意味著在以上4個(gè)模型中,特征層融合的長短期記憶神經(jīng)網(wǎng)絡(luò)效果最好.
圖5 特征層融合的長短期記憶遞歸神經(jīng)網(wǎng)絡(luò)模型擬合過程
MAERMSEMAPE/%深度神經(jīng)網(wǎng)絡(luò)500654335711長短期記憶遞歸神經(jīng)網(wǎng)絡(luò)-1133631283158長短期記憶遞歸神經(jīng)網(wǎng)絡(luò)-2110422092662特征層融合的長短期記憶遞歸神經(jīng)網(wǎng)絡(luò)100814411983
圖6
本文提出了一種特征層融合的長短期記憶神經(jīng)網(wǎng)絡(luò)去預(yù)測城市地面公交客流集散點(diǎn)的刷卡客流,該方法與以往研究中使用的深度神經(jīng)網(wǎng)絡(luò)、長短期記憶遞歸神經(jīng)網(wǎng)絡(luò)相比,綜合考慮了影響客流的時(shí)間因素與空間因素,如天氣、土地利用信息等,取得了更好的準(zhǔn)確性和泛化能力. 在未來的研究中,我們將考慮把更多的影響因素輸入模型中,并提高模型的實(shí)時(shí)性,使用更短的時(shí)間間隔.
參考文獻(xiàn):
[1] Yussof S, Razali R A, See O H. An investigation of using parallel genetic algorithm for solving the shortest path routing problem [J]. Journal of Computer Science, 2011, 7(2): 206-215.
[2] Fei X, Lu C C, Liu K. A bayesian dynamic linear model approach for real-time short-term freeway travel time prediction [J]. Transportation Research Part C: Emerging Technologies, 2011, 19(6): 1306-1318.
[3] Ding J, Yang M, Cao Y, et al. Dwell time prediction of bus rapid transit using Arima-svm hybrid model [J]. InApplied Mechanics and Materials, 2014, 587: 1993-1997.
[5] Polson N G, Sokolov V O. Deep learning for short-term traffic flow prediction[J]. Transportation Research Part C: Emerging Technologies, 2017, 79: 1-17.
[6] Cheng Q, Liu Y, Wei W, et al. Analysis and forecasting of the day-to-day travel demand variations for large-scale transportation networks: Adeep learning approach. DOI: 10. 13140/RG. 2. 2. 12753. 53604.
[7] Zhang J, Zheng Y, Qi D. Deep Spatio-Temporal Residual Networks for Citywide Crowd Flows Prediction. In AAAI (pp. 1655-1661).
[8] Wang J, Yang Y L, Zhou B, et al. The OD matrix estimation model of passenger flow based on the POI around the bus station[J]. International Journal of Applied Decision Sciences, 2017, 10(2): 118-130.
[9] King D P, Ba J. Adam: A method for stochastic optimization[J]. the 3rd International Conference for Learning Representations, 2014 arXiv preprint arXiv: 1412. 6980.
[10] Srivastava N, Hinton G, Krizhevsky A, et al. Dropout: A simple way to prevent neural networks from overfitting [J]. The Journal of Machine Learning Research, 2014, 15(1): 1929-1958.