包文華,劉海瑞,方 圓,王成棟
基于CNN-ARIMA的交通路口短周期交通車流量預(yù)測方法
包文華,劉海瑞,方 圓,王成棟*
(安徽信息工程學(xué)院,安徽 蕪湖 241000)
針對現(xiàn)有預(yù)測模型在智慧交通車流量預(yù)測過程中準(zhǔn)確度較低、數(shù)據(jù)不平穩(wěn)的問題,文章提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)和時間序列預(yù)測模型自回歸差分移動平均(ARIMA)相結(jié)合的短周期交通車流量預(yù)測方法。文章以蕪湖市汪溪路路口一周內(nèi)的歷史車流量數(shù)據(jù)為樣本去預(yù)測下一時間周期的交通車流量,將得到的數(shù)據(jù)經(jīng)過歸一化處理后模擬仿真實驗,仿真結(jié)果表明,該方案能夠運用于交通管控中,且能有效保持較高精確率而不受數(shù)據(jù)集大小的影響,其預(yù)測結(jié)果可以為車輛擁堵問題提供較好的提前應(yīng)對方案。
智慧交通;交通路口;短周期;交通車流量;CNN-ARIMA;預(yù)測方法
隨著社會科技水平的不斷發(fā)展,人們對于出行的需求也相應(yīng)增多。家用車總數(shù)的持續(xù)增加和道路交通網(wǎng)的復(fù)雜化改進(jìn),導(dǎo)致城市交通擁堵問題日益嚴(yán)重。為了解決交通擁堵問題,很多地方實施了智能交通系統(tǒng)[1]。近年來,人工智能技術(shù)被應(yīng)用在各行各業(yè),許多學(xué)者也將其運用在智能交通領(lǐng)域。文獻(xiàn)[2]主要從車輛檢測的速度和精度方面進(jìn)行改進(jìn),從實驗結(jié)果看改進(jìn)的算法具有良好的性能;文獻(xiàn)[3]分別從前車檢測精度、遮擋前車檢測,以及車檢測速度三個方面進(jìn)行了問題的探究及對應(yīng)Faster基于卷積神經(jīng)網(wǎng)絡(luò)(Region- Convolutional Neural Networks, R-CNN)算法(用于對象檢測的深度神經(jīng)網(wǎng)絡(luò)架構(gòu))的優(yōu)化,實驗結(jié)果證明,在恰當(dāng)?shù)臄?shù)量及參數(shù)選擇下,優(yōu)化算法對前車的檢測有了較大的提升;文獻(xiàn)[4]提出了一種基于改進(jìn)的Faster R-CNN模型的車輛檢測算法,實驗結(jié)果表明,該模型有效解決了漏檢和誤檢問題。
但上述文獻(xiàn)所提出的算法只是檢測出車輛或者車輛個數(shù),并沒有對車流量進(jìn)行預(yù)測,而預(yù)測車流量可以為出行者提供合理的建議,才是目前解決車輛擁堵問題的關(guān)鍵[5]。故文獻(xiàn)[6]提出對特征提取視覺幾何群網(wǎng)絡(luò)(Visual Geometry Group Network, VGG16)生成的特征層進(jìn)行處理,通過加入反卷積操作將所得到的特征信息進(jìn)行分層預(yù)測,提出并實現(xiàn)利用注意力機制對Faster R-CNN算法做進(jìn)一步改進(jìn);文獻(xiàn)[7]基于查分自回歸移動平均(Auto Regressive Integrated Moving Average, ARIMA)算法提出了一種改進(jìn)型的短時車流量預(yù)測模型將短時車流量數(shù)據(jù)劃分為對應(yīng)的數(shù)據(jù)集組,再由每個數(shù)據(jù)集組預(yù)測下一個時間周期的車流量,仿真結(jié)果驗證了模型的準(zhǔn)確性;文獻(xiàn)[8]提出了在ARIMA算法基礎(chǔ)上用矩估計法進(jìn)行參數(shù)初估計,用最小二乘法進(jìn)行參數(shù)精估計,用貝葉斯信息準(zhǔn)則(Bayesian Information Criterion, BIC)為模型定階,實驗結(jié)果表明,在時變性強的短時交通流量預(yù)測時有一定的準(zhǔn)確性。
但上述方案在車流量預(yù)測算法中處理大量數(shù)據(jù)集時,仍存在檢測準(zhǔn)確率較低和算法性能不穩(wěn)定的問題。為解決以上研究存在的問題,本文提出了一種基于CNN和ARIMA相結(jié)合的短周期交通車流量預(yù)測方法,將獲取的車流量數(shù)據(jù)劃分為訓(xùn)練集和測試集,構(gòu)建訓(xùn)練模型并對模型優(yōu)化,從而提高測試集的預(yù)測準(zhǔn)確率。仿真實驗結(jié)果驗證了該模型在預(yù)測車流量方面具有較好的普適性和魯棒性,其預(yù)測結(jié)果可以為出行者提供交通路線規(guī)劃,以此解決交通擁堵問題。
本文中所提出的基于CNN-ARIMA相結(jié)合的短周期交通車流量預(yù)測方案,預(yù)測過程包括獲取數(shù)據(jù)集、數(shù)據(jù)處理、構(gòu)建訓(xùn)練模型以及實驗結(jié)果分析。首先介紹獲取數(shù)據(jù)集,以蕪湖市汪溪路十字路口為場景,如圖1所示。收集一周內(nèi)通過的車流量,用收集到的歷史車流量數(shù)據(jù)去預(yù)測未來一周內(nèi)可能通行的車輛總數(shù),將得到的數(shù)據(jù)用于交通管控中。
圖1 交通路口場景圖
由于開源數(shù)據(jù)集(如Tsinghua traffic)中場景較為單一,包含圖像類別不足,不足以證明預(yù)測結(jié)果的準(zhǔn)確性。故本文選取蕪湖市汪溪路路口的車流量為數(shù)據(jù)集,連續(xù)7天為一個時間周期序列,采集時間段為9:00-18:00,每間隔30 min統(tǒng)計一次車流量。通過使用當(dāng)前周期的車流量數(shù)據(jù)去預(yù)測下一周期時間節(jié)點的車流量,預(yù)測過程可以進(jìn)行Z-Scores歸一化處理,經(jīng)過處理后的車流量數(shù)據(jù)在不同周期的相同時間節(jié)點會存在關(guān)聯(lián)性。
在傳統(tǒng)的模型訓(xùn)練方法中,視頻監(jiān)控采集的圖像需要處理的數(shù)據(jù)量太大,同時圖像在數(shù)字化的過程中很難保留原有的特征,導(dǎo)致圖像處理的準(zhǔn)確率不理想。故本文先采用基于CNN模型來處理,采用不同結(jié)構(gòu)和數(shù)值的卷積核,提取更精確的數(shù)據(jù)特征。模型由3層卷積層和3層池化層構(gòu)成,使用線性整流函數(shù)(Rectified Linear Unit, ReLU)作為激活函數(shù)。在每個隱藏層,卷積核的大小為6×6,卷積運算步長為2。卷積運算公式用矩陣乘法來表示:
式中,y為當(dāng)前值;為常數(shù)項;為階數(shù);y-為自相關(guān)系數(shù);ε為誤差。
把卷積核展開后進(jìn)行按序排列,再遍歷所有的通道,最后將矩陣中對應(yīng)的行列數(shù)據(jù)點乘。CNN對數(shù)據(jù)處理需要以下幾個步驟:
步驟1:數(shù)據(jù)準(zhǔn)備。收集車流量數(shù)據(jù),并將其劃分為訓(xùn)練集和測試集;
步驟2:數(shù)據(jù)預(yù)處理。對數(shù)據(jù)進(jìn)行必要的處理,例如去噪、歸一化、缺失值填充等;
步驟3:特征提取。對每個數(shù)據(jù)樣本提取特征,例如天氣、時間、交通擁堵情況等,可以使用CNN自動提取特征;
步驟4:構(gòu)建CNN模型。使用開源神經(jīng)網(wǎng)絡(luò)庫(Keras)深度學(xué)習(xí)框架構(gòu)建CNN模型,包括卷積層、池化層、全連接層等;
步驟5:訓(xùn)練模型。使用訓(xùn)練集進(jìn)行模型訓(xùn)練,并在驗證集上調(diào)整模型參數(shù),避免過擬合;
步驟6:模型評估。使用測試集評估模型的預(yù)測效果,本文設(shè)置了均方根誤差(Root Mean Square Error, RMSE)、平均絕對誤差(Mean Absolute Error, MAE)、平均絕對百分比誤差(Mean Absolute Percentage Error, MAPE)三個指標(biāo);
步驟7:模型優(yōu)化。根據(jù)評估結(jié)果對模型進(jìn)行優(yōu)化,例如調(diào)整網(wǎng)絡(luò)結(jié)構(gòu)、改變損失函數(shù)、增加正則化等;
步驟8:預(yù)測車流量。使用訓(xùn)練好的CNN卷積網(wǎng)絡(luò)模型對新的車流量數(shù)據(jù)進(jìn)行預(yù)測。
ARIMA是一種自回歸差分移動平均模型,廣泛應(yīng)用于單變量時間序列數(shù)據(jù)預(yù)測。時間序列就是在時間變化過程中增量不變的條件下,記錄不同時刻下經(jīng)過路口車輛數(shù)量的集合,通過對多組歷史值的分析來預(yù)測未來的發(fā)展趨勢,即下一周期各時間節(jié)點通過路口的車流量。ARIMA(,,)模型有3個參數(shù),表示經(jīng)過次差分后是平穩(wěn)的ARIMA(,)過程,其中階自回歸過程的計算如式(1)所示。
現(xiàn)在通過使用ARIMA時間序列對車流量數(shù)據(jù)進(jìn)行預(yù)測,將時間節(jié)點的車流量設(shè)為變量,采用自回歸模型預(yù)測與前期相關(guān)的現(xiàn)象,步驟依次為
步驟1:進(jìn)行平穩(wěn)性檢驗。觀察時序圖,或者單位根檢測檢驗判斷序列是否平穩(wěn)。如果平穩(wěn)直接使用ARMA模型去擬合;如果不平穩(wěn)但是通過次差分后是一個平穩(wěn)過程,則使用ARIMA模型擬合。
步驟2:人工和階數(shù)的確定。ARIMA模型要求殘差之間不存在自相關(guān)性,因此,本文將自相關(guān)性系數(shù)大于0.1作為判定界限,如若滿足則是白噪聲,反之則不是。當(dāng)?shù)玫狡椒€(wěn)時間序列之后,要對其求得自相關(guān)系數(shù)自相關(guān)函數(shù)(Auto Correlation Function, ACF),通過對自相關(guān)圖得到最佳的階層和階數(shù)。
步驟3:模型評價。針對蕪湖市汪溪路路口的交通車流量數(shù)據(jù)集,通過結(jié)合最小化信息量準(zhǔn)則(Akaike Information Criterion, AIC)和BIC構(gòu)建更簡單的預(yù)測模型。與其他時間序列預(yù)測模型進(jìn)行對比,從而找到最優(yōu)模型,其計算公式為
式中,AI為AIC值;BI為BIC值;為模型參數(shù)個數(shù);為樣本數(shù)量;為似然函數(shù)。在保證模型精度的情況下盡量使得值越小越好。
步驟4:模型預(yù)測結(jié)果。通過ARIMA時間序列預(yù)測模型對蕪湖市汪溪路路口一段周期內(nèi)交通車流量數(shù)據(jù)進(jìn)行分析,預(yù)測出下一段時間周期交通車流量的變化趨勢。通過對預(yù)測結(jié)果進(jìn)行分析,找出一種在短周期時間序列中較為平穩(wěn)的變化趨勢。如果沒有找到最優(yōu)解,則返回式(2)和式(3)重新計算,直至找到最優(yōu)的模型。
傳統(tǒng)策略對于交通車流量的預(yù)測往往會受到上下班高峰期、意外擁堵、天氣等多種因素的影響。因此,使用傳統(tǒng)的策略進(jìn)行預(yù)測可能無法達(dá)到較好效果。在現(xiàn)有的成果中,大部分方式都是通過對歷史車流量數(shù)據(jù)進(jìn)行分析來預(yù)測下一階段的車流量。雖然理論上是可行的,但在實際情境中,往往會出現(xiàn)因為某階段內(nèi)車流量的急劇變化而干擾下一階段車流量的預(yù)測情況。為了避免該現(xiàn)象的出現(xiàn),本文通過收集歷史周期車流量數(shù)據(jù),計算每個時間節(jié)點的特征值,將得到的結(jié)果進(jìn)行線性分析之后取其平均值,使用式(4)預(yù)測下一階段各時間點的車流量。這種方式可以較好地應(yīng)對車流量因外部因素的影響所造成的準(zhǔn)確率誤差,即
式中,為一種線性回歸系數(shù),該系數(shù)值與預(yù)測精確率密切相關(guān);α隨值變化,為每個時間節(jié)點的車流量數(shù)據(jù)值。為了提高結(jié)果的精確率,本文提出了一種基于CNN-ARIMA的方法來預(yù)測值,從而得到式(4)的預(yù)測值,步驟依次為
步驟1:每一時間節(jié)點獲取一次歷史車流量數(shù)據(jù),將該樣本數(shù)據(jù)記錄之后按照時間順序進(jìn)行排序,對樣本數(shù)據(jù)采用隨機抽樣法進(jìn)行處理和分析,用最后的實驗結(jié)果預(yù)測下一周期各時間節(jié)點的車流量。
步驟2:將處理后的數(shù)據(jù)采用式(5)進(jìn)行Z- Scores歸一化處理,再將所有實驗數(shù)據(jù)劃分為訓(xùn)練集和測試集,訓(xùn)練集和測試集比例設(shè)為8:2,表示為
步驟3:將訓(xùn)練集和測試集用于訓(xùn)練CNN的卷積神經(jīng)網(wǎng)絡(luò),起初設(shè)定一個預(yù)期值,記錄每輪訓(xùn)練得到的實驗結(jié)果,將數(shù)據(jù)結(jié)果進(jìn)行對比。采用隨機梯度下降算法迭代參數(shù),減小測試誤差,同時設(shè)定迭代次數(shù)閾值,避免因迭代次數(shù)過多導(dǎo)致實驗結(jié)果出現(xiàn)過擬合或者欠擬合的情況。
圖2 預(yù)測過程圖
步驟4:對最終得到的實驗結(jié)果進(jìn)行分析計算,若預(yù)測結(jié)果不理想則重復(fù)訓(xùn)練步驟3,直至獲取全局最優(yōu)解的參數(shù)。具體預(yù)測流程如圖2所示。
為了驗證本文提出的CNN-ARIMA算法預(yù)測車流量的效果,對采集的車流量數(shù)據(jù)集上進(jìn)行了仿真實驗。仿真實驗環(huán)境使用操作系統(tǒng)為Win- dows 10;CPU酷睿i9 NVIDIA GeForce GTX 450;運行內(nèi)存為16 GB;硬盤為512 GB;深度學(xué)習(xí)框架為Tensorflow2.6;初始學(xué)習(xí)率為0.005;batch_ size設(shè)為150,后續(xù)會更改其大??;設(shè)閾值為500。同時使用長短期記憶網(wǎng)絡(luò)(Long Short Term Mem- ory, LSTM)與移動平均模型(Moving Average, MA)作為對比算法,以評估本文所提出算法在不同指標(biāo)下的性能。
為了驗證本文所述算法以及其他兩種算法的效果,采用RMSE、MAE、MAPE三個指標(biāo)來對算法模型進(jìn)行評價,計算公式為
為了對本文提出的算法進(jìn)行評估,CNN- ARIMA、LSTM、MA三種算法的結(jié)果如圖3所示。橫坐標(biāo)表示訓(xùn)練的車流量總數(shù),將其劃分為六段,樣本數(shù)為500~1 000個,間隔值為100??v坐標(biāo)表示模型預(yù)測的準(zhǔn)確度。由圖3可知,本文算法的最高預(yù)測準(zhǔn)確度為93%,最低預(yù)測準(zhǔn)確度為89%,均高于LSTM和MA算法,這說明本文算法具有一定可行性。
圖3 預(yù)測結(jié)果圖
當(dāng)車流量在500~600時,三種算法的預(yù)測準(zhǔn)確度都較高,均處于90%以上,當(dāng)車流量為600~800時,隨著車輛樣本數(shù)的增加,CNN-ARIMA和LSTM算法的預(yù)測準(zhǔn)確度有所下降,但下降趨勢較緩,而MA算法的下降速度較快,預(yù)測準(zhǔn)確度低于90%。因為MA算法性能較前兩種算法相比不太穩(wěn)定,當(dāng)處理的數(shù)據(jù)集過大,容易出現(xiàn)過擬合,從而導(dǎo)致算法準(zhǔn)確率下降較快。當(dāng)訓(xùn)練車流量在800~1 000時,LSTM和MA算法的預(yù)測準(zhǔn)確度迅速下降,而本文所提出的CNN-ARIMA算法仍保持緩慢下降,且預(yù)測準(zhǔn)確度超過85%。這說明本文所提出的算法能有效保持較高精確率而不受數(shù)據(jù)集大小的影響。本文三種算法的RMSE、MAE和MAPE的對比結(jié)果,如表1所示。提出的CNN-ARIMA算法RMSE、MAE和MAPE分別為9.71%、7.16%、17.42%。相比于另外兩種算法具有較好的效果,這也充分證明了本文算法的可行性。
表1 算法結(jié)果分析表
本文提出了一種基于CNN和ARIMA相結(jié)合的短周期交通車流量預(yù)測方法,所提出的算法在Tensorflow框架上進(jìn)行實現(xiàn),通過對車流量數(shù)據(jù)集的訓(xùn)練參數(shù)進(jìn)行迭代,提高了預(yù)測結(jié)果的準(zhǔn)確度,仿真實驗表明,本文的算法可以不受數(shù)據(jù)集的大小影響而保持較高的預(yù)測準(zhǔn)確度,其預(yù)測結(jié)果可以為車輛擁堵問題提供較好的提前應(yīng)對方案。在后續(xù)的研究中需要增加更大復(fù)雜化的車流量數(shù)據(jù)集,以期達(dá)到對整個城市路網(wǎng)的車流量進(jìn)行預(yù)測。
[1] 李瑞敏,王長君.智能交通管理系統(tǒng)發(fā)展趨勢[J].清華大學(xué)學(xué)報(自然科學(xué)版),2022(3):509-515.
[2] 王劍.城市街景影像中行人車輛檢測實現(xiàn)[D].北京:北京建筑大學(xué),2020.
[3] 崔國臣.基于Faster R-CNN的前方道路車輛檢測優(yōu)化算法研究[D].青島:山東科技大學(xué),2020.
[4] 魏子洋,趙志宏,趙敬嬌.改進(jìn)Faster R-CNN算法及其在車輛檢測中的應(yīng)用[J].應(yīng)用科學(xué)學(xué)報,2020,38(3): 377-387.
[5] 胡杰,龔永勝,蔡世杰,等.基于多源數(shù)據(jù)的車流量時空預(yù)測方法[J].汽車工程,2021,43(11):1662-1672.
[6] 陳帥男.基于改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)目標(biāo)檢測算法研究[D].大慶:東北石油大學(xué),2021.
[7] 楊東龍.基于ARIMA模型的區(qū)間道路短時車流量預(yù)測研究[J].電子設(shè)計工程,2021,29(13):38-42.
[8] 張利,李星毅,施化吉.基于ARIMA模型的短時交通流量預(yù)測算法研究[J].鄭州輕工業(yè)學(xué)院學(xué)報(自然科學(xué)版),2008,23(4):89-92.
Short Cycle Traffic Vehicle Flow Prediction Method for Traffic Intersections Based on CNN-ARIMA
BAO Wenhua, LIU Hairui, FANG Yuan, WANG Chengdong*
( Anhui Institute of Information Technology, Wuhu 241000, China )
Aiming at the problems of low accuracy and unstable data of existing prediction models in the process of intelligent traffic vehicle flow prediction, this paper proposes a short-period traffic flow prediction method based on the combination of convolutional neural network (CNN) andtime series prediction model auto regressive integrated moving average(ARIMA). In this paper, the historical traffic flow data of Wangxi road intersection in Wuhu city within a week is taken as the sample to predict the traffic vehicleflow in the next time period, and the obtained data are normalized and simulated. The simulation results show that the scheme can be applied to traffic control, and the scheme can effectively maintain a high accuracy without being affected by the size of the data set, and the prediction results can provide a better solution to the problem of vehicle congestion in advance.
Intelligent transportation;Traffic intersections;Short cycle;Traffic vehicleflow predic- tion; CNN-ARIMA;Prediction method
U491.1+4
A
1671-7988(2023)22-178-05
10.16638/j.cnki.1671-7988.2023.022.035
包文華(2001-),男,研究方向為車聯(lián)網(wǎng)智慧交通、大數(shù)據(jù)分析預(yù)測,E-mail:whbao1314@163.com。
王成棟(1991-),男,碩士,助教,研究方向為車聯(lián)網(wǎng)智慧交通,E-mail:cdwang2@iflytek.com。
安徽高校自然科學(xué)研究一般項目資助、安徽信息工程學(xué)院青年科研基金項目資助(22QNJJKJ006);安徽信息工程學(xué)院國家級大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計劃項目(202213613007);安徽信息工程學(xué)院省級大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計劃項目(S202213613047)。