張 振,曾獻(xiàn)輝,2
(1.東華大學(xué) 信息科學(xué)與技術(shù)學(xué)院,上海 201620; 2. 數(shù)字化紡織服裝技術(shù)教育部工程研究中心,上海 201620)
準(zhǔn)確的交通量預(yù)測(cè)是當(dāng)今智慧交通的重要基礎(chǔ),是交通狀況判別的重要基石之一[1]。人們從上個(gè)世紀(jì)開始就在交通流預(yù)測(cè)領(lǐng)域做了很多交通預(yù)測(cè)研究,截止目前為止常見的交通量預(yù)測(cè)方法主要包括基于統(tǒng)計(jì)的預(yù)測(cè)方法、基于時(shí)間序列的交通量預(yù)測(cè)方法、基于神經(jīng)網(wǎng)絡(luò)的交通量預(yù)測(cè)方法以及基于機(jī)器學(xué)習(xí)的交通量預(yù)測(cè)方法幾種。
基于統(tǒng)計(jì)的交通量預(yù)測(cè)方法較多,比如多元線性回歸法、卡爾曼濾波器[2-3]和K近鄰算法[4]等,這些方法主要根據(jù)歷史流量數(shù)據(jù)預(yù)測(cè)未來交通流量分布,但是這些方法無法精準(zhǔn)地預(yù)測(cè)道路短期擁堵的情況。基于時(shí)間序列的交通量預(yù)測(cè)方法如差分自回歸滑動(dòng)平均模型[5],主要是將歷史的流量數(shù)據(jù)按照時(shí)間排列成為時(shí)間序列,根據(jù)時(shí)間序列分析數(shù)據(jù)流的變化趨勢(shì)從而預(yù)測(cè)未來的交通流量,但是這種算法的缺點(diǎn)是在處理數(shù)據(jù)量較大、維度較高的數(shù)據(jù)時(shí)效果一般,推廣能力較差?;谏窠?jīng)網(wǎng)絡(luò)交通量預(yù)測(cè)方法如GRU[6]和LSTM[7-8],這些模型存在著計(jì)算過程中收斂速度慢、計(jì)算時(shí)間較長(zhǎng)、容易過擬合等缺點(diǎn)?;跈C(jī)器學(xué)習(xí)的交通量預(yù)測(cè)方法如GBDT模型[9]、Xgboost模型[10]和隨機(jī)森林模型[11],這些模型對(duì)交通流時(shí)空挖掘效果不大理想。
單一預(yù)測(cè)模型往往存在一定的缺陷,影響模型預(yù)測(cè)精度。由于高速公路交通流量變化很容易受到外界環(huán)境的影響,在空間上上下游監(jiān)測(cè)點(diǎn)和開放路段的出入口交通流量變化對(duì)該路段交通量變化有一定的影響。深度挖掘交通流量的時(shí)間和空間特性不僅可以降低外界環(huán)境對(duì)交通流變化的影響,還可以考慮到相鄰監(jiān)測(cè)點(diǎn)和出入口之間的因果關(guān)系,提高模型的預(yù)測(cè)精度。CNN模型主要優(yōu)勢(shì)是可以進(jìn)行特征提取[12],深度挖掘高速公路待預(yù)測(cè)監(jiān)測(cè)點(diǎn)和周邊檢測(cè)點(diǎn)之間的時(shí)空上的聯(lián)系。LightGBM算法使用集成學(xué)習(xí)的方式[13],可以快速實(shí)現(xiàn)梯度提升,具有較快的運(yùn)行速度和較高的預(yù)測(cè)精度。本文結(jié)合這兩種模型的優(yōu)點(diǎn)提出了CNN-LightGBM組合模型的方式進(jìn)行交通量預(yù)測(cè)。
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN )模型最早可追溯至1980年由FUKUSHIMA K等人提出的Neocognitron模型[14],于1998年正式由LE CUN Y等人提出[15]。CNN主要由輸入層(input)、卷積層(conv)、池化層(pool)、全連接層(fc)和輸出層(output)構(gòu)成[16],這種模型結(jié)構(gòu)可以有效地減少權(quán)值的數(shù)量,簡(jiǎn)化網(wǎng)絡(luò)模型,同時(shí)也可以將數(shù)據(jù)直接用作網(wǎng)絡(luò)輸入,有效地減少了特征的提取和數(shù)據(jù)重構(gòu)的復(fù)雜性,該模型如圖1所示。目前CNN模型大多應(yīng)用于圖像領(lǐng)域,在交通量預(yù)測(cè)方面,由于CNN模型具有比較差的泛化能力,如果在實(shí)際交通量發(fā)生突變的情況下,之前建立的模型可能會(huì)出現(xiàn)完全失效情況[17]。但是CNN模型具有很強(qiáng)的特征提取能力,大多應(yīng)用于模型特征提取。
圖1 CNN模型整體結(jié)構(gòu)
高速公路的交通流量數(shù)據(jù)可以從時(shí)間和空間兩個(gè)角度做出區(qū)分,在時(shí)間上,當(dāng)前時(shí)刻交通流量數(shù)據(jù)是對(duì)上一時(shí)刻的數(shù)據(jù)的繼承與對(duì)下一時(shí)刻數(shù)據(jù)的延伸;在空間上,對(duì)于開放的高速公路路段來說,當(dāng)前監(jiān)測(cè)點(diǎn)的交通量變化不僅僅與上下游的交通量有關(guān),還會(huì)受到高速公路出入口交通量變化的影響。根據(jù)CNN捕捉的時(shí)空信息的特點(diǎn),構(gòu)造包含時(shí)間和空間信息的二維矩陣。
空間上監(jiān)測(cè)點(diǎn)在t時(shí)刻的交通流量數(shù)據(jù)為:
S={xp,t,xp1,t,…,xpn,t}
(1)
其中,xp,t表示目標(biāo)監(jiān)測(cè)點(diǎn)p在t時(shí)刻的交通流量數(shù)據(jù);xpn,t表示周邊檢測(cè)點(diǎn)pn在t時(shí)刻交通流量數(shù)據(jù)。
構(gòu)建時(shí)空特征矩陣為:
(2)
其中,xp,t-m表示監(jiān)測(cè)點(diǎn)p在當(dāng)前時(shí)間前m個(gè)時(shí)間統(tǒng)計(jì)單位的時(shí)刻交通流量數(shù)據(jù)。本實(shí)驗(yàn)中m取值為5。
LightGBM模型于2016年由微軟亞洲研究院提出[18],是GBDT模型的變體,主要用于解決GBDT在處理大量數(shù)據(jù)時(shí)遇到的問題。由于LightGBM是GBDT算法的提升,其基本原理與GBDT原理基本一致。GBDT算法屬于一種Bossting Tree算法,Boosting算法可以表示為決策樹的加法模型:
(3)
其中,T(x,Θn)表示第n棵決策樹,Θn表示其參數(shù);N為樹的棵數(shù);x表示輸入樣本。
GBDT采用前后向分布算法的方式進(jìn)行優(yōu)化求解,其模型為:
fn(x)=fn-1(x)+T(x:Θn)
(4)
其中,fn-1(x)為經(jīng)過n-1步訓(xùn)練的提升樹模型,T(x:Θn)為第n步需要學(xué)習(xí)的決策樹。前向分布算法希望將T(x:Θn)和fn-1(x)相加后能夠使fn(x)在訓(xùn)練集上的經(jīng)驗(yàn)誤差最小。Bosting Tree算法在每個(gè)步驟都會(huì)生成一個(gè)弱決策樹模型,并將其累積在整個(gè)模型中,從而將模型的經(jīng)驗(yàn)誤差降至最低。GBDT模型就是沿著當(dāng)前模型誤差函數(shù)的負(fù)梯度方向生成每個(gè)弱決策樹模型。
LightGBM是在GBDT模型的基礎(chǔ)上結(jié)合了Gradient-based One-Side Sampling(GOSS)算法和Exclusive Feature Bundling(EFB)算法以增強(qiáng)梯度。GOSS算法主要用于對(duì)訓(xùn)練樣本進(jìn)行采樣,能夠在保留大梯度樣本的同時(shí)減少小梯度樣本的數(shù)量,從而降低決策樹生成的復(fù)雜性,同時(shí)GOSS算法能夠提高泛化性能。EFB算法用于減少較高特征維度下稀疏數(shù)據(jù)要素的數(shù)量,并從要素角度優(yōu)化算法復(fù)雜度。
結(jié)合CNN挖掘交通流空間特性與LightGBM快速高效預(yù)測(cè)的特性,本文構(gòu)造出CNN-LightGBM交通量預(yù)測(cè)模型的整體結(jié)構(gòu),如圖2所示。
圖2 CNN-LightGB的預(yù)測(cè)模型結(jié)構(gòu)
整體思路可以分為以下4步:
(1)統(tǒng)計(jì)各個(gè)監(jiān)測(cè)點(diǎn)的交通流量數(shù)據(jù),并對(duì)交通流量數(shù)據(jù)進(jìn)行預(yù)處理;
(2)將交通流量歸一化后放入CNN模型進(jìn)行訓(xùn)練,由CNN模型提取交通流時(shí)空特征;
(3)將CNN模型提取的特征向量輸入到LightGBM模型;
(4)使用LightGBM模型對(duì)交通量進(jìn)行預(yù)測(cè)。
本文實(shí)驗(yàn)數(shù)據(jù)來源自某省交通管理局提供的某高速公路路段道路中心監(jiān)測(cè)點(diǎn)、收費(fèi)站口監(jiān)測(cè)點(diǎn)以及服務(wù)區(qū)監(jiān)測(cè)點(diǎn)對(duì)機(jī)動(dòng)車監(jiān)測(cè)的真實(shí)數(shù)據(jù),監(jiān)測(cè)點(diǎn)位置分布如圖3所示。監(jiān)控點(diǎn)記錄每一輛通行車輛的車牌號(hào)、通行監(jiān)測(cè)點(diǎn)的時(shí)間、機(jī)動(dòng)車通行方向與汽車類型等。本實(shí)驗(yàn)采用2018年11月1日到2018年12月20日共計(jì)300多萬條監(jiān)測(cè)數(shù)據(jù),首先根據(jù)監(jiān)測(cè)點(diǎn)記錄的機(jī)動(dòng)車類型,根據(jù)國家機(jī)動(dòng)車當(dāng)量折算標(biāo)準(zhǔn),將不同機(jī)動(dòng)車交通量按照不同的折算系數(shù)轉(zhuǎn)換成標(biāo)準(zhǔn)車型的當(dāng)量交通量,當(dāng)量交通量比單純地統(tǒng)計(jì)汽車個(gè)數(shù)更加具有實(shí)際意義。由于短時(shí)交通流的時(shí)間跨度并沒有非常標(biāo)準(zhǔn)的定義,本實(shí)驗(yàn)以15 min作為最小時(shí)間單位,統(tǒng)計(jì)道路每15 min汽車當(dāng)量交通量,得到4 800條數(shù)據(jù)。其中,以2018年11月1日到2018年12月15日時(shí)間段的交通當(dāng)量數(shù)據(jù)作為訓(xùn)練樣本,以2018年12月16日到2018年12月20日時(shí)間段的交通當(dāng)量作為測(cè)試樣本,共計(jì)得到4 320個(gè)訓(xùn)練樣本,480個(gè)測(cè)試樣本。
圖3 監(jiān)測(cè)點(diǎn)位置圖
由于高速公路監(jiān)測(cè)點(diǎn)對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)監(jiān)測(cè)傳輸時(shí)可能會(huì)由于監(jiān)測(cè)器異常、網(wǎng)絡(luò)異?;蛘叽鎯?chǔ)異常等因素導(dǎo)致數(shù)據(jù)存在重復(fù)、缺失或錯(cuò)誤等問題,嚴(yán)重影響數(shù)據(jù)的真實(shí)性,因此需要對(duì)這些數(shù)據(jù)進(jìn)行合理有效的處理。
首先對(duì)監(jiān)測(cè)點(diǎn)數(shù)據(jù)進(jìn)行處理。監(jiān)測(cè)點(diǎn)數(shù)據(jù)主要存在數(shù)據(jù)重復(fù)和數(shù)據(jù)缺失問題。對(duì)于數(shù)據(jù)重復(fù)問題,根據(jù)重復(fù)數(shù)據(jù)記錄的時(shí)間排序,保留第一次出現(xiàn)的車輛數(shù)據(jù),其他的重復(fù)數(shù)據(jù)進(jìn)行刪除處理。數(shù)據(jù)異常指的是數(shù)據(jù)庫記錄的數(shù)據(jù)有部分缺失,如果需要的關(guān)鍵數(shù)據(jù)沒有缺失則不做處理,如果有缺失則做刪除處理。
對(duì)處理后的監(jiān)測(cè)點(diǎn)數(shù)據(jù)進(jìn)行統(tǒng)計(jì),根據(jù)我國《公路工程技術(shù)標(biāo)準(zhǔn)》[19]的規(guī)定,對(duì)各種類型的車型進(jìn)行機(jī)動(dòng)車當(dāng)量折算,將不同的機(jī)動(dòng)車車型轉(zhuǎn)換為標(biāo)準(zhǔn)的機(jī)動(dòng)車車型。當(dāng)量能夠體現(xiàn)出機(jī)動(dòng)車在道路上的占有情況。然后根據(jù)監(jiān)測(cè)點(diǎn)記錄的機(jī)動(dòng)車通行時(shí)間以15 min為最小時(shí)間單位,對(duì)機(jī)動(dòng)車數(shù)量進(jìn)行統(tǒng)計(jì)。
由于監(jiān)測(cè)點(diǎn)數(shù)據(jù)缺失和數(shù)據(jù)異常問題會(huì)對(duì)統(tǒng)計(jì)數(shù)據(jù)造成影響,需要對(duì)統(tǒng)計(jì)出來的數(shù)據(jù)再次進(jìn)行處理??紤]到高速公路機(jī)動(dòng)車數(shù)據(jù)具有周期性、連續(xù)性和重復(fù)性的特點(diǎn),采用歷史值填充和平均值法進(jìn)行數(shù)據(jù)填充。對(duì)于少量數(shù)據(jù)缺失問題,采用平均值填充的方式對(duì)數(shù)據(jù)進(jìn)行補(bǔ)充。如果有大量數(shù)據(jù)缺失,則根據(jù)道路數(shù)據(jù)周期性特點(diǎn),采集之前一些天數(shù)相同的時(shí)間數(shù)據(jù)進(jìn)行加權(quán)平均,將缺失數(shù)據(jù)進(jìn)行填充。
從圖3可以發(fā)現(xiàn),待預(yù)測(cè)監(jiān)測(cè)點(diǎn)P的交通流量與上游監(jiān)測(cè)點(diǎn)P1、出入口P2和P3、下游出口P4和監(jiān)測(cè)點(diǎn)P5都有較大的關(guān)聯(lián)性,上下游的交通量變化會(huì)影響到P監(jiān)測(cè)點(diǎn)的交通量變化。在模型建立前,首先對(duì)數(shù)據(jù)進(jìn)行歸一化處理,讓數(shù)據(jù)映射到一定的范圍之內(nèi),這樣可以減少數(shù)據(jù)范圍對(duì)預(yù)測(cè)效果的影響。CNN-LightGBM組合模型訓(xùn)練過程主要分為CNN特征提取和LightGBM預(yù)測(cè)兩個(gè)部分。
(1)使用CNN提取特征。CNN特征提取使用兩次卷積和兩次池化。第一次CNN模型利用3×3的卷積方式將數(shù)據(jù)轉(zhuǎn)換成[2,6,6]的特征圖,池化之后得到[2,3,3]的特征圖。第二次CNN使用3×3的卷積將數(shù)據(jù)轉(zhuǎn)換成[4,3,3]的特征圖,池化之后得到[4,2,2]的特征圖。之后使用Reshape對(duì)數(shù)據(jù)重組,將二維矩陣轉(zhuǎn)換成一維向量。使用全連接方式將數(shù)據(jù)變成128維度數(shù)據(jù)。實(shí)驗(yàn)中CNN使用MSE作為損失函數(shù),卷積核大小為3×3,步長(zhǎng)為1,padding為1,第一次卷積核的個(gè)數(shù)由1變成2,第二次卷積核由2變成4。池化的窗口大小為3×3,步長(zhǎng)為2,padding為1。
(2)將高維特征向量輸入到LightGBM模型進(jìn)行預(yù)測(cè)。將CNN模型得到的特征向量作為輸入傳送給LightGBM模型,由LightGBM進(jìn)行交通量預(yù)測(cè)。LightGBM模型學(xué)習(xí)率為0.1,最大深度為8,num_leaves為50,其他均使用默認(rèn)值。
CNN-LightGBM模型設(shè)計(jì)流程如圖4所示。
圖4 CNN-LightGBM模型設(shè)計(jì)
為了驗(yàn)證模型的有效性,實(shí)驗(yàn)采用了均方根誤差(Root Mean Squart Error,RMSE)、平均絕對(duì)百分比誤差(Mean Absolute Percentage Error,MAPE)和平均絕對(duì)差值(Mean Absolute Error,MAE)作為評(píng)價(jià)標(biāo)準(zhǔn)[20],用于判斷預(yù)測(cè)交通當(dāng)量數(shù)據(jù)的準(zhǔn)確性。
(5)
(6)
(7)
為了驗(yàn)證高速公路空間特性對(duì)交通量的影響,本實(shí)驗(yàn)將考慮空間特性的LightGBM-1模型與未考慮空間特性的LightGBM-2模型作對(duì)比,如圖5所示。通過表1對(duì)比發(fā)現(xiàn)考慮到空間特性的LightGBM-1模型比未考慮到空間特性的LightGBM-2模型的MAPE降低了12.75%,RMSE降低了16.20%,MAE降低了16.91%。說明考慮空間特性的LightGBM-1模型預(yù)測(cè)效果更好,這表明,挖掘交通流的空間特性可以降低預(yù)測(cè)誤差。
圖5 LightGBM-1與LightGBM-2模型預(yù)測(cè)結(jié)果
將CNN提取的特征向量全連接后得到CNN預(yù)測(cè)模型,將CNN的預(yù)測(cè)結(jié)果與真實(shí)值進(jìn)行對(duì)比,如圖6所示。結(jié)合CNN模型與LightGBM模型優(yōu)勢(shì)的CNN-LightGBM模型的預(yù)測(cè)結(jié)果如圖7所示。由表1可知,考慮到時(shí)空特性的CNN-LightGBM與未考慮交通流空間特性的LightGBM-2相比,MAPE降低了28.28%,RMSE降低了30.87%,MAE降低了33.56%。CNN-LightGBM模型與考慮交通流空間特性的LightGBM-1模型相比,MAPE降低了17.80%,RMSE降低了17.51%,MAE降低了20.04%。CNN-LightGBM模型與單獨(dú)CNN模型相比,MAPE降低了23.69%,RMSE降低了15.69%,MAE降低了21.53%。這表明基于深度學(xué)習(xí)的CNN-LightGBM模型可以更加深入地挖掘交通流的時(shí)空特性,相比于組合中的單一模型,可以明顯降低預(yù)測(cè)誤差。
圖6 CNN模型預(yù)測(cè)結(jié)果
圖7 CNN-LightGBM模型預(yù)測(cè)結(jié)果
同時(shí),為了體現(xiàn)該模型與其他組合模型的優(yōu)越性,本實(shí)驗(yàn)同時(shí)還利用了同類CNN-Xgboost模型與CNN-LightGBM模型作對(duì)比,如圖8所示。由表1可以看出,同樣挖掘交通量的時(shí)空特性,在本實(shí)驗(yàn)中,CNN-LightGBM相比于CNN-Xgboost,MAPE降低了2.89%,RMSE降低了2.26%,MAE降低了1.63%。同時(shí)在本實(shí)驗(yàn)中,以CNN提取的特征向量作為輸入的Xgboost模型運(yùn)行時(shí)間為18.6 s,LightGBM模型運(yùn)行時(shí)間為3.9 s,LightGBM模型運(yùn)行速度遠(yuǎn)高于Xgboost模型。在本實(shí)驗(yàn)中CNN-LightGBM的預(yù)測(cè)效果優(yōu)于CNN-Xgboost模型。
圖8 CNN-LightGBM模型與CNN-Xgboost模型預(yù)測(cè)結(jié)果
為了更一步驗(yàn)證模型的有效性,本實(shí)驗(yàn)還與傳統(tǒng)的Xgboost模型、KNN模型、神經(jīng)網(wǎng)絡(luò)模型和SVR模型作對(duì)比,如圖9所示。結(jié)合表1的預(yù)測(cè)誤差,綜合以上所有模型對(duì)比結(jié)果發(fā)現(xiàn),考慮時(shí)空特性影響的CNN-LightGBM模型在本實(shí)驗(yàn)中可以明顯降低預(yù)測(cè)誤差。
圖9 其他模型預(yù)測(cè)結(jié)果
表1 實(shí)驗(yàn)結(jié)果對(duì)比
在高速公路系統(tǒng)中,相比于傳統(tǒng)的車輛數(shù)量預(yù)測(cè),交通當(dāng)量的準(zhǔn)確預(yù)測(cè)對(duì)交通控制具有重要的意義,可以反映出道路的實(shí)際占有情況,有助于居民出行和物流流通,對(duì)交通監(jiān)管部門道路規(guī)劃和交通判別具有很大參考價(jià)值。本文選取某高速公路某路段監(jiān)測(cè)點(diǎn)數(shù)據(jù),采用CNN-LightGBM算法對(duì)交通當(dāng)量進(jìn)行預(yù)測(cè),結(jié)合上下游交通量與附近高速公路出入口交通量變化,使用卷積神經(jīng)網(wǎng)絡(luò)對(duì)交通當(dāng)量提取空間維度數(shù)據(jù)特征,利用具有快速、低內(nèi)存、高準(zhǔn)確率特點(diǎn)的LightGBM模型對(duì)卷積神經(jīng)網(wǎng)絡(luò)提取的高維特征向量進(jìn)行處理預(yù)測(cè),可以獲得較高的預(yù)測(cè)效果,相比于單獨(dú)的機(jī)器學(xué)習(xí)模型和其他組合學(xué)習(xí)模型具有更低的預(yù)測(cè)誤差。該模型具有很強(qiáng)的實(shí)用性與可靠性。但是由于采用的是高速公路某路段進(jìn)行預(yù)測(cè),并沒有考慮到高速公路各級(jí)關(guān)聯(lián)道路路網(wǎng)的復(fù)雜性,下一步將結(jié)合路網(wǎng)情況進(jìn)行預(yù)測(cè)分析,使得模型更加具有通用性。