孫振華,王轉(zhuǎn)轉(zhuǎn),肖 鑫
(1.紹興市交通建設(shè)有限公司,浙江 紹興 321000;2.長安大學(xué) 信息工程學(xué)院,陜西 西安 710064)
城市交通事故量是衡量一個城市特定時間內(nèi)道路安全水平的重要指標。交通事故的發(fā)生雖然微觀上具有一定的不確定性和隨機性,但在宏觀空間層面上還呈現(xiàn)一定的規(guī)律性,因而具有可預(yù)測性。當(dāng)前,預(yù)測的方式主要可以分為實時預(yù)測和短周期(如周和月)預(yù)測。實時預(yù)測通常應(yīng)用深度學(xué)習(xí)技術(shù)結(jié)合獲取的空間多源交通數(shù)據(jù)進行模型訓(xùn)練并進行交通事故量的預(yù)測[1-2];短周期交通事故量預(yù)測通常將交通事故量按時間先后順序構(gòu)成序列,對序列數(shù)據(jù)進行模型訓(xùn)練并進行預(yù)測。短周期交通事故量預(yù)測是市一級交警部門制定交通決策和交通措施的重要參考。對于經(jīng)驗豐富的交警而言,即使交通事故量時間序列基本趨勢表現(xiàn)為明顯的季節(jié)周期性特征,但疊加在周期性規(guī)律中的波動也會使他們也很難對交通事故進行較為準確的估計,因而如何使預(yù)測達到可接受的準確度是需要解決的問題。短周期城市交通事故量的準確預(yù)測需要捕獲交通事故量時間序列內(nèi)在的時序依賴關(guān)系。常用的基于時間序列的典型模型有自回歸模型、神經(jīng)網(wǎng)絡(luò)模型以及組合模型等。
時間序列自回歸模型是一種能對時間序列觀測值內(nèi)在時序依賴關(guān)系進行線性表征的一類模型。該類模型應(yīng)用前需要對時間序列樣本數(shù)據(jù)的平穩(wěn)性(數(shù)據(jù)的均值、方差、協(xié)方差指標是與時間無關(guān)的常數(shù))進行校驗以決定模型類型選擇并對參數(shù)定階來反映時序依賴關(guān)系。平穩(wěn)的數(shù)據(jù)適合選用自回歸滑動平均模型(Auto-Regressive and Moving Average Model,ARMA),模型階數(shù)p與q分別表示序列觀測值由過去的p個序列觀測值和q個隨機擾動的線性組合來表示。這兩個參數(shù)可通過計算相關(guān)系數(shù)和偏自相關(guān)系數(shù)并通過模型參數(shù)優(yōu)化方法最終確定,并由殘差序列是否為與時間序列無關(guān)的白噪聲來評估其有效性。謝華為[3]用具有平穩(wěn)特性的2003至2015年的全國交通事故數(shù)樣本確定ARMA參數(shù)并對2011至2015年的交通事故數(shù)進行擬合。如果樣本數(shù)據(jù)具有非平穩(wěn)特點,則需要采用差分自回歸移動平均模型(Auto-Regressive Integrated Moving Average Model,ARIMA)進行差分處理,差分次數(shù)d是該模型的一個輸入?yún)?shù)。張杰等[4]發(fā)現(xiàn)1970至1997年全國交通事故十萬人口死亡率時間序列樣本數(shù)據(jù)具有非平穩(wěn)特點,因此采用ARIMA進行差分處理并確定模型參數(shù)p、q和d,并對1993至1997年的死亡率進行預(yù)測。張艷艷等[5]采用ARIMA模型對非平穩(wěn)的2011至2014年福建海域水上交通的月事故量進行差分處理并確定參數(shù),對2015年各月水上交通事故量進行預(yù)測并評估誤差。季節(jié)性差分自回歸滑動平均模型(Seasonal Auto-Regressive Integrated Moving Average,SARIMA)在ARIMA基礎(chǔ)上引入季節(jié)性因子來表征數(shù)據(jù)的周期性特征,并從趨勢性、季節(jié)性變動以及隨機變動三個維度對時間序列數(shù)據(jù)內(nèi)在時序依賴關(guān)系進行度量。Halim等[6]觀察到印度尼西亞孟加錫市2016至2019年間的交通事故量具有明顯的季節(jié)性特征外,再引入了2020年新冠病毒流行期間事故量有明顯下降趨勢的數(shù)據(jù),建立SARIMA預(yù)測模型對2021全年的交通事故量的變化趨勢進行了預(yù)測。
基于神經(jīng)網(wǎng)絡(luò)的時間序列模型是能對時間序列觀測值變化進行自學(xué)習(xí)的一類模型。有別于時間序列自回歸模型參數(shù)的定階依賴樣本數(shù)據(jù)特征或先驗知識,該類模型能自動捕獲時間序列樣本觀測值內(nèi)在的時序依賴關(guān)系并能進行樣本外預(yù)測,實現(xiàn)這一點的前提往往需要樣本數(shù)據(jù)量足夠豐富,如果有同樣時空相關(guān)的截面數(shù)據(jù)輔助則更好。安杰等[7]為了預(yù)測2011年交通事故中的事故數(shù)、死亡人數(shù)、受傷人數(shù)及綜合死亡率,選取1997到2010年時間序列相關(guān)數(shù)據(jù)的同時,還引入了同時期的國內(nèi)生產(chǎn)總值(GDP)、人口數(shù)、公路里程等維度數(shù)據(jù),評估它們與同年全國交通事故量的相關(guān)性進而形成截面數(shù)據(jù),將當(dāng)年截面數(shù)據(jù)作為輸入以及將來年的年交通事故量作為期望輸出值,訓(xùn)練得到基于誤差反向傳播(Back Propagation,BP)神經(jīng)網(wǎng)絡(luò)的道路交通安全預(yù)測模型。李興兵[8]等用BP神經(jīng)網(wǎng)絡(luò)對城市2011 至2016 年的每日數(shù)據(jù)作為時間序列訓(xùn)練樣本,結(jié)合機動車年保有量、日天氣因素、節(jié)假日類型等構(gòu)成截面數(shù)據(jù),并對2017年每日數(shù)據(jù)作為驗證樣本進行預(yù)測。由于BP神經(jīng)網(wǎng)絡(luò)模型有收斂速度慢、訓(xùn)練時間長、容易陷入局部極小點等缺點,因而張志豪等[9]針對1998至2012年全國交通事故死亡人數(shù)時序數(shù)據(jù)以及GDP、國民總收入、人均GDP等維度的截面數(shù)據(jù),采用長短時記憶神經(jīng)網(wǎng)絡(luò)模型(Long Short-Term Memory,LSTM)進行模型參數(shù)的訓(xùn)練,并對2013至2016年全國交通死亡人數(shù)進行預(yù)測,取得了較好的預(yù)測效果。
組合模型是將多個類型模型融合起來對交通事故進行預(yù)測的一類模型,與時間序列自回歸模型一樣都具有很強的數(shù)據(jù)特性決定模型選擇的特征。孫秩軒等[10]發(fā)現(xiàn)城市2006年1月至2013年6月道路交通事故月度受傷人數(shù)為非平穩(wěn)數(shù)據(jù),提出基于ARIMA模型和支持向量回歸機(Support Vector Regression,SVR)的組合預(yù)測模型。該模型確定ARIMA參數(shù)來擬合2006至2012年的84個數(shù)據(jù)。由于殘差波動具有明顯的季節(jié)性特征,繼而構(gòu)造含有殘差模糊粒子的子序列對SVR進行參數(shù)尋優(yōu)回歸擬合。這樣得到的組合模型的預(yù)測準確度相比于單一ARIMA模型有明顯提高。謝學(xué)斌[11]基于ARIMA 和XGBoost (Extreme Gradient Boosting,極端梯度提升)組合模型對1951至2010年全國交通事故量進行擬合。XGBoost是一種基于決策樹的分布式高效梯度提升算法,在該研究中實現(xiàn)對ARIMA模型擬合值殘差進行預(yù)測。張志豪等[12]提出LSTM-GBRT(Gradient Boosted Regression Trees, 梯度提升回歸樹,是一種基于決策樹的分布式高效梯度提升算法)組合預(yù)測模型,針對1998年至2012年全國交通事故中的死亡人數(shù)以及包含GDP、國民總收入、人均GDP等維度的截面數(shù)據(jù),采用LSTM進行模型參數(shù)的訓(xùn)練,用GBRT實現(xiàn)對LSTM擬合值殘差進行預(yù)測,從而提升了2013至2016年全國交通死亡人數(shù)預(yù)測的準確度。王臻[13]和張興強提出了ARIMA和模糊神經(jīng)網(wǎng)絡(luò)模型(Fuzzy Neural Network,F(xiàn)NN)組合模型,用ARIMA來擬合1980至2004年全國道路交通事故量,用模糊神經(jīng)網(wǎng)絡(luò)模型(Fuzzy Neural Network,F(xiàn)NN)以當(dāng)年的截面數(shù)據(jù)(公路里程、機動車擁有量、客運周轉(zhuǎn)量、貨運周轉(zhuǎn)量以及GDP、事故起數(shù))為輸入,對來年的事故數(shù)作為輸出量進行監(jiān)督擬合學(xué)習(xí),再通過最優(yōu)加權(quán)方法確定兩個模型的權(quán)重形成組合模型,利用該組合模型對全國2005至2007年道路交通事故量進行預(yù)測并取得了較好的效果。
研究工作選用LSTM對國內(nèi)某市周交通事故量進行預(yù)測的原因是:
(1)對交通事故量進行預(yù)測需要捕獲特定時空交通事故量時間序列內(nèi)在的依賴關(guān)系,并假定依賴關(guān)系保持不變從而能進行預(yù)測。然而這種依賴關(guān)系會因交通環(huán)境、道路、車輛數(shù)量、交通參與者隨著時間的變化而演變,因而采用LSTM進行參數(shù)的自學(xué)習(xí)調(diào)整對模型隨時間演化就顯得很有必要;
(2)當(dāng)前對交通事故量預(yù)測研究所用的數(shù)據(jù)多為全國級別并以年為單位,尚沒有諸如對市級周交通事故量時空下不使用截面數(shù)據(jù)的相關(guān)預(yù)測研究,這種短周期城市級的預(yù)測對交警的實際決策工作更有意義。

it=δ(Wi·[at-1,xt]+bi)
(1)
ot=δ(Wo·[at-1,xt]+bo)
(2)
ft=δ(Wf·[at-1,xt]+bf)
(3)
(4)
(5)
ht=at=ot*tanh(ct)
(6)
其中,δ和tanh分別代表激活函數(shù)Sigmoid和雙曲線正切函數(shù)這兩類非線性函數(shù),W和b表示相應(yīng)的權(quán)重系數(shù)矩陣和偏置向量,“*”表示點乘。LSTM根據(jù)輸入序列計算輸出序列并與設(shè)定的期望值進行誤差分析,通過迭代更新系數(shù)的學(xué)習(xí)方式使誤差最小化或收斂,從而具有逼近可表征觀測值函數(shù)的能力,即捕獲當(dāng)前序列觀測值和前序觀測值的時序依賴關(guān)系,最終完成系數(shù)調(diào)整的LSTM神經(jīng)網(wǎng)絡(luò)就具有了對訓(xùn)練樣本的擬合以及對驗證樣本的預(yù)測能力。正因為如此,LSTM神經(jīng)網(wǎng)絡(luò)及其擴展型已應(yīng)用到具有時間序列特征但時序觀測值關(guān)系復(fù)雜的交通預(yù)測當(dāng)中,除交通事故量預(yù)測外,還應(yīng)用于短時交通流預(yù)測[14-15]、異常駕駛行為檢測[16]、道路交通速度預(yù)測[17]、鐵路貨運量預(yù)測[18]、交通流狀態(tài)預(yù)測[19]、船舶航跡預(yù)測[20]、公交行程時間預(yù)測[21]等。

圖1 LSTM模型邏輯結(jié)構(gòu)
(1)構(gòu)造日粒度交通事故量時間序列。
對一個城市特定的時間段內(nèi)按照每日發(fā)生的事故起數(shù)進行統(tǒng)計,就可構(gòu)造出日粒度交通事故量時間序列Seq_X1={x1,x2,…,xt}。
(2)時間序列觀測值的離差標準化。
由于序列中的交通事故觀測值波動較大,這會影響到LSTM訓(xùn)練的速度和精度。為消除這種影響,需針對觀測值序列進行如式(7)的離差標準化[22]處理。
(7)
經(jīng)過離差標準化處理后的時間序列表示為:

(1)構(gòu)造訓(xùn)練集。
訓(xùn)練集X1與Y1如式(8)所示:
(8)


(2)確定LSTM超參數(shù)。
LSTM隱含層存儲單元個數(shù)N:
隱含層數(shù)目設(shè)為1,其存儲單元個數(shù)按經(jīng)驗公式(9)來確定。

(9)
其中,n=w,m=1 ,a可取1到10中的一個值,此處a取10。
損失函數(shù):
損失函數(shù)選用平均絕對誤差(MAE),表示訓(xùn)練集擬合結(jié)果與期望輸出值的偏離程度loss,如式(10)所示。
(10)

迭代次數(shù)epochs:
該參數(shù)表示用(X1,Y1)訓(xùn)練LSTM并使式(10)的誤差loss趨向收斂的次數(shù),可通過觀察來確定。
(3)確定最優(yōu)滑動時間窗口算法。
滑動窗口w決定了(X1,Y1)構(gòu)成,不同的(X1,Y1)訓(xùn)練出的LSTM預(yù)測模型的擬合結(jié)果誤差有所不同,即w間接決定了誤差值,因而需要確定一個最優(yōu)長度的w',從而使訓(xùn)練出的LSTM預(yù)測模型擬合誤差最小,相應(yīng)的算法如圖2所示。

圖2 最優(yōu)滑動窗口算法流程
(1)構(gòu)造驗證集。
(11)

(2)預(yù)測結(jié)果對驗證集的周粒度誤差評估。

(12)

(3)預(yù)測結(jié)果對驗證集的周粒度擬合效果評估。

(13)

城市交通事故發(fā)生后,執(zhí)勤交警會記錄每個事故人、車、路、環(huán)境的詳細信息形成一條交通事故記錄,包括事故發(fā)生的時間、發(fā)生路段地點、車輛、駕駛員、環(huán)境、財產(chǎn)損失、傷亡人數(shù)、雨雪天氣等。對來自國內(nèi)某市2011至2015年20 988條交通事故記錄按日統(tǒng)計就形成日粒度交通事故量時間序列1 824條。以2014年為界形成訓(xùn)練集和驗證集,將這些日統(tǒng)計記錄以月為單位分成四組,前三組七天為一個單位,后一組為剩余天數(shù),統(tǒng)計形成周粒度交通事故量時間序列240條(以下周粒度默認指此類型),將2011年至2014年的時間序列(其中日粒度為1 459條,周粒度為192條)作為訓(xùn)練集,2015年的時間序列作為驗證集(其中日粒度365條,周粒度48條)。經(jīng)過驗證交通事故量是平穩(wěn)數(shù)據(jù),因而也可采用ARMA和SARMA進行預(yù)測對比實驗。
在Keras框架中,用Python3.8對周粒度時間序列訓(xùn)練集按圖2算法流程計算得到最優(yōu)滑動窗口w'=45的LSTM市級周粒度交通事故量預(yù)測模型,其對訓(xùn)練集的擬合結(jié)果和驗證集的預(yù)測擬合結(jié)果能很好表達數(shù)據(jù)的基本趨勢,但不能很好地匹配波動的數(shù)據(jù),因而圖3中度量擬合效果和預(yù)測擬合效果的R-square指標值都欠佳。采用ARMA模型和SARMA模型也出現(xiàn)類似效果,這說明基于交通事故量訓(xùn)練的用于捕獲觀測值時序依賴關(guān)系的模型對數(shù)據(jù)基本趨勢準確性的表達遠好于對其波動性的表達。

圖3 最優(yōu)滑動窗口LSTM市級周級組粒度交通事故量預(yù)測模型對訓(xùn)練集擬合效果以及對驗證集預(yù)測的擬合效果
圖4展示了最優(yōu)滑動窗口w'=72的LSTM市級日交通事故量預(yù)測模型對訓(xùn)練集的擬合結(jié)果和對驗證集的預(yù)測結(jié)果與圖3類似,因而度量擬合效果和預(yù)測擬合效果的R-square指標值也都欠佳。需要注意的是,細粒度下的預(yù)測結(jié)果對交通事故量基本趨勢的準確描述可轉(zhuǎn)化為粗粒度下對波動性準確描述的事實,如周粒度下顯著的波動在日粒度下則表現(xiàn)為較為平緩的變化趨勢疊加小規(guī)模的波動。將這三類模型的擬合結(jié)果和預(yù)測結(jié)果從日粒度轉(zhuǎn)為周粒度統(tǒng)計口徑后,如圖5所示,三個模型相對于圖3各自都提升了擬合效果和預(yù)測擬合效果,尤其是LSTM和ARMA模型較為明顯,度量預(yù)測擬合效果的R-square指標值分別為0.817和0.832,這意味著預(yù)測結(jié)果整體上與實際結(jié)果吻合程度分別達到了81.7%和83.2%。而SARIMA模型擬合效果相對較差的原因可解釋為數(shù)據(jù)季節(jié)周期性相對不突出所致。需要明確的是,LSTM預(yù)測模型對驗證集較為準確的預(yù)測能力實際上是來自對訓(xùn)練集交通事故量時間序列內(nèi)在依賴關(guān)系的學(xué)習(xí)與量化(ARMA也是如此),然而圖5中描述驗證集的預(yù)測擬合效果的R-square指標值0.817稍高于訓(xùn)練集擬合效果0.719,這可解釋為正常的交通事故量波動引起。對于市級周交通事故量預(yù)測而言,平均絕對百分比誤差在15%以內(nèi)是可接受的準確度,圖5中LSTM和ARMA模型對訓(xùn)練集的擬合結(jié)果和對驗證集的預(yù)測結(jié)果的平均絕對百分比誤差都在這一范圍內(nèi)。

圖4 最優(yōu)滑動窗口LSTM市級日交通事故量預(yù)測模型對訓(xùn)練集擬合效果以及對驗證集預(yù)測的擬合效果

圖5 最優(yōu)滑動窗口LSTM市級日交通事故量預(yù)測模型的輸出結(jié)果轉(zhuǎn)為周粒度時對訓(xùn)練集擬合效果以及對驗證集的預(yù)測擬合效果
圖6展示了2011~2014年期間七天為一周的統(tǒng)計口徑得到的周交通事故量以及劃分的訓(xùn)練集和驗證集,與圖5對比可發(fā)現(xiàn),雖然交通事故量曲線有了明顯變化,但是LSTM和ARMA則保持了同樣好的擬合效果和預(yù)測擬合效果,從另一個側(cè)面也印證了細粒度下預(yù)測結(jié)果對交通事故量基本趨勢的準確描述可轉(zhuǎn)化為粗粒度下對波動性的準確描述。雖然LSTM和ARMA都取得了較好的預(yù)測效果,但LSTM不像ARMA那樣需要人工輔助來進行參數(shù)定階,這個優(yōu)點有利于LSTM隨時間而滾動更新參數(shù)以保證預(yù)測的準確性,畢竟市級周交通事故時間序列內(nèi)在依賴關(guān)系會隨時間有所變化。然而需要注意的是,滑動時間窗口的長度對基本趨勢準確描述有直接影響。圖7展示了滑動窗口w=306的LSTM市級日交通事故量預(yù)測模型輸出結(jié)果轉(zhuǎn)為周粒度后對訓(xùn)練集的擬合和對驗證集的預(yù)測擬合效果,兩個R-square指標值的顯著下降可解釋為w=306滑動窗口首先會造成日粒度下對驗證集的基本趨勢描述準確度下降,進而影響了周粒度下對數(shù)據(jù)波動描述的準確度。圖8展示了滑動窗口長度w與周粒度擬合效果和預(yù)測擬合效果的R-square指標值的關(guān)系——呈現(xiàn)了先增大后減小趨勢,這個變化過程說明采用最優(yōu)窗口算法為LSTM市級日交通事故量預(yù)測模型確定最優(yōu)窗口長度很有必要。

圖6 最優(yōu)滑動窗口LSTM市級日交通事故量預(yù)測模型的輸出結(jié)果轉(zhuǎn)為七天一周統(tǒng)計口徑時對訓(xùn)練集擬合效果以及對驗證集的預(yù)測擬合效果

圖7 w=306滑動窗口LSTM市級日交通事故量預(yù)測模型輸出結(jié)果轉(zhuǎn)為周粒度時對訓(xùn)練集擬合效果以及對驗證集預(yù)測的擬合效果

圖8 LSTM市級日交通事故量預(yù)測模型輸出結(jié)果轉(zhuǎn)為周粒度時對訓(xùn)練集擬合以及對驗證集預(yù)測的R-square值與滑動窗口長度關(guān)系
實驗結(jié)果表明,提出的“用LSTM對市級周交通事故預(yù)測方法”可基于市級日粒度交通事故量時間序列對周交通事故量進行較為準確的預(yù)測。對交通事故量進行預(yù)測目前類似研究所用的數(shù)據(jù)多為全國每年的交通事故量時間序列,但由于該類數(shù)據(jù)量較少而很難發(fā)揮神經(jīng)網(wǎng)絡(luò)模型自我學(xué)習(xí)能力來捕獲數(shù)據(jù)的時序依賴關(guān)系,往往需要補充多維截面數(shù)據(jù),但截面數(shù)據(jù)會因涉及多個行業(yè)部門以及在統(tǒng)計上的滯后會影響交通事故量預(yù)測的時效性,而只基于交通事故量時間序列進行預(yù)測則會減少這方面的困難并增強預(yù)測模型的實用性。
(1)提出了用LSTM對市級周交通事故量預(yù)測方法。該方法通過構(gòu)建一個對應(yīng)最優(yōu)輸入序列長度的LSTM市級日交通事故量預(yù)測模型捕獲交通事故量時間序列中的當(dāng)前觀測值與前序觀測值的時序依賴關(guān)系,當(dāng)將預(yù)測結(jié)果轉(zhuǎn)為周粒度統(tǒng)計口徑后,就實現(xiàn)了對交通事故量較為準確的預(yù)測。該方法不需要相關(guān)截面數(shù)據(jù),因而對市級交警預(yù)測交通事故量具有實用價值。
(2)市級交通事故量時間序列的波動是影響對其準確預(yù)測的關(guān)鍵因素,所提的預(yù)測方法解決了影響市級周交通事故量準確預(yù)測的問題。該方法發(fā)現(xiàn)基于交通事故量訓(xùn)練的用于捕獲觀測值時序依賴關(guān)系的LSTM模型對數(shù)據(jù)基本趨勢準確性的表達遠好于對數(shù)據(jù)波動性的表達,為此提出最優(yōu)窗口算法來確定LSTM模型最優(yōu)窗口長度,以確保對訓(xùn)練集基本趨勢表達的準確性,再根據(jù)所發(fā)現(xiàn)的預(yù)測結(jié)果對細粒度交通事故量基本趨勢的準確描述可轉(zhuǎn)化為粗粒度下對波動性準確描述的事實,將日粒度預(yù)測結(jié)果轉(zhuǎn)為周粒度后就取得了較準確的預(yù)測效果。
(3)用LSTM對市級周交通事故量預(yù)測方法能進行較為準確預(yù)測的前提是驗證集和訓(xùn)練集保持相同的時序依賴關(guān)系。隨著時間的推進,如果預(yù)測結(jié)果與訓(xùn)練集時間過久很難保證這種時序依賴關(guān)系不發(fā)生變化,因而下一步將研究市級日交通事故量LSTM預(yù)測模型的自我優(yōu)化更新機制來保持預(yù)測的準確性。