?

基于WOA-XGBoost的空閑停車位短期預測方法

2023-05-09 05:02程子龍趙日鑫
關鍵詞:空閑停車位鯨魚

宋 瑞,程子龍,趙日鑫

(北京交通大學 綜合交通運輸大數據應用技術交通運輸行業重點實驗室,北京100044)

0 引 言

隨著國內物質水平的不斷提升,各個城市均呈現出機動車保有量持續增長的趨勢,隨之暴露出的便是城市“停車難”問題。由于國內各個城市智慧停車場建設尚未完善,駕駛者在停車過程中表現出獲取信息不對稱等問題,以致于造成大量機動車在城市道路中“巡游”,造成城市道路擁堵的同時導致大量尾氣排放,污染城市環境。對于一些大型停車場來說,停車位信息是不斷變化的,僅僅提供停車位的實時信息,會忽略駕駛者在行駛過程中停車位數量的變化情況,不能保證駕駛員到達停車場時可以找到空閑停車位,很容易造成駕駛員“跑空”的尷尬情形,導致大量無效交通的產生。尤其是駕駛員在行駛過程中遇到中心城區擁堵現象的發生,則會進一步加劇獲取信息的不對稱性。實現停車場空閑停車位的短期預測,為駕駛者提供全面的停車位信息可以緩解駕駛者獲取信息不對稱問題,進一步提高停車誘導成功率,改善城市停車難問題。

由于受到停車場類型、天氣、道路交通情況、駕駛員行為以及采集過程中的干擾等多種因素影響,停車位數據構成的時間序列會表現出較高的復雜性和隨機性。對此,國內外學者針對停車位短期預測提出了多種預測模型,筆者將其主要分為兩種。一種是以模型驅動為主的預測模型[1-3],主要是針對停車過程建立基本模型并通過標定參數進行空閑停車位的短期預測。另一種是以數據驅動為主的預測模型,包括基于數理統計和機器學習的方法建立模型進行預測,如JI Yanjie等[4]采用三層小波神經網絡對停車場內短期停車位可用率進行預測;肖雪[5]通過聚類分析停車數據獲取車輛到達和離開的規律,采用馬爾可夫生死過程建立模型進行預測,同時利用粒子群優化LSTM(long short-term memory)對停車需求進行了預測;章偉[6]提出了傅里葉變換-最小二乘支持向量回歸的多步預測方法,進一步提高了預測精度;A.KLAPPENECKER等[7]通過連續時間的馬爾科夫鏈進行建模對停車位進行預測,這種方法簡單快捷,但是魯棒性較差,預測結果有時存在較大誤差。這些模型中神經網絡模型具有較強的容錯性,但訓練速度有待提高。

目前集成算法在各類數據科學競賽以及不同領域預測方面得到廣泛應用。相比傳統的神經網絡,集成算法擁有更快的訓練速度,預測準確率也有較大的提升。其中,XGBoost(extreme gradient boosting)是一種基于Boosting集成思想的集成算法,具有高效、靈活、便捷的特點。XGBoost將決策樹作為弱學習器,并通過集成多個弱學習器從而獲得更好的預測結果,具有速度快、表現好的優越性。付宇等[8]對北京軌道AFC數據進行處理并采用XGBoost預測模型對軌道交通站點進出客流量進行預測;陳劍強等[9]采用XGBoost模型實現電網負荷短期預測,并通過對比證明了所提模型具有更高的準確性。通過總結發現,相比單一預測模型,通過智能優化算法實現超參數尋優的組合預測模型具有更高的預測精度。其中,鯨魚優化算法是一種新型啟發式算法,具有收斂速度快,全局尋優等特點。對此,筆者首先對空閑停車位數據進行預處理,然后引入XGBoost算法并結合鯨魚優化算法實現初始參數的尋優,構建組合預測模型,最后通過實例驗證所提模型的有效性。

1 數據分析及預處理

文中所用數據為英國伯明翰城市停車場數據,該數據集采集時間為2016年11月1日—2016年11月30日,如圖1。首先需要對停車場空閑停車位數量變化的隨機性進行分析以及預處理操作??傮w而言,該數據集整體變化趨勢大致相同。

圖1 2016年11月1日—11月7日空閑停車位數據

1.1 隨機性分析

停車場空閑停車位數據在采集過程中會受到多種隨機因素的干擾,造成數據的劇烈變化。對此筆者采用波動率來更好地描述空閑停車位數據的隨機性,如圖2。假設時間序列為XN,則某一時間點數據的波動率vk=[(Xk+1-Xk)/Xk],k=1,2,…,N-1,其中N為數據總長度,k為對應的序號。

圖2 空閑停車位數量序列波動率

1.2 奇異譜分析

由圖2可知,該數據具有很強的波動性且波動規律性較弱,存在較大的噪聲干擾。對比小波分析,奇異譜分析可以更好地的提取數據的有用信息剔除噪聲數據[10]。筆者將采用奇異譜分析實現對數據的預處理。奇異譜分析結合了線性代數、多元統計、動力系統、信號處理等傳統時間序列分析方法。在對非線性時間序列進行處理時,奇異譜分析根據原始時間序列構造軌跡矩陣,并對軌跡矩陣進行分解和重構,從而實現對原始時間序列不同成分的提取以及噪聲的剔除。

首先,對原始時間序列進行軌跡矩陣的構造,選擇合適的窗口長度M,采用滑動窗口的方式進行等間隔采樣,將原始時間序列進行滯后排列,從而得到原始時間序列的軌跡矩陣。假設原始時間序列為X={X1,X2,…,XN},其中N為原始時間序列長度。M為給定窗口長度,取值范圍為1≤M≤N/2。由此可得出L=N-M+1,則軌跡矩陣Y為M×L的矩陣:

(1)

其次,對軌跡矩陣Y進行奇異值分解和分組。最后通過對角平均化可以將分組得到的矩陣轉化為一系列長度為N的新序列,可根據貢獻率選擇貢獻大的成分序列進行重構從而達到原始序列降噪的目的。筆者采用后驗的方法,設置窗口長度為256,提取前14個主成分,對停車場數據進行重構,重構序列如圖3。

圖3 停車場數據SSA處理結果

2 預測模型的提出

2.1 鯨魚優化算法

鯨魚優化算法(whale optimization algorithm,WOA)是由S.MIRJALILI等[11]于2016年提出的一種啟發式優化算法,通過模擬座頭鯨狩獵行為找尋問題最優解,具有調整參數少、全局搜索能力強、操作簡單的特點。筆者將其應用于XGBoost超參數的尋優。鯨魚優化通過隨機選擇的鯨魚位置來更新其他鯨魚的位置,避免陷入局部最優,從而實現全局最優搜索。x(t)為鯨魚當前位置;t為當前迭代次數,通過系數A實現全局尋優,其數學模型如式(2):

(2)

式中:xrand為群體中隨機選擇的鯨魚位置;A和c為系數;r1,r2為[0,1]中的隨機數;Tmax為最大迭代次數。

在包圍獵物過程中,WOA算法將會假定當前的最佳候選解是目標獵物或接近最優解,然后其他鯨魚個體會朝著最優位置更新位置,數學模型如式(3):

(3)

式中:x*(t)表示當前最優解。

同時座頭鯨在狩獵過程中會在一個縮小的圓圈內繞著獵物游動,同時螺旋式靠近獵物。為了更好地表達這一行為,通過設置概率系數p,當p≥0.5時,采用螺旋式更新位置,反之采用包圍式更新位置,數學模型如式(4)、式(5):

(4)

(5)

式中:b=1;l∈[-1,1];pi取值為0.5。

2.2 XGBoost算法

XGBoost算法是一種基于Boosting集成思想的算法,使用了一階偏導和二階偏導。二階導數的應用有利于梯度下降得更快更準。同時為了防止模型過擬合,XGBoost在目標函數中加入了正則項,用于控制模型的復雜度。其目標函數定義如式(6)、式(7):

(6)

(7)

最后通過泰勒展開公式獲得最終目標函數如式(8):

(8)

2.3 WOA-XGBoost模型預測流程

筆者將通過鯨魚優化算法實現對XGBoost模型中樹的深度、學習率、子模型數量進行參數尋優,進一步提高模型精度。其中適應度函數采用模型訓練的均方根誤差進行計算。首先,確定XGBoost模型拓撲結構,確定尋優參數。其次,初始化種群,計算每個個體的適應度值,不斷進行位置更新。最終,記錄最優個體適應度值以及位置并將其傳輸至XGBoost模型,對模型進行訓練獲得最終預測模型。具體流程如圖4。

圖4 WOA-XGBoost流程

3 實例驗證

3.1 數據來源及參數設置

選取英國伯明翰城市停車場數據2016年11月1日—11月29日的數據作為訓練集,11月30日數據作為測試集,采用均方根誤差等作為評價指標,用來驗證模型的有效性。

鯨魚優化算法具有參數少、易操作的特點,對此筆者設置參數b為默認值1,種群數量為30,迭代次數為50。由于只針對XGBoost模型的學習率、樹的最大深度、生成的最大樹數目進行尋優,故設置鯨魚優化算法維度為3。設置XGBoost模型初始樹的最大深度為5,學習率為0.05,生成最大樹的數目為100,測試集預測結果的ERMS=7.753,在此基礎上可通過優化算法求得最優超參數,進一步提高預測精度。在實現對XGBoost模型參數尋優的過程中需對參數的范圍進行界定,設置參數范圍:max_depth∈[3,50],learing_rate∈[50,200],n_estimators∈[0.01,0.30]。

圖5反映了隨著迭代次數的增加鯨魚優化算法適應度值的變化情況。從圖5可以看出,鯨魚優化算法在一開始便找到了相對較好的參數組合,相較于默認參數情況下均方根誤差為7.753,初始均方根誤差為5.094,效果較明顯。同時算法具有較快的收斂速度,在第20次迭代后,算法收斂,并找到最優參數組合為[7,0.279,140],均方根誤差為4.310。

圖5 適應度曲線

3.2 預測結果對比分析

為了驗證提出模型的有效性,筆者將提出的WOA-XGBoost與默認參數情況下的XGBoost模型以及WOA-SVR模型預測結果進行對比分析。其中RBF核函數具有較高的預測準確率,泛化能力較好[12],故SVR模型采用RBF核函數。評價指標采用平均絕對誤差EMA、均方根誤差ERMS、回歸模型決定系數R2,如式(9)—式(11)。

(9)

(10)

(11)

用上述模型分別對測試集進行預測,得到結果如表1和表2,同時將各模型預測值與原始值進行對比,繪制曲線如圖6。

通過表1和表2可知,3種預測模型均表現良好,具有較好的擬合度,其中筆者提出的WOA-XGBoost預測方法具有較高的精度,平均絕對誤差為3.164輛、均方根誤差為4.310輛、R2=0.986。此外,相比其他預測模型,WOA-XGBoost模型預測值擬合度較好,相對誤差最大值為3.226%,最小值為0.352%。通過對比WOA-XGBoost模型與XGBoost模型預測結果可知,利用鯨魚優化算法有利于找到全局最優的參數組合,從而在一定程度上降低了預測誤差。通過對比XGBoost模型與WOA-SVR預測結果可知,基于Boosting集成思想的XGBoost模型在停車場空閑停車位短期預測方面的可應用性豐富了停車位短期預測模型體系。同時對比3組預測結果,驗證了WOA-XGBoost模型在停車場空閑停車位短期預測方面具有較好的預測結果,穩定性較好,進一步提高了預測的可靠性。

表1 不同預測模型評價指標對比

圖6 預測值對比

表2 空閑停車位部分預測值和真實值對比

4 結 論

1)停車場空閑停車位數據在采集過程中可能會受到多種因素的影響,致使數據集具有很強的波動性。奇異譜分析可以更好地提取數據的有用信息,通過奇異譜分析對數據進行預處理,進一步提高數據集的可靠性。

2)將集成算法引入到停車場空閑停車位短期預測當中,在此基礎上采用鯨魚優化算法實現對XGBoost預測模型參數的優化,進一步降低人工設置參數的隨機性以及提高整體預測精度。

3)通過與其他預測模型進行對比,證明了筆者提出的組合預測模型具有較好的預測結果以及可靠性。

綜上所述,筆者提出的WOA-XGBoost組合預測模型在停車場空閑停車位短期預測方面具有較好的預測結果,可以為駕駛者提供全面的停車位信息,進一步提高誘導成功率,解決城市停車難問題。在未來研究中可以考慮不同停車影響因素對預測結果造成的影響,同時引進精英策略等對鯨魚優化算法進行改進以提升搜索能力,提高組合預測模型的預測精度。

猜你喜歡
空閑停車位鯨魚
小鯨魚
蹲守停車位
迷途鯨魚
鯨魚
“鳥”字謎
車位上的數
地下停車位不動產登記探析
西灣村采風
鯨魚島——拖延癥
開車出行的你,今天找到停車位了嗎?
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合