孫加新,惠 飛,張凱望,馮 耀,張師源
(長安大學(xué) 信息工程學(xué)院,陜西 西安 710064)
近年來,隨著國內(nèi)的經(jīng)濟產(chǎn)業(yè)、制造業(yè)快速發(fā)展,汽車保有量正逐步攀升,這對許多城市的道路承載能力產(chǎn)生了極大的沖擊。許多城市正面臨著交通擁堵問題,嚴(yán)重的甚至影響到居民的日常工作生活。如何緩解交通系統(tǒng)壓力,提升路網(wǎng)結(jié)構(gòu)的承載能力及運行效率等一系列問題正在迫使交通管理部門采取積極的應(yīng)對措施。當(dāng)前,解決交通擁堵問題主要通過以下幾個途徑:一是對城市公路網(wǎng)進行改造,如拓寬道路,修建新路線分流緩解關(guān)鍵道路壓力,但是此類方法無論從時間和空間上考慮均有較大成本,難以在短期內(nèi)取得成效,且考慮交通參與者成本如繞路的時間及油耗成本,未必能從根本上解決交通堵塞問題;二是對車輛實施限行政策以削弱一部分出行流量,這種方式可以在一定程度上控制路面車輛數(shù)量,但對公共交通的承載能力有著較高要求;三是通過交通管制、誘導(dǎo)手段來控制路網(wǎng)結(jié)構(gòu)的使用,優(yōu)化道路運載效率,對于此種方式,一個可靠實時的交通流量信息就成了交管部門和交通參與者重要參考指標(biāo)?;诖?,近年來對交通流量的預(yù)測研究逐漸引起了研究人員的興趣。利用預(yù)測出來的結(jié)果,可以分析交通系統(tǒng)所具有的周期性規(guī)律,從時間和空間上為交通管制、誘導(dǎo)提供了可靠的數(shù)據(jù)支撐。
交通流量作為一種典型的復(fù)雜模型,受到天氣狀況、道路拓撲結(jié)構(gòu)、出行規(guī)律、節(jié)假日、道路運載能力等一系列因素影響,這些因素普遍具有非線性特點。在這些因素的影響下,對交通流量的預(yù)測在實際應(yīng)用中往往難以達到很高的準(zhǔn)確性,且由于城市規(guī)劃、路網(wǎng)結(jié)構(gòu)的不同,預(yù)測模型也很難具有高度泛化的能力。數(shù)學(xué)及統(tǒng)計學(xué)模型的運用是早期研究人員對于交通流量預(yù)測這一問題的主要選擇。例如,以自回歸滑動平均模型(ARMA)[1]為代表的均值算法以及以廣義自回歸條件異方差(GARCH)為代表的區(qū)間預(yù)測算法。但交通流量具有周期性、季節(jié)性、不穩(wěn)定性等特點,傳統(tǒng)的統(tǒng)計模型難以提供準(zhǔn)確度高、穩(wěn)定性好的預(yù)測結(jié)果??紤]到機器學(xué)習(xí)對于非線性系統(tǒng)的良好適應(yīng)能力,已有學(xué)者將其引入該問題的研究之中,例如K鄰域[2](KNN)、支持向量機[3](SVM)、隨機森林[4]等方法。此外,也有一些研究通過算法提升機器學(xué)習(xí)的表現(xiàn),Hu等[5]提出了結(jié)合粒子群優(yōu)化方法(PSO)的支持向量回歸方法(SVR);徐健鋒等[6]提出的多機器學(xué)習(xí)競爭的模型獲得了最優(yōu)結(jié)果;徐磊等[7]提出了利用奇異譜分解方法(SSA)對數(shù)據(jù)進行分解,再利用LightGBM模型對隨機項進行預(yù)測。王博文等[8]將自回歸滑動平均模型與支持向量回歸方法進行組合,提出了一種殘差優(yōu)化組合預(yù)測模型。祁朵等[9]在KNN的基礎(chǔ)上,將單日流量情況劃分為多種交通模式,根據(jù)不同模式對參數(shù)進行優(yōu)化來提升預(yù)測精度。研究表明,機器學(xué)習(xí)能夠很好地探究交通流量數(shù)據(jù)的非線性化這一特點,但在使用此類方法前需要對數(shù)據(jù)進行細致有效的特征工程,這對研究人員的數(shù)據(jù)處理能力提出了很高的要求,并且在面對高維度多特征的數(shù)據(jù)時,預(yù)測的精度也會大幅下降。
隨著深度學(xué)習(xí)技術(shù)在自然語言處理、圖像識別等領(lǐng)域的廣泛應(yīng)用,已有許多研究人員將深度學(xué)習(xí)引入時序數(shù)據(jù)的預(yù)測之中,例如股價預(yù)測、天氣預(yù)測[10]等方面。深度學(xué)習(xí)技術(shù)也被研究人員廣泛應(yīng)用于交通流量預(yù)測領(lǐng)域,用以解決傳統(tǒng)預(yù)測方式中難以充分結(jié)合的時空特性,提升預(yù)測結(jié)果的準(zhǔn)確性。Shao H等[11]將長短時記憶網(wǎng)絡(luò)模型引入交通流量預(yù)測問題,在時間序列數(shù)據(jù)中捕獲長期依賴關(guān)系的內(nèi)在特征,以此提高預(yù)測精度;劉明宇等[12]提出了利用門控循環(huán)單元(GRU)神經(jīng)網(wǎng)絡(luò)預(yù)測交通流量,利用交叉驗證方法探究GRU的最佳單元個數(shù);晏臻等[13]提出了基于CNN-LSTM的預(yù)測模型,挖掘交通流量數(shù)據(jù)的時序特征,實現(xiàn)短期流量預(yù)測;曹堉等[14]提出了一種利用遺傳算法對時空節(jié)點進行選擇后訓(xùn)練的反向傳播網(wǎng)絡(luò)(BPNN)用來進行短時交通流量預(yù)測;李佩鈺等[15]利用小波分析對數(shù)據(jù)進行處理,提升了BPNN的預(yù)測表現(xiàn);趙剛等[16]利用聚類方法將LSTM的歷史誤差與當(dāng)前數(shù)據(jù)結(jié)合,以提升LSTM的表現(xiàn);蔣杰等[17]提出了利用改進ACO算法的全局優(yōu)化能力改善BP神經(jīng)網(wǎng)絡(luò)在交通流量預(yù)測時易受局部極值影響的情況。
為了充分提取交通流量數(shù)據(jù)中的時空序列特征,基于上述研究,利用CNN的特征提取能力、BiLSTM的前后向數(shù)據(jù)關(guān)聯(lián)性發(fā)掘能力以及注意力機制對重要信息的關(guān)注能力,該文構(gòu)建了一種CNN-BiLSTM-AM組合模型。模型的主要思路可以概括為:首先,利用卷積神經(jīng)網(wǎng)絡(luò)對數(shù)據(jù)進行特征提取;其次,引入BiLSTM網(wǎng)絡(luò)來挖掘數(shù)據(jù)中所包含的時序性、周期性特征;最后,引入點積注意力和全連接神經(jīng)網(wǎng)絡(luò)來輸出預(yù)測結(jié)果。在本次研究中,采用了美國明尼蘇達州I-94號公路每小時西行交通流量數(shù)據(jù)進行預(yù)測實驗,最終預(yù)測結(jié)果的各項指標(biāo)表明,所提出的模型較之其他基準(zhǔn)預(yù)測方法在準(zhǔn)確性、穩(wěn)定性等方面表現(xiàn)更佳。
交通流量[18]是指針對某個時間范圍內(nèi),某一處交通系統(tǒng)所流動的交通實體數(shù)。交通流量預(yù)測任務(wù)從本質(zhì)上來說,即是對交通流量、通行速度、車道占有率等參數(shù)在未來一段時刻進行預(yù)測。
交通流量數(shù)據(jù)作為一種常見的時序數(shù)據(jù),其周期性、規(guī)律性較強,主要具有以下幾個特點:
(1)交通流量數(shù)據(jù)具有很強的時間特性。在一個特定的觀測點上,收集到的數(shù)據(jù)是一個隨時間變化的連續(xù)型序列。其原因在于,交通實體的積聚和流失是一個連續(xù)的過程,反映到數(shù)據(jù)上則可以得出前后數(shù)據(jù)的關(guān)聯(lián)性。
(2)交通流量對比其他時序數(shù)據(jù)表現(xiàn)出更強的周期性。交通出行往往與人們工作生活息息相關(guān)。對于一個特定的觀測點而言,觀測的數(shù)據(jù)往往以工作日為周期表現(xiàn)出時、日、周時間單位上的相似規(guī)律。在節(jié)假日之間同樣存在著相似性的表現(xiàn)。
(3)交通流量還受到天氣、氣候、交通設(shè)施運轉(zhuǎn)情況等因素影響。對于具有周期性的數(shù)據(jù)而言,還要考慮到不同特征影響下的變化規(guī)律,這在一定程度上也使得對交通流量的預(yù)測復(fù)雜度進一步上升。
基于上述特點不難得出,對于交通流量的預(yù)測的關(guān)鍵點在于如何充分利用數(shù)據(jù)的時序特性、周期特性以及復(fù)雜多樣的外部因素。這也使得許多預(yù)測工作難以在復(fù)雜的系統(tǒng)上具有高精度、高適應(yīng)性表現(xiàn)。
1.2.1 基于卷積神經(jīng)網(wǎng)絡(luò)的特征提取
交通流量具有較強的時序性特點,同時又受到多種因素影響使復(fù)雜性進一步上升,因此預(yù)測起來存在一定的難度。已有研究表明,在時序數(shù)據(jù)處理上,一維CNN具有較強的特征提取能力[19]??紤]到交通流量內(nèi)部存在的復(fù)雜特征,引入一維CNN網(wǎng)絡(luò)可以提升整體預(yù)測模型的表現(xiàn)。一維CNN結(jié)構(gòu)如圖1所示。其中卷積核ω作用在第t個時間步輸入數(shù)據(jù)xt∈Rs×f上,提取出特征矩陣Ct={Ct,1,Ct,2,…,Ct,s-1}∈Rτ×d。s表示時間步長的長度;f為特征維度;τ表示輸出特征的長度;d表示輸出特征的維度,其大小由過濾器設(shè)置決定。
圖1 一維卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
1.2.2 BiLSTM神經(jīng)網(wǎng)絡(luò)
RNN在處理較遠節(jié)點之間聯(lián)系時易出現(xiàn)梯度消失或梯度膨脹問題[20],而長短時記憶網(wǎng)絡(luò)LSTM能夠更好地保留距離較遠節(jié)點提供的信息,提升了在更長時序數(shù)據(jù)上的表現(xiàn)。每個LSTM單元擁有遺忘門、輸入門和輸出門共三個門控結(jié)構(gòu)[21]。LSTM單元各門控結(jié)構(gòu)、隱藏層輸出、細胞狀態(tài)傳遞過程如公式(1)至公式(6):
ft=σ(Wf·[ht-1,xt]+bf)
(1)
it=σ(Wi·[ht-1,xt]+bi)
(2)
(3)
(4)
ot=σ(Wo[ht-1,xt]+bo)
(5)
ht=ot*tanh(Ct)
(6)
不過,LSTM只將前向序列的信息輸入神經(jīng)網(wǎng)絡(luò)預(yù)測結(jié)果,在訓(xùn)練模型時難以感知后向數(shù)據(jù)內(nèi)容。雙向長短時記憶網(wǎng)絡(luò)(BiLSTM)的出現(xiàn)解決了對后向信息缺乏關(guān)注這一問題。所謂雙向是指,在BiLSTM中包含一個前向LSTM單元和一個后向LSTM單元,每個LSTM單元與前文提及的LSTM結(jié)構(gòu)一致,前向、后向兩個單元之間相互獨立。在圖2中給出了BiLSTM網(wǎng)絡(luò)的結(jié)構(gòu)?,F(xiàn)有研究表明,BiLSTM在時序數(shù)據(jù)上的預(yù)測結(jié)果優(yōu)于LSTM[22]。
圖2 BiLSTM網(wǎng)絡(luò)結(jié)構(gòu)
1.2.3 注意力機制
在二十世紀(jì)八十年代,Treisman等[23]提出了注意力機制(Attention Mechanism,AM),其作用原理在于對不同特征給予不同的關(guān)注度,即使用不同的權(quán)重提升或降低特征對于整體數(shù)據(jù)的重要性[24]。注意力機制已被廣泛應(yīng)用于文本識別、計算機視覺[25]等領(lǐng)域。
在交通流量預(yù)測中,作為多特征的時序數(shù)據(jù),可能存在部分特征與實際預(yù)測結(jié)果關(guān)聯(lián)性較小,以及異常值對預(yù)測結(jié)果的影響巨大等情況,如果直接使用神經(jīng)網(wǎng)絡(luò)進行預(yù)測可能會使結(jié)果的準(zhǔn)確度大幅降低。對于上述存在的問題,在整體模型中融合注意力機制,使之更加關(guān)注有效的數(shù)據(jù)特征,最終獲取準(zhǔn)確的預(yù)測結(jié)果。
1.2.4 CNN-BiLSTM-AM模型
基于上述結(jié)構(gòu),該文提出了基于CNN-BiLSTM-AM的組合模型,模型結(jié)構(gòu)如圖3所示。模型由幾個層級構(gòu)成:輸入層、一維CNN層、Dropout層、BiLSTM層、注意力層、Flatten層及全連接層。
對于交通流量的預(yù)測,提出的模型主要通過如下步驟實現(xiàn):
(1)對于處理過的時序數(shù)據(jù)X={x0,x1,…,xt},其中xi∈Rs×f,i∈(0,t),s表示每個數(shù)據(jù)的時間窗口長度,f為數(shù)據(jù)的特征維度,利用一維CNN對數(shù)據(jù)進行特征提取,并且使用填充方法來確保一維CNN提取特征后的數(shù)據(jù)保持原有的時間窗口長度。
(2)對于提取后的數(shù)據(jù)c={c0,c1,…,ct},ci∈Rs×d,i∈(0,t),d表示卷積神經(jīng)網(wǎng)絡(luò)的過濾器大小。添加Dropout層可以保證在不影響輸出維度大小的情況下,隨機屏蔽部分隱藏層神經(jīng)元,以此達到增強模型適應(yīng)能力的目的。
圖3 CNN-BiLSTM-AM組合模型
(3)BiLSTM包含兩個LSTM單元,用于接收前后向信息。BiLSTM傳遞過程如公式(7)~公式(9)。
hf,t=f(Wf[xt,hf,t-1])
(7)
hb,t=f(Wb[xt,hb,t+1])
(8)
ot=Wo[hf,t,hb,t]+bo
(9)
其中,Wf、Wb分別表示前向、后向單元的權(quán)重矩陣;t為時刻信息;hf,t、hb,t分別對應(yīng)前向單元、后向單元的隱藏層輸出;ot表示BiLSTM的輸出;Wo表示權(quán)重矩陣,bo為偏置單元。BiLSTM層接收Dropout層輸出的數(shù)據(jù),挖掘交通流量中存在的周期性和時序性。
(4)將BiLSTM的輸出作為注意力機制的輸入,通過點乘注意力進一步提升預(yù)測數(shù)據(jù)的權(quán)重大小,使整體模型對于關(guān)鍵信息的感知能力進一步增強。采用點乘注意力方法,其公式為:
(10)
Attention(Q,K,V)=Softmax(Q·KT)V
(11)
z是一個K維向量,在計算后,使得元素范圍在(0,1)之間;Q、K、V分別表示Query、Key、Value[26],其實質(zhì)是對輸入矩陣進行線性變換。變換過程如圖4所示,其中X為BiLSTM輸出矩陣,WQ、WK、WV分別表示Q、K、V的權(quán)重矩陣;權(quán)重矩陣在反向傳播中進行更新。
(5)在經(jīng)過注意力機制處理后,加入Flatten層完成到全連接層的過渡,最后使用全連接神經(jīng)網(wǎng)絡(luò)輸出預(yù)測結(jié)果。
圖4 注意力機制線性變換過程
實驗采用美國明尼蘇達州I-94號公路每小時西行交通流量數(shù)據(jù),數(shù)據(jù)采集時間由2012年至2018年。數(shù)據(jù)集采樣時間為每小時采集一次,數(shù)據(jù)包含節(jié)假日信息、降雨量、降雪量、時間、交通流量等特征信息。
由于數(shù)據(jù)集中存在各特征數(shù)據(jù)之間差異過大問題,采用了最值歸一化將原始數(shù)據(jù)映射到0~1之間,在一定程度上規(guī)避因量綱引起的預(yù)測模型表現(xiàn)不佳的情況。最值歸一化公式如下:
(12)
從歸一化后的數(shù)據(jù)集中選取了29 808個小時的數(shù)據(jù)用于組合模型的訓(xùn)練,訓(xùn)練集和驗證集的比例為8∶2;取數(shù)據(jù)集中連續(xù)72小時交通流量數(shù)據(jù)用作測試實驗。CNN-BiLSTM-AM模型的各類超參數(shù)設(shè)置如下:損失函數(shù)選用在收斂速度上有較好表現(xiàn)的MSE;優(yōu)化器選用對大規(guī)模數(shù)據(jù)及多特征維度有較好適應(yīng)能力的Adam;迭代器、批尺寸的大小將會影響到模型的擬合情況和訓(xùn)練速度,實驗中分別設(shè)置為50、40;學(xué)習(xí)率對收斂過程影響較大,其大小設(shè)置為0.001;一維CNN網(wǎng)絡(luò)卷積核大小設(shè)置為2,卷積步長為1,填充方式選擇SAME來保持特征維度;Dropout層比例設(shè)置為20%;BiLSTM單元數(shù)共64個,激活函數(shù)為sigmoid。
該文對于各個模型的預(yù)測效果使用MSE、RMSE以及MAE三種指標(biāo)進行評價比較。并且通過判定系數(shù)R2來衡量預(yù)測結(jié)果的擬合程度。各指標(biāo)公式如式(13)至式(16):
(13)
(14)
(15)
(16)
將CNN-BiLSTM-AM組合模型與CNN-BiLSTM、LSTM、CNN三種基準(zhǔn)模型進行平行對照實驗。對于各個模型的預(yù)測結(jié)果分別使用MSE、RMSE以及MAE進行對比。用R2衡量所提模型的擬合程度。
模型利用前文提及的測試集進行預(yù)測。對預(yù)測的結(jié)果及真實數(shù)據(jù)進行反歸一化后,提出的CNN-BiLSTM-AM模型的預(yù)測結(jié)果及三種基準(zhǔn)模型的預(yù)測情況如圖5所示。CNN-BiLSTM-AM模型訓(xùn)練時的損失如圖6所示。各模型的預(yù)測表現(xiàn)均利用上述評價指標(biāo),其結(jié)果見表1。
表1 各模型預(yù)測結(jié)果評價指標(biāo)
圖5 不同模型預(yù)測結(jié)果對比
圖6 CNN-BiLSTM-AM訓(xùn)練損失
結(jié)合圖5和表1,在單獨使用CNN網(wǎng)絡(luò)時,可以在一定程度上完成交通流量的預(yù)測工作,這得益于CNN網(wǎng)絡(luò)具有對特征較好的提取能力,能夠使得外部因素特征對于交通流量的影響在模型中更好地體現(xiàn)出來,但模型對數(shù)據(jù)中包含的時序性感知不強,在各個指標(biāo)上的表現(xiàn)較差,預(yù)測結(jié)果誤差較大。LSTM網(wǎng)絡(luò)由于其結(jié)構(gòu)特征在時序數(shù)據(jù)處理上有著不錯的表現(xiàn),但在多特征因素的影響下,預(yù)測結(jié)果并不理想。相比之下,BiLSTM具有的前后向數(shù)據(jù)感知能力,能夠使得前后向數(shù)據(jù)之間表現(xiàn)出更強的因果性。因此,該文將CNN與BiLSTM網(wǎng)絡(luò)進行組合,使得模型對特征因素及時序性的挖掘能力進一步提升,最終預(yù)測結(jié)果中該模型的MSE、RMSE、MAE分別為0.002 97、0.054 54、0.032 55,相較于單獨使用CNN網(wǎng)絡(luò)或LSTM網(wǎng)絡(luò)有了一定的提升,但該組合模型在關(guān)鍵點上的預(yù)測出入仍然較大,反映出模型在泛化能力上的不足。因此,在上述模型的基礎(chǔ)上,該文提出了CNN-BiLSTM-AM組合模型,在該模型中,點積注意力提升了整體模型對于重要信息的關(guān)注能力,抑制了非關(guān)鍵信息對于模型的影響,增強了模型的泛化能力。
結(jié)合表5中信息可得,CNN-BiLSTM-AM組合模型在各指標(biāo)表現(xiàn)上均優(yōu)于其他三種基準(zhǔn)模型,相比于CNN-BiLSTM模型,本模型的MSE降低了11.11%,RMSE降低了5.85%,MAE降低了27.13%,可以看出,引入注意力機制對于整體模型的提升效果明顯。利用判定系數(shù)R2來進一步評估CNN-BiLSTM-AM模型輸出結(jié)果對真實值的擬合情況。最終得R2值為0.970 01,表明提出的組合模型給出的預(yù)測數(shù)值與實際交通流量值之間差距較小,擬合程度高。由此可見,與其他三種基準(zhǔn)模型相比,CNN-BiLSTM-AM組合模型的算法結(jié)構(gòu)較為合理,預(yù)測準(zhǔn)確度更高,穩(wěn)定性更好。
考慮到交通流量數(shù)據(jù)所具有的時序特性和外部因素特征,該文提出了一種融合一維CNN網(wǎng)絡(luò)、BiLSTM網(wǎng)絡(luò)以及點積注意力機制的CNN-BiLSTM-AM的組合預(yù)測模型。該模型利用一維CNN的特征提取優(yōu)勢、BiLSTM對于時序數(shù)據(jù)前后向的感知能力以及點積注意力機制對重要特征的關(guān)注能力,充分地挖掘原始數(shù)據(jù)中所包含的時間、天氣、溫度等關(guān)鍵信息,使得模型具有更好的特征感知能力。通過實驗對比表明,對比其他基準(zhǔn)模型,提出的預(yù)測模型在各指標(biāo)上有更好的表現(xiàn),預(yù)測結(jié)果的準(zhǔn)確度以及穩(wěn)定性較高。
但該方法也存在著不足:模型層級增加的必然結(jié)果就是加重了運算負擔(dān),不可避免地出現(xiàn)訓(xùn)練速度下降問題;點乘注意力機制對于重要因素的關(guān)注度不夠;對于突變的數(shù)據(jù)點預(yù)測存在一定誤差。這些問題應(yīng)在后續(xù)的研究中予以解決。