帥春燕,王昱翔,許 庚
(1.昆明理工大學(xué) 交通工程學(xué)院,昆明 650500; 2.昆明市規(guī)劃設(shè)計研究院 市政與交通所,昆明 650051)
在網(wǎng)約車出行領(lǐng)域,打車軟件可以對海量的網(wǎng)約車出行訂單數(shù)據(jù)進(jìn)行收集,對網(wǎng)約車出行數(shù)據(jù)進(jìn)行分析運用是一個較為關(guān)鍵的現(xiàn)實問題。網(wǎng)約車出行交通流的預(yù)測是目前交通領(lǐng)域的研究熱點,主要是基于交通流時間序列來構(gòu)建合適的模型,如經(jīng)典統(tǒng)計模型,差分整合移動平均自回歸[1],人工神經(jīng)網(wǎng)絡(luò),長短期記憶神經(jīng)網(wǎng)絡(luò)[2]。通過獲取不同的交通流[3]特征和變化規(guī)律,對短期交通流進(jìn)行不同精度的預(yù)測,而合理的模型可以有效提高精度,減少誤差。
在交通流實時預(yù)測方面,Smith等[4]運用差分整合移動平均自回歸模型(ARIMA)對高速公路交通流進(jìn)行預(yù)測分析,但ARIMA模型通常要求交通流序列滿足平穩(wěn)性和自相關(guān),難以捕獲非線性關(guān)系;林永杰等[5]通過人工神經(jīng)網(wǎng)絡(luò)(ANN)模型對出租車出行需求進(jìn)行預(yù)測,驗證了人工神經(jīng)網(wǎng)絡(luò)在需求預(yù)測上更優(yōu)于傳統(tǒng)自回歸滑動平均模型;崔淑敏等[6]運用深度學(xué)習(xí)方法DLDP提取軌跡特征,從而提高對出租車目的地預(yù)測準(zhǔn)確率,但模型計算復(fù)雜,對數(shù)據(jù)稀疏程度較敏感。
在混合模型交通流預(yù)測方面,段宗濤等[7]根據(jù)歷史數(shù)據(jù),構(gòu)建了機(jī)器學(xué)習(xí)混合模型,引進(jìn)殘差單元來加深網(wǎng)絡(luò)層數(shù),并結(jié)合數(shù)據(jù)臨近性、周期性和趨勢性來對出租車需求進(jìn)行預(yù)測;羅文慧等[8]將CNN和LSTM集成在DL結(jié)構(gòu)中,對時空序列問題進(jìn)行了挖掘和分析;Cai等[9]等利用GSA算法對SVR參數(shù)進(jìn)行尋優(yōu),對交通流時間序列進(jìn)行實時預(yù)測;Feng等[10]通過對交通流的非線性和隨機(jī)性進(jìn)行研究,提出了一種基于時空相關(guān)性的自適應(yīng)多核支持向量機(jī)(AMSVM)短期交通流預(yù)測模型,但由于耗費大量時間,基于SVR的模型很難實現(xiàn)大規(guī)模的訓(xùn)練樣本。陸百川等[11]結(jié)合交通流時空特性和數(shù)據(jù)特征,提出GA-WNN路網(wǎng)短時交通流預(yù)測模型;趙陽陽等[12]運用經(jīng)驗?zāi)B(tài)分解將時間序列轉(zhuǎn)化為本征模函數(shù)及殘差,并利用長短時記憶神經(jīng)網(wǎng)絡(luò)對地鐵客流進(jìn)行預(yù)測。
雖然基于神經(jīng)網(wǎng)絡(luò)的模型在交通流預(yù)測中表現(xiàn)良好,但這些模型仍然難以對交通流的隨機(jī)波動性和規(guī)律性進(jìn)行完全捕捉。為解決這些問題,有研究者運用經(jīng)驗?zāi)B(tài)分解(EMD)[13]和奇異譜分析(SSA)[14]對短期交通流時間序列進(jìn)行分解降噪,并運用LSTM、ANN等模型進(jìn)行預(yù)測分析。本文提出一種基于SSA-LSTM-SVR的網(wǎng)約車實時訂單出行交通流預(yù)測模型來對交通流進(jìn)行更準(zhǔn)確地預(yù)測。首先,利用SSA將短時交通流分解為1個主分量和多個隨機(jī)分量,對于反映交通流的規(guī)律性和周期性的主成分,采用LSTM進(jìn)行預(yù)測,對于不穩(wěn)定的隨機(jī)分量,引入SVR模型進(jìn)行預(yù)測。最后將各分量對應(yīng)的預(yù)測結(jié)果疊加融合,形成預(yù)測值。同時引入粒子群優(yōu)化(PSO)算法[15]對SSA-LSTM-SVR模型的分解參數(shù)進(jìn)行優(yōu)化,最后通過實際交通流數(shù)據(jù)對模型進(jìn)行了驗證,并與其他模型的預(yù)測效果進(jìn)行了比較。
奇異譜分析(singular spectrum analysis,SSA)主要運用于非線性時間序列的研究,對原始的時間序列進(jìn)行分解和重構(gòu)處理,可以對原始時間序列進(jìn)行降噪,處理后的序列相比原始序列更加光滑,有利于預(yù)測精度的提升,本文運用SSA算法,將短期交通流的軌跡矩陣進(jìn)行分解和重構(gòu),并提取出周期項和趨勢項,對噪聲干擾進(jìn)行去除。SSA分解主要分為4個步驟。
步驟1構(gòu)建軌跡矩陣
對于長度為T的交通流X(t)=[x1,x2,x3,…,xT],構(gòu)建L×K階軌跡矩陣如式(1),L為嵌套緯度,通常也稱為窗口長度,其中,L(2 (1) 步驟2奇異值分解(SVD) X=X1+X2+X3+…+Xd (2) 步驟3分組 將Xi(i=1,2,3,…,d)劃分為p個不同的組,即: (3) 對于給定分量Xi的貢獻(xiàn)率為: (4) 步驟4重構(gòu) 將分組得到的矩陣轉(zhuǎn)換為長度為T的重構(gòu)成分,所有重構(gòu)成分疊加即為新的序列,定義Ri(t)=[r1,r2,r3,…,rT]為經(jīng)過對角平均化處理后得到的序列,Ri(t)序列中第k個元素為矩陣Xi=(zij)L×K中滿足i+j=k+1的所有元素均值,對角平均化具體操作如式(5): (5) 對角平均化處理后,原始交通流序列X(t)=[x1,x2,x3,…,xT]分解為N個序列之和。 (6) 其中,i+n≤d,1≤k≤Γ,Xk(t)是原始時間序列的特征序列,每個特征序列都有自己獨特的特征,并且相互變化,Xk(t)的和等于原始級數(shù),即: (7) 為了使短期交通流的預(yù)測結(jié)果接近地面真實情況,首先利用SSA將網(wǎng)約車出行交通流分解為主分量和多個隨機(jī)分量,根據(jù)它們各自的特點,討論適合各個分量特征的預(yù)測模型。 由于SSA分解的網(wǎng)約車出行交通流主成分能較好地反映交通流的周期性和規(guī)律性,因此引進(jìn)LSTM進(jìn)行預(yù)測。長短時神經(jīng)網(wǎng)絡(luò)LSTM在RNN的基礎(chǔ)上,解決了基礎(chǔ)RNN模型在預(yù)測過程中隨著層數(shù)增加而產(chǎn)生梯度爆炸的問題。LSTM主要由4個部分組成:輸入門、遺忘門、輸出門以及存儲單元。當(dāng)輸入門被激活,輸入的每一個時間步長信息都會累積到該單元,同時遺忘門會有幾率把過去的細(xì)胞狀態(tài)進(jìn)行“遺忘”操作,輸出門控制最終狀態(tài),存儲單元控制信息流,并在單元中計算梯度。在交通流預(yù)測中,X(t)為輸入網(wǎng)約車出行交通流數(shù)據(jù),LSTM模型具體結(jié)構(gòu)如圖1所示。 圖1 LSTM結(jié)構(gòu)圖 如圖1所示,xt和ht表示在t時刻的輸入和輸出。ft、gt和οt分別為遺忘門、輸入門、輸出門的輸出,其映射函數(shù)如下: ft=σ(Wf[ht-1,xt]+bf) (8) gt=σ(Wg[ht-1,xt]+bg) (9) Jt= ReLU(WJ[ht-1,xt]+bJ) (10) οt=σ(Wο[ht-1,xt]+bο) (11) st=ft*st-1+gt*Jt (12) ht=οt*ReLU(st) (13) 針對網(wǎng)約車出行交通流隨機(jī)分量特征復(fù)雜、非線性強(qiáng)的特點,引進(jìn)支持向量回歸(SVR)算法對隨機(jī)分量進(jìn)行預(yù)測分析。SVR是一種應(yīng)用廣泛的交通流預(yù)測模型,它將數(shù)據(jù)點盡可能映射到高維狀態(tài)空間的最優(yōu)超平面上,實現(xiàn)回歸和預(yù)測。對于一個規(guī)模為{(xi,yi),i=1,2,3,…,T}的樣本集,其中xi和yi分別為輸入值和輸出值,SVR的回歸函數(shù)為: f(x)=〈w·xi〉+b (14) 其中,〈w·xi〉表示向量w和x的內(nèi)積,b是偏移量,損失函數(shù)為: (15) 誤差ε>0,w和b可以通過求解最小目標(biāo)函數(shù)得到: (16) C>0是懲罰因子,在不同的核函數(shù)中,徑向基核函數(shù)(RBF)因優(yōu)良的非線性特性而被廣泛應(yīng)用,其定義為: (17) (18) SSA-LSTM-SVR模型混合模型由SSA、LSTM和SVR 3個模型組成,SSA-LSTM-SVR模型結(jié)構(gòu)如圖2所示,SSA將網(wǎng)約車出行交通流序列X(t)分解為Γ個分量,第k個分量記為Xk(t)。通常分解得到的第1個分量為原始時間序列的主分量,其余子分量均為隨機(jī)分量。由式(7)得知,各分量之和為X(t)。Xi(t)(i∈{1,2,3,…,Γ})所對應(yīng)的奇異值個數(shù)占奇異總數(shù)的百分比記為μi,同時通過PSO算法對模型分解參數(shù)μi進(jìn)行優(yōu)化,μi的和等于1,符合: 圖2 SSA-LSTM-SVR模型結(jié)構(gòu) (19) 本文根據(jù)網(wǎng)約車出行交通流特征將原始序列X(t)分為1個主分量和3個隨機(jī)子分量。對于SSA分解后的不同分量Xi(t),根據(jù)其規(guī)律和特點,采用LSTM模型對規(guī)律性和平滑性較強(qiáng)的主分量進(jìn)行預(yù)測,對3個隨機(jī)性和突變性較強(qiáng)的隨機(jī)分量采用SVR模型預(yù)測,最后將所有分量的預(yù)測值Yi(t)進(jìn)行疊加融合,得到原始時間序列X(t)的預(yù)測值Y(t),即: (20) 本文采用均方根誤差RMSE、平均絕對誤差MAE、正確率ACC、決定系數(shù)R2、平均絕對百分比誤差MAPE這5個評估指標(biāo)對模型預(yù)測性能進(jìn)行評估。 (21) (22) (23) (24) (25) 實驗數(shù)據(jù)采用2017年7、8月份??谑兄行膮^(qū)區(qū)域網(wǎng)約車出行流量數(shù)據(jù),為方便對出行區(qū)域進(jìn)行分析,將??谑兄行膮^(qū)域進(jìn)行網(wǎng)格劃分。每個網(wǎng)格代表一個出行區(qū)域。為合理劃分出行區(qū)域網(wǎng)格的邊長大小,對2個月內(nèi)270萬條訂單的出行距離進(jìn)行統(tǒng)計,3 km(起步標(biāo)準(zhǔn))以內(nèi)的出行訂單量約占25%,低于6.8 km的訂單量約占50%,12 km以內(nèi)的訂單量約占90%,訂單出行的平均距離為6.8 km??梢缘弥W(wǎng)約車出行主要是短距離出行,據(jù)此,選擇以起步價3 km長度為網(wǎng)格邊長,將??谑兄行膮^(qū)域劃分為7×12個網(wǎng)格區(qū)域,并對劃分后的網(wǎng)格進(jìn)行編號,劃分結(jié)果如圖3所示。 圖3 地圖網(wǎng)格化 以60 min為時間間隔對各個劃分區(qū)域的流量數(shù)據(jù)進(jìn)行提取,以編號31網(wǎng)格出行區(qū)域為例,抽取了10天的交通流時間序列,如圖4所示,可以看出交通流量每天都在變化,且變化趨勢和規(guī)律相對固定,隨機(jī)性較強(qiáng),交通流在一天中會呈現(xiàn)不同狀態(tài),具有明顯的高低峰出行特征。根據(jù)出行特征,將一天分為3個時段,其中7∶00—9∶00和18∶00—20∶00為早晚高峰時段,24點至次日7點為休息時段,其他為非高峰時段。 圖4 原始交通流時間序列 圖5展示了7月1日的出行流量在地圖網(wǎng)格化基礎(chǔ)上的熱力圖,可以看出網(wǎng)約車打車出行范圍非常集中,不同出行區(qū)域訂單量差距較大。為方便實驗,根據(jù)出行區(qū)域內(nèi)訂單量的數(shù)量將出行區(qū)域分為大量級和中量級。 圖5 出行流量熱力圖 對編號31出行區(qū)域的網(wǎng)約車出行交通流進(jìn)行SSA分解,以60 min為時間間隔,一天有24個值,選取窗口為24,然后得到組分的數(shù)量和權(quán)重,分別為μ1=0.3、μ2=0.3、μ3=0.3和μ4=0.1。 SVD首先對交通流序列構(gòu)建的軌跡矩陣進(jìn)行分解,尋找并提取交通流序列的內(nèi)在自相關(guān)關(guān)系。然后根據(jù)這些相關(guān)性,通過對序列進(jìn)行分組、重構(gòu)和分解,找出序列內(nèi)在的變化規(guī)律和隨機(jī)特征,這些步驟將交通流序列分解為不同的分量,有利于突出其各自的規(guī)律和特點,弱化分量混雜造成的相互影響。根據(jù)交通流的特征,將其分解為1個主分量和3個隨機(jī)分量,對于模型來說,LSTM更適合于規(guī)律性和平滑性強(qiáng)的主分量,SVR更適合于隨機(jī)性和突變性強(qiáng)的隨機(jī)分量,圖6中主分量與原始交通流時間序列(圖4)的大小和變化規(guī)律與原始交通流基本一致,變化更平穩(wěn),因此采用LSTM捕捉這些特征并進(jìn)行短期預(yù)測;而3個隨機(jī)分量的幅值小,隨機(jī)擾動大,且沒有明顯的變化規(guī)律,這些特性會大大增加預(yù)測的難度,SVR更適合于隨機(jī)性和突變性強(qiáng)的隨機(jī)分量。最后將每個分量部分的預(yù)測值疊加融合,得到最終預(yù)測值。 圖6 交通流SSA分解曲線 利用這些分解參數(shù),對市中心區(qū)域網(wǎng)約車出行交通流進(jìn)行分析,選取時間粒度為60 min,根據(jù)出行區(qū)域量級大小的不同,抽取了部分典型出行區(qū)域進(jìn)行模型預(yù)測性能驗證。為了更好地凸顯SSA-LSTM-SVR模型的預(yù)測性能,引進(jìn)了SVR、LSTM、ARIMA、BP、RNN 5個模型進(jìn)行對比分析:① 自回歸整合移動平均值(ARIMA)模型是把出行流量時間序列分解為線性平穩(wěn)序列;② BP神經(jīng)網(wǎng)絡(luò)通過反向傳播誤差進(jìn)行訓(xùn)練;③ 循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)通常用于處理和預(yù)測序列數(shù)據(jù)。不同量級區(qū)域模型預(yù)測結(jié)果如表1所示。 表1 大/中量級出行區(qū)域預(yù)測指標(biāo)結(jié)果 可以看出,區(qū)域量級的大小會對預(yù)測的精度和誤差造成影響,數(shù)據(jù)稀疏程度越高,誤差會變大,對精度的影響也越大。 對具有規(guī)律性、突發(fā)性和隨機(jī)性等復(fù)雜特征的時間序列,單一模型具有局限性,RNN模型由于梯度爆炸問題,導(dǎo)致預(yù)測效果不佳;ARIMA模型很難捕捉序列的非線性關(guān)系;BP模型訓(xùn)練效率不高,容易出現(xiàn)過擬合;而SVR與LSTM對交通流中的序列特征均難做到完全捕捉,從而造成誤差增大。 SSA-LSTM-SVR混合模型對交通流序列進(jìn)行了分解處理,并結(jié)合不同模型的特點,可有效捕捉序列特征,預(yù)測指標(biāo)MAE、RMSE和MAPE均為最小,擬合度R2和預(yù)測精度均高于其他模型,相比于其他對比模型,SSA-LSTM-SVR模型的MAPE平均下降了4%以上,預(yù)測精度平均提高了6%以上,表明SSA-LSTM-SVR模型能夠更好地識別交通流時間序列的短期變化規(guī)律,同時也說明SSA-LSTM-SVR模型具有較好的泛化能力和較好的預(yù)測性能。 為了進(jìn)一步觀察出行區(qū)域預(yù)測值和真實值的差異,從不同量級中各抽取了2個典型區(qū)域進(jìn)行對比,從圖7、圖8可以看出SSA-LSTM-SVR的預(yù)測值在不同量級區(qū)域,都能很好地與真實值擬合,能夠捕捉到時間序列的細(xì)微變化,包括高低峰時段的上升和下降的突變趨勢。而SVR、LSTM總體預(yù)測誤差較大,尤其是在交通流時間序列發(fā)生突變的情況下。隨著交通流量的下降和上升,LSTM和SVR不能很好地捕捉到時間變化趨勢。 圖7 大量級區(qū)域真實值預(yù)測值曲線 圖8 中量級區(qū)域真實值預(yù)測值曲線 為了進(jìn)一步觀察SSA-LSTM-SVR模型在一天中的預(yù)測細(xì)節(jié),從不同量級區(qū)域中挑選了編號30、31、19、42這4個典型出行區(qū)域進(jìn)行分時段預(yù)測,結(jié)果如圖9所示,可以看出一天中精度和誤差在不同時段上存在差異,這是因為在不同時段出行流量大小不同,出行流量大的時刻,數(shù)據(jù)密集程度高,模型訓(xùn)練效果較好。同時,在不同量級區(qū)域,ACC和RMSE指標(biāo)的變化趨勢相同,表明SSA-LSTM-SVR模型無論數(shù)據(jù)稀疏大小,都可以很好地捕捉到一天中出行交通量的變化趨勢。 圖9 分時段預(yù)測結(jié)果曲線 網(wǎng)約車出行交通流的短時預(yù)測一直是智能交通研究中的重要課題,由于網(wǎng)約車出行交通流的內(nèi)在復(fù)雜性,單一模型的預(yù)測精度有限,因此,本文提出了組合預(yù)測模型的思想。在SSA-LSTM-SVR中,SSA根據(jù)交通流序列的線性自相關(guān)進(jìn)行分量分解,LSTM和SVR分別捕捉不同分量的非線性關(guān)系,實驗表明,與RNN模型、ARIMA模型、BP模型、SVR模型以及LSTM模型相比,SSA-LSTM-SVR模型能夠捕獲更多的特征,具有更好的預(yù)測性能,預(yù)測值與真實值的差值最小,擬合效果最好。SSA-LSTM-SVR模型的MAPE平均下降4%以上,預(yù)測精度平均提高6%以上。結(jié)果表明,由于時間序列具有規(guī)律性、突發(fā)性和隨機(jī)性等復(fù)雜特征,單一模型很難完全捕捉網(wǎng)約車出行復(fù)雜交通流序列的特征,采用混合模型進(jìn)行短期預(yù)測效果會更好。 本文只考慮部分典型出行區(qū)域的交通流,未來將進(jìn)一步探討不同出行區(qū)域之間交通流的相互影響,實現(xiàn)更準(zhǔn)確的短時交通流預(yù)測。1.2 長短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM)
1.3 支持向量回歸(SVR)
1.4 SSA-LSTM-SVR模型
2 實驗分析
2.1 評估指標(biāo)
2.2 出行區(qū)域劃分
2.3 網(wǎng)約車出行流量特征分析
2.4 SSA分解
2.5 預(yù)測結(jié)果分析
2.6 真實值與預(yù)測值對比
2.7 分時段預(yù)測
3 結(jié)論