鳳少偉,鳳 超,申 浩
(1.長安大學(xué) 信息工程學(xué)院,陜西 西安 710064;2.新疆理工學(xué)院 機(jī)電工程系,新疆 阿克蘇 843100)
交通流預(yù)測是智能交通系統(tǒng)(ITS)不可或缺的組成部分[1]。特別是在城市交通干道,準(zhǔn)確的交通流預(yù)測,能提供及時有效的未來路況信息,幫助司機(jī)和乘客躲避擁堵。因此,交通流預(yù)測已成為未來建設(shè)智能城市的基本方面之一[2]。
國內(nèi)外眾多學(xué)者在短時交通流預(yù)測領(lǐng)域做了很多相關(guān)研究,如張曉利等使用非參數(shù)回歸方法開展了對實(shí)際道路的交通流預(yù)測[3]。運(yùn)用時間序列預(yù)測的方法來對交通流量進(jìn)行預(yù)測,是一個新的思路,Box等基于時間序列的深入分析研究,提出了一種全新的時序模型,即自回歸滑動平均(ARIMA)[4]。解小平等首次將ELMAN神經(jīng)網(wǎng)絡(luò)應(yīng)用于短時交通流預(yù)測的問題上[5]。
目前,短時交通流預(yù)測方法可基本分為三大類:第一類是基于數(shù)理統(tǒng)計(jì)模型的預(yù)測方法,例如ARIMA模型、卡爾曼濾波模型等,這些方法都是尋求一種準(zhǔn)確的交通流數(shù)學(xué)模型進(jìn)行預(yù)測。然而,由于交通流的隨機(jī)性和非線性特征,難以建立固定的數(shù)學(xué)模型,而且這類方法無法擺脫隨機(jī)干擾的影響,對于不同路況、不同天氣、不同日期的預(yù)測結(jié)果的誤差難以接受[6-8];第二類是智能交通流預(yù)測方法,如非參數(shù)回歸模型、支持向量機(jī)模型、神經(jīng)網(wǎng)絡(luò)模型等,這類方法的適應(yīng)性較強(qiáng),可以應(yīng)對諸多隨機(jī)因素的干擾[9-11];為了提高預(yù)測精度,出現(xiàn)了前兩類方法組合預(yù)測的第三類組合模型,如采用卡爾曼濾波模型與SVM相結(jié)合的方法,期望兩種方法互補(bǔ),最終得到更高的預(yù)測準(zhǔn)確度[12]。
近年來,隨著人工智能的逐步成熟,深度學(xué)習(xí)已廣泛應(yīng)用于語音識別、自然語言處理、圖像分類等方面[13-14]。已有學(xué)者將RNN(recurrent neural network)及其改良算法GRU網(wǎng)絡(luò)應(yīng)用于交通流預(yù)測領(lǐng)域,并取得了不錯的預(yù)測結(jié)果,但是該方法的預(yù)測穩(wěn)定性一般,對于不同天氣、不同路況的道路交通流預(yù)測結(jié)果不盡如人意,而且預(yù)測精度還有待進(jìn)一步提升[15-17]。文中從時間序列的角度出發(fā),提出一種K-means聚類與GRU網(wǎng)絡(luò)相結(jié)合的預(yù)測方法,首先利用K-means聚類算法建立交通流模式庫,然后根據(jù)狀態(tài)向量及數(shù)據(jù)相似性確定訓(xùn)練集,最后利用GRU神經(jīng)網(wǎng)絡(luò)預(yù)測短時交通流。
K-means算法是使用逐次迭代細(xì)化來產(chǎn)生最終的聚類結(jié)果。算法的輸入是簇K和數(shù)據(jù)集的數(shù)量,數(shù)據(jù)集是每個數(shù)據(jù)點(diǎn)的功能集合,K的值是隨機(jī)生成或者從數(shù)據(jù)集中任意選定,在如下兩個步驟之間迭代:
(1)數(shù)據(jù)分配。
每個質(zhì)心定義一個簇。在此步驟中,每個數(shù)據(jù)點(diǎn)分配到距其基于2范數(shù)的歐幾里德距離最近的質(zhì)心,如式(1)所示。如果ci是集合C中的一個質(zhì)心集合,則數(shù)據(jù)集中的點(diǎn)x都將被分配給一個基于質(zhì)心ci的類簇中。
(1)
其中,dist()是2范數(shù)下的歐幾里德距離。
(2)質(zhì)心更新。
在此步驟中,通過計(jì)算所有數(shù)據(jù)點(diǎn)的均值更新質(zhì)心,如式(2)所示。
(2)
該算法不斷對步驟1和步驟2進(jìn)行迭代,直到?jīng)]有數(shù)據(jù)點(diǎn)改變類簇,簇中每個數(shù)據(jù)點(diǎn)到質(zhì)心距離的總和達(dá)到最小,或者達(dá)到最大迭代次數(shù)。
K-means聚類必須預(yù)先設(shè)定簇的個數(shù)K,選取適當(dāng)?shù)腒值才能得到理想的聚類效果,對于后續(xù)交通流預(yù)測的準(zhǔn)確度有直接影響。文中聚類對象是不同日期的交通流時間序列數(shù)據(jù),則選用這些數(shù)據(jù)間的歐氏距離來度量各個時間簇之間的相似度,如式(3)所示。
(3)
其中,x1i、x2i分別表示兩個類簇的第i個值。
在評價聚類效果的優(yōu)劣時,文中利用類內(nèi)距離和類間距離進(jìn)行評估。類內(nèi)距離是指同一類各模式樣本點(diǎn)間的均方距離,類間距離是指每類中的數(shù)據(jù)點(diǎn)和其他類中數(shù)據(jù)均值的歐氏距離之和。類內(nèi)距離、類間距離越小,聚類的效果越優(yōu)異。
RNN神經(jīng)網(wǎng)絡(luò),即循環(huán)神經(jīng)網(wǎng)絡(luò),通過特點(diǎn)為環(huán)的連接實(shí)現(xiàn)存儲神經(jīng)元當(dāng)前時刻輸入與上一時刻輸出間的聯(lián)系。RNN神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 RNN網(wǎng)絡(luò)結(jié)構(gòu)
RNN中隱藏層節(jié)點(diǎn)的輸入,包括上一隱藏層的輸出和前一時刻該層的輸出兩部分,這種環(huán)結(jié)構(gòu)可以存儲歷史信息,更有利于時序建模。RNN網(wǎng)絡(luò)中,每一時刻的輸入,其輸出又循環(huán)地在下一個時刻輸入網(wǎng)絡(luò)。理論上,網(wǎng)絡(luò)當(dāng)前輸出決定于該時刻之前每一時刻的輸出,但是,RNN網(wǎng)絡(luò)只能記憶一定時長的信息,此外,循環(huán)神經(jīng)網(wǎng)絡(luò)還會出現(xiàn)梯度爆炸和梯度消失的問題。
門限循環(huán)單元(gated recurrent unit,GRU)神經(jīng)網(wǎng)絡(luò),是基于RNN網(wǎng)絡(luò)的優(yōu)秀變體,它既克服了RNN的中長期依賴問題,而且結(jié)構(gòu)簡潔,訓(xùn)練時間和收斂速度更為優(yōu)異。
GRU結(jié)構(gòu)示意圖如圖2所示。
圖2 GRU結(jié)構(gòu)示意圖
圖2中的zt和rt分別表示更新門和重置門。zt決定前一時刻的狀態(tài)信息傳輸?shù)疆?dāng)前狀態(tài)的多少,zt越大表明前一時刻的狀態(tài)信息傳入到當(dāng)前狀態(tài)越多。rt決定前一狀態(tài)有多少信息被寫入到當(dāng)前的候選集ht上,rt越小,前一狀態(tài)的信息被寫入的越少。
單個門控單元在t時刻的計(jì)算過程如式(4)~式(8)所示。
rt=σ(ωr·[ht-1,xt])
(4)
zt=σ(ωz·[ht-1,xt])
(5)
(6)
(7)
yt=σ(ωo·ht)
(8)
GRU網(wǎng)絡(luò)可以有效學(xué)習(xí)時間序列的特征,根據(jù)歷史序列預(yù)測短時交通流,但是不同路況、不同天氣、不同日期等因素對交通流時間序列分布影響很大。例如,由于假期旅游出行的人數(shù)激增,此時道路交通模式與工作日截然不同。因此,文中首先通過聚類分析建立多類交通流模式庫,然后根據(jù)交通流數(shù)據(jù)選擇交通流模式,最后利用GRU網(wǎng)絡(luò)進(jìn)行交通流預(yù)測。
基于聚類與GRU網(wǎng)絡(luò)的短時交通流預(yù)測架構(gòu)如圖3所示。
依據(jù)圖3架構(gòu),文中預(yù)測短時交通流的具體流程如下:
(1)利用K-means聚類方法建立交通流預(yù)測模式庫。交通流模式庫的構(gòu)建對GRU預(yù)測結(jié)果的準(zhǔn)確度及效率有顯著影響。模式庫所包含的種類需適當(dāng),既要涵蓋該條道路交通流的所有狀態(tài),又不存在過多的冗余數(shù)據(jù)。文中將以天為單位的交通流數(shù)據(jù)作為聚類對象,把歷史數(shù)據(jù)劃分為多類,并分別建立模式庫。如此,可以區(qū)分所研究道路不同日期的交通流模式。
圖3 基于聚類與GRU網(wǎng)絡(luò)的短時交通流預(yù)測架構(gòu)
(2)定義狀態(tài)向量及數(shù)據(jù)相似性判別。選擇所研究路段的前24個時刻的交通流時間序列作為狀態(tài)向量,選擇歐氏距離來衡量數(shù)據(jù)相似性的指標(biāo)。
(3)確定用于訓(xùn)練的樣本數(shù)據(jù)。計(jì)算待預(yù)測時間段前24個時刻的實(shí)時交通流數(shù)據(jù)序列與模式庫中各類時間序列的相似性,選擇歐氏距離最小,即相似性最大的庫作為樣本數(shù)據(jù)庫。
(4)利用GRU神經(jīng)網(wǎng)絡(luò)預(yù)測選定時段的交通流量。首先利用步驟(3)中選出的樣本庫作為訓(xùn)練集訓(xùn)練GRU網(wǎng)絡(luò),然后將待預(yù)測時間段的前N個數(shù)據(jù)序列輸入訓(xùn)練好的GRU網(wǎng)絡(luò)中得到預(yù)測結(jié)果,并與真實(shí)交通流序列進(jìn)行對比。
為了驗(yàn)證文中提出的基于聚類與GRU網(wǎng)絡(luò)相結(jié)合的交通流預(yù)測效果,選取美國加州Performance Measurement System(PeMS)數(shù)據(jù)為研究對象進(jìn)行預(yù)測分析,并將預(yù)測結(jié)果與傳統(tǒng)預(yù)測方法進(jìn)行對比分析。PeMS數(shù)據(jù)集在加利福尼亞全州范圍內(nèi)部署了超過15 000個傳感器,文中隨機(jī)選擇PeMS路網(wǎng)中任意一個檢測站的交通流進(jìn)行試驗(yàn),該數(shù)據(jù)集位于美國奧克蘭的Alameda,原始數(shù)據(jù)每30秒收集一次,根據(jù)以往的研究,5分鐘的交通流量更適合該預(yù)測。雖然隨機(jī)選擇的數(shù)據(jù)集存在缺失數(shù)據(jù),但僅占整個數(shù)據(jù)集的小部分,因此使用歷史平均值來估算缺失的數(shù)據(jù)點(diǎn)進(jìn)行數(shù)據(jù)填充。文中均是基于填補(bǔ)以后的數(shù)據(jù)集進(jìn)行的實(shí)驗(yàn)。
選取2016年1月4日到2016年3月30日的交通流數(shù)據(jù),對其進(jìn)行聚類并構(gòu)建交通流模式庫。從交通流的實(shí)際特征以及預(yù)測的目的出發(fā),K值不宜取得過大。文中分別對K取3、4、5三個數(shù)值進(jìn)行K-means聚類分析,并且利用輪廓系數(shù)Si作為評價K值選取優(yōu)劣的標(biāo)準(zhǔn)。輪廓系數(shù)結(jié)合了聚類的凝聚度和分離度,用于評估聚類的效果,該值處于-1~1之間,輪廓系數(shù)值越大,表示聚類效果越好,如式(9)和式(10)所示。
(9)
(10)
其中,si表示i向量的輪廓系數(shù),ai表示向量i到同一簇內(nèi)其他點(diǎn)不相似程度的平均值,bi表示向量i到其他簇的平均不相似程度的最小值,Si表示該聚類結(jié)果總的輪廓系數(shù)。文中所選不同K值下的交通流量聚類輪廓系數(shù)如圖4所示。
圖4 不同K值的輪廓系數(shù)
觀察圖4可知,當(dāng)K=3時,輪廓系數(shù)最大,因此將這81天的交通流分為3類模式,如圖5所示。
(a)第一類交通流模式
(b)第二類交通流模式
(c)第三類交通流模式圖5 3類交通流量模式圖
通過比較2016年3月31日前24個時間點(diǎn)的交通流量與圖5所示的3類交通流模式的歐氏距離,得到其與第2類流量模式最為接近,因此,選定第二類交通流模式中所有天數(shù)的數(shù)據(jù)作為GRU網(wǎng)絡(luò)的訓(xùn)練集,以2016年3月31日的數(shù)據(jù)作為測試數(shù)據(jù)。
均方根誤差(root mean square error,RMSE)、平均絕對百分比誤差(mean absolute percent error,MAPE)及R2_Score是評價預(yù)測效果的3個重要指標(biāo)。其中,RMSE、MAPE評估預(yù)測結(jié)果的誤差,其值越小表明預(yù)測結(jié)果越準(zhǔn)確;R2_Score評估預(yù)測模型的擬合優(yōu)度,其值越接近于1表明該模型的擬合效果越好。其具體定義分別如式(11)~式(13)所示。
(11)
(12)
(13)
運(yùn)用K-means與GRU網(wǎng)絡(luò)結(jié)合的方法進(jìn)行預(yù)測,其預(yù)測值與真實(shí)值的對比結(jié)果如圖6所示,其中,實(shí)線表示s183-E檢測站2016年3月31日的實(shí)際流量,虛線表示使用文中方法得到的預(yù)測流量值。
圖6 預(yù)測值與真實(shí)值對比
觀察圖6可知,使用文中方法對交通流預(yù)測的結(jié)果與實(shí)際流量吻合度很高,證明基于K-means與GRU網(wǎng)絡(luò)的交通流預(yù)測方法具有可行性。
為了評價基于K-means與GRU網(wǎng)絡(luò)的交通流預(yù)測方法的準(zhǔn)確性和有效性,與傳統(tǒng)GRU模型、SAEs模型的預(yù)測結(jié)果進(jìn)行對比,結(jié)果如圖7所示。其中,實(shí)線表示真實(shí)流量,點(diǎn)狀虛線表示K-means-GRU方法的預(yù)測流量,虛線表示傳統(tǒng)GRU網(wǎng)絡(luò)的預(yù)測流量,+形實(shí)線表示SAEs模型的預(yù)測流量。
圖7 K-means-GRU與傳統(tǒng)GRU、SAEs網(wǎng)絡(luò)的預(yù)測對比
觀察圖7可知,與傳統(tǒng)GRU網(wǎng)絡(luò)和SAEs相比,基于K-means與GRU網(wǎng)絡(luò)相結(jié)合的交通流預(yù)測方法在流量波動的細(xì)節(jié)上與實(shí)際情況更為相符。
利用評價指標(biāo)分別計(jì)算K-means-GRU、GRU與SAEs三種預(yù)測模型的RMSE、MAPE、R2_Score,如表1所示。
表1 K-means-GRU、GRU、SAEs模型的RMSE、MAPE、R2_Score
由表1可知,與GRU網(wǎng)絡(luò)相比,文中提出的K-means聚類與GRU神經(jīng)網(wǎng)絡(luò)結(jié)合的交通流預(yù)測方法的RMSE降低了2.280 1,MAPE降低了2.54%,R2_Score的值更趨向于1,表明該方法對于交通流的預(yù)測擬合優(yōu)度較好;與SAEs方法相比,預(yù)測誤差也更小。綜上所述,K-means聚類與GRU神經(jīng)網(wǎng)絡(luò)結(jié)合的交通流預(yù)測方法可以更為準(zhǔn)確、有效地預(yù)測交通流。
由于天氣、節(jié)假日、大型事件等因素的影響,使得不同日期的交通流有著不同的規(guī)律,神經(jīng)網(wǎng)絡(luò)研究交通流分布特性時,籠統(tǒng)地將過去的時間序列作為訓(xùn)練集來訓(xùn)練網(wǎng)絡(luò),沒有深入地考慮交通流的現(xiàn)實(shí)特點(diǎn)。文中提出基于K-means聚類與GRU神經(jīng)網(wǎng)絡(luò)相結(jié)合的方法,充分考慮了交通流的實(shí)際分布特性,通過K-means方法建立模式庫,利用狀態(tài)向量及數(shù)據(jù)相似性確定與歷史相似性更高的數(shù)據(jù)作為訓(xùn)練集,有效地降低了預(yù)測結(jié)果的RMSE和MAE值,是一種性能更好的預(yù)測方法。