徐建閩,朱琳聰,馬瑩瑩
(華南理工大學(xué) 土木與交通學(xué)院, 廣東 廣州 510640)
停車問題已經(jīng)成為城市交通管理中的重要問題之一,停車位有限導(dǎo)致路上行駛的許多汽車會出現(xiàn)反復(fù)尋泊[1]的現(xiàn)象,道路上的許多汽車在尋找停車位時消耗了很多時間和資源。向公眾提供準確的實時以及預(yù)測的停車位信息,可提高整個停車系統(tǒng)的運行效率,減少車輛的反復(fù)尋泊進而降低城市路網(wǎng)中的無效交通量。
近年來,深度學(xué)習(xí)在短時空閑泊位數(shù)預(yù)測中得到廣泛應(yīng)用。曹智慧[2]提出用BP神經(jīng)網(wǎng)絡(luò)預(yù)測技術(shù)來進行空閑泊位數(shù)的預(yù)測。梅杰[3]分析了影響空閑泊位數(shù)變化的因素,提出了基于LSTM神經(jīng)網(wǎng)絡(luò)的預(yù)測技術(shù)。Tamrazian等[4]使用無監(jiān)督機器學(xué)習(xí)算法對校園內(nèi)的停車數(shù)據(jù)離線和在線預(yù)測,神經(jīng)網(wǎng)絡(luò)模型具有較強的適應(yīng)性及較好的預(yù)測性能,已成為空閑泊位數(shù)預(yù)測中的常用方法,但是容易陷入局部最優(yōu),預(yù)測結(jié)果有一定的波動和隨機性。季彥婕等[5]利用小波變換對空閑泊位數(shù)數(shù)據(jù)進行重構(gòu),以粒子群算法對模型的參數(shù)進行優(yōu)化,提出組合預(yù)測模型。盧旭旺[6]提出一種基于GRU結(jié)構(gòu)的RNN算法,通過比較不同RNN結(jié)構(gòu)的預(yù)測性能確定網(wǎng)絡(luò)的最佳結(jié)構(gòu)。佘飛等[7]為了提高大型停車場空閑泊位數(shù)預(yù)測的精確性,提出了灰色理論、BP神經(jīng)網(wǎng)路以及馬爾科夫鏈的組合預(yù)測算法。劉菲等[8]基于LSTM模型和Bi-LSTM模型建立了優(yōu)化LSTM模型,將LSTM模型的輸出作為Bi-LSTM模型的輸入,Bi-LSTM結(jié)合了正向LSTM模型和逆向LSTM模型的優(yōu)點,進一步提高預(yù)測精度,組合預(yù)測算法能夠有效避免神經(jīng)網(wǎng)絡(luò)預(yù)測陷入局部最優(yōu),具有較強的全局搜索能力,但是容易發(fā)生梯度爆炸和梯度消失,導(dǎo)致預(yù)測效率降低。
卷積網(wǎng)絡(luò)應(yīng)用于序列預(yù)測已經(jīng)數(shù)十年了,卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)可用于捕獲空間特征[9],而遞歸神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)可用于捕獲時間特征,神經(jīng)網(wǎng)絡(luò)的變體和混合模型也廣泛應(yīng)用于空閑泊位數(shù)預(yù)測領(lǐng)域。趙聰?shù)萚10]利用卷積長短時神經(jīng)網(wǎng)絡(luò)(ConvLSTM),構(gòu)建動態(tài)管理模式下路內(nèi)停車泊位占有率預(yù)測方法,通過實驗證明有政策的模型預(yù)測精度顯著上升。
當前有關(guān)數(shù)據(jù)驅(qū)動的空閑泊位數(shù)短時預(yù)測的研究中,RNN模型仍然占據(jù)主流地位[11],在涉及CNN模型的研究中,多數(shù)卷積網(wǎng)絡(luò)被作為輔助手段,并沒有充分發(fā)揮出時序卷積神經(jīng)網(wǎng)絡(luò)的性能優(yōu)勢。針對空閑泊位數(shù)預(yù)測問題,為了解決CNN模型存在的梯度消失、梯度爆炸以及訓(xùn)練效率等問題,本文提出使用TCN模型。TCN模型是由Bai等[12]于2018年提出的,是基于WaveNet模型的改進。根據(jù)對現(xiàn)有文獻的研究,TCN模型尚未用于空閑泊位數(shù)預(yù)測,且尚未引入RAdam優(yōu)化器進行優(yōu)化,當前改進的時序卷積模型雖然在時間序列領(lǐng)域表現(xiàn)良好,但是未考慮空間相關(guān)性特征。本文將提出一種考慮區(qū)域占有率的基于改進TCN算法的空閑泊位數(shù)預(yù)測方法,將空間因素引入改進TCN模型中,旨在使得模型擁有更加準確的預(yù)測值。
本文的創(chuàng)新點主要有:
①為了解決空閑泊位數(shù)預(yù)測時間特征提取問題,將TCN模型應(yīng)用到空閑泊位數(shù)預(yù)測領(lǐng)域;
②為了解決路內(nèi)停車樣本數(shù)過少的問題,利用RAdam優(yōu)化算法對TCN模型進行改進,提高空閑泊位數(shù)預(yù)測模型的預(yù)測精度;
③為了充分考慮到周圍停車狀況對路內(nèi)停車路段的影響,提出區(qū)域占有率,通過計算空閑泊位數(shù)和區(qū)域占有率的相關(guān)系數(shù)得出區(qū)域占有率對路段空閑泊位數(shù)有影響這一結(jié)論,并將其引入空閑泊位數(shù)預(yù)測模型,進一步提高模型的預(yù)測精度。
選取廣東省深圳市南山區(qū)路內(nèi)停車位位研究對象,對2018年11月5日—25日的空閑泊位數(shù)進行分析,分析時間段工作日為7:40—20:00,非工作日為10:10—20:00。廣東省深圳市南山區(qū)路內(nèi)停車空閑泊位數(shù)變化圖如圖1所示。由圖1可見,深圳市南山區(qū)路內(nèi)停車的空閑泊位數(shù)具有一定的規(guī)律性。通過散點圖觀察發(fā)現(xiàn),工作日的空閑泊位數(shù)日變化趨勢有極高的相似性;但是,由于非工作日休閑出行的增多,因此非工作日的空閑泊位數(shù)與工作日有明顯差異。
總的來看,空閑泊位數(shù)變化既存在一定的規(guī)律性又存在一定的隨機性,對于時間序列問題,基于卷積神經(jīng)網(wǎng)絡(luò)的時間序列預(yù)測模型(TCN)已經(jīng)得到越來越廣泛的應(yīng)用,利用TCN算法構(gòu)建預(yù)測模型,是實現(xiàn)短時空閑泊位數(shù)預(yù)測的重要方法。
圖1 廣東省深圳市南山區(qū)路內(nèi)停車空閑泊位數(shù)變化圖Fig.1 Changes of free parking spaces on the road in Nanshan District
深圳市南山區(qū)停車數(shù)據(jù)涉及26個路段,共計1 107個停車位。PFLüGLER等[13]認為位置和交通狀況是影響空閑泊位數(shù)的重要因素,從邏輯上看,路內(nèi)停車位會受到附近路內(nèi)停車路段的影響,如果附近路內(nèi)停車位較為緊張,那么該路段的停車位也會受到影響。
本文針對深圳市路內(nèi)停車數(shù)據(jù)進行分析,提出引入?yún)^(qū)域占有率作為描述路內(nèi)停車路段的空間屬性,并以此來對停車區(qū)域進行劃分,即以目標路內(nèi)停車路段為中心,以整個區(qū)域內(nèi)路內(nèi)停車占有率為屬性,選擇適當長度的半徑畫圓進行區(qū)域劃分,停車區(qū)域劃分方式如圖2所示。參考文獻[14]對停車區(qū)域的劃分,以空間距離為考慮因素,并以3個路內(nèi)停車路段為例進行區(qū)域劃分。
R(n)表示以路內(nèi)停車路段為圓心,半徑為r的區(qū)域內(nèi)泊位占有率,表達式為
(1)
式中:k為區(qū)域內(nèi)的路內(nèi)停車路段數(shù)量;Xi為第i個路內(nèi)停車路段的停車數(shù)量;Pi為第i個路內(nèi)停車路段的停車位數(shù)量。
圖2 停車區(qū)域劃分Fig.2 Area division around the parking
在考慮將區(qū)域占有率引入空閑泊位數(shù)預(yù)測模型前,需分析區(qū)域占有率和空閑泊位數(shù)的相關(guān)性,協(xié)方差關(guān)系是分析2個變量相關(guān)性的經(jīng)典方法,公式為
(2)
式中:X為區(qū)域占有率時間序列;Y是路內(nèi)停車路段空閑泊位數(shù)時間序列;E[X]和E[Y]是2個時間序列的期望值; Cov(X,Y)為相關(guān)系數(shù)。
經(jīng)過公式(2)計算,區(qū)域占有率時間序列和路內(nèi)停車路段空閑泊位數(shù)時間序列的協(xié)方差為-0.73,協(xié)方差在-0.5~-1.0,可以看作對路內(nèi)停車路段空閑泊位數(shù)有重要影響。
由于傳統(tǒng)神經(jīng)網(wǎng)絡(luò)模型存在收斂速度慢,容易發(fā)生梯度消失或梯度爆炸等問題,因此Bai等[12]提出一種新型神經(jīng)網(wǎng)絡(luò)模型TCN模型。TCN模型主要由因果卷積、空洞卷積以及殘差連接3部分組成。
2.1.1 因果卷積和空洞卷積
TCN使用一維全卷積網(wǎng)絡(luò)(FCN)架構(gòu)[15]的因果卷積,然而一個簡單的因果卷積只能回顧網(wǎng)絡(luò)深度范圍內(nèi)的線性歷史記錄,使得該因果卷積在應(yīng)用于需要較長歷史信息的序列任務(wù)時具有挑戰(zhàn)性,所以采用空洞卷積對模型進行改進。對于一維序列x∈Rn以及卷積核f:{0,1,…,k-1}→R,將序列元素S上的空洞卷積運算F定義為
(3)
式中:d為空洞系數(shù);k是卷積核大小。
因此,空洞卷積的原理是間隔采取信息,以獲取更大歷史范圍內(nèi)的數(shù)據(jù),空洞系數(shù)d決定了采樣率,空洞系數(shù)即為采樣間隔,空洞系數(shù)越大,輸入的歷史范圍越大,有空洞系數(shù)的因果卷積如圖3所示,空洞系數(shù)d=1,2,4,卷積核大小k=3 。
圖3 有空洞系數(shù)的因果卷積Fig.3 A dilated causal convolution with dilation factors
2.1.2 殘差連接
盡管使用了空洞卷積,有的模型可能依舊非常深,較深的網(wǎng)絡(luò)結(jié)構(gòu)會發(fā)生梯度消失等問題,所以引入殘差連接。2016年,He等[16]提出了一個殘差的學(xué)習(xí)框架,以簡化網(wǎng)絡(luò)非常深的網(wǎng)絡(luò)訓(xùn)練,該學(xué)習(xí)框架是ResNet網(wǎng)絡(luò)結(jié)構(gòu),利用殘差塊不僅增加了網(wǎng)絡(luò)深度,而且還提高了準確度,該殘差塊包含一個分支,該分支通過一系列變換F,其輸出和x被添加到激和函數(shù)的輸入中,o為激活函數(shù)的輸出結(jié)果。
(4)
由于路內(nèi)停車泊位數(shù)數(shù)量有限,存在樣本不足的問題,因此RAdam優(yōu)化器解決了Adam優(yōu)化器預(yù)熱期樣本不足的問題,將RAdam優(yōu)化器應(yīng)用于空閑泊位數(shù)預(yù)測能有效解決樣本不足的問題,提高預(yù)測精度,加快訓(xùn)練速度。
RAdam算子流程如下:
輸出:優(yōu)化后參數(shù)θt;
Step 3:如果方差是可處理的,例如ρt>4 ,那么執(zhí)行Step 4,否則執(zhí)行Step 5;
2.3.1 構(gòu)建空閑泊位數(shù)預(yù)測模型
短時空閑泊位數(shù)預(yù)測模型以空閑泊位數(shù)為預(yù)測目標,通過時間塊結(jié)構(gòu)來充分提取空閑泊位數(shù)的時間特性,RTCN模型架構(gòu)如圖4所示。第一層是空閑泊位數(shù)序列輸入層,接下來是連續(xù)堆疊的4層殘差塊,每個殘差塊由2層空洞因果卷積、非線性映射函數(shù)使用修正線性單元(rectified linear unit,ReLU)和1×1卷積組成,卷積核的大小是4,卷積核個數(shù)是10,每層殘差塊的空洞系數(shù)為1、2、4、8,之后是全連接層,最后是輸出層,輸出目標時刻的空閑泊位數(shù)。
圖 4 RTCN結(jié)構(gòu)Fig.4 RTCN architecture
2.3.2 空閑泊位數(shù)預(yù)測步驟
圖5 空閑泊位數(shù)預(yù)測步驟Fig.5 Steps of prediction of free parking spaces
具體步驟如下:①進行數(shù)據(jù)處理,剔出異常值;②停車區(qū)域劃分,計算每個路內(nèi)停車路段的區(qū)域占有率;③基于改進TCN模型對空閑泊位數(shù)進行預(yù)測;④引入?yún)^(qū)域占有率特征對空閑泊位數(shù)進行預(yù)測;⑤模型評價。
為了比較不同預(yù)測方法的準確性,以均方根誤差(root mean squared error,RMSE)和平均絕對誤差(mean absolute error,MAE)為主要指標。RMSE和MAE分別用來評價預(yù)測值和真實值之間的誤差以及預(yù)測值和真實值之間的差值,分別用R、M表示,評估指標表達式為
(5)
(6)
本文中實驗數(shù)據(jù)來源于深圳市政府數(shù)據(jù)開放平臺,隨機挑選3個不同區(qū)域的路內(nèi)停車路段,分別是高新南七道、海德一街和科技南街,3個停車路段均為全日泊位類型,工作日7:30—20:00收費,非工作日10:00—20:00收費,不限停車時間。訓(xùn)練數(shù)據(jù)為2018年11月5—25日(7:40—20:00)的空閑泊位數(shù),并且20%作為驗證集,對工作日(2018年11月26—31日)7:40—20:00與非工作日(2018年12月1—2日)10:10—20:00的空閑泊位數(shù)進行預(yù)測。本文在訓(xùn)練集上進行模型訓(xùn)練,在測試集上檢測模型的預(yù)測效果,使用同一測試集對不同模型進行驗證,比較模型的性能??臻e泊位數(shù)預(yù)測步驟如圖5所示。
圖6 模型訓(xùn)練時間對比Fig.6 Comparison of training time of the three models
3.1.1 實驗1
使用RTCN模型對10、20、30 min的空閑泊位數(shù)進行預(yù)測,為了比較算法的性能,分別利用LSTM和GRU神經(jīng)網(wǎng)絡(luò)對同一數(shù)據(jù)進行訓(xùn)練和預(yù)測,回溯時間窗口均設(shè)置為10,訓(xùn)練次數(shù)均為200,損失函數(shù)采用均方誤差。首先對各個模型的訓(xùn)練時間進行比較,模型訓(xùn)練時間對比結(jié)果如圖6所示,在進行10、20 min空閑泊位數(shù)預(yù)測時,RTCN模型的訓(xùn)練時間最短,在進行30 min空閑泊位數(shù)預(yù)測時,GRU模型的訓(xùn)練時間最短,LSTM的訓(xùn)練時間最長,且遠遠高于改進RTCN和GRU預(yù)測模型,可見LSTM的預(yù)測速度較慢,RTCN的訓(xùn)練速度較快。 對工作日與非工作日的空閑泊位數(shù)進行預(yù)測,計算平均預(yù)測誤差。預(yù)測工作日空閑泊位數(shù)的3種模型的預(yù)測誤差見表1,預(yù)測非工作日空閑泊位數(shù)的3種模型的預(yù)測誤差見表2。
表1 工作日3個模型的預(yù)測結(jié)果比較Tab.1 Comparison of the prediction results of the three models On weekdays
在工作日,與LSTM預(yù)測算法、GRU預(yù)測算法相比,RTCN模型的預(yù)測性能有明顯優(yōu)勢,以高新南七道為例,在預(yù)測第10分鐘空閑泊位數(shù)預(yù)測時,在RMSE上RTCN模型比LSTM模型小0.18,比GRU模型小0.21,在MAE上RTCN模型比LSTM模型小0.22,比GRU模型小0.11。在預(yù)測20分空閑泊位數(shù)預(yù)測時,在RMSE上RTCN模型比LSTM模型小0.35,比GRU模型小0.20,在MAE上RTCN模型比LSTM模型小0.53,比GRU模型小0.31。在預(yù)測第30分鐘空閑泊位數(shù)預(yù)測時,在RMSE上RTCN模型比LSTM模型小0.80,比GRU模型小0.34,在MAE上RTCN模型比LSTM模型小0.88,比GRU模型小0.29,可見在預(yù)測工作日空閑泊位數(shù)時,RTCN模型的表現(xiàn)要明顯優(yōu)于LSTM和GRU模型,隨著預(yù)測時間變長,TCN模型的預(yù)測精度提升幅度增大。并且隨著預(yù)測時間的變長,RTCN、LSTM以及GRU模型的RMSE和MAE均變大,表明3種預(yù)測模型的預(yù)測精度均隨著預(yù)測時間的變長而下降。
在非工作日,與LSTM預(yù)測算法、GRU預(yù)測算法相比,在大部分情況下,RTCN模型的預(yù)測性能有優(yōu)勢,以高新南七道為例,在預(yù)測第10分鐘空閑泊位數(shù)預(yù)測時,在RMSE上RTCN模型比LSTM模型小0.02,比GRU模型小0.14,在MAE上RTCN模型比LSTM模型小0.25,比GRU模型小0.23。在預(yù)測20分空閑泊位數(shù)預(yù)測時,在RMSE上RTCN模型比LSTM模型小0.50,比GRU模型小0.06,在MAE上RTCN模型比GRU模型小0.06。在預(yù)測第30分鐘空閑泊位數(shù)預(yù)測時,在RMSE上RTCN模型比LSTM模型小0.63,比GRU模型小0.23,在MAE上RTCN模型比GRU模型小0.07。在預(yù)測非工作日空閑泊位數(shù)時,3種模型的RMSE與MAE均隨著預(yù)測時間的變長而增大,表明模型預(yù)測精度隨著預(yù)測時間的延長而下降。與預(yù)測工作日空閑泊位數(shù)相比,雖然預(yù)測非工作日的空閑泊位數(shù)時RTCN模型相較于LSTM和GRU模型預(yù)測性能優(yōu)勢下降,但是總體來看RTCN的預(yù)測精度高于LSTM和GRU模型。
表2 非工作日3種模型的預(yù)測結(jié)果比較Tab.2 Comparison of the prediction results of the three modelson weekends
為了進一步分析3種模型在不同空閑泊位狀態(tài)上的表現(xiàn),本文按照真實空閑泊位數(shù)的大小,將空閑泊位數(shù)分為峰值和非峰值2種情況,各個模型的表現(xiàn)如圖7所示。
圖7 3種模型在各個條件下的表現(xiàn)Fig.7 The performance of the three models under different conditions.
從圖7中可以看出,在預(yù)測工作日空閑泊位數(shù)時,RTCN模型受到空閑泊位數(shù)大小的影響較小,始終維持在較好的水平,預(yù)測精度高于LSTM和GRU模型,而在預(yù)測非工作日空閑泊位數(shù)時,在非峰值狀態(tài)下GRU的預(yù)測性能表現(xiàn)更好,在峰值狀態(tài)下,RTCN模型的表現(xiàn)更好。
3.1.2 實驗2
考慮區(qū)域占有率的RTCN模型對10、20、30 min的空閑泊位數(shù)進行預(yù)測,使用考慮區(qū)域占有率的RTCN模型針對3個不同預(yù)測時間的空閑泊位數(shù)進行預(yù)測,以高新南七道為例,工作日預(yù)測值與真實值對比如圖8所示,非工作日預(yù)測值與真實值的對比如圖9所示。
考慮區(qū)域占有率和不考慮區(qū)域占有率的模型預(yù)測工作日空閑泊位數(shù)誤差見表3,預(yù)測非工作日空閑泊位數(shù)誤差見表4。
圖8 空閑泊位數(shù)預(yù)測值和真實值對比Fig.8 Comparisonof the predicted value and the real value of the number of free parking spaces on weekdays
圖9 非工作日考慮、區(qū)域占有率空閑泊位數(shù)預(yù)測值和真實值對比Fig.9 Comparison of the predicted value and the real value of number of free parking spaces on weekends
表3 工作日兩個模型的預(yù)測結(jié)果比較Tab.3 Comparison of the prediction results of two modelson weekdays
表4 非工作日2種模型的預(yù)測結(jié)果比較Tab.4 Comparison of the prediction results of the two modelson weekends
在預(yù)測工作日空閑泊位數(shù)時,將區(qū)域占有率引入RTCN模型后,預(yù)測精度得到進一步的提升,以高新南七道為例,在預(yù)測10 min數(shù)據(jù)時,考慮區(qū)域占有率的RTCN模型的RMSE比RTCN模型低0.15,MAE比RTCN模型低0.20;在預(yù)測20 min數(shù)據(jù)時,考慮區(qū)域占有率的RTCN模型的RMSE比RTCN模型低0.46,MAE比RTCN模型低0.37;在預(yù)測30 min數(shù)據(jù)時,考慮區(qū)域占有率的RTCN模型的RMSE比RTCN模型低0.19,MAE比RTCN模型低0.23。
在預(yù)測非工作日空閑泊位數(shù)時,將區(qū)域占有率引入RTCN模型后,預(yù)測精度得到進一步的提升,以高新南七道為例,在預(yù)測10 min數(shù)據(jù)時,考慮區(qū)域占有率的RTCN模型的RMSE比RTCN模型低0.65,MAE比RTCN模型低0.26;在預(yù)測20 min數(shù)據(jù)時,考慮區(qū)域占有率的RTCN模型的RMSE比RTCN模型低0.47,MAE比RTCN模型低0.34;在預(yù)測30 min數(shù)據(jù)時,考慮區(qū)域占有率的RTCN模型的RMSE比RTCN模型低0.33,MAE比RTCN模型低0.32。
在預(yù)測工作日和非工作日空閑泊位數(shù)時,隨著預(yù)測時間的變長,考慮區(qū)域占有率的RTCN模型的預(yù)測精度下降。
通過對空閑泊位數(shù)預(yù)測問題的研究,本文提出了考慮占有率的基于改進TCN模型的短時空閑泊位數(shù)預(yù)測方法。與LSTM算法和GRU算法相比,改進TCN預(yù)測模型的預(yù)測誤差更小,訓(xùn)練速度更快,并通過引入?yún)^(qū)域占有率這一影響因素,建立了考慮占有率的基于改進TCN模型的短時空閑泊位數(shù)預(yù)測方法,進一步提高了模型的預(yù)測精度。
通過對考慮區(qū)域占有率的RTCN泊位預(yù)測模型研究和實驗分析,可以出以下結(jié)論:
①TCN模型能夠解決空閑泊位數(shù)預(yù)測的時間特征提取問題;
②RAdam算子與TCN模型結(jié)合適用于路內(nèi)停車空閑泊位的預(yù)測,能夠提高預(yù)測模型的適用性,解決路內(nèi)停車樣本不足的問題;
③增加區(qū)域占有率作為RTCN模型的輸入能夠有效提取空間特征,有助于挖掘空間關(guān)聯(lián)信息,提高預(yù)測精度。