宋 瑞,程子龍,趙日鑫
(北京交通大學(xué) 綜合交通運輸大數(shù)據(jù)應(yīng)用技術(shù)交通運輸行業(yè)重點實驗室,北京100044)
隨著國內(nèi)物質(zhì)水平的不斷提升,各個城市均呈現(xiàn)出機動車保有量持續(xù)增長的趨勢,隨之暴露出的便是城市“停車難”問題。由于國內(nèi)各個城市智慧停車場建設(shè)尚未完善,駕駛者在停車過程中表現(xiàn)出獲取信息不對稱等問題,以致于造成大量機動車在城市道路中“巡游”,造成城市道路擁堵的同時導(dǎo)致大量尾氣排放,污染城市環(huán)境。對于一些大型停車場來說,停車位信息是不斷變化的,僅僅提供停車位的實時信息,會忽略駕駛者在行駛過程中停車位數(shù)量的變化情況,不能保證駕駛員到達(dá)停車場時可以找到空閑停車位,很容易造成駕駛員“跑空”的尷尬情形,導(dǎo)致大量無效交通的產(chǎn)生。尤其是駕駛員在行駛過程中遇到中心城區(qū)擁堵現(xiàn)象的發(fā)生,則會進一步加劇獲取信息的不對稱性。實現(xiàn)停車場空閑停車位的短期預(yù)測,為駕駛者提供全面的停車位信息可以緩解駕駛者獲取信息不對稱問題,進一步提高停車誘導(dǎo)成功率,改善城市停車難問題。
由于受到停車場類型、天氣、道路交通情況、駕駛員行為以及采集過程中的干擾等多種因素影響,停車位數(shù)據(jù)構(gòu)成的時間序列會表現(xiàn)出較高的復(fù)雜性和隨機性。對此,國內(nèi)外學(xué)者針對停車位短期預(yù)測提出了多種預(yù)測模型,筆者將其主要分為兩種。一種是以模型驅(qū)動為主的預(yù)測模型[1-3],主要是針對停車過程建立基本模型并通過標(biāo)定參數(shù)進行空閑停車位的短期預(yù)測。另一種是以數(shù)據(jù)驅(qū)動為主的預(yù)測模型,包括基于數(shù)理統(tǒng)計和機器學(xué)習(xí)的方法建立模型進行預(yù)測,如JI Yanjie等[4]采用三層小波神經(jīng)網(wǎng)絡(luò)對停車場內(nèi)短期停車位可用率進行預(yù)測;肖雪[5]通過聚類分析停車數(shù)據(jù)獲取車輛到達(dá)和離開的規(guī)律,采用馬爾可夫生死過程建立模型進行預(yù)測,同時利用粒子群優(yōu)化LSTM(long short-term memory)對停車需求進行了預(yù)測;章偉[6]提出了傅里葉變換-最小二乘支持向量回歸的多步預(yù)測方法,進一步提高了預(yù)測精度;A.KLAPPENECKER等[7]通過連續(xù)時間的馬爾科夫鏈進行建模對停車位進行預(yù)測,這種方法簡單快捷,但是魯棒性較差,預(yù)測結(jié)果有時存在較大誤差。這些模型中神經(jīng)網(wǎng)絡(luò)模型具有較強的容錯性,但訓(xùn)練速度有待提高。
目前集成算法在各類數(shù)據(jù)科學(xué)競賽以及不同領(lǐng)域預(yù)測方面得到廣泛應(yīng)用。相比傳統(tǒng)的神經(jīng)網(wǎng)絡(luò),集成算法擁有更快的訓(xùn)練速度,預(yù)測準(zhǔn)確率也有較大的提升。其中,XGBoost(extreme gradient boosting)是一種基于Boosting集成思想的集成算法,具有高效、靈活、便捷的特點。XGBoost將決策樹作為弱學(xué)習(xí)器,并通過集成多個弱學(xué)習(xí)器從而獲得更好的預(yù)測結(jié)果,具有速度快、表現(xiàn)好的優(yōu)越性。付宇等[8]對北京軌道AFC數(shù)據(jù)進行處理并采用XGBoost預(yù)測模型對軌道交通站點進出客流量進行預(yù)測;陳劍強等[9]采用XGBoost模型實現(xiàn)電網(wǎng)負(fù)荷短期預(yù)測,并通過對比證明了所提模型具有更高的準(zhǔn)確性。通過總結(jié)發(fā)現(xiàn),相比單一預(yù)測模型,通過智能優(yōu)化算法實現(xiàn)超參數(shù)尋優(yōu)的組合預(yù)測模型具有更高的預(yù)測精度。其中,鯨魚優(yōu)化算法是一種新型啟發(fā)式算法,具有收斂速度快,全局尋優(yōu)等特點。對此,筆者首先對空閑停車位數(shù)據(jù)進行預(yù)處理,然后引入XGBoost算法并結(jié)合鯨魚優(yōu)化算法實現(xiàn)初始參數(shù)的尋優(yōu),構(gòu)建組合預(yù)測模型,最后通過實例驗證所提模型的有效性。
文中所用數(shù)據(jù)為英國伯明翰城市停車場數(shù)據(jù),該數(shù)據(jù)集采集時間為2016年11月1日—2016年11月30日,如圖1。首先需要對停車場空閑停車位數(shù)量變化的隨機性進行分析以及預(yù)處理操作。總體而言,該數(shù)據(jù)集整體變化趨勢大致相同。
圖1 2016年11月1日—11月7日空閑停車位數(shù)據(jù)
停車場空閑停車位數(shù)據(jù)在采集過程中會受到多種隨機因素的干擾,造成數(shù)據(jù)的劇烈變化。對此筆者采用波動率來更好地描述空閑停車位數(shù)據(jù)的隨機性,如圖2。假設(shè)時間序列為XN,則某一時間點數(shù)據(jù)的波動率vk=[(Xk+1-Xk)/Xk],k=1,2,…,N-1,其中N為數(shù)據(jù)總長度,k為對應(yīng)的序號。
圖2 空閑停車位數(shù)量序列波動率
由圖2可知,該數(shù)據(jù)具有很強的波動性且波動規(guī)律性較弱,存在較大的噪聲干擾。對比小波分析,奇異譜分析可以更好地的提取數(shù)據(jù)的有用信息剔除噪聲數(shù)據(jù)[10]。筆者將采用奇異譜分析實現(xiàn)對數(shù)據(jù)的預(yù)處理。奇異譜分析結(jié)合了線性代數(shù)、多元統(tǒng)計、動力系統(tǒng)、信號處理等傳統(tǒng)時間序列分析方法。在對非線性時間序列進行處理時,奇異譜分析根據(jù)原始時間序列構(gòu)造軌跡矩陣,并對軌跡矩陣進行分解和重構(gòu),從而實現(xiàn)對原始時間序列不同成分的提取以及噪聲的剔除。
首先,對原始時間序列進行軌跡矩陣的構(gòu)造,選擇合適的窗口長度M,采用滑動窗口的方式進行等間隔采樣,將原始時間序列進行滯后排列,從而得到原始時間序列的軌跡矩陣。假設(shè)原始時間序列為X={X1,X2,…,XN},其中N為原始時間序列長度。M為給定窗口長度,取值范圍為1≤M≤N/2。由此可得出L=N-M+1,則軌跡矩陣Y為M×L的矩陣:
(1)
其次,對軌跡矩陣Y進行奇異值分解和分組。最后通過對角平均化可以將分組得到的矩陣轉(zhuǎn)化為一系列長度為N的新序列,可根據(jù)貢獻率選擇貢獻大的成分序列進行重構(gòu)從而達(dá)到原始序列降噪的目的。筆者采用后驗的方法,設(shè)置窗口長度為256,提取前14個主成分,對停車場數(shù)據(jù)進行重構(gòu),重構(gòu)序列如圖3。
圖3 停車場數(shù)據(jù)SSA處理結(jié)果
鯨魚優(yōu)化算法(whale optimization algorithm,WOA)是由S.MIRJALILI等[11]于2016年提出的一種啟發(fā)式優(yōu)化算法,通過模擬座頭鯨狩獵行為找尋問題最優(yōu)解,具有調(diào)整參數(shù)少、全局搜索能力強、操作簡單的特點。筆者將其應(yīng)用于XGBoost超參數(shù)的尋優(yōu)。鯨魚優(yōu)化通過隨機選擇的鯨魚位置來更新其他鯨魚的位置,避免陷入局部最優(yōu),從而實現(xiàn)全局最優(yōu)搜索。x(t)為鯨魚當(dāng)前位置;t為當(dāng)前迭代次數(shù),通過系數(shù)A實現(xiàn)全局尋優(yōu),其數(shù)學(xué)模型如式(2):
(2)
式中:xrand為群體中隨機選擇的鯨魚位置;A和c為系數(shù);r1,r2為[0,1]中的隨機數(shù);Tmax為最大迭代次數(shù)。
在包圍獵物過程中,WOA算法將會假定當(dāng)前的最佳候選解是目標(biāo)獵物或接近最優(yōu)解,然后其他鯨魚個體會朝著最優(yōu)位置更新位置,數(shù)學(xué)模型如式(3):
(3)
式中:x*(t)表示當(dāng)前最優(yōu)解。
同時座頭鯨在狩獵過程中會在一個縮小的圓圈內(nèi)繞著獵物游動,同時螺旋式靠近獵物。為了更好地表達(dá)這一行為,通過設(shè)置概率系數(shù)p,當(dāng)p≥0.5時,采用螺旋式更新位置,反之采用包圍式更新位置,數(shù)學(xué)模型如式(4)、式(5):
(4)
(5)
式中:b=1;l∈[-1,1];pi取值為0.5。
XGBoost算法是一種基于Boosting集成思想的算法,使用了一階偏導(dǎo)和二階偏導(dǎo)。二階導(dǎo)數(shù)的應(yīng)用有利于梯度下降得更快更準(zhǔn)。同時為了防止模型過擬合,XGBoost在目標(biāo)函數(shù)中加入了正則項,用于控制模型的復(fù)雜度。其目標(biāo)函數(shù)定義如式(6)、式(7):
(6)
(7)
最后通過泰勒展開公式獲得最終目標(biāo)函數(shù)如式(8):
(8)
筆者將通過鯨魚優(yōu)化算法實現(xiàn)對XGBoost模型中樹的深度、學(xué)習(xí)率、子模型數(shù)量進行參數(shù)尋優(yōu),進一步提高模型精度。其中適應(yīng)度函數(shù)采用模型訓(xùn)練的均方根誤差進行計算。首先,確定XGBoost模型拓?fù)浣Y(jié)構(gòu),確定尋優(yōu)參數(shù)。其次,初始化種群,計算每個個體的適應(yīng)度值,不斷進行位置更新。最終,記錄最優(yōu)個體適應(yīng)度值以及位置并將其傳輸至XGBoost模型,對模型進行訓(xùn)練獲得最終預(yù)測模型。具體流程如圖4。
圖4 WOA-XGBoost流程
選取英國伯明翰城市停車場數(shù)據(jù)2016年11月1日—11月29日的數(shù)據(jù)作為訓(xùn)練集,11月30日數(shù)據(jù)作為測試集,采用均方根誤差等作為評價指標(biāo),用來驗證模型的有效性。
鯨魚優(yōu)化算法具有參數(shù)少、易操作的特點,對此筆者設(shè)置參數(shù)b為默認(rèn)值1,種群數(shù)量為30,迭代次數(shù)為50。由于只針對XGBoost模型的學(xué)習(xí)率、樹的最大深度、生成的最大樹數(shù)目進行尋優(yōu),故設(shè)置鯨魚優(yōu)化算法維度為3。設(shè)置XGBoost模型初始樹的最大深度為5,學(xué)習(xí)率為0.05,生成最大樹的數(shù)目為100,測試集預(yù)測結(jié)果的ERMS=7.753,在此基礎(chǔ)上可通過優(yōu)化算法求得最優(yōu)超參數(shù),進一步提高預(yù)測精度。在實現(xiàn)對XGBoost模型參數(shù)尋優(yōu)的過程中需對參數(shù)的范圍進行界定,設(shè)置參數(shù)范圍:max_depth∈[3,50],learing_rate∈[50,200],n_estimators∈[0.01,0.30]。
圖5反映了隨著迭代次數(shù)的增加鯨魚優(yōu)化算法適應(yīng)度值的變化情況。從圖5可以看出,鯨魚優(yōu)化算法在一開始便找到了相對較好的參數(shù)組合,相較于默認(rèn)參數(shù)情況下均方根誤差為7.753,初始均方根誤差為5.094,效果較明顯。同時算法具有較快的收斂速度,在第20次迭代后,算法收斂,并找到最優(yōu)參數(shù)組合為[7,0.279,140],均方根誤差為4.310。
圖5 適應(yīng)度曲線
為了驗證提出模型的有效性,筆者將提出的WOA-XGBoost與默認(rèn)參數(shù)情況下的XGBoost模型以及WOA-SVR模型預(yù)測結(jié)果進行對比分析。其中RBF核函數(shù)具有較高的預(yù)測準(zhǔn)確率,泛化能力較好[12],故SVR模型采用RBF核函數(shù)。評價指標(biāo)采用平均絕對誤差EMA、均方根誤差ERMS、回歸模型決定系數(shù)R2,如式(9)—式(11)。
(9)
(10)
(11)
用上述模型分別對測試集進行預(yù)測,得到結(jié)果如表1和表2,同時將各模型預(yù)測值與原始值進行對比,繪制曲線如圖6。
通過表1和表2可知,3種預(yù)測模型均表現(xiàn)良好,具有較好的擬合度,其中筆者提出的WOA-XGBoost預(yù)測方法具有較高的精度,平均絕對誤差為3.164輛、均方根誤差為4.310輛、R2=0.986。此外,相比其他預(yù)測模型,WOA-XGBoost模型預(yù)測值擬合度較好,相對誤差最大值為3.226%,最小值為0.352%。通過對比WOA-XGBoost模型與XGBoost模型預(yù)測結(jié)果可知,利用鯨魚優(yōu)化算法有利于找到全局最優(yōu)的參數(shù)組合,從而在一定程度上降低了預(yù)測誤差。通過對比XGBoost模型與WOA-SVR預(yù)測結(jié)果可知,基于Boosting集成思想的XGBoost模型在停車場空閑停車位短期預(yù)測方面的可應(yīng)用性豐富了停車位短期預(yù)測模型體系。同時對比3組預(yù)測結(jié)果,驗證了WOA-XGBoost模型在停車場空閑停車位短期預(yù)測方面具有較好的預(yù)測結(jié)果,穩(wěn)定性較好,進一步提高了預(yù)測的可靠性。
表1 不同預(yù)測模型評價指標(biāo)對比
圖6 預(yù)測值對比
表2 空閑停車位部分預(yù)測值和真實值對比
1)停車場空閑停車位數(shù)據(jù)在采集過程中可能會受到多種因素的影響,致使數(shù)據(jù)集具有很強的波動性。奇異譜分析可以更好地提取數(shù)據(jù)的有用信息,通過奇異譜分析對數(shù)據(jù)進行預(yù)處理,進一步提高數(shù)據(jù)集的可靠性。
2)將集成算法引入到停車場空閑停車位短期預(yù)測當(dāng)中,在此基礎(chǔ)上采用鯨魚優(yōu)化算法實現(xiàn)對XGBoost預(yù)測模型參數(shù)的優(yōu)化,進一步降低人工設(shè)置參數(shù)的隨機性以及提高整體預(yù)測精度。
3)通過與其他預(yù)測模型進行對比,證明了筆者提出的組合預(yù)測模型具有較好的預(yù)測結(jié)果以及可靠性。
綜上所述,筆者提出的WOA-XGBoost組合預(yù)測模型在停車場空閑停車位短期預(yù)測方面具有較好的預(yù)測結(jié)果,可以為駕駛者提供全面的停車位信息,進一步提高誘導(dǎo)成功率,解決城市停車難問題。在未來研究中可以考慮不同停車影響因素對預(yù)測結(jié)果造成的影響,同時引進精英策略等對鯨魚優(yōu)化算法進行改進以提升搜索能力,提高組合預(yù)測模型的預(yù)測精度。