余瑾瑜1蒋楠2谢云3陆艺4李银萍1
1石化盈科信息技术有限责任公司 北京 100007
2中国石油化工股份有限公司 北京 100728
3 中国石化销售股份有限公司 北京 100728
4南京光普信息技术有限公司 南京 210000
摘要:石油化工领域中汽油销量的预测影响着管理者关于销售计划制定、资源调度等重要决策。为了得到更为有效的预测数据,我们构建了基于统计学的SARIMA模型和基于机器学习的LSTM模型并进行了预测结果的对比,发现SARIMA、 LSTM的MAE、MSE、RMSE、MAPE分别为1.137、2.750、1.658、0.051和0.654、0.869、0.932、0.030,LSTM的预测效果更优异。
关键词:SARIMA,LSTM,时间序列预测,销量预测
中图分类号:TP13 文献标识码:B 文章编号:
Comparative Study of SARIMA and LSTM Models in Gasoline Sales Forecast
Abstract:In the field of petrochemical industry, the prediction of gasoline sales affects managers' important decisions on sales planning and resource scheduling. In order to get better performance on prediction, we constructed SARIMA model based on statistics and LSTM model based on machine learning, and compared their prediction results. The MAE, MSE, RMSE and MAPE of SARIMA and LSTM were 1.137, 2.750, 1.658, 0.051 and 0.654, 0.869, 0.932 and 0.030, respectively. LSTM had a better forecast performance.
Key words:Seasonal Autoregressive Integrated Moving Average model; Long short-term memory; time series forecast, sales prediction;
1引言
在当前全球数字化浪潮转型的时代背景和国家全面实施大数据战略的政策驱动下,企业也越来越重视数字化转型,希望通过充分挖掘数据价值,实现更高效的管理、占据更大的市场。在数据价值的挖掘中,对未来事件的准确预测尤为重要,预测能辅助企业的经营管理者们做出更好的决策,进行更高效的资源管理调度,把握更多的市场机遇。
时间序列预测(Time Series Forecasting,TSF),是指根据系统当前和过去的信息,对未来的行为进行预测。目前,TSF在许多领域中都有着重要的应用,比如在金融、交通网络、天气预测、能源化工等领域[1]。以石油化工领域为例,准确地预测加油站的汽油销量能帮助企业合理制定销售目标、有效管理库存、安排生产计划。汽油销量往往间接反映了人们因日常交通活动所产生的刚性需求,因此类似于对电力需求的预测[2],也可以将其分成三类:短程、中程和长程预测。短程预测的时间间隔一般以小时或天为单位,中程预测通常在一年以内(如周、月、季度),而长程预测往往为年甚至更长时间[3]。通常中短程的汽油销量预测更为实用,因为长程预测往往会受到很大的不确定因素的影响,诸如预算分配、宏观政策调控[4]等。
在本篇研究中,我们主要进行中程的汽油月销量预测研究。中程预测面临的主要挑战在于对低误差和稳定性的需求,它们是准确安排销售计划、有效调度资源与指导生产计划所必须的,因此预测模型应该能保持准确的预测表现,或者至少不应对中程时间跨度的数据波动过度敏感。SARIMA是基于统计学的经典模型,被广泛应用于TSF中;LSTM是基于机器学习的算法,也是近些年来的研究应用热点。我们采用了两种模型对汽油月销量进行预测,并比较分析预测结果。
2算法简介
本章将讨论用于预测的SARIMA模型和LSTM模型算法基本理论及模型评价指标。
2.2LSTM模型
长短期记忆神经网络LSTM(Long Short-term Memory Network, LSTM),是由递归神经网络RNN(Recurrent Neural Network, RNN)演化而来的。
RNN之所以被称为递归神经网络,是因为它们能对序列中的每个元素都执行相同的任务,并且由于每次循环后的输出都依赖于先前的计算,所以就好比一个记忆器,具有存储记忆的能力。RNN的展开结构如图1所示,它存在遗忘门、记忆门,其中遗忘门能对以往的信息进行选择性保留和遗忘,记忆门能生成新的信息并进行筛选,从而形成新的记忆。遗忘门和记忆门的存在使得每一步的输出都需要考虑之前所有的输入,这种更逼近人脑的模拟能够更准确地预测连续变量。
它类似累加器和门控神经元:它在下一个时间步长将拥有一个权值并联接到自身,拷贝自身状态的真实值和累积的外部信号,但这种自联接是由另一个单元学习并决定何时清除记忆内容的乘法门控制的,其自然行为便是长期地保存输入,适用于与时间相关的连续变量的预测。
简单地说,在LSTM结构中有一个能够记忆的RNN单元,正因为能记忆,所以前面时间点的信息能够保留下来并经过筛选后往下一个单元传递,能记忆历史信息是LSTM网络的默认行为,而非尝试去学习的行为。正因如此,它能用来学习长期依赖关系,在很多实际问题中的应用效果都很好,得到了广泛的认可和使用。
2.3模型评价指标
无论使用什么预测方法,都不可能得到100%准确的数值,要是存在能100%准确预测的情况,那就不属于预测问题了。因此,需要对预测结果的误差进行评价。评价预测结果最重要的标准就是预测准确性,而准确性是通过分析预测误差得到的[11]。
在本研究中,我们采用平均绝对误差MAE、平均绝对百分比误差MAPE来评价预测的误差程度,用均方误差MSE、均方根误差RMSE评价误差的波动程度,具体指标计算方法见表1[12]。
算式中代表真实值,代表预测值,代表预测期数。上述指标越低,意味着准确度和稳定性越好。
3汽油月销量预测
3.1数据
本案例研究中,我们使用的数据集是国内A地某企业2010年1月至2019年12月共计120个月的汽油月销量数据,绘制销量图(图3)。
图3 国内A地某企业汽油月销量图[6]
为了用于评估预测模型,我们把数据集分为训练集和测试集。在预测中遇到的最重要的问题就是训练集和测试集的量,人工神经网络需要尽可能多的训练数据用于训练模型,其余未被用于训练的数据则作为测试集,用来与训练后模型的输出结果进行比较,主要目的是用来检验所使用的训练数据是否充足。
在大多研究中,通常将数据集分为70%训练集和30%测试集,或是80%训练集和20%测试集。在本次研究中,我们将按80%训练集、20%测试集来划分。我们将分别用SARIMA、LSTM和混合模型来建模和预测,并进行评价和对比。研究基于Python3.6及开源库完成。
3.2SARIMA模型
从历史数据中,可以发现汽油月销量存在明显的以12个月为周期的变化特点,因此我们将周期性参数S设为12,尝试了4组不同的季节性时间序列SARIMA(p,d,q)(P,D,Q)超参数构建模型预测,并对结果进行了分析,详细模型评价指标情况见表2。根据表中所得的结果,由于较低的误差率更具有实用性,因此SARIMA(1,1,0)(0,0,2)能更为准确地完成预测任务。预测值与实际值的曲线图如图4所示。
3.3LSTM模型
LSTM神经网络是一种深度学习的算法,虽然LSTM模型多用于海量数据集的场景,但是也有一些研究[10]发现,LSTM也可以适用于某些小数据量的时间序列预测分析中。我们对时间序列进行了转换,将过去12个月的销量和每个月非正常周末的节假日天数作为输入变量,当月销量作为对应输出结果,以第n个月为例,其输入变量为,输出结果为。LSTM模型的基本结构框架情况如下:输入层的神经元数与输入变量数匹配(13个),隐藏层采用稠密层(全连接层),输出层只有1个神经元用线性函数激活做预测,用均方误差MSR作为计算输入和输出层神经元间的损失函数。为了得到预测效果更佳的模型,我们在训练过程中对不同历元数(epoch)下的模型评价指标值进行了比较,结果见表3。
从表3中可以看出,历元数为250时,训练出的模型预测更为准确。预测值与实际值的曲线图如图5所示。
3.4预测结果对比分析
SARIMA、LSTM模型的预测误差对比见表4,预测值与实际值的图见图6。从表中可以看出,LSTM模型的预测值与实际值相比,在预测结果的误差及误差率上,LSTM的平均绝对误差MAE、平均绝对百分比误差MAPE分别比SARIMA的少42%、41%;在预测误差的波动上,LSTM的均方误差MSE、均方根误差RMSE分别比SARIMA的少68%、44%,说明LSTM模型在本案例中的预测效果更好。
从预测值与实际值的图上可以看出,LSTM在汽油月销量显著增加的2月份和显著减少的11月份的预测值比SARIMA更为准确,可能是由于LSTM构建模型时除了考虑过去12个月汽油销量的季节性变化规律外,还引入了每个月非正常周末的节假日天数作为输入变量,使其能更好地从历史数据中学习出对春节(一般在2月份)的汽油需求量上升及国庆(10月份)后汽油需求量下降速率的规律,从而更准确地完成预测。
4结论
本文运用基于统计学的SARIMA算法和基于深度学习的LSTM算法,通过参数优化调整,分别构建了汽油月销量的预测模型,并对两种模型的预测效果进行了对比分析,结果发现在预测结果的误差、误差率和误差波动上,LSTM模型的预测效果均更加优异。虽然SARIMA擅于处理时间序列中存在的线性关系,但对于非线性部分却不擅长;由于LSTM基于神经元的特点,可以记忆并学习历史数据的规律和趋势,同时还可以扩展学习的数据维度,增加入时间序列之外的影响因素数据,使得其对非线性部分波动的预测误差更小,预测效果更优异。
[参考文献] (References)
[1] SAGHEER A, KOTB M J N. Time series forecasting of petroleum production using deep LSTM recurrent networks [J]. 2019, 323(203-13.
[2] BOUKTIF S, FIAZ A, OUNI A, et al. Optimal deep learning lstm model for electric load forecasting using feature selection and genetic algorithm: Comparison with machine learning approaches [J]. 2018, 11(7): 1636.
[3] MOCANU E, NGUYEN P H, GIBESCU M, et al. Deep learning for estimating building energy consumption [J]. 2016, 6(91-9.
[4] HYNDMAN R J, FAN S J I T O P S. Density forecasting for long-term peak electricity demand [J]. 2009, 25(2): 1142-53.
[5] PERMANASARI A E, HIDAYAH I, BUSTONI I A. SARIMA (Seasonal ARIMA) implementation on time series to forecast the number of Malaria incidence; proceedings of the 2013 International Conference on Information Technology and Electrical Engineering (ICITEE), F, 2013 [C]. IEEE.
[6] OLAH C. Understanding lstm networks [J]. 2015,
[7] BAYER J S. Learning sequence representations [D]; Technische Universit?t München, 2015.
[8] PASCANU R, MIKOLOV T, BENGIO Y. On the difficulty of training recurrent neural networks; proceedings of the International conference on machine learning, F, 2013 [C].
[9] HOCHREITER S, SCHMIDHUBER J J N C. Long short-term memory [J]. 1997, 9(8): 1735-80.
[10] TEMüR A S, AKGüN M, TEMüR G J J O B E, et al. Predicting housing sales in Turkey using ARIMA, LSTM and hybrid models [J]. 2019, 20(5): 920-38.
[11] SAR? M J S ü F B E. Artificial neural networks and sales demand forecasting application in the automotive industry [J]. 2016,
[12] SALLEHUDDIN R, SHAMSUDDIN S M H, HASHIM S Z M, et al. Forecasting time series data using hybrid grey relational artificial neural network and auto regressive integrated moving [J]. 2007, 17(6): 573.