沈富鑫,邴其春,*,張偉健,胡嫣然,高 鵬
(1.青島理工大學(xué) 機(jī)械與汽車工程學(xué)院,青島 266525;2. 青島市交通運(yùn)輸公共服務(wù)中心,青島 266100)
隨著汽車保有量的增加以及人們對(duì)交通要求的不斷提高,交通擁堵、交通污染等問題正在嚴(yán)重影響著城市居民日常生活品質(zhì)和出行時(shí)間。精準(zhǔn)的短時(shí)交通流預(yù)測(cè)信息不僅可以幫助人們選擇合適的交通工具、縮短出行時(shí)間,而且也是實(shí)現(xiàn)主動(dòng)交通管制的關(guān)鍵。國(guó)內(nèi)外專家、學(xué)者經(jīng)過近幾十年的研究構(gòu)建出了一些預(yù)測(cè)模型,主要包括時(shí)間序列模型、卡爾曼濾波模型、支持向量回歸模型和組合模型[1-4]。
近年來,由于科學(xué)技術(shù)和計(jì)算機(jī)技術(shù)的進(jìn)步,以數(shù)據(jù)驅(qū)動(dòng)和深度學(xué)習(xí)的短時(shí)交通流預(yù)測(cè)方法受到了廣泛關(guān)注。數(shù)據(jù)處理方法通常用數(shù)據(jù)分解方法來提取交通流的特征,然后用神經(jīng)網(wǎng)絡(luò)模型進(jìn)行預(yù)測(cè)。例如,WEI等[5]在研究中將經(jīng)驗(yàn)?zāi)B(tài)分解(Empirical Mode Decomposition,EMD)和BP神經(jīng)網(wǎng)絡(luò)原理結(jié)合,并證實(shí)了方法的有效性。譚滿春等[6]首先運(yùn)用小波變換降低原始交通流數(shù)據(jù)中心的噪聲,然后構(gòu)建了基于去噪數(shù)據(jù)集和混合交通流預(yù)測(cè)模型。張陽等[7]提出了小波包分析和LSTM神經(jīng)網(wǎng)絡(luò)組合的交通流預(yù)測(cè)方法。YANG等[8]提出了一種基于EMD和疊加自動(dòng)編碼模型的混合交通流多步預(yù)測(cè)方法,并證實(shí)了預(yù)測(cè)的可靠性。陸文琦等[9]將原始速度序列利用集成經(jīng)驗(yàn)?zāi)B(tài)分解算法進(jìn)行分解,然后對(duì)分解后的序列進(jìn)行處理,構(gòu)建了行駛車輛速度預(yù)測(cè)模型。LI等[10]提出了集成經(jīng)驗(yàn)?zāi)B(tài)分解和隨機(jī)向量函數(shù)連接網(wǎng)絡(luò)的行程時(shí)間預(yù)測(cè)模型,該模型在多項(xiàng)誤差衡量指標(biāo)方面均優(yōu)于其他模型。谷遠(yuǎn)利等[11]利用基于信息熵的灰色關(guān)聯(lián)分析提取空間特征變量,并用LSTM神經(jīng)網(wǎng)絡(luò)和門限遞歸單元神經(jīng)網(wǎng)絡(luò)組合預(yù)測(cè)不同時(shí)段車道的速度;王祥雪等[12]對(duì)深度學(xué)習(xí)理論進(jìn)行研究,構(gòu)建了LSTM-RNN的城市快速路交通預(yù)測(cè)模型,經(jīng)過驗(yàn)證該預(yù)測(cè)算法的精確性、實(shí)用性和擴(kuò)展性均有提高。RUI等[13]將LSTM和GRU組合模型運(yùn)用到交通流預(yù)測(cè)領(lǐng)域并證實(shí)了其預(yù)測(cè)性能。POLSON等[14]提出了一種深度學(xué)習(xí)結(jié)構(gòu)來預(yù)測(cè)交通流,并證明了深度學(xué)習(xí)結(jié)構(gòu)能夠捕捉非線性時(shí)空效應(yīng)。朱永強(qiáng)等[15]將交通時(shí)間序列數(shù)據(jù)用互補(bǔ)集成經(jīng)驗(yàn)?zāi)B(tài)分解(CEEMD)進(jìn)行多尺度分解,構(gòu)建了CEEMD-LSSVM組合預(yù)測(cè)模型,該模型的平均誤差較小。
綜上算法雖然在交通流預(yù)測(cè)方面取得了較好的預(yù)測(cè)效果,但仍有許多方面需改進(jìn)完善。如在交通流數(shù)據(jù)分解方面,存在模態(tài)混疊、適應(yīng)性和穩(wěn)定性較差等缺點(diǎn)。為了能夠獲取更加穩(wěn)定的交通流分解數(shù)據(jù),減少交通流原始數(shù)據(jù)對(duì)預(yù)測(cè)結(jié)果產(chǎn)生的干擾,獲取最佳模型參數(shù)值,本文提出了CEEMDAN-ABC-LSTM組合模型的短時(shí)交通流預(yù)測(cè)方法。
經(jīng)驗(yàn)?zāi)B(tài)分解(Empirical Mode Decomposition,EMD)由HUANG等[16]于1998年提出,它是一種自適應(yīng)的分解方法,主要通過多次重復(fù)減去包絡(luò)的均值來消除震蕩。對(duì)于信號(hào)x(t),其經(jīng)驗(yàn)?zāi)B(tài)分解算法由以下步驟組成:
1) 使用三次樣條連接連續(xù)的局部最大值(各自的最小值)以導(dǎo)出上(或者下)包絡(luò)線。
2) 通過對(duì)上下包絡(luò)線求平均值,取得包絡(luò)中值m(t)。
3) 從原始序列中減去上述已求得包絡(luò)線的均值m(t)用以提取臨時(shí)本地震蕩h(t),得到h(t)=x(t)-m(t)。
4) 將得到的臨時(shí)本地震蕩h(t)多次重復(fù)計(jì)算步驟1)至3),直到滿足算法條件要求,如此形成的h(t)就為分解后得到的一個(gè)固有模態(tài)函數(shù)(Intrinsic Mode Functions, IMF),記為c(t)。
5) 計(jì)算殘余:r(t)=x(t)-c(t)。
6) 重復(fù)步驟1)至5)生成下一個(gè)IMF和殘差。
因此,可以通過一個(gè)公式對(duì)原始信號(hào)x(t)進(jìn)行重建:
(1)
式中:ci(t)與IMF一致(即本地震蕩);rn(t)與第n個(gè)殘差一致。
自適應(yīng)噪聲完全集成經(jīng)驗(yàn)?zāi)B(tài)分解(Complete Ensemble Empirical Mode Decomposition with Adaptive Noise,CEEMDAN)是以EMD理論為基礎(chǔ),經(jīng)過改進(jìn)形成的一種新型自適應(yīng)分解算法[17]。經(jīng)過不斷創(chuàng)新,它不但克服了EMD算法產(chǎn)生的模態(tài)混疊現(xiàn)象,還通過添加自適應(yīng)白噪聲對(duì)EEMD算法[18]進(jìn)行改進(jìn),讓重構(gòu)后的信號(hào)誤差降到最低。CEEMDAN算法實(shí)現(xiàn)步驟如下[19]:
(2)
式中:ε0為在交通流序列中第一次添加白噪聲幅度值的系數(shù);ωi(t)為在交通流序列中添加的白噪聲;N為交通流序列的長(zhǎng)度。
2)可以得到第一個(gè)殘余信號(hào):
(3)
3)將殘余信號(hào)r1(t)添加白噪聲ε1E1ωi(t)繼續(xù)分解,得到第二階的IMF分量,記為
(4)
4)按照以上計(jì)算模式,可以得到第j個(gè)殘余信號(hào):
(5)
5)則第j+1階的IMF分量為
(6)
6)對(duì)步驟4)和5)進(jìn)行多次重復(fù)運(yùn)算直到分解結(jié)束以獲取最終的殘余分量:
(7)
長(zhǎng)短時(shí)記憶(Long Short-Term Memory,LSTM)神經(jīng)網(wǎng)絡(luò),是由HOCHREITER等[20]首次提出的一種經(jīng)過改進(jìn)后的循環(huán)式神經(jīng)網(wǎng)絡(luò),可以有效地緩解循環(huán)式神經(jīng)網(wǎng)絡(luò)所存在的梯度爆炸或者階段性梯度消失的缺陷。LSTM主要由神經(jīng)網(wǎng)絡(luò)的輸入層、隱含層、輸出層三部分組成。與其他傳統(tǒng)循環(huán)式神經(jīng)網(wǎng)絡(luò)不同的是,長(zhǎng)短時(shí)記憶神經(jīng)網(wǎng)絡(luò)通過在隱含層結(jié)構(gòu)上增加記憶模塊,使信息達(dá)到較長(zhǎng)一段時(shí)間的儲(chǔ)存和遺傳,結(jié)構(gòu)如圖1所示。
圖1 長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)結(jié)構(gòu)
LSTM結(jié)構(gòu)主要由遺忘門、輸入門、輸出門和記憶單元4部分構(gòu)成,它也是一種鏈?zhǔn)浇Y(jié)構(gòu),它們之間以一種特定的相互作用關(guān)系對(duì)信息進(jìn)行過濾和保存。神經(jīng)網(wǎng)絡(luò)中的遺忘門主要對(duì)來自上一時(shí)刻單元狀態(tài)的信息進(jìn)行判斷,決定哪些信息應(yīng)該被保留,哪些信息應(yīng)該被遺棄。由前一隱藏神經(jīng)元節(jié)點(diǎn)ht-1和當(dāng)前t時(shí)刻輸入的信息xt經(jīng)激活函數(shù)σ激活后,輸出門限層ft,其過程可表示為
ft=σ(Wfxt+UfCt-1+bf)
(8)
輸入門分別由sigmoid和tanh兩個(gè)激活函數(shù),準(zhǔn)備更新接下來的記憶單元狀態(tài),其結(jié)構(gòu)可表示為
it=σ(Wiht-1+Uixt+bi)
(9)
(10)
記憶單元狀態(tài)更新中的Ct由過去長(zhǎng)期狀態(tài)和現(xiàn)在狀態(tài)決定。其中過去長(zhǎng)時(shí)間的刻畫是由上一時(shí)刻單元狀態(tài)Ct-1元素與遺忘門輸出結(jié)果相乘體現(xiàn),則Ct可表示為
(11)
輸出門主要由短期記憶結(jié)合當(dāng)前輸入信息得到的信息ot和結(jié)合長(zhǎng)期記憶最終輸出的ht兩部分構(gòu)成,兩者表示為
ot=σ(Woht-1+Uoxt+bo)
(12)
ht=ot*tanh(Ct)
(13)
式(8)—(13)中:σ為sigmoid函數(shù);*為兩個(gè)向量的乘積;Wf,Wi,Wo,Wc,Uf,Ui,Uo,Uc為訓(xùn)練過程中得到的權(quán)重矩陣;bf,bi,bo,bc為訓(xùn)練得到的偏移量。
在LSTM模型中,為了獲取最佳隱含層神經(jīng)元數(shù)量、分塊尺寸、最大訓(xùn)練周期以及學(xué)習(xí)率,采用人工蜂群算法對(duì)模型參數(shù)進(jìn)行優(yōu)化。人工蜂群算法(Artificial Bee Colony,ABC)[21]主要是根據(jù)自然界中蜜蜂日常采蜜行為提出來的一種仿生和優(yōu)化算法。它也是目前比較新穎的一種全局優(yōu)化算法,其優(yōu)化步驟如下:
步驟1:初始化模型參數(shù),設(shè)定雇傭蜂數(shù)量SN,食物源的最大循環(huán)次數(shù)LM,最大迭代次數(shù)MC,以及LSTM模型的隱含層神經(jīng)元數(shù)量nHU、分塊尺寸mBS、最大訓(xùn)練周期mE和學(xué)習(xí)率LR,然后隨機(jī)生成一個(gè)具有SN數(shù)量的初始種群。
步驟2:將均方根誤差(RMSE)作為適應(yīng)度函數(shù)對(duì)前SN個(gè)食物源的適應(yīng)度進(jìn)行訓(xùn)練。
步驟3:執(zhí)行雇傭蜂和觀察蜂階段,限制參數(shù)尋優(yōu)的范圍。
步驟4:偵察蜂階段,將相對(duì)較差的食物源丟棄獲取一個(gè)新的食物源。
步驟5: 對(duì)給定的結(jié)束條件進(jìn)行判斷,如滿足該算法的結(jié)束終止條件,則可以輸出模型參數(shù)為最優(yōu)解;反之,返回步驟3直到滿足條件。
人工蜂群算法優(yōu)化流程如圖2所示。
圖2 人工蜂群算法參數(shù)尋優(yōu)流程
在交通流預(yù)測(cè)建模過程中,首先利用CEEMDAN算法將交通流時(shí)間序列分解成若干個(gè)不同尺度的IMF分量和一個(gè)殘余分量,然后將分解數(shù)據(jù)輸入到用ABC優(yōu)化完成的LSTM神經(jīng)網(wǎng)絡(luò)中進(jìn)行預(yù)測(cè),具體流程如下:
步驟1:收集、整理實(shí)際獲取到的交通流時(shí)間序列數(shù)據(jù)。
步驟2:將處理好的原始交通流數(shù)據(jù)用CEEMDAN算法進(jìn)行分解,得到若干不同的模態(tài)分量IMF和一個(gè)殘余分量R。
步驟3:對(duì)LSTM用人工蜂群算法進(jìn)行參數(shù)優(yōu)化,然后將分解后的模態(tài)分量和殘余分量分別建立LSTM預(yù)測(cè)模型。
步驟4:將各分量數(shù)據(jù)進(jìn)行訓(xùn)練預(yù)測(cè),輸出各分量的預(yù)測(cè)值。
步驟5:疊加每個(gè)模態(tài)分量的預(yù)測(cè)值,輸出最終預(yù)測(cè)結(jié)果。
構(gòu)建模型流程如圖3所示。
圖3 CEEMDAN-ABC-LSTM模型預(yù)測(cè)流程
將模型的輸入維數(shù)設(shè)置為6,數(shù)據(jù)訓(xùn)練和輸出如圖4所示。
圖4 數(shù)據(jù)的輸入和輸出格式
本文采集的數(shù)據(jù)來源于上海市南北高架路段感應(yīng)線圈實(shí)測(cè)的交通流數(shù)據(jù),數(shù)據(jù)采集的時(shí)間為2018年8月27日—8月31日。以每5 min一次的數(shù)據(jù)采集周期,共獲取1440個(gè)實(shí)際交通流數(shù)據(jù)。交通流量隨時(shí)間變化的折線如圖5所示。
圖5 連續(xù)5天交通流量數(shù)據(jù)
運(yùn)用CEEMDAN算法對(duì)原始交通流時(shí)間序列數(shù)據(jù)進(jìn)行分解。白噪聲幅度值系數(shù)k設(shè)定為0.2,集成次數(shù)M設(shè)為500,根據(jù)算法的自適應(yīng)分解性能,分解出10組不同尺度的IMF分量和1組殘余分量,如圖6所示。
圖6 CEEMDAN交通流時(shí)間序列分解
采用人工蜂群算法(ABC)對(duì)LSTM的參數(shù)進(jìn)行二次尋優(yōu)。
ABC參數(shù)設(shè)定如下:雇傭蜂數(shù)量SN設(shè)定為50,食物源最大循環(huán)次數(shù)LM設(shè)定為100,最大迭代次數(shù)MC設(shè)定為200;將前4天的數(shù)據(jù)作為訓(xùn)練樣本訓(xùn)練LSTM神經(jīng)網(wǎng)絡(luò),為了方便表示,用RMSE表示人工蜂群算法參數(shù)尋優(yōu)的過程。
建立模型的最優(yōu)參數(shù)如下:LSTM隱含層神經(jīng)元數(shù)量nHU為240,分塊尺寸mBS為50,最大訓(xùn)練周期mE為250,學(xué)習(xí)率LR為0.005。尋優(yōu)結(jié)果如圖7所示。
圖7 人工蜂群算法參數(shù)尋優(yōu)的過程
為了驗(yàn)證所構(gòu)建模型在短時(shí)交通流預(yù)測(cè)方面的精度,將NBDX16(2)和NBXX10(1)檢測(cè)器前4天采集的數(shù)據(jù)作為前期訓(xùn)練樣本,用第5天實(shí)測(cè)數(shù)據(jù)作為測(cè)試樣本進(jìn)行對(duì)比分析,其中NBDX,NBXX分別為南北高架東線、南北高架西線;16,10為檢測(cè)斷面編號(hào);2,1為車道編號(hào)。實(shí)驗(yàn)訓(xùn)練所用的電腦配置為i7-9750HQ處理器,運(yùn)行內(nèi)存16 G。圖8為實(shí)測(cè)值與預(yù)測(cè)值的擬合效果,從圖中可以看出,本文構(gòu)建的組合模型預(yù)測(cè)結(jié)果與實(shí)測(cè)數(shù)據(jù)相比具有較高的擬合度,證實(shí)了本文方法的有效性。
選取LSTM,ABC-SVM,ABC-BPNN預(yù)測(cè)模型作為對(duì)比,模型參數(shù)設(shè)定如下:BPNN模型的隱層數(shù)為1,隱層神經(jīng)元的個(gè)數(shù)為50,激勵(lì)函數(shù)為Sigmoid函數(shù); SVM模型的懲罰因子λ=32,核函數(shù)參數(shù)γ=0.5。采用平均絕對(duì)誤差(MAE)、平均絕對(duì)百分比誤差(MAPE)和均方根誤差(RMSE)三個(gè)指標(biāo)進(jìn)行分析評(píng)價(jià)。
(14)
(15)
(16)
由表1、表2可以看出,本文方法的三個(gè)指標(biāo)評(píng)價(jià)通過兩個(gè)檢測(cè)器驗(yàn)證都有較好的效果。MAE值分別為5.92和5.63,MAPE值分別為7.85%和7.57%,RMSE值分別為6.34和6.25,較其他三種方法的平均預(yù)測(cè)精度分別提升了19.8%,25.6%和38.7%,說明本文構(gòu)建的CEEMDAN-ABC-LSTM模型具有一定的自適應(yīng)能力和較高的穩(wěn)定性,再次證實(shí)了本文所建模型的優(yōu)越性。
表1 NBDX16(2)檢測(cè)器4種模型預(yù)測(cè)誤差對(duì)比
表2 NBXX10(1)檢測(cè)器4種模型預(yù)測(cè)誤差對(duì)比
為了進(jìn)一步提高短時(shí)交通流預(yù)測(cè)的精度,本文將非平穩(wěn)、非線性交通流時(shí)間序列運(yùn)用CEEMDAN算法分解為相對(duì)平穩(wěn)的若干個(gè)不同模態(tài)分量,構(gòu)建了CEEMDAN-ABC-LSTM組合交通流預(yù)測(cè)模型。通過實(shí)測(cè)數(shù)據(jù)驗(yàn)證,該模型表現(xiàn)出較好的預(yù)測(cè)性能,可以為以后交通流預(yù)測(cè)研究提供借鑒。但因現(xiàn)實(shí)交通系統(tǒng)較為復(fù)雜,受多種因素的干擾和影響,出行者也更加需要獲取在出行時(shí)間范圍內(nèi)交通流的動(dòng)態(tài)信息,因此單步的預(yù)測(cè)遠(yuǎn)不能滿足人們出行要求,后續(xù)在本文基礎(chǔ)上,對(duì)不同時(shí)間尺度下交通流的多步預(yù)測(cè)進(jìn)行更深層次的研究。