曹 慧,秦江濤
(上海理工大學(xué) 管理學(xué)院,上海 200093)
鐵路是國家的重要交通設(shè)施,是國民經(jīng)濟(jì)基礎(chǔ)性、先導(dǎo)性、關(guān)鍵性產(chǎn)業(yè),是國民經(jīng)濟(jì)的重要支柱,在社會發(fā)展中居于重要地位。鐵路運輸由于受氣候和自然條件影響較小,并且具有貨運量大、運輸成本低、運輸能耗小等優(yōu)勢,成為中國交通運輸體系中的中流砥柱,促進(jìn)了國民經(jīng)濟(jì)可持續(xù)發(fā)展[1]。鐵路貨運量預(yù)測對于鐵路相關(guān)部門的規(guī)劃布局等具有重要意義,使用科學(xué)合理的貨運量預(yù)測模型預(yù)測鐵路貨運量可以為鐵路運輸和社會經(jīng)濟(jì)發(fā)展提供相關(guān)依據(jù),對中國鐵路運輸系統(tǒng)以及經(jīng)濟(jì)社會可持續(xù)發(fā)展具有重大意義。因此,鐵路貨運量預(yù)測成為了一個重要的研究課題。
目前對鐵路貨運量的預(yù)測方法主要包括傳統(tǒng)計量方法、人工智能方法、混合方法。傳統(tǒng)計量方法技術(shù)成熟,已廣泛應(yīng)用于鐵路貨運量的預(yù)測中,如湯銀英等人[2]使用三次指數(shù)平滑法模型對貨運量進(jìn)行預(yù)測,Jeffrey等人[3]建立了一個多元線性回歸模型。除此之外,灰色理論模型[4]、向量自回歸[5]等也被用于鐵路貨運量的預(yù)測,但這些方法在線性和平穩(wěn)的假設(shè)條件中會得到較好的結(jié)果,對于具有非線性不平穩(wěn)特征的鐵路貨運量難以進(jìn)行較好的處理。隨著科技的發(fā)展,人工智能模型被許多學(xué)者應(yīng)用于鐵路貨運量的預(yù)測,主要包括BP神經(jīng)網(wǎng)絡(luò)、長短期記憶網(wǎng)絡(luò)(Long Short Term Memory,LSTM)等[6-7],如周昌野等人[8]運用了LSTM方法和譚雪等人[9]運用門控循環(huán)單元方法對貨運量進(jìn)行預(yù)測,獲得了較好的預(yù)測結(jié)果,但LSTM以及門控循環(huán)單元這類方法參數(shù)較多計算復(fù)雜,會導(dǎo)致訓(xùn)練時間過長。人工智能方法對于復(fù)雜數(shù)據(jù)具有良好的適應(yīng)性,但是容易被模型中的參數(shù)影響,存在收斂速度過慢以及計算時間較長等問題。單個模型都有各自的優(yōu)勢,混合模型能夠結(jié)合單模型的優(yōu)點,獲得較高的預(yù)測精度和穩(wěn)定性,因此混合模型的應(yīng)用也越來越廣泛,如邵夢汝等人[10]構(gòu)建了灰色-BP神經(jīng)網(wǎng)絡(luò)的組合模型,Tang等人[11]以BP神經(jīng)網(wǎng)絡(luò)作為預(yù)測方法,使用粒子群算法以及遺傳算法對其進(jìn)行優(yōu)化,在鐵路貨運量預(yù)測中都有較好的結(jié)果。隨著研究的深入,數(shù)據(jù)分解方法與人工智能預(yù)測方法結(jié)合的分解集成思想逐漸得到應(yīng)用,呂燕梅等人[12]對通過小波變換降噪的數(shù)據(jù)建立了離散灰色模型,對鐵路貨運量年度數(shù)據(jù)進(jìn)行預(yù)測。周程等人[13]使用趨勢分解和小波分解的方法對數(shù)據(jù)進(jìn)行處理,并建立自回歸預(yù)測模型,取得了較好的結(jié)果。分解集成方法在鐵路貨運量預(yù)測領(lǐng)域處于起步階段,相關(guān)文獻(xiàn)較少,其框架和內(nèi)容并不完善,相關(guān)文獻(xiàn)中樣本數(shù)據(jù)多以年為單位,數(shù)據(jù)較少,所使用的小波分解方法較為依賴基函數(shù),缺乏自適應(yīng)性,影響預(yù)測結(jié)果,鐵路貨運量預(yù)測精度有待進(jìn)一步提高,因此應(yīng)該不斷探索更科學(xué)有效的貨運量預(yù)測模型,提高預(yù)測精度。
在現(xiàn)有研究的基礎(chǔ)上,針對鐵路貨運量數(shù)據(jù)波動性和非線性的特點,為進(jìn)一步提高預(yù)測精度,基于分解集成框架,該文建立了基于CEEMD-BES-ELM鐵路貨運量預(yù)測方法。首先,通過PCA對相關(guān)因素降維,獲得主成分,為預(yù)測模型做好數(shù)據(jù)準(zhǔn)備;然后,使用CEEMD算法對鐵路貨運量歷史數(shù)據(jù)進(jìn)行分解,為提高分量預(yù)測效率,使用SE評估分量復(fù)雜性,并進(jìn)行分量重構(gòu),將主成分與重構(gòu)分量構(gòu)成新的樣本數(shù)據(jù)。由于ELM算法中輸入權(quán)值和隱含層偏置隨機(jī)化影響預(yù)測結(jié)果,因此使用BES算法對其進(jìn)行優(yōu)化,構(gòu)建BES-ELM預(yù)測模型,將新的樣本數(shù)據(jù)通過BES-ELM模型預(yù)測,得到重組分量的預(yù)測結(jié)果,疊加重組分量的預(yù)測結(jié)果,得到最終預(yù)測結(jié)果。將提出的預(yù)測方法與其他算法進(jìn)行對比分析,實驗結(jié)果表明該方法具有較高的預(yù)測精度。
為了克服集合經(jīng)驗?zāi)B(tài)分解(Ensemble Empirical Mode Decomposition,EEMD)計算效率不高并且加入的白噪聲不能完全消除等缺點,Yeh等人[14]在EEMD的基礎(chǔ)上提出了CEEMD算法。該算法在信號分解中加入一組互為相反數(shù)的正負(fù)白噪聲,再進(jìn)行經(jīng)驗?zāi)J椒纸?Empirical Mode Decomposition,EMD),以消除原來EEMD分解后重構(gòu)信號當(dāng)中殘留的多余輔助白噪聲,減少誤差,同時減少分解時所需的迭代次數(shù),降低計算成本,提高信號分解計算效率。CEEMD具體原理及分解過程如下:
(1)將一對具有同等振幅位角度的正負(fù)白噪聲添加到原始數(shù)據(jù)序列x(t)中,生成兩組新的帶分解的數(shù)據(jù)序列:
(1)
其中,x(t)為原始數(shù)據(jù)序列;n(t)為添加的白噪聲;x1(t)和x2(t)分別是添加了正負(fù)白噪聲后所合成的新的數(shù)據(jù)序列。
(2)分別對新的數(shù)據(jù)序列x1(t)和x2(t)進(jìn)行EMD分解,得到一系列子序列和殘余分量,計算IMF分量和殘余分量的平均值。
(2)
(3)
(3)最終可得到CEEMD的分解結(jié)果,原始數(shù)據(jù)序列可以表示如下:
(4)
Alsattar等人[15]根據(jù)禿鷹捕獲食物的活動建立了禿鷹搜索算法(BES)數(shù)學(xué)模型,算法可以總結(jié)為三個階段,分別是選取搜尋空間、搜尋空間食物以及俯沖捕獲食物。
(1)選取搜尋空間。
選取搜尋區(qū)域,根據(jù)區(qū)域內(nèi)食物的數(shù)量選擇最優(yōu)搜索位置,易于搜尋食物,該行為用數(shù)學(xué)模型表示如下:
Pi,new=Pbest+α×r×(Pmean-Pi)
(5)
式中,α是控制禿鷹位置改變的因子,取值在1.5和2之間;r是0和1之間的隨機(jī)數(shù);Pi,new為禿鷹的更新位置;Pbest是禿鷹種群搜尋選擇的最優(yōu)位置;Pmean是當(dāng)前種群的平均位置;Pi表示種群中第i只個體的位置。
(2)搜尋空間食物(探索)。
在此搜索階段,禿鷹種群在確定的搜尋空間中搜尋食物,并在空間中以螺旋狀飛行,加速對獵物的追捕,尋求最優(yōu)向下飛行捕獲食物的位置。禿鷹種群以螺旋狀搜尋食物的飛行軌跡可用以下數(shù)學(xué)模型表示:
θ(i)=a×π×rand
(6)
r(i)=θ(i)+R×rand
(7)
xr(i)=r(i)×sin(θ(i))
(8)
yr(i)=r(i)×cos(θ(i))
(9)
x(i)=xr(i)/max(|xr|)
(10)
y(i)=yr(i)/max(|yr|)
(11)
其中,θ(i)表示螺旋方程的極角,r(i)表示螺旋方程的極徑;a表示控制螺旋軌跡的因子介于5至10之間,R用來確定搜索周期數(shù),取值在0.5至2之間,x(i)與y(i)為極坐標(biāo)方程中個體所處的位置,取值范圍均在-1到1之間。禿鷹位置更新如下
Pi,new=Pi+x(i)×(Pi-Pmean)+y(i)×
(Pi-Pi+1)
(12)
(3)俯沖捕獲獵物。
禿鷹從所選擇的搜尋區(qū)域的最優(yōu)位置加速飛向目標(biāo)食物,所有個體也會飛向最優(yōu)位置去捕獲食物,飛行軌跡仍然使用極坐標(biāo)數(shù)學(xué)模型進(jìn)行描述,公式如下:
θ(i)=a×π×rand
(13)
r(i)=θ(i)
(14)
xr(i)=r(i)×sinh(θ(i))
(15)
yr(i)=r(i)×cosh(θ(i))
(16)
x1(i)=xr(i)/max(|xr|)
(17)
y1(i)=yr(i)/max(|yr|)
(18)
加速飛向目標(biāo)過程中禿鷹的位置更新公式為:
(19)
Pi,new=rand×Pbest+δx+δy
(20)
其中,c1和c2分別表示禿鷹向最佳位置與中心位置的運動強(qiáng)度,取值區(qū)間均為[1,2]。
極限學(xué)習(xí)機(jī)是Huang等人[16]建立的一種單隱含層前饋神經(jīng)網(wǎng)絡(luò),具有較高的學(xué)習(xí)效率和較好的泛化性能,其網(wǎng)絡(luò)結(jié)構(gòu)共包含三層,分別為輸入層、隱含層以及輸出層,如圖1所示。
圖1 極限學(xué)習(xí)機(jī)結(jié)構(gòu)
假設(shè)有N個任意樣本(xi,ti),隨機(jī)生成wi和bi,其中,xi=[xi1,xi2,…,xin]T∈Rn,ti=[ti1,ti2,…,tim]T∈Rm,訓(xùn)練公式如下所示:
(21)
式中,j=1,2,…,N,g(x)為隱含層的激活函數(shù),該文選取sigmoid函數(shù)作為隱含層的激活函數(shù),L表示隱含層的節(jié)點數(shù),wi表示第i個隱含層神經(jīng)元與輸入層神經(jīng)元之間的連接權(quán)值,βi表示第i個隱含層神經(jīng)元與輸出層神經(jīng)元的權(quán)值,bi為第i個隱含層神經(jīng)元的偏置。
ELM神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的目標(biāo)是使輸出值和真實值的誤差最小,可表示為:
(22)
也就是存在βi,wi,bi使
(23)
其中,j=1,2,…,N,矩陣形式可寫為:
Hβ=T
(24)
其中,H為隱含層的輸出矩陣,T表示期望輸出矩陣。
(25)
可得到的解為最小范數(shù)二乘解:
(26)
其中,H+為隱含層輸出矩陣H的Moore-Penrose廣義逆。
針對ELM算法存在的問題,利用BES算法對ELM模型進(jìn)行優(yōu)化,即對輸入權(quán)重和隱含層偏置值進(jìn)行優(yōu)化,提升模型的性能。BES算法優(yōu)化ELM模型的主要步驟可以概括如下:
步驟一:確定ELM網(wǎng)絡(luò)結(jié)構(gòu),初始化ELM的輸入權(quán)值wi和隱含層偏置bi。
步驟二:對BES算法的種群規(guī)模、最大迭代次數(shù)等參數(shù)初始化,始化種群位置。
步驟三:將均方誤差作為BES算法的適應(yīng)度函數(shù)值,計算禿鷹個體的初始適應(yīng)度值得到當(dāng)前的最優(yōu)位置。
步驟四:根據(jù)BES算法中禿鷹位置更新公式,計算此時禿鷹個體適應(yīng)度同時更新禿鷹位置,找出最優(yōu)適應(yīng)度值的禿鷹位置。
步驟五:當(dāng)前迭代次數(shù)達(dá)到最大迭代次數(shù)后,終止運行輸出此時最優(yōu)解,得到ELM模型的最優(yōu)輸入權(quán)值wi和隱含層偏置bi。
為了提高鐵路貨運量預(yù)測的準(zhǔn)確度,該文基于分解集成思想將BES-ELM模型作為分量預(yù)測技術(shù)與CEEMD分解算法組合得到基于CEEMD-BES-ELM分解集成的鐵路貨運量預(yù)測模型,主要步驟概括如下:
步驟一:構(gòu)建鐵路貨運量指標(biāo)體系,使用PCA方法對鐵路貨運量相關(guān)指標(biāo)進(jìn)行降維,得到兩個主成分,作為預(yù)測模型的數(shù)據(jù)輸入。
步驟二:數(shù)據(jù)分解及重構(gòu),由于鐵路貨運量原始數(shù)據(jù)波動大呈現(xiàn)非平穩(wěn)性等特征,使用CEEMD算法對其分解,得到相對平穩(wěn)的分量,同時為簡化計算,使用SE對分量進(jìn)行重構(gòu),得到重組分量,并與PCA降維的主成分構(gòu)成新的樣本數(shù)據(jù)。
步驟三:模型優(yōu)化,使用BES算法對ELM模型的參數(shù)進(jìn)行優(yōu)化,以降低ELM算法參數(shù)對預(yù)測準(zhǔn)確性的影響,構(gòu)建基于BES算法優(yōu)化ELM算法的分解集成模型。
步驟四:分量預(yù)測,將新樣本數(shù)據(jù)集劃分訓(xùn)練集和測試集,并進(jìn)行歸一化處理,之后通過預(yù)測模型BES-ELM得到重組分量的預(yù)測結(jié)果,進(jìn)行反歸一化,集成得到鐵路貨運量的最終預(yù)測結(jié)果。
基于CEEMD-BES-ELM分解集成模型的鐵路貨運量預(yù)測模型框架如圖2所示。
數(shù)據(jù)集選取自2005年1月至2020年12月的鐵路貨運量及相關(guān)影響因素月度數(shù)據(jù)(數(shù)據(jù)來源于國家統(tǒng)計局)[17],在實驗研究中,將這些樣本數(shù)據(jù)劃分為訓(xùn)練集和測試集,數(shù)據(jù)的前80%作為訓(xùn)練集,后20%作為測試集,基于CEEMD-BES-ELM模型進(jìn)行實驗分析。實驗測試結(jié)果均在Intel(R)Core(TM)i7-10750H CPU @ 2.60 GHz,64位Windows10操作系統(tǒng)和SPSS、MATLAB R2018b上實現(xiàn)。
CEEMD-BES-ELM模型中各個模型參數(shù)設(shè)置如下:CEEMD算法中添加的白噪聲標(biāo)準(zhǔn)差設(shè)為原始序列的0.2倍,集成數(shù)量為100;BES算法的種群規(guī)模為30,最大迭代次數(shù)為100;ELM網(wǎng)絡(luò)結(jié)構(gòu)為:輸入層-隱含層-輸出層的三層網(wǎng)絡(luò)結(jié)構(gòu),輸入層神經(jīng)元個數(shù)n為2,輸出層神經(jīng)元個數(shù)l為1,隱含層神經(jīng)元個數(shù)m為8。
為了評估所提出的預(yù)測模型的精度,采用常用的三種誤差評價指標(biāo)驗證模型的有效性,分別為平均絕對誤差(MAE)、平均絕對百分比誤差(MAPE)和均方根誤差(RMSE)[18],公式如下所示:
(27)
(28)
(29)
主成分分析[19]是一種常用的降維方法,可以減少數(shù)據(jù)指標(biāo)數(shù)量,只使用前幾個主要成分,從而減少數(shù)據(jù)的維度,保留盡可能多的信息,消除冗余信息。鐵路貨運量相關(guān)影響因素包括公路貨運量X1、水路貨運量X2、航空貨運量X3、鐵路貨物周轉(zhuǎn)量X4、進(jìn)出口總額X5、出口總值X6、進(jìn)口總值X7、社會消費品零售總額X8、粗鋼X9、鋼材X10、生鐵X11、焦炭X12、水泥X13,十種有色金屬X14、原油X15、煤油X16、鐵礦石X17,相關(guān)指標(biāo)過多,造成實驗負(fù)擔(dān),因此通過PCA方法進(jìn)行降維,簡化計算,得到的方差信息如表1所示。
表1 總方差信息
由表1可以看出,前兩個主成分的累計方差貢獻(xiàn)率達(dá)到86.66%,且特征根大于1,包含了原數(shù)據(jù)的大部分信息,因此使用前兩個主成分作為綜合指標(biāo)來代替原數(shù)據(jù)指標(biāo)。
鐵路貨運量數(shù)據(jù)波動較大,呈現(xiàn)出非線性等特點,若直接進(jìn)行預(yù)測,會影響預(yù)測模型的性能,降低預(yù)測精度,采用CEEMD算法作為本研究的分解工具,將鐵路貨運量數(shù)據(jù)分解成相對穩(wěn)定的分量,緩解數(shù)據(jù)的波動性。經(jīng)過CEEMD算法分解得到的各個IMF分量結(jié)果如圖3所示。
圖3 CEEMD分解結(jié)果
如果對CEEMD算法分解后的每一個分量直接使用BES-ELM模型進(jìn)行預(yù)測,會使計算的復(fù)雜性增加,因此可對分量重組以提高預(yù)測效率,而SE可對分量的復(fù)雜度進(jìn)行評估,SE熵值越大,數(shù)據(jù)復(fù)雜程度就越高,反之,數(shù)據(jù)復(fù)雜程度越低,SE的基本原理見文獻(xiàn)[20]。通過SE計算得到各個分量的熵值,根據(jù)熵值大小將各個分量重新組合,從而減少分量的個數(shù),降低訓(xùn)練模型的復(fù)雜度。
各個分量序列的SE值計算結(jié)果以及重構(gòu)結(jié)果如表2所示。
表2 分量SE值及合并結(jié)果
為了驗證所提出的CEEMD-BES-ELM分解集成模型的有效性,建立了混合模型以及單一模型作為對照,進(jìn)行實驗驗證,得到的預(yù)測結(jié)果對比如圖4所示,評價指標(biāo)結(jié)果如表3所示。
表3 預(yù)測結(jié)果評價
圖4 預(yù)測曲線
觀察圖4可以看出,ELM預(yù)測模型與實際貨運量數(shù)據(jù)的擬合程度均高于另外三種單一預(yù)測模型,ELM模型預(yù)測值整體變化均處在實際貨運量數(shù)據(jù)上下波動,整體趨勢保持一致,而BP神經(jīng)網(wǎng)絡(luò)、LSTM模型以及ELMAN模型的貨運量預(yù)測曲線大部分處于真實數(shù)據(jù)曲線下方,擬合程度較差,偏離程度也較大,整體趨勢也有較大的區(qū)別。BES-ELM與CEEMD-ELM模型的預(yù)測曲線在走勢以及與真實值的偏離程度上要優(yōu)于單一模型ELM,但是在一些波動點以及后期與真實值的擬合程度偏差較大,而代表CEEMD-BES-ELM預(yù)測模型的曲線與真實值更加接近,在中后期的一些波動點相比較其他預(yù)測模型來說,更加接近樣本點,是上述預(yù)測模型中擬合程度最好的模型。綜上可見,CEEMD-BES-ELM預(yù)測模型的精度比其他預(yù)測模型的精度高,穩(wěn)定性較好。
通過分析預(yù)測結(jié)果評價指標(biāo)可得:
首先,ELM預(yù)測模型與另外三種基準(zhǔn)預(yù)測模型BP、ELMAN以及LSTM相比,ELM模型的三個評價指標(biāo)均是最小的,即MAE為2 691.83, MAPE為7.69%,RMSE為3 365.36。
其次,經(jīng)過BES算法優(yōu)化的BES-ELM預(yù)測模型的MAPE、MAE和RMSE分別為6.07%、2 110.75和2 551.60,比未經(jīng)BES算法優(yōu)化的ELM模型分別降低了1.62%、581.08和813.76,預(yù)測結(jié)果明顯優(yōu)于未經(jīng)其優(yōu)化的ELM預(yù)測模型,說明BES算法可以有效優(yōu)化ELM算法中的參數(shù)尋優(yōu)問題,從而提高模型的預(yù)測精度。
最后,CEEMD-BES-ELM分解集成預(yù)測模型的MAE、MAPE以及RMSE的值是最低的, 分別為1 405.77、4.01%和1 811.25,比未經(jīng)分解的BES-ELM混合預(yù)測模型的預(yù)測精度有明顯提升,同時經(jīng)過CEEMD算法分解后的ELM模型的預(yù)測誤差比未經(jīng)分解模型的預(yù)測誤差有所降低,說明在鐵路貨運量的預(yù)測中,使用CEEMD算法分解可以緩解數(shù)據(jù)的不平穩(wěn)性,能夠很好地提高預(yù)測精度?;诜纸饧煽蚣艿腃EEMD-BES-ELM鐵路貨運量預(yù)測模型在實際案例中具有較好的可行性和有效性。
針對鐵路貨運量數(shù)據(jù)的隨機(jī)波動性以及非線性導(dǎo)致預(yù)測精度不高的問題,提出基于CEEMD-BES-ELM分解集成的鐵路貨運量預(yù)測模型,以提高預(yù)測精度。通過實驗結(jié)果對比分析可知,CEEMD-BES-ELM分解集成預(yù)測模型的效果最好,預(yù)測誤差最小;CEEMD分解方法能夠?qū)㈣F路貨運量數(shù)據(jù)分解為較為平穩(wěn)的分量,有利于提高鐵路貨運量的預(yù)測精度;BES算法能夠有效地優(yōu)化ELM算法,提高模型的預(yù)測精度;相比一些鐵路貨運量預(yù)測常用的基準(zhǔn)算法,ELM算法具有較好的預(yù)測結(jié)果。