張遠(yuǎn)民,蔣軍君,張翔,李樹彬
(1.聯(lián)通(四川)產(chǎn)業(yè)互聯(lián)網(wǎng)有限公司,四川 成都 600037;2.西華大學(xué)能源與動(dòng)力工程學(xué)院,四川 成都 610039;3.山東警察學(xué)院,山東 濟(jì)南 250014)
隨著私家車保有量的逐年增加,現(xiàn)有城市道路已經(jīng)承載不了自身所能承受的容量。為了避免道路擁堵造成經(jīng)濟(jì)和人力的浪費(fèi),也為了緩解城市交通壓力,當(dāng)前常用的措施包括:拓寬道路或者增加車道來提高路網(wǎng)容量;采取交通管制策略等兩大類。隨著信息技術(shù)、計(jì)算機(jī)技術(shù)、人工智能等的不斷發(fā)展并有效地綜合運(yùn)用于交通運(yùn)輸領(lǐng)域,促進(jìn)了智能交通系統(tǒng)的飛速發(fā)展。交通流建模一直是智能交通領(lǐng)域研究者們關(guān)心的熱點(diǎn)問題,它是動(dòng)態(tài)交通管理實(shí)時(shí)性和準(zhǔn)確性的前提和條件[1]。關(guān)于交通流預(yù)測(cè)模型和方法,主要有基于傳統(tǒng)的三參數(shù)(速度、密度、流量)交通流預(yù)測(cè)、動(dòng)態(tài)交通分配方法、非線性預(yù)測(cè)理論模型、交通仿真模型、神經(jīng)網(wǎng)絡(luò)模型等[2-4]。上述方法大致分為兩類,即基于統(tǒng)計(jì)學(xué)理論和人工智能技術(shù)的學(xué)習(xí)方法。前者主要從固定的解析模型著手,通過不同的算法來改進(jìn)解析模型的擬合情況。這種基于解析模型的方法只能大致反映道路交通流的變化趨勢(shì),隨著城市道路的不斷發(fā)展,出行行為的多樣化,該方法已經(jīng)不能很好地滿足精確刻畫交通流演變趨勢(shì)的需求,因此基于人工智能技術(shù)的交通流建模方法應(yīng)運(yùn)而生[5-11]。交通數(shù)據(jù)在采集過程中受到設(shè)備、環(huán)境和人員等因素的影響,造成采集的時(shí)間序列交通流數(shù)據(jù)是一種非線性、非平穩(wěn)信號(hào),其不同信號(hào)成分具有不同的特性。經(jīng)驗(yàn)?zāi)B(tài)分解(EMD)方法[12]在理論上可以對(duì)任何類型的時(shí)間序列信號(hào)進(jìn)行分解,適合處理非平穩(wěn)及非線性數(shù)據(jù)。近年來也有學(xué)者[13-15]將其應(yīng)用在短時(shí)交通流參數(shù)估計(jì)中,并取得了不錯(cuò)的效果。考慮到神經(jīng)網(wǎng)絡(luò)模型具有非線性逼近能力以及通過自身的學(xué)習(xí)和總結(jié)來預(yù)測(cè)的能力,在交通預(yù)測(cè)方面表現(xiàn)出優(yōu)良的效果,因此本文提出一種基于EMD 分解的BP 神經(jīng)網(wǎng)絡(luò)組合模型對(duì)車輛行駛速度進(jìn)行估計(jì)。該方法首先對(duì)實(shí)測(cè)數(shù)據(jù)進(jìn)行預(yù)處理,然后采用EMD 方法分解預(yù)處理后的數(shù)據(jù)。分解后的數(shù)據(jù)表現(xiàn)為一組本征模態(tài)函數(shù)(IMF)序列和一個(gè)殘差序列。分析分解后的各序列與原始序列的相關(guān)性,保留強(qiáng)相關(guān)數(shù)據(jù)并剔除弱相關(guān)數(shù)據(jù)后對(duì)數(shù)據(jù)進(jìn)行重構(gòu),將重構(gòu)后的數(shù)據(jù)通過BP 神經(jīng)網(wǎng)絡(luò)進(jìn)行參數(shù)訓(xùn)練,實(shí)現(xiàn)對(duì)交通流速度參數(shù)的估計(jì)。最后,采用北京市三環(huán)路交通流實(shí)測(cè)數(shù)據(jù)對(duì)算法進(jìn)行測(cè)試,仿真結(jié)果表明本文所提出方法的有效性。
EMD 算法的基本思想是根據(jù)信號(hào)自身在時(shí)間尺度上的局部特性,通過不斷地篩分,自適應(yīng)地將信號(hào)分解為有限個(gè)反映時(shí)序信號(hào)內(nèi)在特征的“固有模態(tài)分量(intrinsic mode function,IMF)”和一個(gè)“殘差序列(RES)”[12]。這一系列從高頻到低頻排布的IMF 包含信號(hào)的全部特征,可以有效地將非平穩(wěn)信號(hào)轉(zhuǎn)換為平穩(wěn)分量。
BP 神經(jīng)網(wǎng)絡(luò)是1986 年由Rumelhart 和McClelland 等提出的算法[6]。神經(jīng)網(wǎng)絡(luò)一般是由輸入層(input layer )、隱藏層(hide layer)和輸出層(output layer)組成,按照學(xué)習(xí)方式分為正向計(jì)算學(xué)習(xí)和反向誤差傳播兩部分,其基本過程是將需要學(xué)習(xí)的信息從輸入層進(jìn)入神經(jīng)網(wǎng)絡(luò)后,經(jīng)隱藏層進(jìn)行信息變換,變換成一系列數(shù)學(xué)函數(shù)后經(jīng)輸出層在輸出端產(chǎn)生輸出信號(hào),從而掌握需要學(xué)習(xí)的信息[16-18]。
考慮到實(shí)際道路交通流的特征,綜合EMD 和BP 神經(jīng)網(wǎng)絡(luò)方法的優(yōu)勢(shì),本文提出了一種EMDBP 交通流參數(shù)估計(jì)算法,具體步驟如下。
1)由于現(xiàn)場(chǎng)采集的數(shù)據(jù)受到各種因素影響,直接使用會(huì)對(duì)建模過程以及模型的優(yōu)劣造成嚴(yán)重的影響,因此將實(shí)測(cè)數(shù)據(jù)經(jīng)過修復(fù)分離、校正、合成、平滑等方法處理得到預(yù)處理實(shí)測(cè)數(shù)據(jù)。
2)采用EMD 分解預(yù)處理后的交通流數(shù)據(jù),將其分解成一系列的IMF 和1 個(gè)RES(殘差序列)。具體分解過程如下。
Step1: 用3 次樣條分別連接給定車輛密度數(shù)據(jù)x(t)中所有的局部極大值和局部極小值,從而得到上包絡(luò)線和下包絡(luò)線。若上、下包絡(luò)線的均值為m11(t),將x(t)與m11(t)的差值定義為h11(t),那么
Step2:若h11(t)不是基本模態(tài)分量,則不斷重復(fù)k次式(1)的計(jì)算,直到h11(t)成為一個(gè)基本模式分量,即
若記f1(t)=h1k(t),那么f1(t)則是從車輛密度數(shù)據(jù)中獲取到的第一個(gè)基本模態(tài)分量,對(duì)于剩余數(shù)據(jù)序列r1(t),顯然用x(t)減去f1(t)即可得到。
重復(fù)前兩步的計(jì)算即可得到全部分解的fi(t)。
直至所剩余的數(shù)據(jù)序列ri(t)變成一個(gè)單調(diào)函數(shù)不能再篩選出基本模態(tài)分量為止。x(t)也最終被分解成k個(gè)基本模態(tài)分量fi(t)和一個(gè)余項(xiàng)r(t),即:
到此可以看出車輛密度數(shù)據(jù)可被經(jīng)驗(yàn)?zāi)B(tài)分解法分解成一系列的函數(shù)分量。
3)重構(gòu)分解成的IMF 和RES,將其作為網(wǎng)絡(luò)輸入傳輸進(jìn)BP 神經(jīng)網(wǎng)絡(luò)中進(jìn)行模型訓(xùn)練。具體重構(gòu)方法和BP 神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程如下。
Step1:數(shù)據(jù)重組和構(gòu)造神經(jīng)網(wǎng)絡(luò)模型。通過試湊法將分解后的密度數(shù)據(jù)按照與分解前的原始序列相關(guān)性程度大小進(jìn)行重構(gòu),組成新的密度數(shù)據(jù)作為BP 神經(jīng)網(wǎng)絡(luò)的輸入信號(hào),構(gòu)建1 個(gè)輸入層、1 個(gè)隱含層和1 個(gè)輸出層的BP 神經(jīng)網(wǎng)絡(luò)模型。其中輸入層由密度數(shù)據(jù)構(gòu)成,其節(jié)點(diǎn)數(shù)為1。輸出層由速度數(shù)據(jù)構(gòu)成,其節(jié)點(diǎn)數(shù)也為1。對(duì)實(shí)測(cè)數(shù)據(jù)進(jìn)行相關(guān)性分析并參考經(jīng)驗(yàn)公式(其中a為輸入層節(jié)點(diǎn),b為輸出層節(jié)點(diǎn),1 ≤A≤10),通過試湊法計(jì)算得到隱含層節(jié)點(diǎn)數(shù)為9。隱含層的激活函數(shù)為tansig,輸出層的激活函數(shù)為purelin,引入訓(xùn)練函數(shù) trainlm,學(xué)習(xí)函數(shù)learngdm。通過反復(fù)實(shí)驗(yàn),選擇訓(xùn)練次數(shù)為1 000,目標(biāo)值為0.01,學(xué)習(xí)速率為0.001。
Step2:初始化權(quán)重和閾值。隨機(jī)初始化-1 到1 之間的數(shù)作為初始值權(quán)重和閾值。
Step3:由輸入層到隱含層的前向計(jì)算進(jìn)行傳播。
式中:ω1j為輸入層與隱含層之間的權(quán)值;θj為隱含層第j個(gè)神經(jīng)元的閾值。
隱含層的實(shí)際輸出計(jì)算公式為
式中f為激勵(lì)函數(shù)。用同樣的方法可以得到輸出層的輸出值。
Step4:根據(jù)誤差結(jié)果通過反向計(jì)算過程反向傳播,輸出層的實(shí)際值和估計(jì)值之間的誤差為
權(quán)重和閾值的更新可以通過公式(10)來計(jì)算。
式中L為學(xué)習(xí)率,0 <L≤1。
Step5:重復(fù)步驟3 和4。
Step6:達(dá)到期望的誤差或最大迭代次數(shù),則結(jié)束算法。
通過以上步驟可以構(gòu)造本文的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),如圖1 所示。其中,輸入層節(jié)點(diǎn)個(gè)數(shù)a=1,輸出層節(jié)點(diǎn)個(gè)數(shù)b=1,隱含層節(jié)點(diǎn)個(gè)數(shù)k=9。

圖1 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Neural network structure
4)將訓(xùn)練好的模型用實(shí)測(cè)的數(shù)據(jù)進(jìn)行驗(yàn)證,從而得到最終的估計(jì)結(jié)果。
為了驗(yàn)證所提算法的有效性,采用均方根誤差(式(11))來衡量估計(jì)車速與實(shí)際車速的符合程度,同時(shí)為了考查估計(jì)速度與實(shí)際車速之間的相關(guān)性,采用皮爾遜相關(guān)系數(shù)(式(12))對(duì)其進(jìn)行衡量。
本文的實(shí)驗(yàn)數(shù)據(jù)取自北京市三環(huán)路某一周的RTMS 檢測(cè)器采集數(shù)據(jù)。按照3 個(gè)車道每2 min采集一次數(shù)據(jù),7 天共采集到15 120 個(gè)數(shù)據(jù)。考慮到采集設(shè)備的誤差以及城市道路交通流運(yùn)行存在各種隨機(jī)因素,為了提高算法的精度,本文參考文獻(xiàn)[20]的數(shù)據(jù)預(yù)處理方法,在其基礎(chǔ)上采用移動(dòng)平均濾波法進(jìn)行原始數(shù)據(jù)的平滑和濾波處理。部分實(shí)測(cè)數(shù)據(jù)片段見表1。預(yù)處理數(shù)據(jù)前后對(duì)比結(jié)果如圖2 所示。

表1 部分實(shí)測(cè)數(shù)據(jù)Tab.1 Partial measured data

圖2 經(jīng)過光滑預(yù)處理和未經(jīng)過光滑預(yù)處理數(shù)據(jù)對(duì)比Fig.2 Comparison of data with smooth and unsmooth preprocessing
從圖2 能夠看出,原始交通流數(shù)據(jù)經(jīng)過預(yù)處理后,數(shù)據(jù)整體演變趨勢(shì)更加平穩(wěn),更加有規(guī)律。通過剔除一些錯(cuò)誤數(shù)據(jù),為驗(yàn)證估計(jì)模型的有效性提供了更有力的保證。
2.2.1 BP 神經(jīng)網(wǎng)絡(luò)算法估計(jì)車輛速度
根據(jù)1.2節(jié)所介紹內(nèi)容,采用BP 神經(jīng)網(wǎng)絡(luò)算法估計(jì)車流速度的結(jié)果如圖3 所示。其中,圖3(a)為以未經(jīng)過預(yù)處理的交通流數(shù)據(jù)作為輸入采用BP 神經(jīng)網(wǎng)絡(luò)算法估計(jì)車輛速度結(jié)果,圖3(b)為采用未經(jīng)過預(yù)處理的交通流數(shù)據(jù)估計(jì)車輛速度的相對(duì)誤差,圖3(c)為以經(jīng)過預(yù)處理后數(shù)據(jù)作為輸入采用BP 神經(jīng)網(wǎng)絡(luò)算法估計(jì)車輛速度結(jié)果,圖3(d)為采用經(jīng)過預(yù)處理后的交通流數(shù)據(jù)估計(jì)車輛速度的相對(duì)誤差。對(duì)比圖3(a) 和圖3(c) 可知:采用未經(jīng)預(yù)處理數(shù)據(jù)直接估計(jì)實(shí)際道路車輛速度,在低速區(qū)域,估計(jì)值與真實(shí)值之間的誤差較大;當(dāng)車輛速度大于40 km/h 時(shí),估計(jì)速度有截?cái)喱F(xiàn)象;采用經(jīng)過預(yù)處理后的數(shù)據(jù)估計(jì)車輛速度,在一定程度上改善了高速區(qū)域車輛速度估計(jì)的截?cái)喱F(xiàn)象,降低了低速區(qū)域速度估計(jì)值與實(shí)際車速值之間的偏差。綜合上述分析,再結(jié)合圖3(b) 和圖3(d) 以兩種數(shù)據(jù)作為輸入分別對(duì)速度估計(jì)的相對(duì)誤差可知,采用經(jīng)過預(yù)處理的數(shù)據(jù)估計(jì)車輛速度其相對(duì)誤差范圍小于采用未經(jīng)過預(yù)處理的數(shù)據(jù)對(duì)車輛速度估計(jì)的相對(duì)誤差。這是因?yàn)橥ㄟ^對(duì)傳感器采集數(shù)據(jù)進(jìn)行錯(cuò)誤數(shù)據(jù)剔除,缺失數(shù)據(jù)擬合等預(yù)處理,可以提高車輛估計(jì)算法的精度。

圖3 BP 神經(jīng)網(wǎng)絡(luò)對(duì)車輛速度參數(shù)的估計(jì)結(jié)果Fig.3 Estimation results of vehicle speed parameters by BP neural network
2.2.2 EMD-BP 算法估計(jì)車輛速度
2.2.2.1 EMD 算法分解密度數(shù)據(jù)
依據(jù)1.1節(jié)的EMD 算法,對(duì)經(jīng)過光滑預(yù)處理和未經(jīng)過光滑預(yù)處理的實(shí)測(cè)數(shù)據(jù)進(jìn)行分解,結(jié)果如圖4 所示。圖中第一行數(shù)據(jù)為原始密度數(shù)據(jù),最后一行為殘差趨勢(shì)項(xiàng)RES,其他各行依次為高頻到低頻分解的模態(tài)分量。
圖4(a)是對(duì)未經(jīng)過預(yù)處理的車輛密度數(shù)據(jù)進(jìn)行EMD 分解,原始數(shù)據(jù)被分解為13 個(gè)IMF 分量和1 個(gè)殘差分量,原始數(shù)據(jù)從高頻到低頻被依次加深分解,隱含在序列中的周期性成分逐漸顯現(xiàn)出來。圖4(b) 是對(duì)經(jīng)過預(yù)處理的密度數(shù)據(jù)進(jìn)行EMD 分解,原始數(shù)據(jù)一共被分解為12 個(gè)IMF 分量和1 個(gè)殘差分量,預(yù)處理后數(shù)據(jù)仍然從高頻到低頻被依次加深分解,周期性也隨之凸顯。對(duì)比圖4 分解結(jié)果可知,數(shù)據(jù)經(jīng)過預(yù)處理和未經(jīng)過預(yù)處理其IMF 量不同,預(yù)處理后的密度數(shù)據(jù)經(jīng)過EMD分解以后的分量比沒有光滑處理的分量個(gè)數(shù)減少了一個(gè),表明原始數(shù)據(jù)經(jīng)過預(yù)處理后可以降低一部分錯(cuò)誤數(shù)據(jù)帶來的誤差以及其他噪聲帶來的干擾,也即是原始數(shù)據(jù)中隱含的其他無關(guān)信息得到了刪減,數(shù)據(jù)有效信息更充分地暴露出來,經(jīng)過分解處理后數(shù)據(jù)整體可以更加真實(shí)地反映道路上的實(shí)際交通狀態(tài)。
另外,為了將隱藏在原始數(shù)據(jù)中的不確定性干擾因素分離出來,本文將各個(gè)序列與原始數(shù)據(jù)進(jìn)行相關(guān)性分析,結(jié)果見表2。

表2 相關(guān)性分析結(jié)果Tab.2 Correlation analysis results
由表2 可以看出,在分解的序列中有些序列與原始序列相關(guān)性很強(qiáng),有些序列由于在噪聲干擾下造成與原始序列相關(guān)性減弱。如果將關(guān)聯(lián)性不強(qiáng)的數(shù)據(jù)作為輸入信號(hào)進(jìn)行建模,會(huì)對(duì)模型的精度造成嚴(yán)重影響。本文將相關(guān)性較強(qiáng)的序列認(rèn)定為“確定性信號(hào)”,相關(guān)性較弱的序列認(rèn)定為“不確定的干擾信號(hào)”。用試湊法[13]將未經(jīng)預(yù)處理密度數(shù)據(jù)分解序列與原始數(shù)據(jù)相關(guān)性絕對(duì)值大于0.088 2 的IMF 序列和RES 進(jìn)行累加作為重構(gòu)數(shù)據(jù),該重構(gòu)數(shù)據(jù)被用作BP 神經(jīng)網(wǎng)絡(luò)的輸入數(shù)據(jù)。同時(shí),將經(jīng)過預(yù)處理的密度數(shù)據(jù)分解序列與原始數(shù)據(jù)相關(guān)性絕對(duì)值大于0.079 9 的IMF 序列和RES進(jìn)行累加作為重構(gòu)數(shù)據(jù)。經(jīng)過以上相關(guān)性處理后可以剔除干擾信號(hào),提高參數(shù)標(biāo)定精度。
2.2.2.2 車輛速度的估計(jì)
本文用一周實(shí)測(cè)數(shù)據(jù)中的前5 天交通流參數(shù)訓(xùn)練BP 神經(jīng)網(wǎng)絡(luò)模型,剩余2 天的數(shù)據(jù)用于驗(yàn)證測(cè)試BP 神經(jīng)網(wǎng)絡(luò)訓(xùn)練的模型。圖5 分別給出了預(yù)處理后的數(shù)據(jù)和未經(jīng)預(yù)處理的實(shí)測(cè)數(shù)據(jù)對(duì)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練結(jié)果。對(duì)圖5(a)、(b)相對(duì)誤差的發(fā)展趨勢(shì)對(duì)比可知經(jīng)過預(yù)處理后的數(shù)據(jù)訓(xùn)練誤差低于未預(yù)處理的訓(xùn)練誤差。以星期天下午6 點(diǎn)為例,經(jīng)過預(yù)處理后的BP 神經(jīng)網(wǎng)絡(luò)估計(jì)數(shù)據(jù)相對(duì)誤差提高了3.93%左右。

圖5 BP 神經(jīng)網(wǎng)絡(luò)訓(xùn)練誤差Fig.5 BP neural network training error
將經(jīng)過相關(guān)性重構(gòu)后的數(shù)據(jù)作為輸入信號(hào)采用BP 神經(jīng)網(wǎng)絡(luò)進(jìn)行交通流參數(shù)標(biāo)定,其結(jié)果如圖6 所示。圖6(a)為采用未經(jīng)預(yù)處理的交通流數(shù)據(jù)估計(jì)車輛速度結(jié)果。從圖中可以看出,在低速區(qū)域估計(jì)速度雖然還是存在較大誤差,但是在車輛速度大于40 km/h后估計(jì)的截?cái)喱F(xiàn)象較BP 神經(jīng)網(wǎng)絡(luò)估計(jì)方法有所改善。圖6(b)為采用未經(jīng)預(yù)處理的交通流數(shù)據(jù)估計(jì)車輛速度的相對(duì)誤差。圖6(c)為采用預(yù)處理后交通流數(shù)據(jù)估計(jì)車輛速度結(jié)果。由該結(jié)果可知,采用經(jīng)過預(yù)處理后的數(shù)據(jù)作為輸入可以有效改善低速區(qū)域的速度估計(jì)偏差和高速區(qū)域的速度估計(jì)截?cái)喱F(xiàn)象。圖6(d)為采用經(jīng)預(yù)處理后的交通流數(shù)據(jù)估計(jì)車輛速度的相對(duì)誤差。圖6(d)的相對(duì)誤差范圍小于圖6(b)且低于BP 神經(jīng)網(wǎng)絡(luò)方法。本文所提方法對(duì)于精確捕捉短時(shí)交通流的變化具有很強(qiáng)的現(xiàn)實(shí)意義。

圖6 EMD-BP 算法對(duì)車輛速度參數(shù)的估計(jì)結(jié)果Fig.6 The estimation results of vehicle speed parameters by EMD-BP algorithm
根據(jù)1.4節(jié)所介紹內(nèi)容,本文對(duì)各種算法的評(píng)價(jià)指標(biāo)進(jìn)行了計(jì)算,結(jié)果如表3 所示。

表3 評(píng)價(jià)指標(biāo)Tab.3 The evaluation index
結(jié)合圖3、圖6 和表3 的計(jì)算結(jié)果可知,實(shí)測(cè)數(shù)據(jù)經(jīng)過光滑處理后的均方根誤差要比沒有經(jīng)過光滑處理的模型小,采用本文所提EMD-BP 神經(jīng)網(wǎng)絡(luò)算法對(duì)交通流參數(shù)的估計(jì)效果優(yōu)于僅采用BP 神經(jīng)網(wǎng)絡(luò)的方法。這是因?yàn)榈缆方煌鲾?shù)據(jù)混雜,是一種非常典型的非平穩(wěn)信號(hào)序列,采用EMD自適應(yīng)地將交通流參數(shù)分解為一系列IMF 和一個(gè)RES,為后續(xù)BP 神經(jīng)網(wǎng)絡(luò)估計(jì)模型提供有效分量,最終提高估計(jì)精度。
城市快速路交通流的運(yùn)動(dòng)過程是一個(gè)隨機(jī)復(fù)雜時(shí)變的過程。為了對(duì)快速路上交通流參數(shù)實(shí)現(xiàn)準(zhǔn)確估計(jì),為后續(xù)“前攝式”動(dòng)態(tài)交通控制與管理提供有效數(shù)據(jù)輸入,本文利用經(jīng)驗(yàn)?zāi)B(tài)分解方法處理非線性非穩(wěn)定時(shí)變序列時(shí)的優(yōu)良特性,借助BP 神經(jīng)網(wǎng)絡(luò)模型建立交通流密度速度估計(jì)模型。從仿真結(jié)果可以看出本文提出的光滑處理的EMDBP 模型表現(xiàn)出優(yōu)異的效果,對(duì)北京市三環(huán)路交通流速度參數(shù)的估計(jì)均方根誤差為3.41,皮爾遜相關(guān)系數(shù)為0.87。這一結(jié)果說明本文所提的模型符合城市快速路的特點(diǎn),能夠?qū)煌鲄?shù)進(jìn)行精確估計(jì)。