鳳少偉,鳳 超,申 浩
(1.長安大學 信息工程學院,陜西 西安 710064;2.新疆理工學院 機電工程系,新疆 阿克蘇 843100)
交通流預測是智能交通系統(ITS)不可或缺的組成部分[1]。特別是在城市交通干道,準確的交通流預測,能提供及時有效的未來路況信息,幫助司機和乘客躲避擁堵。因此,交通流預測已成為未來建設智能城市的基本方面之一[2]。
國內外眾多學者在短時交通流預測領域做了很多相關研究,如張曉利等使用非參數回歸方法開展了對實際道路的交通流預測[3]。運用時間序列預測的方法來對交通流量進行預測,是一個新的思路,Box等基于時間序列的深入分析研究,提出了一種全新的時序模型,即自回歸滑動平均(ARIMA)[4]。解小平等首次將ELMAN神經網絡應用于短時交通流預測的問題上[5]。
目前,短時交通流預測方法可基本分為三大類:第一類是基于數理統計模型的預測方法,例如ARIMA模型、卡爾曼濾波模型等,這些方法都是尋求一種準確的交通流數學模型進行預測。然而,由于交通流的隨機性和非線性特征,難以建立固定的數學模型,而且這類方法無法擺脫隨機干擾的影響,對于不同路況、不同天氣、不同日期的預測結果的誤差難以接受[6-8];第二類是智能交通流預測方法,如非參數回歸模型、支持向量機模型、神經網絡模型等,這類方法的適應性較強,可以應對諸多隨機因素的干擾[9-11];為了提高預測精度,出現了前兩類方法組合預測的第三類組合模型,如采用卡爾曼濾波模型與SVM相結合的方法,期望兩種方法互補,最終得到更高的預測準確度[12]。
近年來,隨著人工智能的逐步成熟,深度學習已廣泛應用于語音識別、自然語言處理、圖像分類等方面[13-14]。已有學者將RNN(recurrent neural network)及其改良算法GRU網絡應用于交通流預測領域,并取得了不錯的預測結果,但是該方法的預測穩定性一般,對于不同天氣、不同路況的道路交通流預測結果不盡如人意,而且預測精度還有待進一步提升[15-17]。文中從時間序列的角度出發,提出一種K-means聚類與GRU網絡相結合的預測方法,首先利用K-means聚類算法建立交通流模式庫,然后根據狀態向量及數據相似性確定訓練集,最后利用GRU神經網絡預測短時交通流。
K-means算法是使用逐次迭代細化來產生最終的聚類結果。算法的輸入是簇K和數據集的數量,數據集是每個數據點的功能集合,K的值是隨機生成或者從數據集中任意選定,在如下兩個步驟之間迭代:
(1)數據分配。
每個質心定義一個簇。在此步驟中,每個數據點分配到距其基于2范數的歐幾里德距離最近的質心,如式(1)所示。如果ci是集合C中的一個質心集合,則數據集中的點x都將被分配給一個基于質心ci的類簇中。
(1)
其中,dist()是2范數下的歐幾里德距離。
(2)質心更新。
在此步驟中,通過計算所有數據點的均值更新質心,如式(2)所示。
(2)
該算法不斷對步驟1和步驟2進行迭代,直到沒有數據點改變類簇,簇中每個數據點到質心距離的總和達到最小,或者達到最大迭代次數。
K-means聚類必須預先設定簇的個數K,選取適當的K值才能得到理想的聚類效果,對于后續交通流預測的準確度有直接影響。文中聚類對象是不同日期的交通流時間序列數據,則選用這些數據間的歐氏距離來度量各個時間簇之間的相似度,如式(3)所示。
(3)
其中,x1i、x2i分別表示兩個類簇的第i個值。
在評價聚類效果的優劣時,文中利用類內距離和類間距離進行評估。類內距離是指同一類各模式樣本點間的均方距離,類間距離是指每類中的數據點和其他類中數據均值的歐氏距離之和。類內距離、類間距離越小,聚類的效果越優異。
RNN神經網絡,即循環神經網絡,通過特點為環的連接實現存儲神經元當前時刻輸入與上一時刻輸出間的聯系。RNN神經網絡結構如圖1所示。

圖1 RNN網絡結構
RNN中隱藏層節點的輸入,包括上一隱藏層的輸出和前一時刻該層的輸出兩部分,這種環結構可以存儲歷史信息,更有利于時序建模。RNN網絡中,每一時刻的輸入,其輸出又循環地在下一個時刻輸入網絡。理論上,網絡當前輸出決定于該時刻之前每一時刻的輸出,但是,RNN網絡只能記憶一定時長的信息,此外,循環神經網絡還會出現梯度爆炸和梯度消失的問題。
門限循環單元(gated recurrent unit,GRU)神經網絡,是基于RNN網絡的優秀變體,它既克服了RNN的中長期依賴問題,而且結構簡潔,訓練時間和收斂速度更為優異。
GRU結構示意圖如圖2所示。

圖2 GRU結構示意圖
圖2中的zt和rt分別表示更新門和重置門。zt決定前一時刻的狀態信息傳輸到當前狀態的多少,zt越大表明前一時刻的狀態信息傳入到當前狀態越多。rt決定前一狀態有多少信息被寫入到當前的候選集ht上,rt越小,前一狀態的信息被寫入的越少。
單個門控單元在t時刻的計算過程如式(4)~式(8)所示。
rt=σ(ωr·[ht-1,xt])
(4)
zt=σ(ωz·[ht-1,xt])
(5)
(6)
(7)
yt=σ(ωo·ht)
(8)

GRU網絡可以有效學習時間序列的特征,根據歷史序列預測短時交通流,但是不同路況、不同天氣、不同日期等因素對交通流時間序列分布影響很大。例如,由于假期旅游出行的人數激增,此時道路交通模式與工作日截然不同。因此,文中首先通過聚類分析建立多類交通流模式庫,然后根據交通流數據選擇交通流模式,最后利用GRU網絡進行交通流預測。
基于聚類與GRU網絡的短時交通流預測架構如圖3所示。
依據圖3架構,文中預測短時交通流的具體流程如下:
(1)利用K-means聚類方法建立交通流預測模式庫。交通流模式庫的構建對GRU預測結果的準確度及效率有顯著影響。模式庫所包含的種類需適當,既要涵蓋該條道路交通流的所有狀態,又不存在過多的冗余數據。文中將以天為單位的交通流數據作為聚類對象,把歷史數據劃分為多類,并分別建立模式庫。如此,可以區分所研究道路不同日期的交通流模式。

圖3 基于聚類與GRU網絡的短時交通流預測架構
(2)定義狀態向量及數據相似性判別。選擇所研究路段的前24個時刻的交通流時間序列作為狀態向量,選擇歐氏距離來衡量數據相似性的指標。
(3)確定用于訓練的樣本數據。計算待預測時間段前24個時刻的實時交通流數據序列與模式庫中各類時間序列的相似性,選擇歐氏距離最小,即相似性最大的庫作為樣本數據庫。
(4)利用GRU神經網絡預測選定時段的交通流量。首先利用步驟(3)中選出的樣本庫作為訓練集訓練GRU網絡,然后將待預測時間段的前N個數據序列輸入訓練好的GRU網絡中得到預測結果,并與真實交通流序列進行對比。
為了驗證文中提出的基于聚類與GRU網絡相結合的交通流預測效果,選取美國加州Performance Measurement System(PeMS)數據為研究對象進行預測分析,并將預測結果與傳統預測方法進行對比分析。PeMS數據集在加利福尼亞全州范圍內部署了超過15 000個傳感器,文中隨機選擇PeMS路網中任意一個檢測站的交通流進行試驗,該數據集位于美國奧克蘭的Alameda,原始數據每30秒收集一次,根據以往的研究,5分鐘的交通流量更適合該預測。雖然隨機選擇的數據集存在缺失數據,但僅占整個數據集的小部分,因此使用歷史平均值來估算缺失的數據點進行數據填充。文中均是基于填補以后的數據集進行的實驗。
選取2016年1月4日到2016年3月30日的交通流數據,對其進行聚類并構建交通流模式庫。從交通流的實際特征以及預測的目的出發,K值不宜取得過大。文中分別對K取3、4、5三個數值進行K-means聚類分析,并且利用輪廓系數Si作為評價K值選取優劣的標準。輪廓系數結合了聚類的凝聚度和分離度,用于評估聚類的效果,該值處于-1~1之間,輪廓系數值越大,表示聚類效果越好,如式(9)和式(10)所示。
(9)
(10)
其中,si表示i向量的輪廓系數,ai表示向量i到同一簇內其他點不相似程度的平均值,bi表示向量i到其他簇的平均不相似程度的最小值,Si表示該聚類結果總的輪廓系數。文中所選不同K值下的交通流量聚類輪廓系數如圖4所示。

圖4 不同K值的輪廓系數
觀察圖4可知,當K=3時,輪廓系數最大,因此將這81天的交通流分為3類模式,如圖5所示。

(a)第一類交通流模式

(b)第二類交通流模式

(c)第三類交通流模式圖5 3類交通流量模式圖
通過比較2016年3月31日前24個時間點的交通流量與圖5所示的3類交通流模式的歐氏距離,得到其與第2類流量模式最為接近,因此,選定第二類交通流模式中所有天數的數據作為GRU網絡的訓練集,以2016年3月31日的數據作為測試數據。
均方根誤差(root mean square error,RMSE)、平均絕對百分比誤差(mean absolute percent error,MAPE)及R2_Score是評價預測效果的3個重要指標。其中,RMSE、MAPE評估預測結果的誤差,其值越小表明預測結果越準確;R2_Score評估預測模型的擬合優度,其值越接近于1表明該模型的擬合效果越好。其具體定義分別如式(11)~式(13)所示。
(11)
(12)
(13)

運用K-means與GRU網絡結合的方法進行預測,其預測值與真實值的對比結果如圖6所示,其中,實線表示s183-E檢測站2016年3月31日的實際流量,虛線表示使用文中方法得到的預測流量值。

圖6 預測值與真實值對比
觀察圖6可知,使用文中方法對交通流預測的結果與實際流量吻合度很高,證明基于K-means與GRU網絡的交通流預測方法具有可行性。
為了評價基于K-means與GRU網絡的交通流預測方法的準確性和有效性,與傳統GRU模型、SAEs模型的預測結果進行對比,結果如圖7所示。其中,實線表示真實流量,點狀虛線表示K-means-GRU方法的預測流量,虛線表示傳統GRU網絡的預測流量,+形實線表示SAEs模型的預測流量。

圖7 K-means-GRU與傳統GRU、SAEs網絡的預測對比
觀察圖7可知,與傳統GRU網絡和SAEs相比,基于K-means與GRU網絡相結合的交通流預測方法在流量波動的細節上與實際情況更為相符。
利用評價指標分別計算K-means-GRU、GRU與SAEs三種預測模型的RMSE、MAPE、R2_Score,如表1所示。

表1 K-means-GRU、GRU、SAEs模型的RMSE、MAPE、R2_Score
由表1可知,與GRU網絡相比,文中提出的K-means聚類與GRU神經網絡結合的交通流預測方法的RMSE降低了2.280 1,MAPE降低了2.54%,R2_Score的值更趨向于1,表明該方法對于交通流的預測擬合優度較好;與SAEs方法相比,預測誤差也更小。綜上所述,K-means聚類與GRU神經網絡結合的交通流預測方法可以更為準確、有效地預測交通流。
由于天氣、節假日、大型事件等因素的影響,使得不同日期的交通流有著不同的規律,神經網絡研究交通流分布特性時,籠統地將過去的時間序列作為訓練集來訓練網絡,沒有深入地考慮交通流的現實特點。文中提出基于K-means聚類與GRU神經網絡相結合的方法,充分考慮了交通流的實際分布特性,通過K-means方法建立模式庫,利用狀態向量及數據相似性確定與歷史相似性更高的數據作為訓練集,有效地降低了預測結果的RMSE和MAE值,是一種性能更好的預測方法。