楊紫煜,焦朋朋,云 旭,洪瑋琪
(北京建筑大學(xué) 通用航空技術(shù)北京實驗室, 北京 100044)
短時交通流預(yù)測指通過路段檢測器收集到的一系列交通流數(shù)據(jù),結(jié)合檢測器誤差、路與路之間的聯(lián)系、交通流動態(tài)變化及交通流內(nèi)在聯(lián)系等因素,對收集的數(shù)據(jù)進(jìn)行預(yù)處理后再利用統(tǒng)計學(xué)特性進(jìn)行系統(tǒng)性的分析,或者結(jié)合數(shù)學(xué)方法找到大量數(shù)據(jù)中隱含的內(nèi)在規(guī)律信息,建立數(shù)學(xué)模型及改進(jìn)措施對其進(jìn)行短時的預(yù)測。
近幾十年來,隨著智能交通系統(tǒng)的發(fā)展,短時交通流數(shù)據(jù)的需求不斷增強,國內(nèi)外學(xué)者將各領(lǐng)域的理論應(yīng)用于短時交通流預(yù)測,其中包括時間序列模型及衍生形式[1]、卡爾曼濾波模型[2]、支持向量機模型及衍生形式[3-4]、神經(jīng)網(wǎng)絡(luò)預(yù)測模型及衍生形式[5-6],其中許多研究為了避免單一預(yù)測模型存在復(fù)雜不穩(wěn)定的預(yù)測缺陷,而將其組合在一起為組合模型。各類模型在計算時各有利弊:時間序列模型建模簡單,易于理解,但模型預(yù)測需要大量不間斷的歷史數(shù)據(jù),在交通數(shù)據(jù)獲取困難的情況下無法實施;同樣,神經(jīng)網(wǎng)絡(luò)預(yù)測模型在訓(xùn)練中需要大量的原始數(shù)據(jù),訓(xùn)練結(jié)果也僅限于此研究路段,當(dāng)?shù)缆坊蚪煌ǜ淖儠r不再適用,訓(xùn)練樣本的構(gòu)成情況對神經(jīng)網(wǎng)絡(luò)預(yù)測模型結(jié)果的復(fù)雜程度有影響,訓(xùn)練過程容易陷入局部極小點等;支持向量機模型針對小樣本問題可以獲得最優(yōu)解,泛化能力強但需要在使用過程中不斷調(diào)整參數(shù);卡爾曼濾波模型只需考慮上一狀態(tài)的影響,但由于對狀態(tài)初始值敏感,隨著算法遞推容易出現(xiàn)發(fā)散的現(xiàn)象。錢偉等[7]提出將卡爾曼濾波理論與相空間重構(gòu)原理相耦合的方法,預(yù)測精度比卡爾曼濾波和相空間重構(gòu)模型高。LI等[8]提出了一種基于貝葉斯理論的多尺度混沌時間序列預(yù)測算法。
混沌系統(tǒng)由于其物理特性在交通流預(yù)測領(lǐng)域中有較好的應(yīng)用[9]?;煦绗F(xiàn)象的發(fā)現(xiàn),使人們發(fā)現(xiàn)復(fù)雜系統(tǒng)的本質(zhì)往往不是隨機因素而是非線性動力系統(tǒng)中的混沌因素造成的。目前認(rèn)為短時交通流預(yù)測的周期在不超過15 min時常常表現(xiàn)出不規(guī)則的復(fù)雜行為,識別這類交通流序列是否為混沌現(xiàn)象是進(jìn)行交通流預(yù)測的前提和關(guān)鍵。
本文提出利用最大Lyapunov指數(shù)對交通流進(jìn)行可預(yù)測分析,在此基礎(chǔ)上進(jìn)行相空間重構(gòu),將重構(gòu)后的相點作為卡爾曼濾波方程中的初始狀態(tài)點,以此建立基于相空間重構(gòu)的卡爾曼濾波短時交通流預(yù)測模型,并通過實例驗證模型的性能。
相空間重構(gòu)將一維時間序列映射至高維,進(jìn)而找到系統(tǒng)內(nèi)部蘊含的變化規(guī)律。利用相空間重構(gòu)彌補卡爾曼濾波的初始值問題,獲取更準(zhǔn)確的初始值。且相空間重構(gòu)的關(guān)鍵在于確定延遲時間τ和嵌入維數(shù)m。C-C法是求解相空間參數(shù)常用的方法,將延遲時間和嵌入維數(shù)看作相互關(guān)聯(lián)的參數(shù),由嵌入窗寬τw=(m-1)τ來確定。這種方法計算量小,容易操作,抗噪聲能力強[10]。選用C-C法求解的公式為:
S(k)={x(k),x(k+τ),…,x(k+(m-1)τ)}
(1)
式中:x(k)為相空間重構(gòu)的相點,k=1,2,…,N,N為時間序列長度;S(k)為第k個相點;m為嵌入維數(shù);τ為延遲時間。
為了找到恰當(dāng)?shù)难舆t時間,需將整個時間序列分為t個子序列。首先給定一個時間序列為Xi={x1,x2,…,xN}。首先定義關(guān)聯(lián)積分為:
(2)
每個子序列的統(tǒng)計量S(m,N,r,t)為:
(3)
當(dāng)N→∞時,統(tǒng)計量S(m,r,t)為:
(4)
選擇最大和最小的兩個半徑r,定義差量ΔS(m,t)為:
ΔS(m,t)=max{S(m,rj,t)}-min{S(m,rj,t)}
(5)
其中,ΔS(m,t)越小,表示相空間中的點均勻分布越接近,時間序列的相關(guān)性也越小。最優(yōu)的延遲時間τ可取S(m,r,t)~t曲線的第一個零點或第一個局部最小點。
(6)
(7)
(8)
相點個數(shù):
M=N-(m-1)τ
(9)
卡爾曼濾波是卡爾曼在1960年提出來的。早期將卡爾曼濾波模型用于交通流預(yù)測的是OKUTANI和VYTHOULKAS,他們分別在1984年和1993年研究了卡爾曼濾波模型并將其用于交通流預(yù)測,前者利用卡爾曼濾波理論創(chuàng)建了交通流量預(yù)測模型[11],后者提出基于卡爾曼濾波理論的交通流預(yù)測模型[12]。國內(nèi)研究起步較晚,1999年,楊兆升、朱中將卡爾曼濾波理論用于了交通流預(yù)測,為使計算結(jié)果更為精準(zhǔn),對模型進(jìn)行了改進(jìn):將交通流原始數(shù)據(jù)做平滑處理、通過預(yù)測交通流量比值代替交通流量原始數(shù)據(jù)[13]。
離散卡爾曼濾波的時間更新方程和狀態(tài)更新方程[14]分別為:
X(h)=FX(h-1)+BU(h-1)+GM(h-1)
(10)
Z(h)=HX(h)+V(h)
(11)
式中:h為時間尺度,系統(tǒng)在時刻h的狀態(tài)為X(h),Z(h)為對應(yīng)狀態(tài)的觀測信號;F為狀態(tài)轉(zhuǎn)移矩陣,用以上一時刻推測下一時刻狀態(tài);B為控制矩陣,表示控制量U如何作用與當(dāng)前狀態(tài);U為系統(tǒng)的控制量;G為噪聲驅(qū)動矩陣;M為過程噪聲;H為觀測矩陣;V(h)為輸入的白噪聲。
卡爾曼濾波是預(yù)測具有隨機性變化的交通流的重要方法,已在各智能交通子系統(tǒng)中得到了大量的應(yīng)用。本文利用了卡爾曼濾波精度較高、魯棒性較強的優(yōu)點。但其也存在每次計算前都需要調(diào)整權(quán)重、計算量大的缺點。
數(shù)據(jù)采集會導(dǎo)致原始數(shù)據(jù)出現(xiàn)個別錯誤,所以在使用這些數(shù)據(jù)之前要進(jìn)行數(shù)據(jù)預(yù)處理。通常由于交通傳感器硬件故障、噪聲干擾和通信故障所引發(fā)錯誤數(shù)據(jù)的發(fā)生,所以必須對錯誤數(shù)據(jù)進(jìn)行剔除,否則這些錯誤數(shù)據(jù)會大大降低預(yù)測的準(zhǔn)確度。錯誤數(shù)據(jù)往往與正確數(shù)據(jù)的偏差非常大,所以先采用閾值法去除明顯錯誤的數(shù)據(jù)。交通流量的取值范圍定義為(0,γmax),γmax=fcCT/60,式中C表示道路的通行能力,可根據(jù)城市道路手冊進(jìn)行選取;T為采樣的時間間隔;fc取值在1.3~1.5,為修正系數(shù)。如果采樣數(shù)據(jù)超過合理范圍,可以采用錯誤數(shù)據(jù)時間點的相鄰時間數(shù)據(jù)的平均值作為該錯誤數(shù)據(jù)時間點的數(shù)據(jù)。
如果數(shù)據(jù)在閾值之內(nèi),也未必是正確數(shù)據(jù),所以還需進(jìn)行基于多條規(guī)則的判斷。本文將設(shè)立如下的判斷規(guī)則:
1) 如果雷達(dá)檢測器收集到的數(shù)據(jù)平均占有率為0而流量不為0時,應(yīng)去除該數(shù)據(jù)。
2) 如果雷達(dá)檢測器收集到的數(shù)據(jù)流量為0而平均占有率不為0時,應(yīng)去除該數(shù)據(jù)。
交通流可預(yù)測性是通過判斷混沌系統(tǒng)處于確定性、混沌性、純隨機性中的何種狀態(tài)來決定的。交通流可預(yù)測性分析流程如圖1所示。
圖1 交通流可預(yù)測性分析流程Fig.1 Flow chart of traffic flow predictability analysis
短時交通預(yù)測的條件是系統(tǒng)變化呈混沌狀態(tài)。在分析交通流時間序列數(shù)據(jù)的可預(yù)測性時,即判斷系統(tǒng)變化的混沌狀態(tài)通常有2種方法:Lyapunov指數(shù)法和構(gòu)造可預(yù)測性遞歸圖法,其中Lyapunov指數(shù)意味著相空間中相鄰點的發(fā)散程度。對交通流系統(tǒng)的Lyapunov指數(shù)進(jìn)行估算可用于研究交通流系統(tǒng)所處的狀態(tài),且可以更直觀地對混沌現(xiàn)象進(jìn)行定量的判斷[15]。本文采用Lyapunov指數(shù)法進(jìn)行交通流時間序列的可預(yù)測性分析。
對于一個具有n維流的動力系統(tǒng):
(12)
式中:xi為n維變量,它可以用來構(gòu)成一個n維的相空間;h為時間;f1(x1,x2,…,xn,a)為n維函數(shù);a為控制參數(shù),能夠決定相空間吸引子種類[16]。
用公式表示Lyapunov指數(shù)λi的定義為:
(13)
式中:ωi(t)指第i時刻橢球的軸長度。
如果Lyapunov指數(shù)大于0,則證明其系統(tǒng)為混沌的,并且可以進(jìn)行交通流預(yù)測分析。
張海龍等[17]表明在利用定義法、wolf法、正交法和小數(shù)據(jù)量法的計算中,運用上述4種方法分別計算了最大Lyapunov指數(shù),結(jié)果顯示wolf法和小數(shù)據(jù)量法抗干擾能力最強。故本文將采用wolf法來驗證系統(tǒng)的混沌性。
卡爾曼濾波通過預(yù)測系統(tǒng)狀態(tài)向量實現(xiàn)對未來狀態(tài)的預(yù)測,其初始狀態(tài)x(1)的確定對預(yù)測結(jié)果的影響十分重要。初始狀態(tài)向量的準(zhǔn)確性決定預(yù)測結(jié)果的準(zhǔn)確性,相空間重構(gòu)是解決系統(tǒng)初始狀態(tài)問題的最優(yōu)方法。故本文選擇相空間重構(gòu)模型確定系統(tǒng)的初始狀態(tài),再選用卡爾曼濾波進(jìn)行遞推式預(yù)測。
實際上,利用相空間重構(gòu)法將交通流系統(tǒng)的吸引子恢復(fù),然后得出反應(yīng)交通流的特征變化規(guī)律,得到:
S(k+T)=f(S(k))
(14)
式中:S(k)為相空間中的點。
根據(jù)式(14)基于遞推的方式完成相點的預(yù)測。但由于非線性擬合誤差太大,一般難以確定函數(shù)關(guān)系。將卡爾曼濾波原理與相空間重構(gòu)原理相結(jié)合,將相空間中2個相點S(k)與S(k+T)(設(shè)步長T=1)作為卡爾曼濾波的狀態(tài)向量S(k)與S(k+1),并把卡爾曼濾波方程中的狀態(tài)初始向量定義為相空間重構(gòu)后的相點y(1)。
設(shè)交通流的時間序列為{y(1),y(2),…,y(n)},按照相空間重構(gòu)原理進(jìn)行重構(gòu),重構(gòu)后的如式(15)所示:
S(k)=[y(k),y(k+τ),…,y(k+(m-1)τ)]
(15)
重構(gòu)相空間后得到的相點個數(shù)可由式(9)得到。
系統(tǒng)初始相點的表達(dá)式為:
S(1)=[y(1),y(1+τ),…,y(1+(m-1)τ)]
(16)
根據(jù)以上的內(nèi)容,對基于相空間重構(gòu)的卡爾曼濾波模型的交通流預(yù)測進(jìn)行總結(jié),具體步驟如下:
步驟1利用C-C法求出交通流時間序列延遲時間τ及時間窗τw,再根據(jù)τw=(m-1)τ確定嵌入維數(shù)m。
步驟2利用小數(shù)據(jù)量法求出最大Lyapunov指數(shù),若結(jié)果大于0則證明該系統(tǒng)為混沌系統(tǒng),即可進(jìn)行下一步的預(yù)測。
步驟3重構(gòu)交通流系統(tǒng)。將一維時間序列進(jìn)行轉(zhuǎn)化,得到k個相點。
S(1)=[y(1),y(1+τ),…,y(1+(m-1)τ)]S(2)=[y(2),y(2+τ),…,y(2+(m-1)τ)] …S(k)=[y(k),y(k+τ),…,y(k+(m-1)τ)]
(17)
其中由所有向量的分量組成的空間為相空間,完成交通流時間序列轉(zhuǎn)化為相空間中的點。
(18)
步驟6預(yù)測協(xié)方差矩陣p(f|f-1):
p(f|f-1)=B(f-1)P(f-1)BT(f-1)+Q(f-1)
(19)
步驟7預(yù)測卡爾曼增益矩陣K(f):
K(f)=p(f|f-1)AT(f)[A(f)p(f|f-1)AT(f)+R(f)]-1
(20)
(21)
步驟9預(yù)測均方誤差矩陣p(f):
p(f)=[I-K(f)A(f)]P(f|f-1)
(22)
將步驟5至步驟9重復(fù)至預(yù)測長度,完成預(yù)測。
在交通流預(yù)測的研究體系中有著比較完善的性能評價指標(biāo),本文選擇的評價指標(biāo)如下:
平均相對誤差MRE:
(23)
式中:Yreal為真實值;Ypre(t)為預(yù)測值。
均方百分比誤差MSRE:
(24)
均等系數(shù)EC:
(25)
為驗證模型的可行性、計算模型的準(zhǔn)確性,本文以北京市北三環(huán)薊門橋西側(cè)的某一斷面為例(數(shù)據(jù)由2018年2月13日零時至2018年2月20日零時),如圖2所示,其中箭頭標(biāo)記處為該斷面,該斷面為三車道的主干路。
圖2 采樣斷面Fig.2 Sample section
數(shù)據(jù)采樣周期為2 min。根據(jù)上文所述,太短的時間間隔會使采樣得到的交通流數(shù)據(jù)呈現(xiàn)出隨機狀態(tài)而很難進(jìn)一步預(yù)測其結(jié)果。
數(shù)據(jù)采樣周期為2 min。共收集總數(shù)據(jù)為6 232條,部分?jǐn)?shù)據(jù)見表1。
由于短時交通流預(yù)測周期時長普遍認(rèn)為在15 min以內(nèi),為進(jìn)一步評估模型的性能及適用范圍,本文將分別采用時間間隔為6 min、10 min進(jìn)行預(yù)測和對比分析,通過誤差計算出該模型在各類情況下的預(yù)測性能。預(yù)測結(jié)果如圖3~圖6所示,預(yù)測誤差見表2。
表1 采集斷面交通流的部分?jǐn)?shù)據(jù)Tab.1 Collect partial data of traffic flow in section
通過誤差分析可明顯看出該方法的準(zhǔn)確性,每一個預(yù)測時間內(nèi)的交通流均等系數(shù)均在90%以上,達(dá)到了很高的擬合程度。而對比2個預(yù)測周期的誤差,預(yù)測周期為10 min的誤差及均等系數(shù)均優(yōu)于預(yù)測周期為6 min的預(yù)測。所以本文所用的方法更適合預(yù)測周期為10 min的預(yù)測。
由于采樣的路段為三車道的主干路,設(shè)計速度為60 km/h,經(jīng)統(tǒng)計,其高峰時刻每條車道每10 min的斷面車流量數(shù)據(jù)大約為800 pcu,最低斷面流量約為200 pcu。根據(jù)基本路段服務(wù)水平將該道路不同時段分為自由流和穩(wěn)定流的短時交通流預(yù)測,并進(jìn)行對比分析。
圖3 預(yù)測周期為6 min時真實值與預(yù)測值的對比Fig.3 Comparison of true and predicted values in the prediction period of 5 min
圖4 預(yù)測周期為6 min時相對誤差Fig.4 Relative error in prediction period of 6 min
圖5 預(yù)測周期為10 min時真實值與預(yù)測值的對比Fig.5 Comparison of true and predicted values in the prediction period of 10 min
圖6 預(yù)測周期為10 min時相對誤差Fig.6 Relative error in the prediction period of 10 min
表2 預(yù)測結(jié)果誤差對比分析
分別對自由流和穩(wěn)定流以10 min進(jìn)行預(yù)測,預(yù)測結(jié)果如圖7~圖10所示。
圖7 狀態(tài)為自由流時短時交通流預(yù)測結(jié)果Fig.7 Short-term traffic flow prediction results in free flow
圖8 狀態(tài)為自由流時短時交通流預(yù)測相對誤差Fig.8 Relative error of short-term traffic flow in free prediction in free flow
圖9 狀態(tài)為穩(wěn)定流時短時交通流預(yù)測結(jié)果Fig.9 Short-term traffic flow prediction results in steady flow
圖10 狀態(tài)為穩(wěn)定流時短時交通流預(yù)測相對誤差Fig.10 Relative error of short-term traffic flow prediction in steady flow
由圖7~圖10明顯看出,該方法在此場景中穩(wěn)定流狀態(tài)時比自由流狀態(tài)時的預(yù)測精度更為準(zhǔn)確。原因是該路段處于自由流的時間過少,導(dǎo)致自由流時刻數(shù)據(jù)樣本量太低,在相空間重構(gòu)中利用非線性結(jié)構(gòu)統(tǒng)計量計算嵌入維數(shù)和延遲時間時導(dǎo)致重構(gòu)系統(tǒng)與原系統(tǒng)不能達(dá)到很好的一致性。所以少樣本量的數(shù)據(jù)可以預(yù)測且誤差在可接受范圍內(nèi),但樣本量少比樣本量大的預(yù)測精確度低。
為了驗證組合模型的有效性,對卡爾曼濾波模型的交通流預(yù)測方法和常用的神經(jīng)網(wǎng)絡(luò)方法如長短期記憶方法(LSTM)和門控循環(huán)單元(GRU)進(jìn)行仿真預(yù)測,根據(jù)上述的評價指標(biāo),計算其預(yù)測誤差,誤差對比見表3。
表3 不同模型預(yù)測結(jié)果誤差對比分析Tab.3 Comparison and analysis of the prediction errors of different models
從表3可以看出,基于相空間重構(gòu)的卡爾曼濾波模型進(jìn)行預(yù)測的結(jié)果總體更優(yōu),與卡爾曼濾波模型的交通流預(yù)測相比,平均相對誤差減少0.8%,均方百分比誤差減少0.3%,均等系數(shù)增大0.5%。與常用的神經(jīng)網(wǎng)絡(luò)的方法如LSTM和GRU的預(yù)測相比,其誤差更小,達(dá)到了很高的擬合度,預(yù)測準(zhǔn)確度更高。主要是由于卡爾曼濾波對系統(tǒng)的初始狀態(tài)向量十分敏感,使用重構(gòu)后的初始相點進(jìn)行預(yù)測,其預(yù)測過程充分展現(xiàn)了系統(tǒng)的內(nèi)在信息及軌跡的演化過程。
本文將傳統(tǒng)的卡爾曼濾波與混沌理論相結(jié)合,將交通流時間序列相空間重構(gòu)后的相點作為卡爾曼濾波的初始相點,以此建立基于相空間重構(gòu)的卡爾曼濾波短時交通流預(yù)測模型,并結(jié)合實際案例討論模型的適用范圍,預(yù)測結(jié)果表明該模型在預(yù)測周期為10 min時精準(zhǔn)度更高,且樣本量較少時預(yù)測精準(zhǔn)度在可接受范圍內(nèi),但不如樣本量大時準(zhǔn)確度高。對于傳統(tǒng)的卡爾曼濾波預(yù)測方法而言,利用相空間重構(gòu)后的相點進(jìn)行遞推彌補了初值為缺省的空白。此方法對研究交通流預(yù)測模型、提高預(yù)測模型的精度和智能交通系統(tǒng)的發(fā)展有著重要的意義,為交通信號控制和交通誘導(dǎo)系統(tǒng)提供了較為精準(zhǔn)的數(shù)據(jù)支持。