曹 慧,秦江涛
(上海理工大学 管理学院,上海 200093)
铁路是国家的重要交通设施,是国民经济基础性、先导性、关键性产业,是国民经济的重要支柱,在社会发展中居于重要地位。铁路运输由于受气候和自然条件影响较小,并且具有货运量大、运输成本低、运输能耗小等优势,成为中国交通运输体系中的中流砥柱,促进了国民经济可持续发展[1]。铁路货运量预测对于铁路相关部门的规划布局等具有重要意义,使用科学合理的货运量预测模型预测铁路货运量可以为铁路运输和社会经济发展提供相关依据,对中国铁路运输系统以及经济社会可持续发展具有重大意义。因此,铁路货运量预测成为了一个重要的研究课题。
目前对铁路货运量的预测方法主要包括传统计量方法、人工智能方法、混合方法。传统计量方法技术成熟,已广泛应用于铁路货运量的预测中,如汤银英等人[2]使用三次指数平滑法模型对货运量进行预测,Jeffrey等人[3]建立了一个多元线性回归模型。除此之外,灰色理论模型[4]、向量自回归[5]等也被用于铁路货运量的预测,但这些方法在线性和平稳的假设条件中会得到较好的结果,对于具有非线性不平稳特征的铁路货运量难以进行较好的处理。随着科技的发展,人工智能模型被许多学者应用于铁路货运量的预测,主要包括BP神经网络、长短期记忆网络(Long Short Term Memory,LSTM)等[6-7],如周昌野等人[8]运用了LSTM方法和谭雪等人[9]运用门控循环单元方法对货运量进行预测,获得了较好的预测结果,但LSTM以及门控循环单元这类方法参数较多计算复杂,会导致训练时间过长。人工智能方法对于复杂数据具有良好的适应性,但是容易被模型中的参数影响,存在收敛速度过慢以及计算时间较长等问题。单个模型都有各自的优势,混合模型能够结合单模型的优点,获得较高的预测精度和稳定性,因此混合模型的应用也越来越广泛,如邵梦汝等人[10]构建了灰色-BP神经网络的组合模型,Tang等人[11]以BP神经网络作为预测方法,使用粒子群算法以及遗传算法对其进行优化,在铁路货运量预测中都有较好的结果。随着研究的深入,数据分解方法与人工智能预测方法结合的分解集成思想逐渐得到应用,吕燕梅等人[12]对通过小波变换降噪的数据建立了离散灰色模型,对铁路货运量年度数据进行预测。周程等人[13]使用趋势分解和小波分解的方法对数据进行处理,并建立自回归预测模型,取得了较好的结果。分解集成方法在铁路货运量预测领域处于起步阶段,相关文献较少,其框架和内容并不完善,相关文献中样本数据多以年为单位,数据较少,所使用的小波分解方法较为依赖基函数,缺乏自适应性,影响预测结果,铁路货运量预测精度有待进一步提高,因此应该不断探索更科学有效的货运量预测模型,提高预测精度。
在现有研究的基础上,针对铁路货运量数据波动性和非线性的特点,为进一步提高预测精度,基于分解集成框架,该文建立了基于CEEMD-BES-ELM铁路货运量预测方法。首先,通过PCA对相关因素降维,获得主成分,为预测模型做好数据准备;然后,使用CEEMD算法对铁路货运量历史数据进行分解,为提高分量预测效率,使用SE评估分量复杂性,并进行分量重构,将主成分与重构分量构成新的样本数据。由于ELM算法中输入权值和隐含层偏置随机化影响预测结果,因此使用BES算法对其进行优化,构建BES-ELM预测模型,将新的样本数据通过BES-ELM模型预测,得到重组分量的预测结果,叠加重组分量的预测结果,得到最终预测结果。将提出的预测方法与其他算法进行对比分析,实验结果表明该方法具有较高的预测精度。
为了克服集合经验模态分解(Ensemble Empirical Mode Decomposition,EEMD)计算效率不高并且加入的白噪声不能完全消除等缺点,Yeh等人[14]在EEMD的基础上提出了CEEMD算法。该算法在信号分解中加入一组互为相反数的正负白噪声,再进行经验模式分解(Empirical Mode Decomposition,EMD),以消除原来EEMD分解后重构信号当中残留的多余辅助白噪声,减少误差,同时减少分解时所需的迭代次数,降低计算成本,提高信号分解计算效率。CEEMD具体原理及分解过程如下:
(1)将一对具有同等振幅位角度的正负白噪声添加到原始数据序列x(t)中,生成两组新的带分解的数据序列:
(1)
其中,x(t)为原始数据序列;n(t)为添加的白噪声;x1(t)和x2(t)分别是添加了正负白噪声后所合成的新的数据序列。
(2)分别对新的数据序列x1(t)和x2(t)进行EMD分解,得到一系列子序列和残余分量,计算IMF分量和残余分量的平均值。
(2)
(3)
(3)最终可得到CEEMD的分解结果,原始数据序列可以表示如下:
(4)
Alsattar等人[15]根据秃鹰捕获食物的活动建立了秃鹰搜索算法(BES)数学模型,算法可以总结为三个阶段,分别是选取搜寻空间、搜寻空间食物以及俯冲捕获食物。
(1)选取搜寻空间。
选取搜寻区域,根据区域内食物的数量选择最优搜索位置,易于搜寻食物,该行为用数学模型表示如下:
Pi,new=Pbest+α×r×(Pmean-Pi)
(5)
式中,α是控制秃鹰位置改变的因子,取值在1.5和2之间;r是0和1之间的随机数;Pi,new为秃鹰的更新位置;Pbest是秃鹰种群搜寻选择的最优位置;Pmean是当前种群的平均位置;Pi表示种群中第i只个体的位置。
(2)搜寻空间食物(探索)。
在此搜索阶段,秃鹰种群在确定的搜寻空间中搜寻食物,并在空间中以螺旋状飞行,加速对猎物的追捕,寻求最优向下飞行捕获食物的位置。秃鹰种群以螺旋状搜寻食物的飞行轨迹可用以下数学模型表示:
θ(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用来确定搜索周期数,取值在0.5至2之间,x(i)与y(i)为极坐标方程中个体所处的位置,取值范围均在-1到1之间。秃鹰位置更新如下
Pi,new=Pi+x(i)×(Pi-Pmean)+y(i)×
(Pi-Pi+1)
(12)
(3)俯冲捕获猎物。
秃鹰从所选择的搜寻区域的最优位置加速飞向目标食物,所有个体也会飞向最优位置去捕获食物,飞行轨迹仍然使用极坐标数学模型进行描述,公式如下:
θ(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)
加速飞向目标过程中秃鹰的位置更新公式为:
(19)
Pi,new=rand×Pbest+δx+δy
(20)
其中,c1和c2分别表示秃鹰向最佳位置与中心位置的运动强度,取值区间均为[1,2]。
极限学习机是Huang等人[16]建立的一种单隐含层前馈神经网络,具有较高的学习效率和较好的泛化性能,其网络结构共包含三层,分别为输入层、隐含层以及输出层,如图1所示。
图1 极限学习机结构
假设有N个任意样本(xi,ti),随机生成wi和bi,其中,xi=[xi1,xi2,…,xin]T∈Rn,ti=[ti1,ti2,…,tim]T∈Rm,训练公式如下所示:
(21)
式中,j=1,2,…,N,g(x)为隐含层的激活函数,该文选取sigmoid函数作为隐含层的激活函数,L表示隐含层的节点数,wi表示第i个隐含层神经元与输入层神经元之间的连接权值,βi表示第i个隐含层神经元与输出层神经元的权值,bi为第i个隐含层神经元的偏置。
ELM神经网络学习的目标是使输出值和真实值的误差最小,可表示为:
(22)
也就是存在βi,wi,bi使
(23)
其中,j=1,2,…,N,矩阵形式可写为:
Hβ=T
(24)
其中,H为隐含层的输出矩阵,T表示期望输出矩阵。
(25)
可得到的解为最小范数二乘解:
(26)
其中,H+为隐含层输出矩阵H的Moore-Penrose广义逆。
针对ELM算法存在的问题,利用BES算法对ELM模型进行优化,即对输入权重和隐含层偏置值进行优化,提升模型的性能。BES算法优化ELM模型的主要步骤可以概括如下:
步骤一:确定ELM网络结构,初始化ELM的输入权值wi和隐含层偏置bi。
步骤二:对BES算法的种群规模、最大迭代次数等参数初始化,始化种群位置。
步骤三:将均方误差作为BES算法的适应度函数值,计算秃鹰个体的初始适应度值得到当前的最优位置。
步骤四:根据BES算法中秃鹰位置更新公式,计算此时秃鹰个体适应度同时更新秃鹰位置,找出最优适应度值的秃鹰位置。
步骤五:当前迭代次数达到最大迭代次数后,终止运行输出此时最优解,得到ELM模型的最优输入权值wi和隐含层偏置bi。
为了提高铁路货运量预测的准确度,该文基于分解集成思想将BES-ELM模型作为分量预测技术与CEEMD分解算法组合得到基于CEEMD-BES-ELM分解集成的铁路货运量预测模型,主要步骤概括如下:
步骤一:构建铁路货运量指标体系,使用PCA方法对铁路货运量相关指标进行降维,得到两个主成分,作为预测模型的数据输入。
步骤二:数据分解及重构,由于铁路货运量原始数据波动大呈现非平稳性等特征,使用CEEMD算法对其分解,得到相对平稳的分量,同时为简化计算,使用SE对分量进行重构,得到重组分量,并与PCA降维的主成分构成新的样本数据。
步骤三:模型优化,使用BES算法对ELM模型的参数进行优化,以降低ELM算法参数对预测准确性的影响,构建基于BES算法优化ELM算法的分解集成模型。
步骤四:分量预测,将新样本数据集划分训练集和测试集,并进行归一化处理,之后通过预测模型BES-ELM得到重组分量的预测结果,进行反归一化,集成得到铁路货运量的最终预测结果。
基于CEEMD-BES-ELM分解集成模型的铁路货运量预测模型框架如图2所示。
数据集选取自2005年1月至2020年12月的铁路货运量及相关影响因素月度数据(数据来源于国家统计局)[17],在实验研究中,将这些样本数据划分为训练集和测试集,数据的前80%作为训练集,后20%作为测试集,基于CEEMD-BES-ELM模型进行实验分析。实验测试结果均在Intel(R)Core(TM)i7-10750H CPU @ 2.60 GHz,64位Windows10操作系统和SPSS、MATLAB R2018b上实现。
CEEMD-BES-ELM模型中各个模型参数设置如下:CEEMD算法中添加的白噪声标准差设为原始序列的0.2倍,集成数量为100;BES算法的种群规模为30,最大迭代次数为100;ELM网络结构为:输入层-隐含层-输出层的三层网络结构,输入层神经元个数n为2,输出层神经元个数l为1,隐含层神经元个数m为8。
为了评估所提出的预测模型的精度,采用常用的三种误差评价指标验证模型的有效性,分别为平均绝对误差(MAE)、平均绝对百分比误差(MAPE)和均方根误差(RMSE)[18],公式如下所示:
(27)
(28)
(29)
主成分分析[19]是一种常用的降维方法,可以减少数据指标数量,只使用前几个主要成分,从而减少数据的维度,保留尽可能多的信息,消除冗余信息。铁路货运量相关影响因素包括公路货运量X1、水路货运量X2、航空货运量X3、铁路货物周转量X4、进出口总额X5、出口总值X6、进口总值X7、社会消费品零售总额X8、粗钢X9、钢材X10、生铁X11、焦炭X12、水泥X13,十种有色金属X14、原油X15、煤油X16、铁矿石X17,相关指标过多,造成实验负担,因此通过PCA方法进行降维,简化计算,得到的方差信息如表1所示。
表1 总方差信息
由表1可以看出,前两个主成分的累计方差贡献率达到86.66%,且特征根大于1,包含了原数据的大部分信息,因此使用前两个主成分作为综合指标来代替原数据指标。
铁路货运量数据波动较大,呈现出非线性等特点,若直接进行预测,会影响预测模型的性能,降低预测精度,采用CEEMD算法作为本研究的分解工具,将铁路货运量数据分解成相对稳定的分量,缓解数据的波动性。经过CEEMD算法分解得到的各个IMF分量结果如图3所示。
图3 CEEMD分解结果
如果对CEEMD算法分解后的每一个分量直接使用BES-ELM模型进行预测,会使计算的复杂性增加,因此可对分量重组以提高预测效率,而SE可对分量的复杂度进行评估,SE熵值越大,数据复杂程度就越高,反之,数据复杂程度越低,SE的基本原理见文献[20]。通过SE计算得到各个分量的熵值,根据熵值大小将各个分量重新组合,从而减少分量的个数,降低训练模型的复杂度。
各个分量序列的SE值计算结果以及重构结果如表2所示。
表2 分量SE值及合并结果
为了验证所提出的CEEMD-BES-ELM分解集成模型的有效性,建立了混合模型以及单一模型作为对照,进行实验验证,得到的预测结果对比如图4所示,评价指标结果如表3所示。
表3 预测结果评价
图4 预测曲线
观察图4可以看出,ELM预测模型与实际货运量数据的拟合程度均高于另外三种单一预测模型,ELM模型预测值整体变化均处在实际货运量数据上下波动,整体趋势保持一致,而BP神经网络、LSTM模型以及ELMAN模型的货运量预测曲线大部分处于真实数据曲线下方,拟合程度较差,偏离程度也较大,整体趋势也有较大的区别。BES-ELM与CEEMD-ELM模型的预测曲线在走势以及与真实值的偏离程度上要优于单一模型ELM,但是在一些波动点以及后期与真实值的拟合程度偏差较大,而代表CEEMD-BES-ELM预测模型的曲线与真实值更加接近,在中后期的一些波动点相比较其他预测模型来说,更加接近样本点,是上述预测模型中拟合程度最好的模型。综上可见,CEEMD-BES-ELM预测模型的精度比其他预测模型的精度高,稳定性较好。
通过分析预测结果评价指标可得:
首先,ELM预测模型与另外三种基准预测模型BP、ELMAN以及LSTM相比,ELM模型的三个评价指标均是最小的,即MAE为2 691.83, MAPE为7.69%,RMSE为3 365.36。
其次,经过BES算法优化的BES-ELM预测模型的MAPE、MAE和RMSE分别为6.07%、2 110.75和2 551.60,比未经BES算法优化的ELM模型分别降低了1.62%、581.08和813.76,预测结果明显优于未经其优化的ELM预测模型,说明BES算法可以有效优化ELM算法中的参数寻优问题,从而提高模型的预测精度。
最后,CEEMD-BES-ELM分解集成预测模型的MAE、MAPE以及RMSE的值是最低的, 分别为1 405.77、4.01%和1 811.25,比未经分解的BES-ELM混合预测模型的预测精度有明显提升,同时经过CEEMD算法分解后的ELM模型的预测误差比未经分解模型的预测误差有所降低,说明在铁路货运量的预测中,使用CEEMD算法分解可以缓解数据的不平稳性,能够很好地提高预测精度。基于分解集成框架的CEEMD-BES-ELM铁路货运量预测模型在实际案例中具有较好的可行性和有效性。
针对铁路货运量数据的随机波动性以及非线性导致预测精度不高的问题,提出基于CEEMD-BES-ELM分解集成的铁路货运量预测模型,以提高预测精度。通过实验结果对比分析可知,CEEMD-BES-ELM分解集成预测模型的效果最好,预测误差最小;CEEMD分解方法能够将铁路货运量数据分解为较为平稳的分量,有利于提高铁路货运量的预测精度;BES算法能够有效地优化ELM算法,提高模型的预测精度;相比一些铁路货运量预测常用的基准算法,ELM算法具有较好的预测结果。