紀(jì)俊紅,昌潤琪,溫廷新
(1.遼寧工程技術(shù)大學(xué)安全科學(xué)與工程學(xué)院,遼寧 葫蘆島 125105; 2.遼寧工程技術(shù)大學(xué)系統(tǒng)工程研究所,遼寧 葫蘆島 125105)
道路交通事故對人類生命和財(cái)產(chǎn)安全造成了極大威脅,被認(rèn)為是當(dāng)今世界最嚴(yán)重的安全問題之一。據(jù)世界衛(wèi)生組織(WHO)統(tǒng)計(jì),交通事故每年導(dǎo)致全世界大約135萬人死亡,2 000萬至5 000萬人受傷,各國每年因交通事故造成的經(jīng)濟(jì)損失達(dá)到了各國國內(nèi)生產(chǎn)總值的3%左右。因此,開展交通事故的預(yù)測研究已成為交通事故預(yù)防的重要環(huán)節(jié),有助于相關(guān)決策者提前了解事故發(fā)生趨勢,預(yù)先采取管控措施。
近幾年,機(jī)器學(xué)習(xí)學(xué)科發(fā)展迅速,眾多學(xué)者基于機(jī)器學(xué)習(xí)算法建立了交通事故預(yù)測模型,如基于支持向量機(jī)、最小二乘支持向量機(jī)的交通事故預(yù)測模型,基于BP神經(jīng)網(wǎng)絡(luò)的交通事故預(yù)測模型,將多元線性回歸方法應(yīng)用于交通事故死亡人數(shù)預(yù)測,基于貝葉斯網(wǎng)絡(luò)的交通事故預(yù)測模型,基于LSTM神經(jīng)網(wǎng)絡(luò)的交通事故預(yù)測模型,基于人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)的交通事故預(yù)測模型。
以上學(xué)者的研究推動(dòng)了我國交通事故預(yù)測領(lǐng)域的發(fā)展,但是應(yīng)用的算法類別較為集中,主要為神經(jīng)網(wǎng)絡(luò)等算法,且多為單一基礎(chǔ)算法,關(guān)于樹類算法、集成算法的應(yīng)用研究相對較少。
Light Gradient Boosting Machine(Light-GBM)是Ke等于2017年提出的一種Boosting集成模型,不同于其他梯度增強(qiáng)決策樹算法,LightGBM算法應(yīng)用的是基于Histogram的決策樹算法,提出了基于梯度的單邊采樣(Gradient-based One-Side Sampling,GOSS)和互斥特征捆綁(Exclusive Feature Bundling,EFB)。因此,LightGBM算法不僅表現(xiàn)出了優(yōu)異的預(yù)測性能,還具有訓(xùn)練速度更快、內(nèi)存消耗更小等特點(diǎn),已被廣泛應(yīng)用于互聯(lián)網(wǎng)金融、網(wǎng)絡(luò)安全、心理學(xué)以及醫(yī)學(xué)等眾多領(lǐng)域。因此,本文擬將LightGBM算法應(yīng)用于交通事故預(yù)測領(lǐng)域,但單一基本算法泛化能力有限。AdaBoost是一種自適應(yīng)的Boosting算法,通過將多個(gè)基本算法加權(quán)組合形成一個(gè)強(qiáng)預(yù)測器,以實(shí)現(xiàn)提升預(yù)測精度的目的,已在冠心病中醫(yī)癥候診斷、人臉檢測、遙感影像水體信息提取以及火災(zāi)煙霧探測等多個(gè)領(lǐng)域得到了廣泛的應(yīng)用。
綜上,本文基于AdaBoost算法集成多個(gè)LightGBM模型建立了AdaBoost-LightGBM(Ada-LightGBM)增強(qiáng)集成模型,并應(yīng)用網(wǎng)格搜索法和K折交叉驗(yàn)證(Grid Search and K-Cross-Validation,GSK)進(jìn)行參數(shù)尋優(yōu),進(jìn)一步優(yōu)化模型,最終得到了GSK-AdaBoost-LightGBM模型。
我國道路交通事故統(tǒng)計(jì)主要有事故次數(shù)、死亡人數(shù)、受傷人數(shù)和經(jīng)濟(jì)損失4項(xiàng)指標(biāo),但事故次數(shù)、受傷人數(shù)和經(jīng)濟(jì)損失易出現(xiàn)衡量標(biāo)準(zhǔn)不一致、統(tǒng)計(jì)遺漏等問題,而死亡人數(shù)的可測性、代表性較強(qiáng)。因此,本文以死亡人數(shù)作為研究對象,基于采集到的1953—2018年我國道路交通事故數(shù)據(jù)訓(xùn)練模型,得到了基于GSK-AdaBoost-LightGBM的交通事故死亡人數(shù)預(yù)測模型;同時(shí),引入均方誤差(MSE)、平均絕對百分誤差(MAPE)和平均絕對誤差(MAE)3項(xiàng)評(píng)估指標(biāo)評(píng)估了模型的預(yù)測性能,探究了模型的優(yōu)化效果,以期為交通事故預(yù)測領(lǐng)域的研究工作開拓思路,從而提升交通事故預(yù)防工作的效率,以提高道路安全性。
GSK-AdaBoost-LightGBM模型的主體構(gòu)建思路是基于AdaBoost算法訓(xùn)練LightGBM多次,得到多個(gè)LightGBM基預(yù)測器,然后將多個(gè)基預(yù)測器加權(quán)組合得到強(qiáng)預(yù)測器。但是,LightGBM算法和AdaBoost算法都包含多個(gè)超參數(shù),不當(dāng)?shù)膮?shù)取值會(huì)極大地影響其預(yù)測的準(zhǔn)確性。因此,將網(wǎng)格搜索法結(jié)合K折交叉驗(yàn)證(本文進(jìn)行5折交叉驗(yàn)證)作為本文的參數(shù)尋優(yōu)方法,對LightGBM和AdaBoost算法的主要超參數(shù)進(jìn)行參數(shù)尋優(yōu)。GSK-AdaBoost-LightGBM模型的基本原理見圖1。
圖1 GSK-AdaBoost-LightGBM模型的基本原理Fig.1 Basic principle of GSK-AdaBoost-LightGBMmodel
GSK-AdaBoost-LightGBM模型的具體構(gòu)建、訓(xùn)練過程如下:
第1步:樣本采集,數(shù)據(jù)預(yù)處理。采集樣本數(shù)據(jù),結(jié)合實(shí)際,排列成k
組,并采取數(shù)據(jù)標(biāo)準(zhǔn)化等預(yù)處理措施,生成用于訓(xùn)練模型的樣本集。第2步:構(gòu)建GSK-LightGBM基預(yù)測器。初始化LightGBM算法,基于樣本集,應(yīng)用網(wǎng)格搜索法對LightGBM模型進(jìn)行參數(shù)尋優(yōu),同時(shí)進(jìn)行5折交叉驗(yàn)證,輸出LightGBM模型較優(yōu)的超參數(shù)取值,進(jìn)而得到優(yōu)化的LightGBM(GSK-LightGBM)模型。
第3步:構(gòu)建AdaBoost-LightGBM強(qiáng)預(yù)測器。將GSK-LightGBM模型作為基預(yù)測器,基于樣本集,訓(xùn)練基預(yù)測器n
次,將n
個(gè)基預(yù)測器加權(quán)組合得到AdaBoost-LightGBM強(qiáng)預(yù)測器。第4步:構(gòu)建并訓(xùn)練GSK-AdaBoost-LightGBM模型。應(yīng)用網(wǎng)格搜索法結(jié)合5折交叉驗(yàn)證得到AdaBoost-LightGBM模型較優(yōu)的超參數(shù)取值。據(jù)此設(shè)置強(qiáng)預(yù)測器的超參數(shù),即得到GSK-AdaBoost-LightGBM模型。基于樣本集,訓(xùn)練基于GSK-AdaBoost-LightGBM的預(yù)測模型,輸出模型最終預(yù)測結(jié)果。
GSK-AdaBoost-LightGBM模型的構(gòu)建流程如圖2所示。
基于文獻(xiàn)[35]和國家統(tǒng)計(jì)局網(wǎng)站中采集到的1953—2018年我國交通事故數(shù)據(jù)構(gòu)建樣本集,所有數(shù)據(jù)完整無缺失。
圖2 GSK-AdaBoost-LightGBM模型的構(gòu)建流程Fig.2 Construction process of GSK-AdaBoost- LightGBM model
交通事故死亡人數(shù)的影響因素眾多,國內(nèi)外關(guān)于交通事故死亡人數(shù)的預(yù)測研究主要考慮的影響因素是人、車、環(huán)境和道路四個(gè)方面,本文結(jié)合現(xiàn)有經(jīng)驗(yàn)和采集到的實(shí)際數(shù)據(jù),通過分析得到交通事故死亡人數(shù)(dypeo)的影響因素為:人口數(shù)量(people)、民用汽車擁有量(car)、國內(nèi)生產(chǎn)總值(GDP)、公路里程(dist)、公路旅客周轉(zhuǎn)量(trav)和公路貨物周轉(zhuǎn)量(goods)。1953—2018年我國道路交通事故死亡人數(shù)及統(tǒng)計(jì)指標(biāo)值的部分?jǐn)?shù)據(jù),見表1。
訓(xùn)練模型時(shí),將當(dāng)年6個(gè)影響因素的值作為輸入變量,第二年的交通事故死亡人數(shù)作為輸出變量。另外,考慮到各影響因素的單位、量綱不盡相同,因此先對數(shù)據(jù)進(jìn)行歸一化處理,應(yīng)用歸一化處理后的樣本集開展研究。
本文基于Python編程平臺(tái)開展實(shí)驗(yàn)研究,按照3∶1的比例設(shè)置訓(xùn)練集和測試集。隨機(jī)選取1962年、1966年、1972年、1974年、1978年、1980年、1983年、1986年、1988年、1992年、1993年、1995年、1997年、2002年、2012年、2015年的樣本數(shù)據(jù)組成測試集,用于檢驗(yàn)?zāi)P偷念A(yù)測性能,其余數(shù)據(jù)組成訓(xùn)練集,用于訓(xùn)練模型。
表1 1953—2018年我國道路交通事故死亡人數(shù)及統(tǒng)計(jì)指標(biāo)值(部分?jǐn)?shù)據(jù))
(1) 構(gòu)建并訓(xùn)練GSK-LightGBM基預(yù)測器?;跇颖炯?,應(yīng)用網(wǎng)格搜索法同時(shí)進(jìn)行5折交叉驗(yàn)證,實(shí)現(xiàn)LightGBM模型的參數(shù)尋優(yōu)。輸出參數(shù)尋優(yōu)結(jié)果:葉子節(jié)點(diǎn)中最小的數(shù)據(jù)量為2,葉子節(jié)點(diǎn)數(shù)為5,學(xué)習(xí)率為0.1,決策樹子樹數(shù)量為87。據(jù)此設(shè)置LightGBM算法的超參數(shù),得到GSK-LightGBM模型。輸入交通事故樣本集,訓(xùn)練基于GSK-LightGBM的預(yù)測模型,輸出的3項(xiàng)評(píng)估指標(biāo)值見表2。
表2 不同預(yù)測模型輸出的評(píng)估指標(biāo)值
(2) 構(gòu)建GSK-AdaBoost-LightGBM強(qiáng)預(yù)測器。訓(xùn)練GSK-LightGBM基預(yù)測器n
次,基于AdaBoost集成n
個(gè)基預(yù)測器,加權(quán)組合形成AdaBoost-LightGBM強(qiáng)預(yù)測器。結(jié)合5折交叉驗(yàn)證,采用網(wǎng)格搜索法進(jìn)行參數(shù)尋優(yōu),得到強(qiáng)預(yù)測器較優(yōu)的超參數(shù)取值:基本算法迭代次數(shù)為41、學(xué)習(xí)率為0.1、隨機(jī)數(shù)種子為73,進(jìn)而得到性能較優(yōu)的GSK-AdaBoost-LightGBM強(qiáng)預(yù)測器。(3) 訓(xùn)練并評(píng)估基于GSK-AdaBoost-LightGBM的強(qiáng)預(yù)測模型?;诮煌ㄊ鹿蕵颖炯?xùn)練GSK-AdaBoost-LightGBM預(yù)測模型,輸出預(yù)測值,并對其進(jìn)行逆歸一化處理,考慮到交通事故死亡人數(shù)的實(shí)際特征,將逆歸一化處理得到的預(yù)測值保留成整數(shù)形式,并與實(shí)際值進(jìn)行了對比,以檢驗(yàn)?zāi)P偷念A(yù)測性能,預(yù)測模型的3項(xiàng)評(píng)估指標(biāo)值見表2。
為了探究GSK-AdaBoost-LightGBM模型的優(yōu)化效果,利用相同的樣本集,本文亦訓(xùn)練并評(píng)估了基于LightGBM和AdaBoost-LightGBM的預(yù)測模型。算法的主要超參數(shù)隨機(jī)取值如下:LightGBM模型中,葉子節(jié)點(diǎn)中最小的數(shù)據(jù)量為13,葉子節(jié)點(diǎn)數(shù)為24,學(xué)習(xí)率為0.9,決策樹子樹數(shù)量為42;AdaBoost-LightGBM模型中,基預(yù)測器的參數(shù)值根據(jù)GSK-LightGBM的參數(shù)值設(shè)置,隨機(jī)設(shè)置強(qiáng)預(yù)測器的超參數(shù),即基本算法迭代次數(shù)為32、學(xué)習(xí)率為0.4、隨機(jī)數(shù)種子為3。訓(xùn)練該兩個(gè)預(yù)測模型輸出的評(píng)估指標(biāo)值見表2。
通過比較不同預(yù)測模型輸出的評(píng)估指標(biāo)值發(fā)現(xiàn)(見表2),GSK-AdaBoost-LightGBM模型輸出的3項(xiàng)評(píng)估指標(biāo)值(MAE、MSE和MAPE)均為最小值;經(jīng)過參數(shù)優(yōu)化得到的GSK-LightGBM模型輸出的MAE、MSE和MAPE比LightGBM模型分別降低了43.9%、62.5%、39.23%;基于AdaBoost算法集成后得到的AdaBoost-LightGBM模型輸出的MAE、MSE又進(jìn)一步分別降低了12.2%、17.5%;對強(qiáng)預(yù)測器進(jìn)行參數(shù)尋優(yōu),最終得到的GSK-AdaBoost-LightGBM模型輸出的MAE、MSE和MAPE又分別降低了9.76%、9.06%、1.54%。綜上可知,基于GSK-AdaBoost-LightGBM模型的預(yù)測準(zhǔn)確性最高。
GSK-AdaBoost-LightGBM模型預(yù)測值與實(shí)際值的對比,見圖3。
圖3 GSK-AdaBoost-LightGBM模型預(yù)測值與 實(shí)際值的對比圖Fig.3 Comparison between the actual value and the predicted value of the GSK-AdaBoost- LightGBM model
由圖3可見,兩曲線吻合程度較好,表明GSK-AdaBoost-LightGBM模型對交通事故死亡人數(shù)的預(yù)測準(zhǔn)確性較高,模型擬合效果較好。本文基于AdaBoost算法集成多個(gè)LightGBM模型,并對基預(yù)測器和強(qiáng)預(yù)測器的主要超參數(shù)均進(jìn)行了參數(shù)優(yōu)化,最終得到的GSK-AdaBoost-LightGBM模型的預(yù)測準(zhǔn)確性明顯提高,且該模型的MAE、MSE和MAPE值分別比單一的LightGBM模型下降了65.85%、89.06%和40.77%。
相比于基于LightGBM訓(xùn)練的模型,本文建立的基于GSK-AdaBoost-LightGBM的交通事故死亡人數(shù)預(yù)測模型的預(yù)測準(zhǔn)確性更高,且該模型訓(xùn)練速度較快,對噪聲和異常值的容忍度較高,泛化性及抗擬合能力較強(qiáng),亦適用于大數(shù)據(jù)場景,可為交通事故預(yù)測研究提供方法支撐,有助于交通事故預(yù)防工作的開展。后續(xù)可考慮進(jìn)一步探究GSK-AdaBoost-LightGBM模型在交通事故嚴(yán)重程度及實(shí)時(shí)預(yù)測等場景的應(yīng)用。