基于GS-LSTM模型的铁路货运量预测
2022-10-18周昌野
周昌野,李 程
(上海工程技术大学航空运输学院,上海 201620)
0 引 言
铁路作为国家重要的基础设施、国民经济的大动脉和大众化出行的交通工具,在现代运输体系中既发挥至关重要的作用,也是运输行业中的中流砥柱[1]。铁路运输生产部门日常工作之一就是对铁路货运量预测准确性的把握,同时,铁路货运量预测更作为铁路运输企业制定正确市场营销战略的前置条件,表现出不可或缺的地位。首先,调查所收集到的历史数据,结合当前实际情况,对某个区域内的铁路货运市场需求进行分析、预计、测算和判断,总结出铁路货运量的变化规律和发展趋势,以此来保证作出正确的铁路货运营销计划和营销决策。目前影响铁路货运量的外部因素主要集中在宏观经济、市场竞争、进出口贸易以及金属矿石行业等方面的影响,内部因素主要集中在体制、铁路运能和运价等方面的影响,外部因素和内部因素会对铁路货运量产生滞后的影响,通常表现在前一段时间的市场波动会在后一段时间上影响企业在制定铁路货运营销计划或者市场对铁路运输方式的选择,从而影响铁路货运量。铁路货运量预测模型采用的方法更多是支持向量机[2-3]、整合滑动平均自回归模型[4]、灰度预测模型[5-6]、误差逆传播模型[7-8]。这些模型对时间序列预测存在滞后或者只能捕捉线性关系的问题,所以预测精度受限。而长短期记忆网络(Long-Short Term Memory, LSTM),可以很好地解决长时依赖问题,也可以解决长序列训练过程中存在的梯度消失和梯度爆炸的问题,所以LSTM非常适合用于处理与时间序列高度相关的问题[9],例如股价预测、机器翻译、对话生成、编码和解码等。本文运用LSTM网络模型对铁路货运量进行预测,并与BP神经网络预测进行对比,再通过对LSTM网络模型结构的调整进一步提升预测精度和准确度。
1 神经网络
1.1 BP神经网络
BP神经网络的计算过程分别为正向传播过程和反向传播过程[10]。正向传播过程是指工作信号正向传播。首先,工作信号从输入层开始向隐含层进行传递,通过隐含层处理后最终传递到输出层。如果在输出层的输出值与期望值误差较大,则会进行反向传播过程。反向传播过程是指误差信号会沿原来的传递路线返回,不断修改相邻2层神经元之间的权值,或者对训练网络结构中的参数进行修改,计算误差值使其最终达到最小。在了解BP神经网络的传播特点后,需要根据工作信号的正向传播和误差的反向传播来构建整个网络。如图1所示。
1.1.1 正向传播过程
正向传播过程共有3层结构。第1层是有n个节点的输入层,第2层是有q个节点的隐含层,第3层是有m个节点的输出层。第1层到第2层的权值为wij,第2层到第3层的权值为wjk,第1层到第2层的偏置项为bj,第2层到第3层的偏置项为bk。g(x)为激励函数:
(1)
隐含层输出:
(2)
输出层输出:
(3)
1.1.2 反向传播过程
误差的计算:
(4)
其中Yk表示期望输出值。
1.2 长短期记忆网络模型(LSTM)
其实LSTM是RNN神经网络的一种变体,它很好解决了存在原始RNN中长期依赖问题,在机器翻译[11]和图像描述[12]等许多领域中应用较为成功。它是由Hochreiter等[13]提出的,后来被很多人改进和推广,并在各种各样的问题上工作得非常好,现在被广泛地应用。
LSTM神经网络通过增加一个单元状态c,以此让它来保存长期的状态[14]。如图2所示。
在t时刻,LSTM网络的输入值有3个:xt是此刻的输入值,ct-1是前一时刻的单元状态,ht-1是前一时刻的输入值;输出值有2个:此刻单元状态ct和此刻输出值ht。如图3所示。
LSTM网络控制单元状态c的内容核心思想是依靠3个门。第1个门是遗忘门(forget gate),它用来控制要遗忘掉多少前一时刻单元状态ct-1的内容。遗忘门的数学公式为:
ft=σ(Wf·[ht-1,xt]+bf)
(5)
其中,Wf为权重矩阵,σ为激励函数,bf为偏置向量。
第2个门是输入门(input gate),它用来控制要保留多少此刻输入量xt的内容到单元状态c。数学表达式为:
it=σ(Wi·[ht-1,xt]+bi)
(6)
(7)
(8)
其中,Wi和Wc代表输入门和此刻输入状态的权重矩阵,bi和bc代表输入门和此刻输入状态的偏置向量,tanh是双曲正切激活函数。
第3个门是输出门(output gate),它用来控制单元状态ct的内容传递到当前输出值ht的比例。数学表达式为:
ot=σ(Wo·[ht-1,xt]+bo)
(9)
ht=ot·tanh(ct)
(10)
其中,Wo是输出门的权重矩阵,bo是输出门的偏置向量。
1.3 模型评价指标
实验选取均方误差MSE、均方根误差RMSE和平均绝对百分比误差MAPE来评估模型的预测效果[15]。计算公式如下:
(11)
(12)
(13)
2 基于LSTM模型的网络优化
首先,BP神经网络是最基础的神经网络类型,RNN、GRU、LSTM和DNN等都可以说是BP的变种。它本质上是利用函数中的一些线性参数的变动来对要识别的模型或者函数进行某种逼近[16]。该种方法对关联性较低的数据更为有效。但LSTM模型对于识别前后有关联的数据预测更为有效。如果不把前一个数据作为后一个数据的输入的话,本质上该算法是无法真正挖掘到数据产生的模式。而LSTM模型最大的特点就是能轻松地学习到长期依赖的信息,对处理长时间序列更为适合。在进行模型预测的过程中,超参数的选择在某种程度上起到至关重要的作用,往往都根据经验所设置参数。为了使预测效果达到更佳,本文采用网格搜索法(Grid Search)分别对LSTM模型和BP模型网络进行优化。网格搜索法是指定参数值的一种穷举搜索方法[17-18],通过把各个参数的可能取值一一列出,利用自由组合的方式,将各个组合分别用于模型训练,通过对预测结果进行分析,从而找到最佳参数组合。此方法更适用于优化参数数量有限的情况,可以大大提高训练模型的速度。
对LSTM模型进行网络结构优化,对其中最主要的3个超参数进行选择来进一步提高预测精度[19-20]。LSTM网络最主要的3个超参数为:批量大小、隐含层神经单元个数和学习率,使用网格搜索对其进行优化。此方法步骤如下:首先,确定重要性较低的参数,通过初步设定值找到最佳方向;其次,进一步缩小3个参数的取值范围,批量大小设定为64和128,隐含层神经元个数设定为16、32、64、128、256、512,学习率设定为0.5、0.05、0.005;最后,通过判定预测结果的均方根误差和平均绝对百分比误差优选出最佳组合参数。对BP模型进行网络结构优化,对其中最主要的2个参数隐含层神经元个数和学习率使用网格搜索对其进行优化[21-22]。此方法步骤如下:首先,确定重要性较低的参数,通过初步设定值的多次试验找到最佳方向;其次,进一步缩小确定参数的取值范围,隐含层神经元个数设定为1、2、4、8,学习率设定为0.1、0.2、0.3、0.4、0.5、0.6、0.7、0.8、0.9、1.0;最后,通过判定预测结果的均方根误差和平均绝对百分比误差优选出最佳组合参数。LSTM基础模型和BP基础模型更多是借用前人的经验总结选取主要参数值进行网络训练,但在应用到实际问题中很难达到更高精度。而本文采用的是基于LSTM和BP基础模型通过前期筛选方法确定预测效果较高的参数值范围,然后再运用网格搜索方法通过筛选出的若干参数值分别代入到网络中训练得出结果进行对比,最终找到预测精度最高的一组参数值。虽然在计算时间上相比基础预测模型花费时间更长,但是相比基础模型大大提高了模型的预测精度,所以在有限的计算时间上也是可以被人所接受。LSTM/BP模型训练流程如图4所示。
3 基于LSTM和BP模型的铁路货运量预测实例
3.1 实验数据输入
本实验数据来源于国家统计局官网,使用的是铁路货运量月度数据,时间跨度为2005年1月—2021年7月,共有数据199组。如图5所示,模型将2005年1月—2019年12月期间的数据作为训练集,将2020年1月—2021年7月期间的数据作为测试集,对预测结果进行评估。
3.2 模型结构
建立基于铁路月货运量的初步LSTM网络模型,通过查找相关文献并试验[23-25],网络结构采用输入层5个神经元,隐含层128个神经单元,输出层1个神经元,采用Adam优化算法[26-27]。利用网格搜索算法的LSTM模型预测结果见表1。建立基于铁路月货运量的初步BP神经网络,网络结构采用输入层5个神经元,隐含层8个神经元,输出层1个神经元。利用网格搜索算法的BP模型预测结果见表2。通过实验将LSTM网络和BP神经网络的预测值和观测值进行精细化的对比,如图6所示。
表1 利用网格搜索算法的LSTM模型预测结果
表2 利用网格搜索算法的BP模型预测结果
3.3 实验结果分析
各模型的预测值和观测值对比如图6所示。
通过图6可以看出,BP神经网络的预测结果与观测值存在一定差距,而LSTM模型的预测结果与观测值更为接近。表3为各预测模型性能比较。BP模型和LSTM模型的MAPE分别6.91%和5.36%,LSTM模型要比BP模型的MAPE降低了1.55个百分点,预测误差进一步减小。通过RMSE数值也可以分析出,LSTM模型的预测精度高于BP模型。所以整体上可以得出结论,基于时间序列的LSTM模型预测效果要优于BP神经网络预测模型。通过利用网格搜索法再进一步优化LSTM模型和BP模型的网络结构后发现,GS-BP模型的MAPE为4.34%,GS-LSTM模型的MAPE为4.16%,GS-LSTM模型比GS-BP模型的MAPE降低了0.18个百分点。可以得出基于网格搜索法的GS-BP模型和GS-LSTM模型都比原来的模型预测效果好,而优化后的GS-LSTM模型的预测效果也要好于GS-BP模型。
表3 预测模型性能比较
4 结束语
结合实际情况,本文提出了一种利用网格搜索算法来优化网络结构的方法。对网络结构中选取重要性较高的超参数进行网格式筛选,通过预测模型测试集上的评价指标,与其他模型进行分析比较,发现LSTM模型非常适合用于处理与时间序列高度相关的问题。同时基于网格搜索法的LSTM模型在铁路货运量预测问题上拥有更优秀的表现,预测精度更高,体现了LSTM网络对长时间序列上的学习能力及泛化能力,也对铁路日常运输规划具有十分重要的意义。由于本文使用的是月度货运量,各模型之间的预测效果差距不是特别大,下一步研究可以考虑采用日货运量,增大训练数据量或者通过组合预测模型,再进一步提升预测能力。