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