于德新,邱 實,周戶星,王卓睿
(1.吉林大學 交通學院,吉林 長春 130022;2.吉林省道路交通重點實驗室,吉林 長春 130022)
智能交通系統中,短時交通流預測一直是學術界關注的重點,它即能為交通管理者制定管控措施提供依據,又能為交通參與者提供引導信息,使交通流合理分配,提高道路交通效率,減少碳排放,緩解道路交通擁擠。國內外學者均進行了大量研究,其模型主要分為4大類:①線性系統理論預測方法,包括歷史平均法、時間序列預測法[1]、卡爾曼濾波預測方法[2]等。系統狀態(tài)通過描述系統行為特征的變量來表現,其原理相對簡單。GUO[3]等利用卡爾曼濾波器實現了SARIMA+GARCH結構,以交通流15 min區(qū)間數據作實例驗證,表明自適應卡爾曼濾波方法能夠生成水平預測和預測區(qū)間,在流量不穩(wěn)定的情況下表現出更好的適應性。林培群[4]等提出用K近鄰算法匹配地鐵客流量進行短時客流量預測,結果表明能夠準確預測不同交通模式的地鐵客流量。②非線性系統理論預測方法,包括小波分析法[5]、突變理論[6]、混沌理論等。短時交通流具有非線性特性,故應用效果更好。CARDOSO[7]提出自適應估計小波變換尺度系數的方法,仿真結果驗證了小波域內對建模參數的估計是準確的。③智能模型預測法,包括神經網絡預測模型[8-9]、支持向量機預測模型、元胞自動機理論等。智能模型具有預測精度好、自適應能力強、可實時預測等優(yōu)點,適用于復雜的交通系統。王體迎[10]等采用門限遞歸單元循環(huán)神經網絡的方法預測加拿大某省的交通數據,其結果優(yōu)于ARIMA與SVR兩種方法,但未能表明是否適用于我國交通現狀。④組合模型預測法。CEEMDANPE-OSELM預測模型[11],提出了一種根據歷史數據的噪聲分解重組構建新序列方法,將重組結果相加獲得最終的預測流量。所述各類方法具有不同適用情況,客觀地反映了交通流變化的根本特征。
近年來,機器學習的新領域深度學習已成為眾多學者的研究內容[12-13],它模擬人腦進行學習分析圖像、聲音和文本,能夠實現特定的任務。本文利用其分類下的RNN(Recurrent Neural Network)循環(huán)神經網絡模型,當大量交通數據作為輸入時,可以根據時空相關性對數據進行時序分解和重構,處理后樣本的依賴性明顯降低,其預測結果反映了數據變化規(guī)律,相比其他模型具有更快的處理速度和更強的計算能力[14-15]。
首先分析缺失數據的模式,利用算法對數據樣本之間關系的出色自動分析能力對交叉口交通流量進行隨機森林算法補全。
現有檢測器數據由于故障等原因并不能得到完整數據,這就需要對現有數據進行補全或者丟棄處理。但簡單地數據丟棄并不是一個合理做法,有價值的數據可能會隨之丟失。常用缺失數據處理方法一般采用剔除法、均值替換法、線性回歸法等等,但是這些方法都無法避免主觀因素對原始數據的影響,且預測誤差很大。本文針對城市交叉口檢測器數據的長周期缺失情況,即缺失時間是數周期甚至數小時,提出采用隨機森林模型進行數據補全,此算法利用非缺失的數據序列訓練回歸樹,再通過樹的組合形成隨機森林,在變量 (列)的使用和數據 (行)的使用上進行隨機化,生成很多回歸,再通過求均值,匯總回歸樹的結果,預測出缺失值。
隨機森林回歸算法是基于回歸樹的集成算法?;貧w樹采用最小均方差原則,即對于任意劃分特征A,對應的任意劃分點S兩邊劃分成的數據集D1和D2,遍歷所有特征與嘗試該特征所有取值后,求出使D1和D2各自集合的均方差最小,同時D1和D2的均方差之和最小所對應的特征和特征值劃分點。表達式為:
式中:c1為D2數據集的樣本輸出均值,c2為D2數據集的樣本輸出均值。
回歸樹的預測是根據葉子結點的均值,因此隨機森林的預測是所有樹的預測值的平均值。
假設隨機森林由NTREE回歸樹構成,算法步驟如下:
步驟1:從訓練集Sii∈(1,n( ))中隨機取樣(有放回抽樣);
步驟2:從N個特征中隨機抽取K個特征;
步驟3:按照回歸樹算法訓練得到模型Ht;
步驟4:重復步驟1、2、3,直到NTREE棵樹構建完畢;
步驟5:對未知樣本X回歸時,每個模型Ht都得出一個回歸結果,通過計算平均值,最終得到隨機森林預測結果。
補全數據流程如圖1所示。
其中基尼不純度是指將來自集合中的某種結果隨機應用于集合中某一數據項的預期誤差率,即:
圖1 數據補全流程Figure 1 Data completion process
式中:fi為事件發(fā)生的概率。
為便于理解本方法,簡單介紹循環(huán)神經網絡(Recurrent Neural Network,RNN),它區(qū)別于前饋神經網絡通過輸入數據后向前傳播得出損失函數的殘差,再把殘差向后傳播,不斷調節(jié)網絡權重值后,得出訓練結果,其目的是最少量得出預測值[16]。而RNN是一類專門用于處理序列數據的神經網絡,對文本處理上有明顯優(yōu)勢,序列中當前的輸出與之前的輸出相關,會對前面的信息進行記憶并應用于當前的輸出中,在RNN結構中引入GRU單元,通過門的控制,決定歷史數據序列的權重,在實踐過程中降低訓練的復雜性、縮短訓練的時間[17-18]。
將RNN的反饋結構展開,如圖2所示,引入門的概念,修改了循環(huán)神經網絡中隱藏狀態(tài)的計算方式,其他輸入和輸入設計不變。圖2中,為時刻的輸入,隱藏層中存在兩個門限,分別為更新門和重置門,即圖中的和。將輸入和前一時刻隱藏狀態(tài)組合成向量,經過激活函數Tanh后,輸出新的隱藏狀態(tài),進行信息的傳遞過程。
圖2 GRU-RNN結構展開圖Figure 2 RNN structure expansion diagram based on GRU
a.更新門rt與重置門zt。
更新門決定前一時刻的狀態(tài)對當前狀態(tài)的影響程度,值越大影響程度越大。重置門控制對前一時刻的忽略程度,值越小說明忽略的越多,其中ht-1表示前一時刻的隱藏狀態(tài),σ表示sigmoid激活函數,W為輸入的權重向量。
c.隱藏狀態(tài)。
綜上所述,流量數據具有明顯時間依賴性,過去的交通狀態(tài)會對當前狀態(tài)產生長期影響,GRURNN通過控制與更新門限層控制模型的記憶能力[19](7),在不斷迭代過程中,對歷史數據的特征信息進行記憶與更新,歷史數據會被賦予不同的權重值,已經訓練的模型會對接下來的數據進行預測[20]。
首先將交通流數據從檢測器中提取并進行簡單處理,用矩陣形式表示當天駛過此監(jiān)測點的交通流量數據記錄,采用熱獨編碼形式對其外部因素進行獨立編碼,預測未來時刻交叉口的交通流量,因此設置時間間隔為24 h,第N天的交通流量矩陣為X∈RN,其中矩陣中元素Xi,j,i為該交叉口的5 min序列號,j為交叉口的特征。這種方法不僅可以預測交叉口的每天流量,對每5 min的交通流量也可精準預測,能夠達到更細粒度的結果,對交通管理和調度更有利。
時間序列的GRU-RNN模型可分解為3個RNN子序列,其每個子序列分別對應短時記憶、周期記憶與長時記憶。捕捉數據中的交通流量特性,分別進行擬合,將子序列的權重進行加權融合,通過訓練得到最終結果
基于時間序列的GRU-RNN交通流量預測方法的基本思想如下:
步驟2:分析每個數據的特征,及其相對應的變化規(guī)律,對此進行時序分解建模。
步驟3:構建GRU-RNN模型,對訓練后的結果賦予不同的權重,求解后可得到最終模型。X′=θ1Xs+θ2Xp+θ3Xl,式中 θ1,θ2,θ3為權重值,Xs,Xp,Xl分別對應不同特性的擬合結果。
選取合肥市黃山路交叉口,采集西進口連續(xù)5個工作日的5 min流量數據,其檢測器的布設及交叉口類型如圖3所示。共有1 440個數據樣本,由于檢測器故障等原因,數據集有10%缺失,故用隨機森林回歸算法做補全數據處理。
選用完整數據作為特征值,并篩選非空樣本集合作為因變量,建立隨機森林回歸模型,對存在缺失值的樣本進行填充。為有效消除量綱影響,便于機器學習,采用Z-score標準化方法對自變量進行數據處理,使得數據服從標準正態(tài)分布,即;
圖3 交叉口特性Figure 3 Characteristics of intersections
式中:x為個體觀測值;μ為總體數據的均值;σ總體數據的標準差。
硬件及軟件環(huán)境分別為Intel i 7、3.6 GHz CPU、32 GB內存的工作機,以Myeclipse 8.5作為開發(fā)環(huán)境,連接Python實現隨機森林模型及GRU-RNN的搭建與訓練,其中,對比了隨機森林模型與線性回歸模型的誤差水平。
如圖4所示,隨機森林模型可以實現與現有交通流的變化趨勢,且交通量出現突變時,本文采用模型補全方法更貼近真實值??梢钥闯?,在長周期缺失情況下,線性回歸模型的補全交通量可能為負值,模型的穩(wěn)定性相較之略差。
圖4 缺失值補全數據Figure 4 Missing value completion data
以原始結果作為橫坐標,以預測結果作為縱坐標,如圖5所示,隨機森林的預測結果更貼近于標準線,模型訓練結果更好。采用擬合優(yōu)度 (R2)與均方差誤差根作為評價指標,從表1中能夠得到隨機森林算法的擬合優(yōu)度大于線性回歸法,誤差也有所減小。
圖5 擬合結果Figure 5 Fitting results
擬合優(yōu)度(R2)與均方根誤差(RMSE)分別為;
表1 預測結果指標對比Table 1 Comparison of prediction indicators results
將前四天流量數據作為模型訓練集,第五天數據作為模型測試集,訓練集維度為287行4列,對比經典BP神經網絡預測模型,采用擬合優(yōu)度與均方差誤差根作為評價指標,驗證本文所提方法的有效性。
參數設置如表2所示,因為交通流量數據具有噪聲,使用Adam算法進行優(yōu)化,更適用于噪聲和梯度消失的問題。
表2 參數設置Table 2 Parameter Settings
由圖6可知,GRU-RNN模型流量預測值與真實值最為接近,對于流量的變化幅度擬合更好。BP神經網絡預測模型與真實值的擬合程度低,與真實值有所偏離。
圖6 預測效果評估Figure 6 Prediction effect evaluation
由圖7可知,GRU-RNN模型誤差小于BP神經網絡模型,更貼近于真實值。由表3所示,擬合優(yōu)度為0.962,越接近于1時說明擬合效果越好,均方根誤差RMSE為6.258,較BP模型誤差小近一半,說明誤差分布更穩(wěn)定。GRU-RNN連續(xù)流量數據中挖掘時間序列的規(guī)律,精度高擬合效果好的主要原因:在擬合過程中沒有忽略樣本中的缺失數據,補全之后獲得高質量高連續(xù)性數據;在預測過程中通過激活函數和門限控制獲得了更好的時空信息相關性,減少了原本RNN中的梯度爆炸與梯度消失的問題。
表3 模型預測指標對比Table 3 Comparison of prediction indexes of the model
圖7 預測結果誤差分布Figure 7 Error distribution of prediction results
a.從交通流量數據長周期缺失問題中入手,提出采用隨機森林算法的數據補全方法,評估了算法的性能,驗證了數據補全的有效性。
b.在深度學習理論框架下,采用GRU-RNN模型根據流量數據的時空關聯性完成時間序列重構,實現了交通流量精準預測。
c.預測模型與經典BP神經網絡相比,擬合優(yōu)度值為0.962,與真實值擬合效果更好,均方根誤差為6.2576,誤差分布更均勻穩(wěn)定。
d.所用方法對城市交叉口的檢測器數據有明顯適用性,所預測結果準確度優(yōu)于其他方法。
e.隨著深度學習不斷發(fā)展,將成果應用于大數據環(huán)境中,且交通流預測不僅與時間序列相關,也受相鄰交叉口上下游流量的空間屬性影響,今后將進一步深入研究以上內容,實現更高效準確的交通流預測。