閆佳慶,邵 鵬,張立立,王 力
(1. 北方工業(yè)大學 電氣與控制工程學院,北京 100144; 2. 北京石油化工學院 信息工程學院,北京 102617)
交通流速度預測可以為交通管理和控制提供重要數(shù)據(jù)基礎(chǔ),是智能交通領(lǐng)域研究的重點和熱點。隨著機器學習研究的發(fā)展,部分學者基于該理論在交通流速度預測領(lǐng)域進行了研究。屈莉等[1]在基于浮動車數(shù)據(jù),使用非參數(shù)回歸方法對路段的交通流速度進行了預測,并將誤差反饋考慮到了預測模型中,相對于無反饋的非參數(shù)回歸法,該方法提升了預測精度;B.YAO等[2]采用了支持向量機(support vector machine, SVM)進行了交通流速度預測,預測模型中考慮了時空特征,相對于人工神經(jīng)網(wǎng)絡(luò)和K近鄰模型有著較好的預測效果;J.WANG等[3]提出了一種基于循環(huán)卷積神經(jīng)網(wǎng)絡(luò) (recurrent convolutional neural networks, RCNN)的時空特征預測方法,在時、空維度上分別采用循環(huán)神經(jīng)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)處理,兩種模型結(jié)合預測效果好于兩種模型單獨使用;王祥雪等[4]采用了長短時記憶 (long short-term memory, LSTM)神經(jīng)網(wǎng)絡(luò)進行交通流速度預測,LSTM在處理時序數(shù)據(jù)方面有著良好的優(yōu)勢,降低了樣本的依賴性提升了運算效率。相關(guān)研究表明,機器學習方法在交通流速度預測中具有良好的性能,然而大型車對交通流速度有著重要的影響,但上述研究中并未將其作為物理因素考慮到預測模型中。U.AHMED等[5]在分析了大型車輛與跟馳車輛車頭間距和車頭時距的影響,研究表明大型車輛對道路通行能力存在較大影響;D.NGODUY等[6]分析了大型車輛對跟馳車隊速度的影響,研究表明卡車破壞了交通流的穩(wěn)定性;S.MORIDPOUR等[7]分析了大型車輛對周圍交通特征的影響,道路中隨著大型車輛比例的增加,會增加小客車的換道頻率和交通事故率,使交通流穩(wěn)定性下降。
綜上所述,大型車對交通流速度的穩(wěn)定性有著較大影響,基于此,有必要將其引入到基于機器學習的預測模型中,針對路網(wǎng)時空特性對預測時長指數(shù)和車輛特征進行分析,并用深度神經(jīng)網(wǎng)絡(luò)進行交通流速度預測。
根據(jù)交通流流量和密度基本圖可知,以路段流量最大值為界限,將交通流狀態(tài)分為非擁擠和擁擠兩種。擁擠部分作為排隊流,非擁擠部分作為行駛流,即二流理論[8],如圖1。筆者將行駛流路段作為研究路段。
圖1 二流理論Fig. 1 Two-fluid theory
路段流量的守恒公式[9]如式(1):
Nj+Qj,in(t)=Qj,out(t)+Nj(t)
(1)
根據(jù)二流理論公式[9],Nj(t)如式(2):
Nj(t)=kjLD(t)+km(L-LD(t))
(2)
根據(jù)式(1)、(2),單車道排隊長度如式(3):
(3)
考慮到城市道路的多路段特性,所以擴展公式(3),得到多車道路段平均當量排隊長度模型[9],如式(4):
(4)
式中:LD(t)為t時刻上下游路口之間的當量排隊長度;Qj,in(t)和Qj,out(t)為t時刻路段上下游路口的流量;Nj(t)為t時刻路段的車輛數(shù);Nj為起始時刻路段的車輛數(shù);L為上下游路口之間的距離;km為上下游路口之間的平均單車道流量最大值對應(yīng)的密度;kj為上下游路口之間的平均單車道交通流阻塞密度;M為路段單向車道數(shù)[9]。
圖2 路段單元Fig. 2 Road section unit
根據(jù)路網(wǎng)的時空特性[10],確定預測時長指數(shù);然后根據(jù)大型車特征與路段交通流速度的相關(guān)性,引入大型車因素;再建立考慮大型車因素的車輛特征集合;最后根據(jù)不同預測時長指數(shù),將車輛的時空特征集合作為GRU神經(jīng)網(wǎng)絡(luò)的輸入,分別預測目標路段未來時刻的交通流速度。預測時長指數(shù)是路網(wǎng)中某路段車輛到達目標路段的旅行時間;目標路段為擬預測的路段。
2.1.1 路段相關(guān)性
根據(jù)到達率計算各路段與目標路段的相關(guān)性,到達率定義為到達目標路段的車輛數(shù)與各路段中車輛總數(shù)的比值,到達率的計算如式(5):
(5)
式中:Ncar,t為路段到目標路段的車輛數(shù);Ncar,all是路段中車輛總數(shù)。依據(jù)顯著性指標,將不考慮到達率排在5%以下的路段。
2.1.2 預測時長指數(shù)確定
根據(jù)2.1.1中結(jié)果,計算篩選后路段到目標路段的旅行時間。根據(jù)短時交通流速度預測經(jīng)驗和考慮到信號控制最大周期原則[11],不考慮旅行時間在5 min以下的路段。K-Means是經(jīng)典的聚類算法,它可將旅行時間相近的路段進行聚類,預測時長指數(shù)集合C中的各元素為各類的平均旅行時間,見式(6):
C={C1,C2,…,Cm}
(6)
Cov(X,Y)=E(X-E(X))(Y-E(Y))
(7)
式中:X為目標路段大型車特征時間序列;Y為目標路段交通流速度時間序列;E(X)和E(Y)分別為兩時間序列的期望值;Cov(X,Y)>0代表X與Y為正相關(guān)關(guān)系,Cov(X,Y)<0代表X與Y為負相關(guān)關(guān)系,Cov(X,Y)=0代表X與Y無相關(guān)性。
大型車的車輛數(shù)與車輛速度在真實數(shù)據(jù)采集中較易獲得。經(jīng)協(xié)方差公式計算,路段大型車速度時間序列、大型車數(shù)量序列與交通流速度時間序列的協(xié)方差值分別為0.74和-0.82。協(xié)方差在0.5~1和-0.5~-1范圍內(nèi),可看作對交通流速度有重要影響,因此,作為預測模型的重要輸入。
車輛特征包括所有種類車輛的平均速度時間序列、小汽車數(shù)量的時間序列、大型車數(shù)量的時間序列,分別用Vavg(t),Nc(t),Nb(t)表示。根據(jù)2.1中路段的聚類結(jié)果,km(t)為第m類路段集合,Rlp(t)為路段的車輛特征信息,將車輛的特征集合A(t)作為預測模型的輸入,如式(8)-(10)。
A(t)={k1(t),k2(t),…,km(t)}
(8)
km(t)={Rl1(t),Rl2(t),…,Rlp(t)}
(9)
Rlp(t)={Vavg(t),Nc(t),Nb(t)}
對單詞進行測試,采用哪種測試形式得根據(jù)測試目的選擇測試的依據(jù),即測試詞匯知識的哪個方面。如果想要調(diào)查學習者詞匯量的大小或衡量詞匯量是否有大量增長,可以考察其接受性詞匯(Receptive vocabulary)量的大小。接受性詞匯指學習者能認識的、并知道其詞意的詞匯,即考察學習者是否能根據(jù)單詞的接受性書寫形式(receptive form)知道其詞義,這較之考察其他詞匯知識更為恰當。
(10)
首先進行數(shù)據(jù)預處理,使用箱線圖法進行異常值處理;使用樣條擬合方式進行缺失值處理;使用歸一化方式進行數(shù)據(jù)無量綱處理;使用有限沖激響應(yīng)(finite impulse response, FIR)濾波器進行數(shù)據(jù)的平滑處理。
筆者選擇門限遞歸單元(gated recurrent unit,GRU)神經(jīng)網(wǎng)絡(luò)作為深度學習模型。GRU為發(fā)展迅速的一種神經(jīng)網(wǎng)絡(luò)[12-13],該模型相對于RNN模型[14]、BP神經(jīng)網(wǎng)絡(luò)模型[15]和ARIMA模型[16],具有準確性高、魯棒性強和收斂速度快的優(yōu)點?;贕RU神經(jīng)網(wǎng)絡(luò)的交通流速度預測框架如圖3。神經(jīng)網(wǎng)絡(luò)框架包括:數(shù)據(jù)分割、濾波層、輸入層、隱藏層、GRU層、輸出層;輸入層維度包括:車輛平均速度、大型車數(shù)量、小型車數(shù)量,輸出的標簽對應(yīng)為目標路段速度值;數(shù)據(jù)的訓練方式采用小批量梯度下降算法(mini-batch gradient descent,MGD);時間步長表示利用若干歷史輸入值預測未來時刻的速度值。
圖3 交通流速度預測框架Fig. 3 Traffic flow velocity prediction frame
實驗場景為北京市昌平區(qū)部分路網(wǎng),路網(wǎng)區(qū)域內(nèi)交通較為擁堵,且有著較多公交車線路。根據(jù)歷史調(diào)研數(shù)據(jù),建立VISSIM路網(wǎng)仿真,VISSIM路網(wǎng)拓撲如圖4。圖4中數(shù)字為路段標號,有向線段為路段單元。
圖4 路網(wǎng)拓撲與分割Fig. 4 Road network topology and segmentation
浮動車數(shù)據(jù)來源于VISSIM軟件仿真數(shù)據(jù),假設(shè)路網(wǎng)車輛均為浮動車。車輛信息包括車輛編號、種類、速度和位置,依據(jù)浮動車最大采樣間隔經(jīng)驗,設(shè)定采樣間隔為3 s,時間為 16:30—17:30,共采集5 d的數(shù)據(jù)。
根據(jù)公式(3),得到路段排隊流平均長度為100 m;經(jīng)實驗證明,當路段單元長度設(shè)為100 m時,既能較好表征微觀路段的交通流速度特征,又可一定程度上抑制在路段單元之間速度的過度波動。
將路段21作為目標路段,目標路段到達率在5%以下的路段共有12條,分別為29,37,39,36,26,6,14,2,7,40,25,24,這些路段與目標路段的相關(guān)性較低,將不作為研究路段。
剩余路段的旅行時間分布聚類如圖5,橫坐標為路段編號,共有27條路段,縱坐標為各路段到目標路段所有車輛的平均旅行時間。路段3、23、1、31、9、33、15、27、19、34、11、8、5、12、35、13為類別1,路段32、28、38、30為類別2,路段20為類別3。根據(jù)各類的平均旅行時間得到了類別1至類別3的平均預測時長,分別為407,619,920 s。由于采樣頻率較高,末兩個路段單元的車輛特征信息可代表整路段的車輛特征信息,作為GRU神經(jīng)網(wǎng)絡(luò)的輸入,三類路段的車輛特征集合如式 (11)~(15):
圖5 各路段到目標路段的平均旅行時間聚類Fig. 5 The clustering of average travel time from each road section to the target road section
A(t)={k1(t),k2(t),k3(t)}
(11)
k1(t)={Rl3(t),Rl23(t),…,Rl13(t)}
(12)
k2(t)={Rl32(t),Rl28(t),Rl38(t),Rl30(t)}
(13)
k3(t)={Rl20(t)}
(14)
Rl(t)={Vavg(t),Nc(t),Nb(t)}
(15)
通過對GRU進行參數(shù)調(diào)優(yōu)[17],將隱藏層神經(jīng)元設(shè)置為28個,GRU層神經(jīng)元設(shè)置為30個,批尺寸設(shè)置為200組,GRU層數(shù)設(shè)置為8層,時間步長設(shè)置為45 s,輸入為各類路段的車輛特征信息,訓練標簽為目標路段對應(yīng)此類預測時長指數(shù)的速度值。前4 d數(shù)據(jù)作為訓練數(shù)據(jù),第5 d數(shù)據(jù)作為測試數(shù)據(jù)。
以類別1為例,交通流速度預測結(jié)果如圖6。圖6(a)表示預測時長指數(shù)為407 s的目標路段預測結(jié)果,圖6(b)表示38~42 min的預測細節(jié),隨著時間的發(fā)展,在30 min后,速度值逐漸變小,同時曲線的擬合率有所下降。有無大型車因素的GRU神經(jīng)網(wǎng)絡(luò)預測效果對比如表1,評價的指標分別為回歸率(R2)、均方根誤差(RMSE)和平均百分比誤差(MAE)[3-4],該指標為交通流預測結(jié)果評價的常用指標。從實驗結(jié)果中可以得出,考慮大型車因素的預測結(jié)果穩(wěn)定性與精度優(yōu)于不考慮大型車因素的預測精度。
表1 有無大型車預測誤差對比Table 1 Prediction error comparison with and without large-scale vehicles
圖6 交通流速度預測結(jié)果Fig. 6 Traffic flow velocity prediction results
大型車是影響交通流速度的重要因素,針對該問題論文提出了考慮大型車因素的城市路網(wǎng)交通流速度預測方法。首先將行駛流路段作為研究對象,并將其劃分為若干路段單元,每個單元包含路段的局部平均速度、大型車數(shù)量、小型車數(shù)量;然后通過K-Means聚類算法和協(xié)方差,分析了預測時長指數(shù)和大型車對交通流速度的影響,并將大型車因素引入到預測模型中;最后使用基于GRU的深度神經(jīng)網(wǎng)絡(luò)對目標路段進行交通流速度預測。實例分析表明,從類別1至類別3的預測結(jié)果可知,大型車因素的引入,使得預測精度提高2%,由此可知本文所提方法具有較好的預測性能。