孔維麟,李文棟,楊立柱,張魯玉,王慶斌
1.山東建筑大學(xué)交通工程學(xué)院,山東 濟南 250101;2.中國市政工程西北設(shè)計研究院有限公司,甘肅 蘭州 730030;3.云南省設(shè)計院集團有限公司,云南 昆明 650118
隨建設(shè)交通強國的推進及智能交通技術(shù)的迅速發(fā)展,人們越來越重視道路交通安全。道路交通事故預(yù)測可降低交通事故潛在發(fā)生的影響程度,同時為事故管理部門提供相關(guān)信息,依據(jù)預(yù)測結(jié)果及時規(guī)劃交通方案,對提高道路交通安全水平有重要意義[1]。
傳統(tǒng)的交通事故預(yù)測模型有自回歸移動平均(autoregressive moving average,ARMA)模型、差分自回歸移動平均(autoregressive integrated moving average,ARIMA)模型和灰色預(yù)測模型等:謝華為[2]根據(jù)平穩(wěn)時間序列建立ARMA道路交通事故預(yù)測模型;李心儀等[3]采用ARMA模型預(yù)測浙江省道路交通事故死亡人數(shù);Li等[4]將ARMA模型與Apriori算法結(jié)合,預(yù)測交通狀態(tài)趨勢;Luo等[5]改進季節(jié)性差分自回歸移動平均(seasonal autoregressive integrated moving average,SARMIA)模型,并與遺傳算法相結(jié)合預(yù)測交通流;胡哨剛等[6]采用灰色預(yù)測方法預(yù)測鐵路交通事故。ARMA、ARIMA模型能預(yù)測有明顯趨勢的事故數(shù)據(jù),但無法預(yù)測非平穩(wěn)性序列,灰色預(yù)測模型在處理有較少特征數(shù)據(jù)時能得到規(guī)律較強的生成序列,但預(yù)測波動變化明顯的序列時誤差較大。
與傳統(tǒng)預(yù)測模型相比,深度學(xué)習(xí)預(yù)測模型有較強的非線性映射能力和自適應(yīng)能力,能提取數(shù)據(jù)隱藏的自然結(jié)構(gòu)和固有的抽象特征:Mo[7]基于反向傳播(back propagation,BP)神經(jīng)網(wǎng)絡(luò)改進ARIMA模型,解決ARIMA模型不能較好擬合高維度噪聲時間序列問題;Wang等[8]提出粒子群優(yōu)化算法(particle swarm optimization,PSO)聯(lián)合BP神經(jīng)網(wǎng)絡(luò)的PSO-BP駕駛員反應(yīng)時間預(yù)測模型;吳芮[9]將BP神經(jīng)網(wǎng)絡(luò)與遺傳算法相結(jié)合預(yù)測交通事故嚴重程度;李博豪[10]通過PSO優(yōu)化BP神經(jīng)網(wǎng)絡(luò)建立多影響因素下高速公路交通事故嚴重程度實時預(yù)測模型;Shen等[11]采用BP神經(jīng)網(wǎng)絡(luò)預(yù)測進入高速公路休息區(qū)的車輛百分比。BP神經(jīng)網(wǎng)絡(luò)存在收斂速度慢且易陷入局部最小值等缺點。長短期記憶(long short-term memory,LSTM)神經(jīng)網(wǎng)絡(luò)通過引入門控單元機制,有效解決處理長序列數(shù)據(jù)時梯度消失和梯度爆炸的問題:Bhandari等[12]通過試驗證明LSTM神經(jīng)網(wǎng)絡(luò)有優(yōu)異的擬合性和較高的預(yù)測準確度;Zhang等[13]將LSTM神經(jīng)網(wǎng)絡(luò)與梯度增強回歸樹(gradient boosting regression tree,GBRT)算法結(jié)合,建立LSTM-GBRT的交通事故預(yù)測模型;熊曉夏等[14]將貝葉斯濾波(Bayesian filter,BF)與LSTM神經(jīng)網(wǎng)絡(luò)結(jié)合,評估高速公路事故風(fēng)險狀態(tài);Oliveira等[15]將多層感知器與LSTM神經(jīng)網(wǎng)絡(luò)結(jié)合,預(yù)測交通流量。網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)的設(shè)置對預(yù)測性能有較大影響,以上研究多基于BP神經(jīng)網(wǎng)絡(luò)確定LSTM神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)參數(shù),計算量大、復(fù)雜度高且易陷于局部最優(yōu)。
灰狼優(yōu)化(grey wolf optimizer,GWO)算法是一種模擬灰狼群種族習(xí)性的啟發(fā)式算法,具有全局遍歷性和收斂速度快的特點[16-18]。本文采用GWO算法對LSTM神經(jīng)網(wǎng)絡(luò)中的初始學(xué)習(xí)率、隱藏層節(jié)點個數(shù)、正則化系數(shù)參數(shù)進行優(yōu)化訓(xùn)練,提出GWO-LSTM道路交通事故量預(yù)測模型,與ARMA模型、BP神經(jīng)網(wǎng)絡(luò)和LSTM神經(jīng)網(wǎng)絡(luò)預(yù)測結(jié)果對比,檢驗其性能與預(yù)測精度,為交通事故量預(yù)測提供參考和依據(jù)。
LSTM神經(jīng)網(wǎng)絡(luò)在隱藏層構(gòu)建專門存儲記憶的線性自循環(huán)存儲單元,改進循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)的記憶暫時存儲功能,解決預(yù)測長時間序列數(shù)據(jù)時的梯度消失問題,在神經(jīng)元設(shè)置遺忘門、輸入門、輸出門3個控制門和1個記憶單元[19-21]。
遺忘門負責(zé)接收前一單元的記憶ct-1并對其各部分決定保留或遺忘,通過激活函數(shù)Sigmoid將t時刻的輸入xt與前一時刻細胞狀態(tài)ht-1轉(zhuǎn)換為輸出ft,ft中的每個元素都位于[0,1],表示ct-1中保留或遺忘的信息量,0為完全舍棄,1為完全保留,公式為:
ft=σ(Wf[ht-1xt]+bf),
式中:σ為激活函數(shù)Sigmoid,Wf為遺忘門的連接權(quán)值矩陣,篩選xt和ht-1中舍棄部分的信息;bf為遺忘門的偏置矩陣。
輸入門負責(zé)將信息記錄到單元模塊中,由激活函數(shù)Sigmoid和雙曲正切激活函數(shù)tanh共同控制,輸出分別為it、ct,公式為:
it=σ(Wi[ht-1xt]+bi),
ct=ftct-1+itct′,
式中:Wi為輸入門的連接權(quán)值矩陣,篩選xt和ht-1中記憶學(xué)習(xí)部分的信息;bi為遺忘門的偏置矩陣;ct-1為記憶單元前一時刻的輸出;ct′為臨時記憶單元,ct′=tanh(Wc[ht-1xt]+bc),其中,Wc為記憶單元的權(quán)值矩陣,bc為記憶單元的偏置矩陣。
通過激活函數(shù)Sigmoid將輸出門當(dāng)前時刻的狀態(tài)ot中的每個元素轉(zhuǎn)換為[0,1]上的數(shù)值,公式為:
ot=σ(Wo[ht-1xt]+bo),
式中:Wo為輸出門的連接權(quán)值矩陣,bo為輸出門的偏置矩陣。
輸出門最終決定當(dāng)前狀態(tài)輸出哪些信息,將ot與經(jīng)函數(shù)tanh處理的ct相乘,得到輸出門的輸出ht=ottanh(ct)。
圖1 LSTM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)示意圖
LSTM神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)如圖1所示。
GWO算法模擬灰狼群的種群階級和狩獵習(xí)性,在灰狼包圍、捕捉和攻擊獵物的過程中優(yōu)化目標。根據(jù)等級制度將灰狼從高到低分為α、β、δ和ω4個階層:α層級灰狼決策權(quán)力最高,其他個體灰狼均服從其指揮;β層級灰狼是候選決策領(lǐng)導(dǎo)者,協(xié)助α層級灰狼管理狼群;δ層級灰狼須遵從α、β層級灰狼的決策,可管理ω層級灰狼;最底層級的ω層級灰狼須服從其他層級的灰狼[22-23]?;依堑尼鳙C過程分3個階段。
1)包圍獵物?;依桥c目標獵物的距離
D=|C⊙Xp(k)-X(k)|,
式中:C為包圍獵物時的協(xié)同向量,k為迭代次數(shù),Xp(k)為獵物的位置,X(k)為灰狼的位置,⊙為矩陣的哈達瑪積。
灰狼位置更新
X(k+1)=Xp(k)-A⊙D,
式中:A為位置更新時的協(xié)同向量。
2)捕捉獵物?;依前鼑C物后,設(shè)α、β、δ層級灰狼距獵物距離依次增大,灰狼的位置隨迭代不斷更新,帶領(lǐng)其他灰狼不斷向獵物逼近,不同灰狼間的距離計算公式為:
Di=|Cj⊙Xi(k)-X(k)|,i=α,β,δ,j=1,2,3,
式中:Di分別為α、β、δ層級灰狼與其他灰狼的距離,Xi(k)分別為α、β、δ層級灰狼的位置,Cj為捕捉獵物時協(xié)同向量。
迭代k+1次后,灰狼的位置
式中Aj為灰狼對獵物的攻擊系數(shù)。
3)攻擊獵物。當(dāng)獵物無法移動逃走時,灰狼發(fā)起攻擊。逼近獵物的過程中,A在[-a,a]中變化,其中a為收斂因子,a在迭代過程中由2線性減小為0。GWO算法根據(jù)A確定搜尋范圍:|A|<1時,灰狼群逼近獵物,進行局部搜尋;|A|>1時,灰狼群遠離獵物,進行全局搜尋;|A|=1時,灰狼群停止搜尋。
道路交通事故預(yù)測過程包括數(shù)據(jù)處理、模型參數(shù)優(yōu)化、模型訓(xùn)練、模型預(yù)測與評價。通過GWO算法對LSTM神經(jīng)網(wǎng)絡(luò)中的參數(shù)進行調(diào)整優(yōu)化,獲取最優(yōu)參數(shù),提高模型預(yù)測準確度。
確定初始學(xué)習(xí)率、隱藏層節(jié)點數(shù)、GWO算法的迭代次數(shù)及灰狼群數(shù)等參數(shù)。采用隨機分布函數(shù)初始化灰狼群,確定其位置向量并分解為LSTM神經(jīng)網(wǎng)絡(luò)的權(quán)值矩陣和偏置矩陣。以均方根誤差為適應(yīng)度函數(shù),將參數(shù)輸入LSTM神經(jīng)網(wǎng)絡(luò),計算輸出及灰狼個體的適應(yīng)度,將適應(yīng)度最佳的3個位置依次標記為Xα、Xβ、Xδ,隨迭代次數(shù)的增加,此3個位置將被適應(yīng)度更優(yōu)的個體位置更新替換,直至迭代結(jié)束。
Xα即為LSTM神經(jīng)網(wǎng)絡(luò)參數(shù)的最優(yōu)解,將測試集數(shù)據(jù)通過輸入層→隱藏層→輸出層正向傳遞輸入LSTM神經(jīng)網(wǎng)絡(luò)進行預(yù)測,采用均方誤差(mean squared error,MSE)損失函數(shù)計算偏差,將其反向傳遞,神經(jīng)元中相關(guān)參數(shù)得到更新并采用Adam優(yōu)化函數(shù)調(diào)整網(wǎng)絡(luò)梯度。迭代更新直至滿足收斂條件終止后,輸出GWO-LSTM道路交通事故預(yù)測模型參數(shù),進行預(yù)測與評估。
GWO-LSTM交通事故預(yù)測模型框架如圖2所示,圖中kmax為最大迭代次數(shù),x1~xn、y1~yn分別為第1~n個網(wǎng)絡(luò)單元輸入的樣本數(shù)據(jù)和訓(xùn)練輸出的數(shù)據(jù),L1~Ln為第1~n個LSTM神經(jīng)網(wǎng)絡(luò)單元。
圖2 GWO-LSTM交通事故預(yù)測模型框架
采用2000—2019年美國道路交通致死事故數(shù)據(jù)為樣本數(shù)據(jù)源,樣本數(shù)據(jù)記錄了每起致死事故的完整信息,主要字段包括:STATE、ST_CASE、MONTH、DAY_WEEK、HOURNAME、ROUTE、FATALS,對應(yīng)的內(nèi)容分別為:事故發(fā)生所在州編號、事故唯一標識編號、事故發(fā)生月份編號、事故發(fā)生日期、事故發(fā)生時刻、路線編碼、死亡人數(shù)。
采用平均值修正法修正樣本數(shù)據(jù)中的異常值,時間粒度事故統(tǒng)計樣本數(shù)據(jù)的特征受各因素影響而上下波動,為平滑時間序列,采用離差標準化歸一化法將數(shù)據(jù)線性轉(zhuǎn)換到[0,1],縮放后值域長度較小,模型收斂速度和預(yù)測準確度提高。歸一化后的樣本數(shù)據(jù)
xi′=(xi-xmin)/(xmax-xmin),
式中:xi為原始樣本數(shù)據(jù),xmax、xmin分別為樣本數(shù)據(jù)的最大值、最小值。
時間粒度即劃分數(shù)據(jù)單元的度量單位,如年、月、周、時等,每個絕對時間區(qū)間由有限個時間粒度單元組成,受樣本數(shù)據(jù)特征影響,適當(dāng)?shù)臅r間粒度可反映事故特性[24-25]。根據(jù)道路交通事故歷史數(shù)據(jù)序列的特征和周期確定以月粒度、周粒度、時粒度3種時間粒度統(tǒng)計樣本數(shù)據(jù)。
圖3 滑動窗口示意圖
采用滑動窗口預(yù)測法預(yù)測不同時間粒度的事故樣本數(shù)據(jù),將特征值按時間序列排列,根據(jù)設(shè)定的時間粒度劃分為不同窗口單元,窗口以1個單位步長向前滑動,反復(fù)向前,得到特征值的變化趨勢,原理如圖3所示。由圖3可知:n1~n5包含4個窗口單元,由時間粒度決定滑動窗口的長度,即ni-1與ni間的時間。以月粒度、周粒度、時粒度3種時間粒度劃分數(shù)據(jù)后,可確保特征值向后滾動預(yù)測時的滑動窗口長度,也可保留數(shù)據(jù)間的相關(guān)性。
選取平均絕對百分比誤差(mean absolute percentage error,MAPE)EMAPE、均方根誤差(root mean square error,RMSE)ERMSE為評價GWO-LSTM交通事故預(yù)測模型性能的指標,公式分別為:
式中:ei′為預(yù)測值,ei為實際值,n為樣本容量。
試驗平臺采用Windows10 64位操作系統(tǒng),試驗環(huán)境為AMD Ryzen 7 5800HS Creator Edition 3.20 GHz,RAM為16 GB,采用軟件MATLAB R2019a編程。
在GWO-LSTM交通事故預(yù)測模型訓(xùn)練過程中輸入事故數(shù)據(jù)字段為:事故發(fā)生月份編號、事故發(fā)生日期、事故發(fā)生時刻、死亡人數(shù),結(jié)構(gòu)由輸入層、1層隱藏層和輸出層構(gòu)成,輸出維數(shù)為1;在GWO算法中設(shè)置灰狼群個體數(shù)為30,迭代次數(shù)為20,初始學(xué)習(xí)率搜索范圍為[0.001,0.500],隱藏層節(jié)點數(shù)的搜索范圍GWO算法參數(shù)尋優(yōu)時適應(yīng)度函數(shù)隨迭代次數(shù)的變化曲線如圖4所示。由圖4可知:月粒度劃分的事故樣本數(shù)據(jù)的適應(yīng)度函數(shù)收斂速度最快,適應(yīng)度函數(shù)值最大,周粒度劃分的事故樣本數(shù)據(jù)的適應(yīng)度函數(shù)值最小。GWO-LSTM模型訓(xùn)練過程中的ERMSE隨訓(xùn)練次數(shù)的變化曲線如圖5所示。由圖5可知周粒度劃分的事故樣本數(shù)據(jù)的ERMSE最小。
表1 不同時間粒度下LSTM神經(jīng)網(wǎng)絡(luò)的最優(yōu)參數(shù)
為[1,30],正則化系數(shù)的搜索范圍為[0.001,0.050]。為達到收斂并防止出現(xiàn)過擬合現(xiàn)象,將LSTM神經(jīng)網(wǎng)絡(luò)的訓(xùn)練次數(shù)設(shè)為200,學(xué)習(xí)率下降因子為0.1,激活函數(shù)為Relu,采用優(yōu)化函數(shù)Adam調(diào)節(jié)梯度下降。采用GWO算法對LSTM神經(jīng)網(wǎng)絡(luò)3種時間粒度的樣本數(shù)據(jù)進行參數(shù)優(yōu)化,得到不同時間粒度下的最優(yōu)參數(shù)如表1所示。
圖4 適應(yīng)度函數(shù)隨迭代次數(shù)的變化曲線 圖5 ERMSE隨訓(xùn)練次數(shù)的變化曲線
將事故樣本數(shù)據(jù)序列按8:2劃分為訓(xùn)練集和測試集,即將預(yù)處理后的樣本序列的前80%作為訓(xùn)練集訓(xùn)練優(yōu)化模型并調(diào)試參數(shù),后20%作為測試集。取不同時間粒度滑動窗口進行采樣,采用訓(xùn)練好的GWO-LSTM模型進行事故預(yù)測。
將ARMA模型、BP神經(jīng)網(wǎng)絡(luò)和LSTM神經(jīng)網(wǎng)絡(luò)作對比,驗證GWO-LSTM交通事故預(yù)測模型的性能。GWO-LSTM模型、ARMA模型、BP神經(jīng)網(wǎng)絡(luò)和LSTM神經(jīng)網(wǎng)絡(luò)對3種時間粒度下交通致死事故量的預(yù)測結(jié)果如圖6所示。
a)月粒度 b)周粒度 c)時粒度圖6 不同模型在不同時間粒度下交通致死事故量的預(yù)測結(jié)果
由圖6可知:相比月粒度預(yù)測結(jié)果,4種模型對周粒度和時粒度的交通致死事故量預(yù)測結(jié)果更準確,這與時間粒度劃分更細,模型數(shù)據(jù)起伏較大,周期性特征明顯,更易被模型捕捉有關(guān)。ARMA模型和BP神經(jīng)網(wǎng)絡(luò)預(yù)測數(shù)據(jù)的峰值趨勢時與實際數(shù)據(jù)存在一定偏差,LSTM神經(jīng)網(wǎng)絡(luò)和GWO-LSTM模型捕捉事故數(shù)據(jù)峰值的能力較強。
根據(jù)不同模型在不同時間粒度下交通致死事故量的預(yù)測結(jié)果,計算ERMSE和EMAPE,評價對比模型的預(yù)測準確度,結(jié)果如表2所示。
表2 不同模型的性能評價指標
由表2可知:不同時間粒度下GWO-LSTM模型的ERMSE和EMAPE均最小,模型預(yù)測準確度最高,LSTM神經(jīng)網(wǎng)絡(luò)次之,BP神經(jīng)網(wǎng)絡(luò)和ARMA模型預(yù)測準確度較低。ARMA模型捕捉平穩(wěn)時間序列數(shù)據(jù)間線性關(guān)系的能力較強,但捕捉非線性時間序列數(shù)據(jù)峰值的靈敏性較差;BP神經(jīng)網(wǎng)絡(luò)采用誤差逆?zhèn)鞑ニ惴ㄟM行網(wǎng)絡(luò)訓(xùn)練,模型預(yù)測時忽略輸入與輸出間的滯后和延遲性,導(dǎo)致預(yù)測誤差較大;相比于傳統(tǒng)模型,GWO-LSTM模型和LSTM神經(jīng)網(wǎng)絡(luò)考慮到預(yù)測的滯后效應(yīng),能更好解決長期依賴問題,捕捉數(shù)據(jù)信息間的規(guī)律和關(guān)系的能力更佳,在處理序列數(shù)據(jù)和非線性問題中優(yōu)勢更顯著,與LSTM網(wǎng)絡(luò)參數(shù)調(diào)節(jié)相比,GWO-LSTM優(yōu)化參數(shù)尋優(yōu)方式,預(yù)測準確度較好。
采用GWO算法替代標準LSTM神經(jīng)網(wǎng)絡(luò)中的BP神經(jīng)網(wǎng)絡(luò)算法,優(yōu)化初始學(xué)習(xí)率、隱藏層節(jié)點數(shù)、正則化系數(shù)等參數(shù),提出基于GWO-LSTM的道路交通事故量預(yù)測模型。采用月粒度、周粒度和時粒度3種時間粒度劃分交通事故樣本數(shù)據(jù),分別采用傳統(tǒng)ARMA模型、BP神經(jīng)網(wǎng)絡(luò)、標準LSTM神經(jīng)網(wǎng)絡(luò)和GWO-LSTM模型預(yù)測交通事故量,并與實際數(shù)據(jù)對比。結(jié)果表明:在3種時間粒度下,與ARMA模型、BP神經(jīng)網(wǎng)絡(luò)和LSTM神經(jīng)網(wǎng)絡(luò)相比,GWO-LSTM模型的全局遍歷性和收斂性速度最快,預(yù)測結(jié)果的平均絕對百分比誤差和均方根誤差均較小,預(yù)測結(jié)果更準確。
道路交通事故的發(fā)生具有隨機性等特點且受多種環(huán)境因素影響,參數(shù)優(yōu)化和訓(xùn)練中缺乏表征環(huán)境因素的相關(guān)數(shù)據(jù),未來考慮在環(huán)境多因素條件下預(yù)測交通事故量,進一步提高模型的預(yù)測性能。