温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
改进
LSTM
Prophet
算法
客运量
预测
陆奕
2023 年第 1 期(总第 347 期)黑龙江交通科技HEILONGJIANG JIAOTONG KEJINo1,2023(Sum No347)基于改进 LSTM Prophet 算法的客运量预测陆奕,郭唐仪(南京理工大学自动化学院,江苏 南京210094)摘要:利用该模型对 2019 年的铁路月度客运量数据进行预测,并与实际客运量进行对比分析,实验表明,LSTM Prophet 算法模型预测值的 MAPE 值为1 91%,MAE 值为559 07,MSE 值为691 82,三个评价指标值都低于 SAIMA 模型、LSTM 模型和 GM(1,1)模型的评价指标值,所以 LSTM Prophet 算法模型更能准确预测客运量数据,为决策提供参考价值。关键词:铁路客运量;时间序列;LSTM Prophet;预测分析中图分类号:U492文献标识码:A文章编号:1008 3383(2023)01 0128 04Passenger Volume Prediction Based on Improved LSTM Prophet AlgorithmLU Yi,GUO Tang-yi(School of Aautomation,Nanjing University of Science and Technology,Nanjing,Jiangsu 210094,China)Abstract:The model is used to predict the monthly railway passenger volume data in 2019 and compared with the actual passenger vol-ume The experiment shows that the MAPE value of LSTM prophet algorithm model is 1 91%,MAE value is 559 07 and MSE valueis 691 82 The three evaluation index values are lower than those of SAIMA model,LSTM model and GM(1,1)model,Therefore,LSTM prophet algorithm model can more accurately predict passenger volume data and provide reference value for decision makingKeywords:railway passenger volume;time series;LSTM Prophet;predictive analysis收稿日期:2022 12 17针对我国的铁路路网日益完善,各省各区之间的联系更加紧密,铁路的客运量也随之提升的现状,各专家学者对公路、铁路、航运和水运的客流量内在规律有很多研究,提出多种方法模型以达到预测各客流量的目的。牛坤等通过自回归移动平均模型(AIMA)进行短时客流预测并优化票额制度1;李万等通过粒子群算法与长短时记忆神经网络的组合预测模型,对铁路客运量数据预测2;王素丽等应用灰色 Markov 链模型预测铁路客运量,并证明其预测精度高于经典灰色模型3;袁胜强通过对比分析灰色模型和 BP 神经网络模型的优劣,最终采用马尔科夫链模型对灰色 BP 神经网络的组合模型进行优化,并使用优化后的组合模型对甘肃省铁路客运量进行预测4;汤银英等经过深入研讨铁路月度客运量的季节性波动,发现铁路月度客运量符合季节波动性,故通过 SAIMA 模型预测铁路月度客运量数据5;钱名军等根据铁路月度时间序列数据的趋势性、季节性和波动性,建立 SAIMA GACH 模型,经证明该模型可有效消除模型残差的异方差性,提高预测精度6。Glisovic 等通过比较参数法和非参数法,将遗传算法和人工神经网络两种模型组成混合模型,并用该混合模型预测塞尔维亚的铁路月度客运量数据,则预测效果较优7。JIA 等结合 GM 模型与 AIMA 模型,构造混合模型从而研究预测客流变化8。现有方法虽然能一定程度预测客运量,但铁路客运量并不是受单一因素的影响,而是会受较多要素影响,如各休息日、法定节假日、寒暑假等。2020与 2021 年春节期间,在新冠疫情的影响下,政府实施了一系列科学的防疫措施,包括铁路、公路、城市公共交通等停运措施,封闭式管理措施与推迟开学与复工等措施,各地人民也积极响应政府号召,实施居家防疫,减少了不必要的出行,铁路客运量因此有明显的缩减9。这些举措都会给铁路客运量带来波动变化,所以在这关键时刻,本文提出 LSTM Prophet 模型,运用该模型预测 2019 年的客运量月度数据,试验表明该模型能够对节假日客运量的波动有更精准预测,则通过 LSTM Prophet 模型能够预测精度较高的客运量,从而了解疫情带来的影响,能为铁路部门未来规划提供参考和建议。1优化的 LSTM 模型1 1传统的 LSTM 模型LSTM 神经网络解决了 NN 梯度消失、对前层网络参数无法学习等问题,从而改进 NN,提高预测精度。LSTM 是采取增加门控系统来解决 NN存在的问题10,故 LSTM 存在三个门:Input Gate、Output Gate、Forget Gate,单元结构图如图 1。821DOI:10.16402/ki.issn1008-3383.2023.01.049第 1 期陆奕,郭唐仪:基于改进 LSTM Prophet 算法的客运量预测总第 347 期图 1LSTM 单元结构图Input Gate 计算公式it=(Wi ht 1,xt+bi)(1)?ct=tanh(Wc ht 1,xt+bc)(2)ct=ftct 1+it+?ct(3)Output Gate 计算公式ot=(W0 ht 1,xt+b0)(4)ht=0ttanh(ct)(5)Forget Gate 计算公式f(t)=(Wf ht 1,xt+bf)(6)式中:是 Sigmoid 函数,tanh 是双曲线正切函数也称为激活函数,ct是更新值,?ct是 t 时刻的输入值,W 均为权重系数,b 是 W 对应的偏置。1 2算法改进和参数优化先采用小波变换对数据进行预处理,然后 1 LSTM 网络对处理后的序列进行向量表示,可记为hei,其次 2 LSTM 网络以 1 LSTM 输出向量作为输入序列进行逆序重构11,可记为 xri,则有如下公式xri=Whdi+b(7)式中:hdi为 2 LSTM 的初始输入,W 和 b 均为待训练参数,均为实数。则优化 LSTM 的算法流程与结构框架如图 2 所示。图 2改进 LSTM 算法同时利用高斯过程作为先验函数,采用 Expec-ted improvement(EI)作为采集函数,对 1 LSTM和 2 LSTM 进行超参数优化。2LSTM Prophet 模型2 1Prophet 算法Prophet 算法是 Facebook 发布的一个开源库,它是一个可分解的模型,即趋势、季节、节假日模型,它可以用非复杂且直观的参数对时间序列进行较高精度预测。但与其他较为经典的时间序列预测模型不同的地方在于,Prophet 模型会先对序列采取周期性的分解,然后再预测。这样的预测方式,会突出数据中的节日效应和变化趋势,尤其当存在数据缺失、趋势突变和异常值的等问题的情况下,其鲁棒性效果优异。Prophet 把时间当做回归元,通过尝试拟合线性和非线性的时间函数项,通过采取与 Holt Winters指数平滑的类似办法,将考虑额外干扰因子季节因素进行建模12。整个过程可以分为四个部分:Modeling、forecast Evaluation、Surface Problems 以及Visually Inspect Forecasts。Prophet 模型是自加性模型的一种,可以通过对趋势项建模、周期项建模和节假日项建模,从而分解时间序列,最终形成模型,故可表示为13 y(t)=g(t)+s(t)+h(t)+t(8)其中:g(t)为趋势项,用于拟合序列中的非周期变化,包括分段线性增长,逻辑增长等。通常,Prophet采用线性模型进行预测。在对核心项趋势项进行建模时,当预测值是增长的情况时,也不是无限制性增长,将会存在一个可无限接近到达的最大极限值,此时该值这被称做承载容量(carrying capaci-ty),预测值在接近该值时将趋于饱和。h(t)为节假日项,用于存在无规律性的节假日所带来的影响。法定节假日、重大事件或者突发事件会对序列产生很大的影响,数据波动会比较剧烈,而各较为稳定的节假日带来的波动在 Prophet模型中是可以预测的。将各节假日设为一个模拟变量 Di,共有 L 个虚拟变量,并且假设该模拟变量对客运量造成的影响为 Ki,那么联立二者可得如下矩阵,从而将模型中纳入影响因子,达到提高模型预测精度的目标Z(t)=1(tD1),1(tDL)(9)h(t)=Z(t)K(10)s(t)用于周期变化,可称为周期项,该项较常使用傅里叶技术,表达式如下s(t)=Nn=1ancos2nt()P+bnsin2nt()()P(11)式中:P 是周期;an,bn是被估参数;t 是时间;n 是使用周期数的一半,N 是使用周期的个数。Prophet 模型在大多数情况下都是用来拟合连续时间段的时间序列,例如对年的周期性,P 的值取 365 25,N 值取 10,对周的周期性,P 的值取 7,N 值取 3。t用于反应未在模型中体现的异常变动,即误差项。2 2LSTM Prophet 算法模型Prophet 是单特征模型,其输入变量是仅输入两列,分别是设日期“ds”,数值输入“y”。有因为存在承载容量,故 Prophet 模型将有三种预测值。预测921总第 347 期黑龙江交通科技第 1 期值设置为:预测值 yhat,预测下界 yhat_lower 与预测上界 yhat_upper。在构建 LSTM Prophet 算法模型时,首先根据优化后的 LSTM 模型,进行预测分析,再将预测结果作为输入进行 Prophet 算法预测,最后可得最终预测数值。3铁路月度客流量分析与预测本文采用 2005 年 1 月 2018 年 12 月的铁路月度客运量数据作为数据样本进行拟合建模分析,本文数据来源于国家统计局。通过 LSTM Prophet模型对2019 年1 12 月的月度数据进行预测,并对比分析该模型与传统灰色模型 GM(1,1),季节差分移动自回归模型(SAIMA),LSTM 神经网络的优劣,从而比较分析 LSTM Prophet 模型。3 1改进的 LSTM 模型采用 PyTorch 深度神经网络框架搭建本模型,实验在 Intel()Xeon()CPU E5 2660 v2 处理器和 NVIDIA GeForce GTX Titan X 显卡上进行。在对数据集做 10 000 次训练后,得到如图 3 的拟合情况,由图可知,拟合情况没有非常理想,预测精度不够高。图 3LSTM 预测拟合图2019 年各月度数据具体如表 1,由表 1 可知,精度的波动略大,最高达 15 25%,最低为 0 01%。表 1LSTM 预测值时间实际值/万人预测值/万人相对误差/%2019 0128 34224 1749614702019 0229 11224 857 69514612019 0327 86026 130 4576212019 0430 53627 508 9989912019 0530 80129 369 7294652019 0630 73530 732 5880012019 0735 57031 435 14611622019 0837 88432 1050715252019 0929 87331 907596812019 1031 90329 750286752019 1127 08028 082 252370