馬玉倩 王佳瑤 潘錫燦 葉聰 劉洋
(長(zhǎng)安大學(xué)信息工程學(xué)院,陜西 西安 710021)
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展和智能終端的普及,網(wǎng)約車憑借其快速、便捷和優(yōu)質(zhì)的服務(wù)逐漸成為人們出行的首選方式,它的普及為乘客難以打到車以及司機(jī)難以及時(shí)發(fā)現(xiàn)乘客提供了有效的解決方案。然而,網(wǎng)約車司機(jī),特別是新司機(jī),缺乏旅行需求信息,沒有經(jīng)驗(yàn),接單尋客過程和路徑選擇具有盲目性,難以較快的找到乘客,進(jìn)而影響司機(jī)的接單量和收入。并且在交通高峰期,大量公共交通擁擠,網(wǎng)約車打車難,乘客出行需求無法得到有效滿足。系統(tǒng)可以預(yù)測(cè)特定區(qū)域未來短時(shí)出行需求來為司機(jī)提供參考,以有效緩解現(xiàn)狀。
目前基于網(wǎng)約車需求預(yù)測(cè)的分析與研究已有很多,但大多數(shù)都是基于小波分析方法[1]、混沌理論等非線性理論的預(yù)測(cè)模型,通過挖掘短時(shí)間內(nèi)交通流的非線性特點(diǎn),體現(xiàn)城市交通運(yùn)行的隨機(jī)性。從建模的角度看,大多數(shù)預(yù)測(cè)模型只考慮了單一的時(shí)間因素,而對(duì)動(dòng)態(tài)時(shí)空特性對(duì)乘客出行行為的影響較少涉及[2]。為了規(guī)避這些缺陷,保證網(wǎng)約車需求預(yù)測(cè)的準(zhǔn)確性,系統(tǒng)采用了CNN_LSTM_ARIMA 綜合預(yù)測(cè)模型,選用收斂性更好的Selu 作為激活函數(shù),綜合考慮多維度的數(shù)據(jù)作為參數(shù),所有維度的數(shù)值被限制在0-1 的范圍內(nèi),以避免出現(xiàn)偏向訓(xùn)練期的某個(gè)維度。在原始數(shù)據(jù)的采集方面,不同于現(xiàn)有研究的傳統(tǒng)問卷調(diào)查方法[3],系統(tǒng)的數(shù)據(jù)來源于**打車所推出的蓋亞數(shù)據(jù)開放計(jì)劃,依托于**領(lǐng)先的大數(shù)據(jù)和技術(shù)優(yōu)勢(shì),使得軌跡數(shù)據(jù)具有更強(qiáng)的權(quán)威性和真實(shí)性。
本文以西安市二環(huán)以內(nèi)的蓋亞開放數(shù)據(jù)為基礎(chǔ),對(duì)數(shù)據(jù)進(jìn)行一系列處理和城市交通小區(qū)劃分,分析城市不同區(qū)域內(nèi)需求特征,構(gòu)建具有時(shí)間視圖、空間視圖和修正視圖的CNN_LSTM_ARIMA 綜合預(yù)測(cè)模型準(zhǔn)確預(yù)測(cè)特定區(qū)域未來出行需求。
基于蓋亞開放數(shù)據(jù)的網(wǎng)約車需求預(yù)測(cè)系統(tǒng)根據(jù)各部分功能的不同,可分為數(shù)據(jù)處理、數(shù)據(jù)分析、CNN_LSTM_ARIMA 預(yù)測(cè)模型建構(gòu)和系統(tǒng)可視化設(shè)計(jì)。數(shù)據(jù)處理部分分為數(shù)據(jù)清洗、坐標(biāo)系轉(zhuǎn)換、上下車地點(diǎn)提取和OD 矩陣生成,為數(shù)據(jù)分析和模型建構(gòu)提供數(shù)據(jù)集支持;數(shù)據(jù)分析對(duì)來自數(shù)據(jù)處理環(huán)節(jié)的數(shù)據(jù)集進(jìn)行時(shí)間和空間特性分析,反映居民出行需求時(shí)空分布規(guī)律;CNN_LSTM_ARIMA 預(yù)測(cè)模型建構(gòu)的主要功能是根據(jù)時(shí)間和空間雙重特性對(duì)乘客未來出行需求進(jìn)行預(yù)測(cè)并對(duì)預(yù)測(cè)結(jié)果進(jìn)行修正;系統(tǒng)可視化設(shè)計(jì)分為整體架構(gòu)設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)和主界面設(shè)計(jì),主要實(shí)現(xiàn)需求的可視化顯示。系統(tǒng)的整體架構(gòu)圖如圖1 所示。
本研究數(shù)據(jù)均自于蓋亞數(shù)據(jù)開放計(jì)劃平臺(tái),原始數(shù)據(jù)由五個(gè)部分組成:司機(jī)ID,訂單ID,時(shí)間戳,以及經(jīng)度緯度數(shù)據(jù),具體字段信息見表1。由**專車平臺(tái)提供的蓋亞開放數(shù)據(jù)為訂單司機(jī)軌跡數(shù)據(jù),軌跡點(diǎn)每2-4 秒采樣一次,且經(jīng)過了綁路的處理即將數(shù)據(jù)與實(shí)際路段相對(duì)應(yīng),保證了數(shù)據(jù)都能夠?qū)?yīng)到實(shí)際的道路信息。并且司機(jī)以及訂單信息都進(jìn)行了加密和匿名脫敏化處理,保證了用戶的安全。
GPS 數(shù)據(jù)采集和傳輸過程過程中受到大氣層、隧道以及高大建筑物等障礙物、設(shè)備故障及人為因素等多種因素的干擾[4],不可避免會(huì)出現(xiàn)漏傳或是數(shù)據(jù)丟失的情況,進(jìn)而出現(xiàn)臟數(shù)據(jù)。同時(shí),GPS 數(shù)據(jù)的經(jīng)緯度均采用GCJ-02 坐標(biāo)系,這和所使用的可視化地圖的坐標(biāo)系不一致,因此在數(shù)據(jù)清洗之后需要進(jìn)行坐標(biāo)系的轉(zhuǎn)換。然后對(duì)轉(zhuǎn)換后的數(shù)據(jù)集進(jìn)行處理,為預(yù)測(cè)模型提供數(shù)據(jù)集。
蓋亞軌跡數(shù)據(jù)包含了大量網(wǎng)約車在運(yùn)營(yíng)過程中的軌跡點(diǎn)具體信息,系統(tǒng)可以對(duì)這些具體信息加以處理以進(jìn)行相關(guān)研究。系統(tǒng)計(jì)劃以此作為研究數(shù)據(jù),并對(duì)該數(shù)據(jù)做以下處理,其基本流程如圖2 所示。
圖2 數(shù)據(jù)處理流程圖
將不符合條件約束(即錯(cuò)誤的)數(shù)據(jù)、重復(fù)數(shù)據(jù)、異常數(shù)據(jù)、記錄不全數(shù)據(jù)篩選出來不作為分析的依據(jù)[5]。
原始數(shù)據(jù)是在GCJ-02 坐標(biāo)系下的,但是分析時(shí)所使用的在線地圖為WGS-84 坐標(biāo)系,因此需要將坐標(biāo)系從CGJ-02 轉(zhuǎn)換到WGS-84。具體轉(zhuǎn)換公式[6]如下:
式(1)、(2)中:
longcj——原始數(shù)據(jù)集中GCJ-02 坐標(biāo)系下的經(jīng)度數(shù)據(jù)。
latgcj——原始數(shù)據(jù)集中GCJ-02 坐標(biāo)系下的緯度數(shù)據(jù)。
式(6)、(7)中:
a 的值為6378245.0,表示地球長(zhǎng)半軸。
e 的值為0.00669342162296594323,表示為地球扁率。
lonwgs——坐標(biāo)轉(zhuǎn)換后WGS-84 坐標(biāo)系下的經(jīng)度數(shù)據(jù)。
latwgs——坐標(biāo)轉(zhuǎn)換后WGS-84 坐標(biāo)系下的緯度數(shù)據(jù)。
系統(tǒng)根據(jù)所獲取的數(shù)據(jù)集中的時(shí)間戳進(jìn)行上下車地點(diǎn)的獲取,司機(jī)ID 和訂單ID 一致時(shí)即為同一個(gè)訂單。因此,對(duì)司機(jī)ID 和訂單ID 一致的多條記錄進(jìn)行比較,將時(shí)間戳值最小的記錄的經(jīng)緯度作為上車地點(diǎn),時(shí)間戳最大的記錄經(jīng)緯度作為乘客下車地點(diǎn)。
OD 矩陣將全部交通分區(qū)按起點(diǎn)區(qū)與終點(diǎn)區(qū)排序,以任意兩分區(qū)之間的車輛或居民出行量(OD 量)為元素的矩陣。在前文已經(jīng)提取OD 點(diǎn)的基礎(chǔ)上,并通過FME 轉(zhuǎn)換器[7]對(duì)OD 矩陣進(jìn)行推算,OD 推算流程如圖3 所示。
圖3 OD 推算流程圖
以西安市蓋亞開放軌跡數(shù)據(jù)為例,在對(duì)蓋亞軌跡數(shù)據(jù)進(jìn)行處理的基礎(chǔ)上,研究西安市居民在出行時(shí)間及出行空間上的特點(diǎn)。首先對(duì)生成的OD 出行矩陣進(jìn)行了分析,之后從時(shí)間與空間的角度對(duì)居民出行分布進(jìn)行研究,通過對(duì)OD 矩陣中各個(gè)交通小區(qū)間的交通流量的分析,可以得出交通小區(qū)的出行流量。在出行需求的空間特性上,通過對(duì)不同時(shí)間段內(nèi)拉客區(qū)域及乘客出行需求區(qū)域空間分布的研究,可以得到乘客出行需求空間的熱力圖,從圖中我們可以直觀的感受到出行需求。同時(shí),我們可以通過固定一個(gè)時(shí)間段從而比較在一個(gè)固定時(shí)間段內(nèi)的居民出行的時(shí)間特性??偠灾?對(duì)蓋亞軌跡數(shù)據(jù)的分析不僅反映了乘客出行需求時(shí)空分布規(guī)律,同時(shí)也反映了城市交通規(guī)律。
在前面我們已經(jīng)對(duì)數(shù)據(jù)進(jìn)行了相關(guān)的處理并且用實(shí)驗(yàn)數(shù)據(jù)證實(shí)了網(wǎng)約車的需求量具有較高的時(shí)空特性,為了捕捉到時(shí)間和空間的雙重屬性,在綜合考慮需求量的影響因素前提下,構(gòu)建CNN_LSTM_ARIMA 組合預(yù)測(cè)模型來模擬空間和時(shí)間關(guān)系,本文提出的模型具有三個(gè)視圖:時(shí)間視圖(通過LSTM 建模未來需求值與近時(shí)間點(diǎn)的相關(guān)性)、空間視圖(通過CNN 建模局部空間性)[8]和修正視圖(預(yù)測(cè)值與真實(shí)值的波動(dòng)誤差A(yù)RIMA模型[9])。給定一段時(shí)間內(nèi)的輸入,輸出是下一個(gè)時(shí)間片的需求量。不同于傳統(tǒng)的CNN 或LSTM架構(gòu),CNN_LSTM_ARIMA 的第一部分是CNN,由用于空間特征的提取的3 個(gè)卷積層組成。中間部分是LSTM,對(duì)第一部分的時(shí)序規(guī)律進(jìn)行分析,進(jìn)而估計(jì)下一個(gè)時(shí)間片的網(wǎng)約車需求量。第三部分是ARIMA,對(duì)前兩部分的預(yù)測(cè)結(jié)果進(jìn)行修正。
目前,在該領(lǐng)域的研究實(shí)驗(yàn)大多選擇RectifiedLinearUnit(ReLU)作為激活函數(shù)。但是,與Relu 函數(shù)相比,Selu 函數(shù)具有較好的收斂性并且可以有效避免梯度的消失,因此本實(shí)驗(yàn)選擇Selu 作為激活函數(shù)。輸出結(jié)果由LSTM的輸出通過全連接層與sigmod 激活函數(shù)結(jié)合獲得。結(jié)果為預(yù)測(cè)的下一時(shí)間片的需求量。
CNN_LSTM_ARIMA 的系統(tǒng)流程圖如圖4 所示。在數(shù)據(jù)處理時(shí),對(duì)原始數(shù)據(jù)進(jìn)行歸一化處理,即把所有維度的數(shù)值控制在0-1 的范圍內(nèi),以避免出現(xiàn)某種極端結(jié)果。歸一化數(shù)據(jù)由兩部分組成:訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)。在訓(xùn)練期間同時(shí)使用訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù),每次將訓(xùn)練數(shù)據(jù)輸入到模型中時(shí),都會(huì)生成一個(gè)損失值。根據(jù)該值來調(diào)整模型參數(shù)。隨著迭代次數(shù)的增加,預(yù)測(cè)結(jié)果的準(zhǔn)確度越來越高。完成訓(xùn)練后,將測(cè)試結(jié)果和實(shí)際值作比較,評(píng)估CNN_LSTM_ARIMA 的預(yù)測(cè)精度。
ARIMA 模型是采用差分運(yùn)算或?qū)?shù)運(yùn)算后將非平穩(wěn)時(shí)間序列轉(zhuǎn)換成平穩(wěn)時(shí)間序列后,用自相關(guān)和偏自相關(guān)函數(shù)建立的一種時(shí)間序列預(yù)測(cè)方法。ARIMA 模型較為簡(jiǎn)單,只需要內(nèi)生變量而不需要依賴其它外生變量。根據(jù)原始序列是否平穩(wěn)以及回歸中所含部分的差異,可分為四個(gè)過程:移動(dòng)平均過程(MA)、自回歸過程(AR)、自回歸移動(dòng)平均過程(ARMA)和ARIMA 過程。輸入變量為前一段時(shí)間內(nèi)同一時(shí)刻的出租車需求量實(shí)際值與歷史時(shí)刻的觀測(cè)值。
針對(duì)非平穩(wěn)序列的Xt的ARIMA(m,d,n)模型表達(dá)式為
式(10)中,d 為差分次數(shù);B 為滯后算子;Xt為經(jīng)過d 次差分后的平穩(wěn)時(shí)間序列;m 和m 分別為自回歸階數(shù)和滑動(dòng)平均階數(shù);φ1,φ2,…φm為自回歸系數(shù);w1,w2,…wm為滑動(dòng)平均系數(shù),εt,εt+1,…εm為零均值白噪聲序列。
系統(tǒng)采用B/S 框架(瀏覽器/服務(wù)器架構(gòu))來實(shí)現(xiàn)系統(tǒng)可視化。該架構(gòu)使用web 瀏覽器替代傳統(tǒng)的客戶端軟件作為應(yīng)用層的用戶端。用戶通過在瀏覽器地址欄輸入特定的URL 即可快速訪問一個(gè)web 應(yīng)用或者使用某個(gè)web 服務(wù)。對(duì)于用戶而言不再需要單獨(dú)下載軟件客戶端,只需要安裝任意一款瀏覽器即可。B/S 架構(gòu)極大地縮減了軟件開發(fā)周期,并使得系統(tǒng)的開發(fā)維護(hù)乃至功能擴(kuò)展都變得十分簡(jiǎn)單。其實(shí)現(xiàn)框架如圖5 所示。
本設(shè)計(jì)采用對(duì)象- 關(guān)系型數(shù)據(jù)庫PostgreSQL 10 來存儲(chǔ)和管理路網(wǎng)數(shù)據(jù)以及網(wǎng)約車GPS 軌跡數(shù)據(jù)。PostgreSQL 是特性十分齊全的對(duì)象- 關(guān)系型數(shù)據(jù)庫,在web 應(yīng)用架構(gòu)中,服務(wù)器端負(fù)責(zé)處理前端發(fā)送的請(qǐng)求。為了完成相關(guān)的計(jì)算任務(wù),服務(wù)器通常需要數(shù)據(jù)庫執(zhí)行查詢和操作語句并返回結(jié)果。PostgreSQL在處理空間幾何數(shù)據(jù)方面具有獨(dú)特優(yōu)勢(shì),它完美支持Postgis 空間數(shù)據(jù)庫拓展;而路網(wǎng)數(shù)據(jù)和軌跡數(shù)據(jù)都屬于空間幾何對(duì)象,使用PostgreSQL 數(shù)據(jù)庫其及拓展使得對(duì)空間幾何對(duì)象的操作與一般類型數(shù)據(jù)的操作無異。
圖5 B/S 架構(gòu)及其運(yùn)行原理
圖6 系統(tǒng)主界面設(shè)計(jì)
主界面如圖6 所示。用戶通過查看系統(tǒng),自行避開需求量較高的熱點(diǎn)區(qū)域或者錯(cuò)峰出行,進(jìn)而減少等待時(shí)間;司機(jī)登錄系統(tǒng),通過調(diào)整時(shí)間,即可查看未來一段時(shí)間全城不同地區(qū)網(wǎng)約車需求量,并自行前往網(wǎng)約車需求量較高的地區(qū)進(jìn)行接客;交通管理者可以將該系統(tǒng)作為交通控制和管理的重要參考,從而達(dá)到緩解交通阻塞,提高城市路網(wǎng)運(yùn)行效率的目的。
系統(tǒng)通過對(duì)蓋亞開放數(shù)據(jù)處理分析,結(jié)合時(shí)間和空間特征對(duì)網(wǎng)約車需求進(jìn)行預(yù)測(cè)。一方面可以指導(dǎo)網(wǎng)約車運(yùn)營(yíng),網(wǎng)約車司機(jī)可以提前預(yù)知區(qū)域出租車的變化情況,自行去往需求量較高區(qū)域,從而降低網(wǎng)約車空載率,大大方便乘客出行。另一方面幫助平臺(tái)實(shí)現(xiàn)網(wǎng)約車合理調(diào)度,優(yōu)化供求關(guān)系,減少空車數(shù)量,提高司機(jī)收入,實(shí)現(xiàn)乘客、司機(jī)、平臺(tái)、等多方面共贏。