李穎宏 馬 勇
(北方工業(yè)大學(xué)城市道路交通智能控制技術(shù)北京市重點實驗室,北京 100043)
隨著綠色出行和環(huán)保觀念的深入人心,共享單車自推出以來不僅深受用戶喜愛,也減輕了城市路網(wǎng)壓力和擁堵情況,方便了“最后一公里”的出行。共享單車進(jìn)入城市的一年多時間里,發(fā)展速度極快。隨著使用單車的用戶增多,共享單車企業(yè)投放車輛數(shù)量也是與日俱增。然而,一味地增大投放量,在增強(qiáng)城市交通服務(wù)能力方面并未成正比性,反而帶來了一系列令人質(zhì)疑的問題,其中亂停亂放、高峰期一車難求尤為嚴(yán)重,這些存在的問題如何運用高效科學(xué)的方法去解決已成為一個關(guān)于共享單車的熱門話題。
針對這些問題,國內(nèi)各共享單車企業(yè)對共享單車系統(tǒng)的研究主要可以歸納以下幾個方面:(1)預(yù)測研究,如摩拜使用深度學(xué)習(xí)方法對供需進(jìn)行預(yù)測,具體將Tensorflow框架下的卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于單車流量預(yù)測;(2)智能調(diào)度研究,如摩拜的紅包單車,通過綜合運用物聯(lián)網(wǎng)、云計算和大數(shù)據(jù),對單車實現(xiàn)實時狀態(tài)的精確控制,發(fā)現(xiàn)單車“黑洞”,以貼紅包的方式,激發(fā)用戶自覺自行,讓單車離開“黑洞”,回到需要單車的地方;(3)智能站點設(shè)立的研究,如“摩拜智能推薦停車點”,該停車點可實現(xiàn)亞米級定位,實時掌握停車區(qū)域內(nèi)單車的數(shù)量、狀態(tài)、位置及各區(qū)間的流量情況等信息,為車輛投放、調(diào)度和運維提供智能指引。
共享單車的需求預(yù)測是一個共享需求比較新的問題。陳昕昀[1]等利用BP神經(jīng)網(wǎng)絡(luò)對公共自行車單站點調(diào)度需求量進(jìn)行預(yù)測研究,發(fā)現(xiàn)了自行車流量隨時間分布的規(guī)律;Borgnat[3]等使用里昂自行車共享系統(tǒng)的歷史數(shù)據(jù),通過組合模型來預(yù)測一天每小時的需求量;近來有很多學(xué)者將機(jī)器
學(xué)習(xí)的方法運用到預(yù)測需求量[4-5]。以上這些方法幾乎都局限于有樁式公共自行車的研究,而針對無樁式的共享單車,目前涉及成型的理論及方法并不多,并且針對有樁式公共自行車的需求預(yù)測方法往往具有局限性,不能兼顧出行的空間和非空間屬性。
本文使用一種序列化的神經(jīng)網(wǎng)絡(luò)模型,該模型在解決梯度爆炸和梯度消失的基礎(chǔ)上,能夠提取共享單車出行OD序列間的依賴信息,即流量的時間變化規(guī)律,建立基于LSTM的線性回歸預(yù)測模型。其次,針對不同地域間出行的自流動性和關(guān)聯(lián)性,在提出的預(yù)測模型基礎(chǔ)上,將軌跡數(shù)據(jù)中挖掘的距離特征納入預(yù)測模型,以時空的角度來描述各個出行區(qū)域之間的相互影響,利用摩拜公司30多萬條單車軌跡數(shù)據(jù),通過劃分不同的特征數(shù)據(jù)集,訓(xùn)練模型,并驗證了該模型在共享單車需求預(yù)測方面的優(yōu)越性。
長短期記憶網(wǎng)絡(luò)(Long-Short Term Memory,LSTM),由 Sepp Hochreiter和Jürgen Schmidhuber于1997年提出的,是一種特定形式的循環(huán)神經(jīng)網(wǎng)絡(luò)。LSTM通過增加門操作,即輸入門、遺忘門、輸出門,優(yōu)化了自循環(huán)的權(quán)重,保持權(quán)重的動態(tài)變化性,在模型參數(shù)固定的情況下,在一定程度上解決了梯度消失或者梯度膨脹的問題。
LSTM模型結(jié)構(gòu)定義如圖1所示,它包含三個門操作,控制和保護(hù)每一個元胞的狀態(tài)。該操作既能夠丟棄低狀態(tài)數(shù)據(jù),又能夠向狀態(tài)中加入新的數(shù)據(jù)。
圖1 LSTM原理結(jié)構(gòu)圖
由模型的結(jié)構(gòu)圖可知,LSTM實現(xiàn)了三個門計算,即遺忘門、輸入門和輸出門。遺忘門處理的數(shù)據(jù)是上個樣本的短期記憶和本次樣本的輸入,通過Sigmoid函數(shù)決定保留多少上一時刻的單元狀態(tài)到當(dāng)前時刻的單元狀態(tài);輸入門決定如何將新信息和舊信息相結(jié)合,嵌入到新的狀態(tài);輸出門決定當(dāng)前時刻的單元狀態(tài)有多少輸出。每個LSTM包含了三個輸入,即上時刻的單元狀態(tài)、上時刻的LSTM的輸出和當(dāng)前時刻輸入。LSTM向前傳播機(jī)制如下:
遺忘門:
式中:[]—兩個向量相連合并;
Wf—遺忘門的權(quán)重矩陣;
σ—sigmoid函數(shù);
bf—遺忘門的偏置項。
輸入門:
第一部分是上一步得到的過濾后的長期狀態(tài)信息,第二部分是根據(jù)上個元胞的和本元胞的輸入獲得的更新信息。當(dāng)前時刻的單元狀態(tài)由遺忘門輸入和上一時刻狀態(tài)的積加上輸入門兩部分的積,即:
輸出門:
輸入結(jié)合本次和上次的短期狀態(tài)信息,獲取新的信息,再點乘長期記憶的狀態(tài)通過tanh函數(shù)正規(guī)化得到輸出。
共享單車作為一種短距離出行工具,在復(fù)雜的城市交通網(wǎng)絡(luò)中,已經(jīng)成為城市“慢交通”系統(tǒng)的一部分。相對于機(jī)動車流量的動態(tài)特性,共享單車流量有其獨特的自流動特性,使得某些騎行區(qū)域點之間具有一定的關(guān)聯(lián)性,某一騎行域的共享單車預(yù)測需求量不僅與自身歷史時刻流量相關(guān),而且與該區(qū)域有直接或者間接流量流動的區(qū)域相關(guān)。若預(yù)測模型僅考慮目標(biāo)區(qū)域在歷史與未來時間間隔內(nèi)單車流量的相關(guān)性,而忽略其相關(guān)區(qū)域的流量狀況,將不可避免地降低預(yù)測準(zhǔn)確性。因此,建立如圖2的預(yù)測模型框架。
首先 ,將單車軌跡數(shù)據(jù)按照各區(qū)塊出行時間劃分成日內(nèi)單車流量時間序列;然后利用K-means聚類算法,以與預(yù)測區(qū)域有直接或者間接流量流動為依據(jù),進(jìn)行聚類劃分,得到日內(nèi)相關(guān)區(qū)塊單車流量時間序列,輸入到LSTM神經(jīng)網(wǎng)絡(luò)模型,找出時空特性規(guī)律;最后利用線性回歸預(yù)測模型得到預(yù)測值。
圖2 基于LSTM的預(yù)測模型圖
本文所用到的部分專業(yè)術(shù)語定義如下:
n:區(qū)域數(shù);
Si:第i個區(qū)域 ;
Sij:與i區(qū)域相關(guān)的j區(qū)域;
fSit:t時刻Si區(qū)域的單車出行需求流量;
fSijt:t時刻j區(qū)域到i區(qū)域的單車流量;
Lm:第m條歷史出行軌跡。
某一區(qū)域共享單車出行流量在受該區(qū)域位置影響的同時,也與其相關(guān)區(qū)域的單車出行規(guī)律相關(guān)。本文基于各區(qū)域歷史出行軌跡信息及出行規(guī)律,得到共享單車流量,以及本區(qū)域的單車需求量,提出了二次K-means算法,得到與預(yù)測區(qū)域直接相關(guān)的區(qū)域簇。第一次先按區(qū)域的地理位置進(jìn)行聚類,得到區(qū)域簇,第二次從得到的N個區(qū)域中按軌跡信息得到與預(yù)測區(qū)域Si相關(guān)的區(qū)域S1,S2,S3,...,Sn。
K-means聚類算法如下:
輸出 :Si:S1,S2,S3,...,Sn。
(2)初始化k=0;
(3)while k < K do ;
(4)for i = 1:n do;
(6)k = k+1;
(8)for j = 1:N do;
(9)Sij包含于Lij;
(10)更新Si:S1,S2,S3,...,Sn;
(11)返回Si:S1,S2,S3,...,Sn。
LSTM在循環(huán)神經(jīng)網(wǎng)絡(luò)RNN結(jié)構(gòu)上增加了各層的門限節(jié)點:遺忘門、輸入門、輸出門。通過調(diào)節(jié)門限的打開或關(guān)閉,判斷模型各層網(wǎng)絡(luò)的長時間記憶狀態(tài)在該層的輸出結(jié)果是否加入當(dāng)前層的計算中,從而實現(xiàn)模型的記憶功能。本文基于LSTM神經(jīng)網(wǎng)絡(luò)模型的特性,對提出的線性網(wǎng)絡(luò)預(yù)測模型進(jìn)行訓(xùn)練優(yōu)化,搭建三層單胞神經(jīng)網(wǎng)絡(luò)模型如圖3所示。
圖3 三層LSTM神經(jīng)網(wǎng)絡(luò)模型圖
該模型的計算方式與傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)相似,結(jié)合結(jié)構(gòu)圖1,根據(jù)式ot=σ(Wo×[ht-1,xt]+bo)和ht=ot×tanh(ct)可進(jìn)行計算。模型的訓(xùn)練步驟如下:
(1)數(shù)據(jù)樣本的準(zhǔn)備。經(jīng)過數(shù)據(jù)預(yù)處理得到的共享單車出行數(shù)據(jù),通過K-means聚類得到關(guān)聯(lián)的出行規(guī)律樣本數(shù)據(jù)集作為模型的數(shù)據(jù)輸入。
(2)網(wǎng)絡(luò)參數(shù)的初始化。使用python的keras庫,完成訓(xùn)練參數(shù)的調(diào)整,具體參數(shù)包括最大迭代次數(shù)、學(xué)習(xí)率、激活函數(shù)等。
(3)網(wǎng)絡(luò)模型的訓(xùn)練。采用BPTT(back-propagation through time)訓(xùn)練算法,進(jìn)行梯度檢測,使用隨機(jī)梯度下降算法(SGD)更新權(quán)重,一直到滿足最小誤差函數(shù)需求為止。
(4)網(wǎng)絡(luò)模型的測試。訓(xùn)練過程如圖4所示。
圖4 LSTM模型訓(xùn)練圖
基于上節(jié)二次聚類得到的區(qū)域簇S1,S2,S3,...,Sn,本節(jié)將各區(qū)域點之間的復(fù)雜網(wǎng)絡(luò)關(guān)系簡化為一個結(jié)構(gòu)圖,如圖5所示。預(yù)測區(qū)域Si,其他區(qū)域為Si的相關(guān)區(qū)域點,Vin為特定時刻相關(guān)區(qū)域Sn點到Si區(qū)域點的車流量。
圖5 網(wǎng)絡(luò)模型預(yù)測結(jié)構(gòu)
本研究模型是通過將特定時間間隔的車流量以及相關(guān)的權(quán)重線性組合,得到預(yù)測區(qū)域的表達(dá)式,如式(7)所示:
本文建立的單一線性預(yù)測網(wǎng)絡(luò)模型的均方根誤差都隨著預(yù)測時間間隔的增加而增加,時間間隔越長,對時間特性的學(xué)習(xí)能力越弱,不確定因素影響就越大,導(dǎo)致預(yù)測的均方根誤差就越大,因此,本文采用一種時間特性學(xué)習(xí)模型LSTM(Long short-term memory)對軌跡數(shù)據(jù)中隱藏的出行時間規(guī)律進(jìn)行訓(xùn)練學(xué)習(xí),將長時間間隔內(nèi)流量的流動特性納入預(yù)測模型中,提高預(yù)測模型的準(zhǔn)確性與精度。
本文基于300萬摩拜共享單車用戶出行記錄數(shù)據(jù),進(jìn)行預(yù)處理后作為實驗數(shù)據(jù)驗證模型的有效性與準(zhǔn)確性。數(shù)據(jù)是連續(xù)兩周用戶出行記錄,經(jīng)過數(shù)據(jù)的規(guī)則預(yù)處理及樣本篩選,構(gòu)建數(shù)據(jù)集。數(shù)據(jù)信息如表1所示。
表1 用戶單車出行軌跡數(shù)據(jù)表
本文采用均方根誤差(RMLSE)率作為評價標(biāo)準(zhǔn)來評價模型的有效性。
利用綜上數(shù)據(jù)與評價指標(biāo),對預(yù)測結(jié)果與模型的有效性和準(zhǔn)確性進(jìn)行分析。
3.3.1 聚類結(jié)果分析
在本文的實驗中,使用k-means聚類對出行軌跡數(shù)據(jù)進(jìn)行聚類,得到了部分出行軌跡相關(guān)簇,如圖6所示??梢钥闯?,單車出行在一定距離之間出行的相關(guān)性。
圖6 K-means聚類
3.3.2 預(yù)測結(jié)果分析
選取簇點較密集和較稀疏的區(qū)域點,圖7為兩個區(qū)域在單一網(wǎng)絡(luò)模型下不同時間間隔的RMLSE的變化,由圖7可知,聚類簇點越密集,相關(guān)站點越多,預(yù)測結(jié)果越準(zhǔn)確,相反,簇點稀疏,相關(guān)站點越少,使得可依據(jù)的出行歷史數(shù)據(jù)較少,預(yù)測精度降低。無論簇點密集與否,隨著時間間隔的增加,RMLSE也呈現(xiàn)增加趨勢,因為不確定因素的增多,使得預(yù)測誤差也越大。
圖7 無LSTM模型下的線網(wǎng)絡(luò)預(yù)測誤差
圖8 為通過LSTM提取長時間數(shù)據(jù)特征之后,將長時間特性納入網(wǎng)絡(luò)預(yù)測模型,選取上述簇點,得到RMLSE隨時間間隔的變化規(guī)律。
圖8 LSTM模型下的線性網(wǎng)絡(luò)預(yù)測誤差
由圖8可知,隨著時間間隔的增加,預(yù)測的RMLSE明顯有所下降,預(yù)測準(zhǔn)確性得到一定的提升。
3.3.3 預(yù)測方法比較
為了驗證LSTM網(wǎng)絡(luò)對長時間特性的學(xué)習(xí)測特性,本文選取循環(huán)神經(jīng)網(wǎng)RNN和支持向量機(jī)SVM進(jìn)行比較,如圖9所示,本文的最終預(yù)測精度要高于其他兩種模型,并且能更快地收斂。
圖9 預(yù)測模型效果比較圖
本文在已建立的網(wǎng)絡(luò)模型的基礎(chǔ)上,利用LSTM網(wǎng)絡(luò)對長時間間隔的歷史數(shù)據(jù)的學(xué)習(xí)特性,降低了網(wǎng)絡(luò)預(yù)測模型對長時間間隔數(shù)據(jù)的敏感性,提升了預(yù)測的準(zhǔn)確性;通過與已有預(yù)測方法的比較,證實了該改進(jìn)模型的實用性及有效性,并在一定程度上對預(yù)測的精度得到提升,預(yù)測誤差率僅為0.293?;诠蚕韱诬囓壽E數(shù)據(jù),對其需求的預(yù)測,未來將考慮更多因素如出行規(guī)律、工作日、天氣等來改進(jìn)模型。