姚博凡,鄧如豐,熊宸,蔡銘
1. 中山大學智能工程學院,廣東深圳518106
2. 廣東省智能交通系統(tǒng)重點實驗室,廣東廣州510006
3. 佛山交通運行監(jiān)測中心,廣東佛山528000
近年來,城市不斷發(fā)展,人口密度和路網(wǎng)密度不斷增加,交通出行需求日益增長,特別是在一二線城市,高峰出行擁堵每日都在上演。如何準確預測交通出行,誘導出行者選擇其他路徑,從而分散交通出行壓力,成為了解決問題的關(guān)鍵所在。因此,對未來交通態(tài)勢進行合理的判斷,對于出行者和管理者都具有重要意義。面對這一問題,有的學者從交通需求的角度出發(fā)進行預測[1-2],有的學者則對交通流參數(shù)進行短時預測。然而,短時交通流參數(shù)預測難以滿足長時段的交通出行需求。針對這一問題,本文探究了長時段交通狀態(tài)預測的方法。長時段交通狀態(tài)預測不僅能夠為交通出行者提供最直觀的交通運行信息,而且預測準確度較高,更具有實際應(yīng)用價值。
對交通流狀態(tài)的預測,包括流量、速度、交通狀態(tài)等,國內(nèi)外有許多相關(guān)的研究。在交通大數(shù)據(jù)的背景下,人工智能方法開始廣泛應(yīng)用,其中機器學習方法以其良好的性能而被普遍使用,比如支持向量機(SVM)[3]、k 近鄰算法(KNN)[4]和隨機森林(RF)[5]。在流量預測方面,羅文慧等[6]利用卷積神經(jīng)網(wǎng)絡(luò)對交通流特征進行提取,將提取的特征輸入到支持向量回歸模型中進行流量預測,預測精度相比傳統(tǒng)預測模型有所提升。康軍等[7]為了解決用SVM 進行短時交通量在線預測的計算復雜性問題,簡化了Lagrange乘子的求解過程,利用滑動時間窗口來控制新樣本的加入和舊樣本的移除,通過線性運算完成Lagrange乘子的更新,在保證預測精度的情況下減少預測的時間。也有學者[8]提出了以SARIMA 模型提取交通流數(shù)據(jù)中的周期性特征,再利用隨機森林進行短時交通流量預測。Guo 等[9]建立了基于KNN 的混合預測框架,融合了神經(jīng)網(wǎng)絡(luò)、支持向量回歸和隨機森林三種預測方法,通過KNN 算法來調(diào)整三種方法預測結(jié)果的權(quán)值,預測正常狀態(tài)下和有交通事件發(fā)生狀態(tài)的短時交通流量,與其他方法相比,結(jié)果更加精確。謝海紅等[10]改進了KNN 算法,用模式距離搜索方法代替歐氏距離搜索方法,利用多元統(tǒng)計回歸模型,以下一時刻狀態(tài)與對應(yīng)k個近鄰下一時刻狀態(tài)作為模型輸入,去估計模型參數(shù),之后借助這個多元統(tǒng)計回歸模型,輸入預測狀態(tài)k個近鄰的下一時刻狀態(tài),得到預測狀態(tài)。在速度預測方面,史殿習等[11]認為路段的速度與路段當前的速度變化情況有關(guān),于是選取了從當前時段開始的后4 個連續(xù)時段的速度序列作為狀態(tài)向量,基于速度變化趨勢和密集度的變K近鄰精確搜索策略,對K 近鄰算法的近鄰搜索策略進行改進和優(yōu)化,提出了一種短時交通平均速度預測模型。田瑞杰等[12]將時間序列預測和人工神經(jīng)網(wǎng)絡(luò)相結(jié)合,采用ARMA 預測模型對數(shù)據(jù)建模預測,再應(yīng)用人工神經(jīng)網(wǎng)絡(luò)調(diào)整預測值,得到了較好的交通流短時預測效果。孫靜怡等[13]發(fā)現(xiàn)車流中大型車比例對車流速度具有顯著影響,因此引入了大型車比例,加上前幾個時間點速度數(shù)據(jù)作為支持向量機的輸入,從而對高速公路交通流速度進行短時預測,結(jié)果發(fā)現(xiàn)大型車比例能較好提升預測精度,并且通過時間序列分析發(fā)現(xiàn)以前6 或7 個時間點的速度數(shù)據(jù)作為輸入的預測方案效果較好。Wang 等[14]則對SVM 的核函數(shù)進行設(shè)計,構(gòu)造了基于小波函數(shù)的核函數(shù),以捕捉非平穩(wěn)特征的短期交通速度數(shù)據(jù),并利用相空間重構(gòu)理論確定了模型輸入空間的維度,從而建立了短時交通速度預測的混合模型,得到的預測結(jié)果優(yōu)于原本的SVM 模型。在交通狀態(tài)預測方面,陳忠輝等[15]先是以流量、速度和占有率為指標,利用模糊C均值聚類對交通狀態(tài)進行聚類,得到交通狀態(tài)的標簽,接著同樣以流量、速度和占有率作為輸入特征,以聚類得到的交通狀態(tài)標簽作為輸出,構(gòu)建了隨機森林預測模型,從而預測短時交通狀態(tài)。Xu等[16]采用一種基于核k 近鄰的時間序列道路交通狀態(tài)預測算法,將當前道路交通狀態(tài)數(shù)據(jù)序列與參考道路交通狀態(tài)數(shù)據(jù)序列進行匹配,選擇k個最近的參考道路交通狀態(tài),預測當前道路的交通狀態(tài)。Liu 等[17]以天氣條件、時段、道路特殊情況、道路質(zhì)量和節(jié)假日為輸入變量,以隨機森林建立道路交通擁堵狀態(tài)預測模型,結(jié)果表明該方法的預測精度較好,泛化誤差較低,計算速度較快,可以有效預測。此外,也有學者利用其他方法進行交通預測,比如向量自回歸(VAR)[18]、自回歸整合移動平均(ARIMA)[19]、深度學習[20-21]。
但是,目前研究仍存在以下不足。第一,多數(shù)的研究都是針對短期的交通狀態(tài)預測,在當前時刻只能預測下一個預測時刻的交通狀態(tài);第二,研究對象基本是一條路段,無法說明方法的普適性。因此,本文針對以上的不足之處,從時間和空間兩個方面的特征考慮,構(gòu)建了新的時空特征向量,建立了一種長時段路段交通狀態(tài)的預測模型;此外,將方法拓展應(yīng)用到多個路段,驗證了方法的普適性。
本文所提出的長時段交通狀態(tài)預測模型框架如圖1所示??蚣苤饕藘刹糠謨?nèi)容:模型構(gòu)建和預測部分。在第一部分中,特征提取是整個模型最重要的部分。對歷史交通狀態(tài)數(shù)據(jù)進行特征提取,構(gòu)建時空特征向量,結(jié)合支持向量機分類算法構(gòu)建交通狀態(tài)預測模型;在進行預測的時候,先構(gòu)建預測時段的時空特征向量矩陣,輸入到第一部分得到交通狀態(tài)預測模型,模型的輸出即為預測時段的交通狀態(tài)值。短時交通流預測指的是在當前時刻只能預測下一時刻的交通流特征參數(shù),時間粒度即為預測時長。而長時段交通狀態(tài)預測,指的是在當前時刻下,對未來12 h、24 h或者更長時段的路段交通狀態(tài)進行預測,時間粒度范圍可以是1~10 min,因為本文用到的數(shù)據(jù)時間粒度是2 min,所以本文預測的時間粒度為2 min,但是本文的預測時長是未來24 h,這是區(qū)別于短時預測的地方。
圖1 交通狀態(tài)預測模型框架Fig. 1 Framework of traffic status prediction model
現(xiàn)有研究考慮的特征主要有時間特征、當前時刻的預測量特征或者前幾個時刻的預測量特征,這也導致了一次預測只能預測下一時刻交通流特征參數(shù)(速度、流量等)的局限性,如果要預測多個時刻,勢必要引入預測量,這將會導致誤差的累積。本文從考慮歷史的角度出發(fā),引入了預測時刻的預測路段的平均歷史交通狀態(tài)、上下游路段的平均歷史交通狀態(tài)以及時間常發(fā)擁堵特征,構(gòu)建了新的時空特征向量。
1.2.1 時間特征 時間特征是針對預測路段本身而言的,主要包括了三個方面:一是時間軸特征,也就是交通狀態(tài)所在的時間,二是路段歷史平均交通狀態(tài)特征,三是時間常發(fā)擁堵特征。
1)時間軸特征。路段交通狀態(tài)本質(zhì)上受人們交通出行的影響,而交通出行是具有一定的時間規(guī)律性的,比如工作日的上班和下班時間、非工作日的出行娛樂時間等,因此導致了路段的交通狀態(tài)變化也是具有一定的時間規(guī)律性。本文以交通狀態(tài)所在的時間作為時間軸特征,提取了時、分、秒三個特征,由于本文所用到的實驗數(shù)據(jù)時間間隔是2 min,秒數(shù)都為0。因此,剔除秒數(shù)特征,保留時、分兩個特征。由于交通狀態(tài)變化具有一定的周期性規(guī)律,為了描述這個周期性的變化,加入周天特征,周天是表示數(shù)據(jù)所在時間為星期幾。將時、分、周天這三個特征分別表示為xH、xM和xw。此外,加入xc代表是否工作日,取值0 和1 分別表示非工作日和工作日。最終以xH、xM、xw、xc四個特征作為表征交通狀態(tài)的時間軸特征。
2)歷史平均交通狀態(tài)特征。歷史平均交通狀態(tài)指的是預測路段在同個周天、同時、同分下歷史數(shù)據(jù)的交通狀態(tài)的平均值。假設(shè)Wi為歷史數(shù)據(jù)中屬于星期i 的交通狀態(tài)數(shù)據(jù),Hj為歷史數(shù)據(jù)中屬于j 時的交通狀態(tài)數(shù)據(jù),Mz為歷史數(shù)據(jù)中屬于z 分鐘的交通狀態(tài)數(shù)據(jù)。
3)時間常發(fā)擁堵特征。時間常發(fā)擁堵特征是表征數(shù)據(jù)所在時刻是否在路段的常發(fā)擁堵時段內(nèi)的特征。如果是,則賦值為1,否則,賦值為0。時間常發(fā)擁堵特征判別算法如下:
算法1 路段常發(fā)擁堵時段判別算法輸入:歷史數(shù)據(jù)集H ={s1,s2,...,sm}工作日時間區(qū)間集T1 ={t1 1,t12,...,t1 48},區(qū)間長度30 min非工作日時間區(qū)間集T2 ={t2 1,t22,...,t2 48},區(qū)間長度30 min 1:for c = 1,2 do 2: for k = 1,2,...,48 do 3: 從歷史數(shù)據(jù)集中篩選所有在時間區(qū)間tck內(nèi)的記錄,記為H′4: 令H′={s′1,s′2,...,s′n};5: for i = 1,2,...,n do 6: 令S = 0 7: if s′i=3 or 4 or 5 then 8: S = S + s′i 9: end if 10: end for 11: 令p =S n 12: if p >0.5 then 13: ftck = 1 14: else 15: ftck = 0 16: end if 17:end for 18:end for輸出:常發(fā)擁堵判定結(jié)果R ={ ft11,ft12,...,ft148,ft21,ft22,...,ft248}
在該算法中,以工作日和非工作日劃分一周(周一到周五為工作日,周六和周日為非工作日),將一天24 h 劃分為48 個時間區(qū)間,區(qū)間長度為30 min,工作日和非工作日共計分為96 個時間區(qū)間。以路段歷史數(shù)據(jù)為統(tǒng)計對象,分別計算每個時間區(qū)間中交通狀態(tài)為擁堵的頻率,在實驗數(shù)據(jù)中交通狀態(tài)值為3、4 和5 是表示擁堵的交通狀態(tài),如表1 所示。因此,統(tǒng)計交通狀態(tài)值大于3 的頻率,如果該頻率超過0.5,則說明該路段在該時間區(qū)間為常發(fā)擁堵。之后,再判斷數(shù)據(jù)所在時刻的時間區(qū)間是否為常發(fā)擁堵。如果是,則賦值為1;否則,賦值為0,即為時間常發(fā)擁堵的特征值。
1.2.2 空間特征 首先需要明確的一點是在沒有交叉口打斷的情況下,封閉路段由多個小路段組成,與封閉路段相接壤的路段為相鄰路段。本文的研究對象是城市快速路,是一段封閉的沒有交叉口的路段,它有與之接壤的唯一的上下游路段。由于相鄰路段之間的交通狀態(tài)是相互影響的,以上下游路段的歷史平均交通狀態(tài)特征作為空間特征,計算方法如式(1)所示,得到在同個周天、同時、同分下上下游路段歷史數(shù)據(jù)的交通狀態(tài)的平均值,分別以-Su(i,j,z)和-Sd(i,j,z)表示。這兩個特征反映了上下游路段的歷史交通狀態(tài),表征了預測路段交通狀態(tài)的空間特征。
在特征提取之后,本文構(gòu)建的特征向量可以表示為
其中xH為時特征,取值0~24;xM為分特征,取值0~58,間隔為2;xw為周天特征,取值1~7,分別表示周一到周日;xc為工作日特征,0 表示休假,1 表示上班;Ri為時間常發(fā)擁堵特征,0 表示不常發(fā)擁堵,1表示常發(fā)擁堵;-S (xw,xH,xM)為預測路段的歷史平均交通狀態(tài)特征;-Su(xw,xH,xM)為上游路段的歷史平均交通狀態(tài)特征;-Sd(xw,xH,xM)為下游路段的歷史平均交通狀態(tài)特征。以該特征向量作為模型的輸入,模型輸出是未來一段時段的交通狀態(tài)值,時間粒度為2 min,輸出變量個數(shù)與預測時長相關(guān),比如預測未來24 h 的某城市快速路路段的交通狀態(tài),則輸出變量個數(shù)為720個。
本文的預測問題是一個非線性的分類問題,由于支持向量機對于非線性分類具有明顯優(yōu)勢,于是采用了支持向量機作為學習算法,結(jié)合構(gòu)建的特征向量,建立了交通狀態(tài)的預測模型。通過對預測結(jié)果進行比較,確定了模型的核函數(shù)為徑向基(rbf)核函數(shù)。
為了驗證本文所提出方法的有效性和普適性,以佛山市佛山大道北的一個路段進行單路段的交通狀態(tài)長時段預測,佛山大道北是一條城市快速路,之后對比SVM 與其他方法的預測結(jié)果,以及不同核函數(shù)的預測結(jié)果。最后選取多條路段,對應(yīng)每條路段建立不同的SVM 預測模型,將方法應(yīng)用到更多的路段。
實驗數(shù)據(jù)是某地圖導航運營商提供的路段路況數(shù)據(jù),時間為2017/12/1-31,數(shù)據(jù)時間間隔為2 min,數(shù)據(jù)的有效字段包括了路段ID、時間、道路等級、路段平均行程速度等,參照國標《城市交通運行狀況評價規(guī)范》[22],如表1 所示,通過路段平均行程速度來得到路段的交通運行狀態(tài)。其中,交通運行狀況等級包含了5種交通狀態(tài),分別為暢通、基本暢通、輕度擁堵、中度擁堵和嚴重擁堵,分別以1、2、3、4 和5 表示。在實驗中,以2017/12/4-24的數(shù)據(jù)為訓練集。為了避免圣誕節(jié)對結(jié)果的影響,以2017/12/26-31的數(shù)據(jù)為測試集,并且采用最大最小歸一化的方法,對數(shù)據(jù)進行標準化處理。訓練樣例數(shù)據(jù)如表2所示。
表1 城市交通狀態(tài)評價規(guī)范1)Table 1 Specification for urban traffic status evaluation
為度量預測結(jié)果的準確性,本文以準確度(Acc)、平均絕對誤差(MAE) 和均方根誤差(RMSE)為評價指標。定義
其中pi表示預測交通狀態(tài)值,ti表示真實交通狀態(tài)值,N表示預測交通狀態(tài)值的個數(shù)。
2.3.1 單路段預測結(jié)果 實驗采用支持向量機(SVM)對2017/12/26-31的佛山大道北一個路段的交通狀態(tài)進行預測,并將預測結(jié)果與隨機森林(RF)、Adaboosting(Ada)、K-近鄰(KNN)、梯度提升決策樹(GBDT)和決策樹(DT)的預測結(jié)果進行比較。
1)不同方法結(jié)果比較。六種預測方法2017/12/26 的預測結(jié)果如圖2 所示。從圖中可以看出,SVM 能較好地預測長時段的城市快速路交通狀態(tài)。由表3 中的各項評價指標可以看到,SVM 對26 日全天預測準確度最高,達到了91.94%,比其他方法高2.08%以上;MAE 和RMSE 是最小的,分別為0.11 和0.41。在高峰時段(7:00-9:00 和17:00-19:00),SVM 的預測表現(xiàn)同樣優(yōu)于其他方法。預測準確度達到了78.69%,比其他方法高7.38%以上。預測精度比起全天要有所下降,這是因為高峰時段的交通狀態(tài)變化起伏較大、規(guī)律出現(xiàn)波動導致的。此外,對27~31日的整體平均預測準確度進行計算。通過比較可知,SVM 對工作日和非工作日的整體預測表現(xiàn)略優(yōu)于其他方法。實驗中,電腦操作系統(tǒng)為Windows Server 2012R2,CPU 為Intel Xeon E5-2630 v3,內(nèi)存為128 GB,實驗采用python編程實現(xiàn)。從預測時間效率來看,SVM模型的預測耗費時間稍大于其他方法,但是時間差距只是毫秒級的。相對來說,SVM 模型提升準確度所花費的時間代價比較小。
表2 訓練數(shù)據(jù)原始樣例Table 2 Training data original samples
圖2 不同方法的預測結(jié)果Fig.2 Prediction results of different methods
表3 單路段預測結(jié)果對比Table 3 Comparison of prediction results of different methods
2)不同核函數(shù)結(jié)果比較。探究了四種常用核函數(shù)對預測結(jié)果準確度的影響,如圖3所示。實驗結(jié)果表明,無論是在全天還是高峰時段,rbf 核函數(shù)在預測準確度上都要高于linear、poly和sigmoid,這也是模型選擇rbf作為核函數(shù)的原因。
3)不同特征組合結(jié)果比較。針對本文所提出的時空特征,進一步比較了不同特征組合對預測結(jié)果準確度的影響,以驗證本文提出的時間常發(fā)擁堵特征、歷史平均交通狀態(tài)特征能否有效提高SVM 模型的預測精度。其中,歷史平均交通狀態(tài)特征包括了預測路段歷史平均交通狀態(tài)、上游路段歷史平均交通狀態(tài)和下游路段歷史平均交通狀態(tài)。實驗中,將特征按照類型的不同進行分類組合。
(a)組合1:時間軸特征(時、分、周天、工作日);
(b)組合2:時間軸特征(時、分、周天、工作日) +時間常發(fā)擁堵特征;
(c)組合3:時間軸特征(時、分、周天、工作日) + 時間常發(fā)擁堵特征+ 預測路段歷史平均交通狀態(tài);
(d)組合4:時間軸特征(時、分、周天、工作日) + 時間常發(fā)擁堵特征+ 歷史平均交通狀態(tài)特征(預測路段歷史平均交通狀態(tài)、上游路段歷史平均交通狀態(tài)、下游路段歷史平均交通狀態(tài))。
圖3 不同核函數(shù)預測結(jié)果Fig.3 Prediction results of different kernel functions
(e)組合4 對應(yīng)本文的時空特征向量。對比四種不同特征組合的預測結(jié)果準確度,結(jié)果如圖4所示。圖4 中,組合4 的全天預測準確度最高,說明本文設(shè)計的時空特征向量能有效提升預測的準確度。相比組合1 的預測結(jié)果,組合2 的全天和高峰預測準確度分別提高了3.8%和22.1%,組合3 的全天和高峰預測準確度分別提高了4.7% 和30.3%,組合4 的全天和高峰預測準確度分別提高了5.15 和30.3%,預測精度均有大幅提升,特別是高峰時段。從組合3 和組合4 的比較來看,加入上下游路段歷史平均交通狀態(tài)后,高峰預測準確度基本不變,全天預測準確度有所提高。進一步說明了本文提出的時間常發(fā)擁堵特征和歷史平均特征都能較好地反映交通狀態(tài)的變化規(guī)律,特別是時間常發(fā)擁堵特征對于高峰期的預測準確度提升效果顯著。
圖4 不同特征組合預測結(jié)果Fig.4 Prediction results of different feature combinations
2.3.2 多路段預測結(jié)果 為了驗證基于時空特征向量的SVM 預測方法的普適性,實驗隨機選取了佛山市500條城市快速路路段進行測試,與單條路段的實驗類似,針對每條路段建立不同的SVM 預測模型。對每一條路段的評價指標進行平均,結(jié)果如表4所示。實驗表明,該預測方法同樣適用于其他路段,在隨機選取的500條路段上的平均預測準確度較好,26 號全天預測平均準確度達到了95.32%,高峰時段預測平均準確度達到了88.63%,27 號到31 號的預測平均準確度達到了94.94%,在六種方法中表現(xiàn)最優(yōu),充分表明了本文所提出的預測方法的普適性。
表4 多路段預測結(jié)果對比Table 4 Comparison of prediction results of multiple roads
本文通過挖掘路段交通狀態(tài)的時空關(guān)聯(lián)性,對特征向量進行設(shè)計,提出了以時間特征和空間特征為基礎(chǔ)的特征向量來表征交通狀態(tài)的規(guī)律性變化,并結(jié)合支持向量機分類算法,預測長時段的路段交通狀態(tài)。以單路段和多路段實驗,驗證了模型的有效性和普適性,表明了本文提出的時空特征向量能較好地描述交通狀態(tài)的變化規(guī)律,預測精度在全天和高峰時間的表現(xiàn)都較好。本文的創(chuàng)新在于彌補了短時交通狀態(tài)預測的不足,構(gòu)建了新的時空特征向量,提出了一種長時段交通狀態(tài)預測的有效方法,并且引入的新特征能有效提高長時段交通狀態(tài)預測準確度。此外,將方法應(yīng)用于多個路段,針對每條路段建立不同的SVM預測模型,驗證了方法的普適性,對于大規(guī)模路網(wǎng)的應(yīng)用具有一定的可行性。
同時,研究也存在可以進一步完善的地方。比如:由于缺乏節(jié)假日、氣象等數(shù)據(jù),本文在構(gòu)建特征向量的時候沒有考慮節(jié)假日和氣象的影響。在后續(xù)的研究中,可以考慮將節(jié)假日和氣象納入特征向量當中,以提高該模型在其他特殊交通需求模式下的預測能力。此外,可以挖掘更多的特征,進一步提高預測精度。