孟建軍,江相君,孟高陽,李德倉
(1.蘭州交通大學 機電技術研究所,甘肅 蘭州 730070;2.甘肅省物流及運輸裝備信息化工程技術研究中心,甘肅 蘭州 730070;3.甘肅省物流與運輸裝備行業技術中心,甘肅 蘭州 730070;4.蘭州交通大學 機電工程學院,甘肅 蘭州 730070)
當前我國高速鐵路總里程數已突破4萬km,高速鐵路遍布全國各地。而在影響列車運行的諸多自然災害中,風災的作用較為顯著[1]。我國幅員遼闊,大部分地區處在季風區,冬春季節受蒙古-西伯利亞高壓影響盛行冬季風,夏秋季節主要受東南季風影響,特定的季節主導風向容易形成較強勢力,進而形成大風天氣。我國許多高速鐵路段都處在大風的威脅中。例如,蘭新鐵路第二雙線新疆段近60%線路需要穿越大風區[2]。東部沿海地區遭受臺風災害的影響非常嚴重[3]。由大風引起的行車事故在世界各國屢見不鮮,在我國的南疆線等強風區,曾多次出現列車脫軌、傾覆事故[4]。因此,建立一套行之有效的風速預測方法對高速鐵路沿線的大風預測預警尤為重要。
風速預測相關算法層出不窮,隨著人工智能相關理論日趨成熟,許多相關算法逐漸應用到風速預測領域。XU等[5]將長短期記憶神經網絡(Long short-term memory neural network,LSTM)和卷積神經網絡相結合的方式進行風速預測。TUERXUN等[6]先對風速數據進行分解,而后使用LSTM輔以改進的金槍魚群優化算法進行風速預測。LI等[7]先使用變分模態分解對風速數據進行分解,并采用粒子群算法(Particle Swarm Optimization,PSO)優化雙向長短期記憶神經網絡(Bidirectional Long Short Term Memory,Bi-LSTM),進而完成風速預測。SHEN等[8]使用卷積神經網絡(Convolutional Neural Network,CNN)和LSTM相結合的方式進行風速預測。BOMMIDI等[9]使用完全集合經驗模態分解(Complete Ensemble Empirical Mode Decomposition With Adaptive Noise,CEEMDAN)分解風速數據,再使用Informer進行風速預測。向玲等[10]使用變分模態分解(Variational Mode Decomposition,VMD)對風速數據進行一次分解,再使用CEEMDAN對風速數據進行二次分解,最后使用LSTM進行風速預測。以上方法均為改進深度學習模型,或將深度學習模型與分解算法、智能優化算法等方法相結合。這些方法能在一定程度上解決風速預測問題,但還存在一系列問題。例如,神經網絡算法存在可解釋性差、計算時間長等問題[11],部分算法未結合其他氣象要素進行預測等。此外,王瑞[12]指出,高速鐵路大風預警信息應至少提前3 min預測,因此對逐分鐘風速數據進行提前三步進行風速預測是高速鐵路大風預警業務的最重要的組成部分。
針對以上存在的問題,本文使用XGBoost融合改進的禿鷹搜索算法(Improved Bald Eagle Search Algorithm,IBES)構建提前三步風速預測模型。最后,利用逐分鐘風速數據集進行驗證,使用多個評價指標對比IBES-XGBoost與其他模型的精度。結果表明,所提模型相比其他眾多模型具有較高預測精度。
XGBoost對梯度提升回歸數進行了改進[13],相比于傳統的Boosting實現方法,XGBoost在訓練速度和預測精度上都有了提升。XGBoost對損失函數進行了二階泰勒展開,同時引入兩個正則化項求解整體最優,并使用線性搜索方法尋找弱學習器。樹的集成模型為:
(1)

XGBoost的目標函數為:
(2)

式(2)中Ω(fk)的表達式為:
(3)
式中:γ和λ為權重系數,T為葉子節點的數量,ω為各葉子節點的分數。
在t次迭代時,目標函數為:
(4)
對式(4)進行二階泰勒展開可得式(5):
(5)

禿鷹搜索算法(Bald Eagle Search Algorithm,BES)是ALSATTAR等[14]提出的群智能優化算法。該算法模仿禿鷹的捕獵行為,在給定空間內進行尋優。該算法分為三個階段,第一階段為禿鷹選擇最佳搜索空間,第二階段為禿鷹在選定的空間內進行搜索,第三階段為禿鷹從最佳位置俯沖向獵物。
在選擇搜索空間階段,禿鷹根據獵物數量選擇最佳搜索區域(選擇獵物量大的區域),具體數學描述如式(6)。
Pnew,i=Pbest+α×r(Pmean-Pi)。
(6)
式中:Pbest為禿鷹根據先前搜索情況確定的最佳位置,α是區間[1.5,2]內取值的控制位置變化的參數,r為區間(0,1)內產生的隨機數,Pmean為先前搜索結束后禿鷹的平均分布位置,Pi為第i個禿鷹的位置。
在選定空間內搜索階段,禿鷹在選定的空間以螺旋狀飛行,尋找最佳俯沖位置,具體數學表達式如式(7)~(11)所示。
Pi,new=Pi+y(i)×(Pi-Pi+1)+x(i)×(Pi-Pmean);
(7)
(8)
xr(i)=r(i)×sin(θ(i)),yr(i)=r(i)×cos(θ(i));
(9)
θ(i)=α×π×rand;
(10)
r(i)=θ(i)+R×rand。
(11)
式中:a∈(5,10)為搜索點和中心點之間的夾角,R∈(0.5,2)用于確定搜索周期數,θ(i)和r(i)分別為螺旋方差的極角與極徑,x(i)和y(i)取值在(-1,1)內用于表示極坐標下禿鷹的位置,rand為[0,1]內的隨機數。
在俯沖向獵物階段,禿鷹從搜索空間內最佳位置俯沖向目標獵物,種群內其他個體也向最佳點移動,具體數學表達式如式(12)~(18)所示。
Pi,new=rand×Pbest+x1(i)×(Pi-c1×Pmean)+y1(i)×(Pi-c2×Pbest);
(12)
(13)
(14)
xr(i)=r(i)×sinh(θ(i));
(15)
yr(i)=r(i)×cosh(θ(i));
(16)
θ(i)=a×π×rand;
(17)
r(i)=θ(i)。
(18)
式中:c1,c2∈[1,2],且均用于增加禿鷹俯沖時向最佳點和中心點移動的強度。
BES雖然收斂速度和精度優于大部分智能優化算法,但是仍然存在陷入局部最優和部分問題求解精度不高等問題。本文從增強全局搜索能力和增強局部搜索能力兩個角度出發,提出了一種改進的禿鷹搜索算法(IBES)。首先,在種群初始化階段使用Tent混沌映射替代BES的初始化策略,以此增強種群的多樣性,提高全局搜索能力。其次,每間隔一定的迭代次數,若算法收斂情況較差,則在BES的基礎上進一步采用BFGS擬牛頓法進行搜索,從而增強局部的搜索能力。
BES的初代種群,是在搜索空間中通過隨機數生成的。通過隨機數產生的種群,其多樣性可能較差,進而導致尋優結果較差。而混沌映射具有隨機性和遍歷性的特點,這些特性可以保持種群的多樣性,使智能優化算法擺脫局部陷阱,提算法的全局探索能力。目前常用的混沌模型較多,FAN等[15]指出,大量實驗表明,Tent混沌映射在目前常用的混沌映射中性能最好。Tent映射能在[0,1]內產生分布較為均勻的數值,應用于智能優化算法后能夠產生分布較為均勻的初始種群。
Tent混沌映射的表達式為:
(19)
當u=0.5時,Tent混沌映射的均勻性最好[16]。因此,本文所用的Tent混沌映射公式為:
(20)
擬牛頓法是牛頓法的一種改進。BFGS擬牛頓法求解Hessian矩陣的近似矩陣,避免每次迭代都要計算Hessian矩陣,從而大大降低了計算的復雜度。BFGS擬牛頓法是一種經典的局部搜索策略[17],部分學者研究表明在智能優化算法中加入BFGS擬牛頓法可以加快收斂速度[18-19]。
若目標函數在定義域上二次連續可微,則對函數f(x)在xk+1處作二階泰勒展開可得:
(21)
對式(21)進行求導可得:
g(x)≈gk+1+Gk+1(x-xk+1)。
(22)
式中:gk+1為梯度值,Gk+1為Hessian矩陣。
令yk=gk+1-gk,x=xk,sk=xk+1-xk,則有:
yk≈Gk+1sk。
(23)
使用近似Hessian矩陣Bk+1替代Gk+1即可得到擬牛頓條件,擬牛頓條件為:
yk=Bk+1sk。
(24)
式中:近似Hessian矩陣Bk+1向Hessian矩陣做近似逼近的迭代公式為:
(25)
在算法迭代過程中,使用Armijo準則確定每次迭代的步長[20]。若已知當前位置xk和近似Hessian矩陣確定的搜索方向dk,指定β∈(0,1)且σ∈(0,0.5),步長因子αk=βmk,mk為滿足式(26)的最小非負整數。
(26)
故可得下一個位置,下一位置為:
xk+1=xk+αkdk。
(27)
根據上文所述理論基礎和業務背景,構建基于IBES-XGBoost的提前多步風速預測模型。由于XGBoost的超參數對預測結果影響較大,故采用改進的禿鷹搜索算法參數對XGBoost的學習率、樹的最大深度和回歸樹數量進行尋優。
建立預測模型流程圖(圖1),具體步驟如下:

圖1 基于IBES-XGBoost的風速提前多步預測模型
1)輸入原始數據,根據皮爾遜系數篩選和風速數據正相關的特征。
2)劃分數據集,將前90%的數據集作為訓練集,后10%的數據作為測試集。
3)對數據集進行歸一化處理,并構建XGBoost模型。
4)使用IBES對XGBoost的學習率、樹的最大深度和回歸樹數量進行尋優。使用Tent混沌映射生成初始種群,使用XGBoost模型作為目標函數,采用BES原搜索策略的同時加入BFGS擬牛頓法加強局部搜索能力,找到最優的初始參數組合。
5)用步驟4)的尋優所得的初始參數進行訓練,訓練得到XGBoost模型后即可進行測試。
6)將數據反歸一化,并計算評價指標。
將測試集預測結果進行量化評價,用平均絕對誤差(MAE)、平均絕對百分比誤差(MAPE)、均方根誤差(RMSE)作為精度的評估指標。擬合優度(R2)作為擬合程度的評價指標。具體公式為:
(28)
(29)
(30)
(31)

為了驗證所提改進禿鷹搜索算法的有效性,選用三個基準測試函數進行測試(表1)。表1中F1~F2為單峰測試函數,F3為多峰測試函數。單峰測試函數可以測試尋優精度,多峰測試函數可以測試全局尋優能力和收斂速度。

表1 基準測試函數
選擇IBES、BES、GWO和PSO四種算法在4個測試函數上進行測試,種群初始數量均設置為30,迭代次數均為500,各個算法均獨立運行30次。考慮到迭代次數較多,在進行性能測試時IBES間隔50次迭代判斷一次是否使用BFGS擬牛頓法進行尋優。測試結果見表2,表中加粗字體為最佳值。由表2可知,IBES在多個基準測試函數上的性能明顯優于其他三個算法,其精度大幅度優于其他算法。并且IBES的標準差也遠小于其他算法,這說明IBES的尋優結果都集中在較小的區間內,算法的穩定性更優。各函數三維模型及算法收斂曲線見圖2~圖4。

表2 智能優化算法在基準函數上測試結果

圖2 函數F1三維模型及收斂曲線

圖3 函數F2三維模型及收斂曲線

圖4 函數F3三維模型及收斂曲線
由圖中可以看出,IBES可以快速接近全局最優解,而其他算法則會陷入局部最優。隨著迭代次數的增加,IBES借助BFGS擬牛頓法能進一步靠近最優值。
風速容易受到其他氣象因素變化的影響[21],因此考慮使用皮爾遜相關系數對比風速和溫度、風寒溫度、露點溫度等其他氣象因素的相關性,從而選取相關性強的氣象要素作為模型的特征輸入。風寒溫度指數衡量在一定氣溫和風速的情況下人體感受到寒冷的程度,低(高)風寒溫度代表低(高)溫和強(弱)風[22]。皮爾遜相關系數計算公式為:
(32)
數據集選用美國可再生能源實驗某觀測點的逐分鐘觀測數據[23],共計選取22 257條數據。選取前90%數據作為訓練集,后10%數據作為測試集。該數據集除風速數據外還包含逐分鐘的部分氣象信息。
由各氣象要素與風速之間的皮爾遜相關系數(表3)可知,在該數據集風速與溫度相關性較強,風速與風寒溫度和露點溫度相關性較弱。因此選用溫度作為特征輸入模型。

表3 氣象因素與風速之間的皮爾遜相關系數
為提高模型的準確性和穩定性,同時避免極端值對模型產生影響,故對輸入數據進行歸一化,對輸出預測值進行反歸一化得到最終風速數據。歸一化公式為:
(33)
式中:xi為第i個原始數據,xmin為該數據的最小值,xmax為該數據的最大值,xnorm為歸一化后的數據。
為驗證IBES尋優預測模型時的優越性,將IBES與PSO、GWO及BES進行對比,對數據集進行逐分鐘數據的提前3步預測。XGBoost的學習率、樹的最大深度和回歸樹數量尋優范圍分別為[0.01,03]、[2,100]和[5,1 000]。為確保實驗的公平性,各智能優化算法的初始種群數目均設為20,最大迭代次數均設為15。從(圖5)可以看出,IBES具有較快的收斂速度,Tent混沌映射策略能夠生成更具有代表性的初始種群,BFGS擬牛頓法能夠加速收斂速度,并提升迭代后期的尋優能力,二者令IBES獲得最優的適應度值。4種算法尋優所得的最佳XGBoost超參數見表4。

表4 智能優化算法對XGBoost超參數尋優結果

圖5 各算法對XGBoost預測模型尋優時的適應度曲線
為全面評估模型性能,將IBES-XGBoost、BES-XGBoost、GWO-XGBoost、PSO-XGBoost、XGBoost和LSTM六種模型在測試集上的提前三步預測結果進行對比分析。單一XGBoost的學習率設置為0.3,樹的最大深度設置為6,回歸樹的數量設置為100。LSTM的最大迭代次數為500,隱藏層神經元個數為200,學習率為0.000 1。各模型的提前三步預測結果(圖6)可以看出,IBES-XGBoost的擬合程度最好,其在波動較大的區間內也展現出了較好的預測效果。BES-XGBoost、GWO-XGBoost、PSO-XGBoost和XGBoost在波動較大的采樣點附近,預測精度不如IBES-XGBoost。LSTM在波動較大的區間內預測效果較差,擬合程度遠不如其他模型。

圖6 各模型提前3步預測結果對比
從(表5)各模型預測結果的評價指標可以看出,IBES-XGBoost的各項評價指標均為最優。相比于XGBoost,IBES-XGBoost的RMSE、MAE和MAPE分別降低了0.271 m/s、0.085 m/s和2.215%,擬合優度提升了0.012。相比于LSTM,IBES-XGBoost的RMSE、MAE和MAPE分別降低了0.746 m/s、0.419 m/s和21.439%,擬合優度提升了0.055。相比于BES-XGBoost、GWO-XGBoost和PSO-XGBoost,IBES-XGBoost在各項評價指標上均有不同幅度的提升。

表5 各模型預測結果的評價指標
雖然IBES-XGBoost各項評價指標均為最優,但是我國高速鐵路采用分級限速模式,對于不同的風速采取不同的限速措施。因此還需對預測結果分區間進行統計分析,判斷預測結果與實際值是否處于同一區間。
根據(表6)我國高速列車在不同風速下的限速標準[24]。標準,對各模型預測結果進行統計,判斷預測值和真實值是否處于同一風速區間。由統計結果表7可知,IBES-XGBoost的預測值與真實值處于同一風速區間的準確率最高,其準確率高達99.728%,優于其余預測模型。主要原因在于,IBES-XGBoost預測精度較高,對諸多接近風速區間邊界值的數據進行預測時能有較高的效果。因此,IBES-XGBoost根據高速鐵路業務需求的逐分鐘風速提前三步預測的預測結果,在高速鐵路風速限速標準下能得到最高的準確率。

表6 高速列車在不同風速下的限速標準

表7 各模型預測值與真實值處于同一風速區間的準確率
本文從高速鐵路風速預測的需求入手,采用IBES-XGBoost對逐分鐘風速數據進行提前三步預測。采用Tent混沌映射和BFGS擬牛頓法改進禿鷹搜索算法,能夠有效提升禿鷹搜索算法的性能,進而提升對XGBoost超參數的優化能力。在本文的對比實驗中,IBES-XGBoost的各項評價指標均優于所對比模型,具有更高的預測精度和擬合能力,驗證了所提模型的有效性。根據高速列車在不同風速下的限速標準對各模型預測結果分析可得,IBES-XGBoost具有極高的準確率,因此該方法能為高速鐵路沿線風速預測提供參考。