安徽省烟草公司铜陵市公司 安徽省合肥市 244000
摘要:目的:应用经典和神经网络预测模型进行卷烟销售预测分析,为卷烟销售营销方案优化和市场品类规划工作提供科学依据。方法:销售数据是一类时间序列数据,利用TL市烟草专卖局从2019年1月至2022年12月期间不同品类卷烟的月销售数据,作为原始的时间序列,确定研究方法和评价指标,构建不同的模型预测卷烟销售,通过比较不同模型的性能和预测结果,进而选择最优模型。结果:从实验结果可以看出,基于Bidirectional LSTM的预测模型能较好地拟合预测TL市烟草销售数据在时间序列上的变动趋势,有着更好的预测精度。使用性能最优的模型进行卷烟销售预测,利用算法总结出商品销售的规律性,能够为年度销售计划的制定提供数据支撑。下一步,将通过优化数据集及进行模型性能调优,使预测精度提高。
关键词:统计分析;神经网络;卷烟销售预测;ARIMA
一、引言
卷烟销售是烟草行业持续发展的必要支撑,进行卷烟销售预测可为年度销售计划提供数据支撑。销售数据是一类时间序列数据,目前,针对卷烟销售预测模型的研究已成为卷烟管理领域中的重要课题。通过对卷烟销售预测模型研究,有助于公司合理安排销售计划,提高经营效率,节约各类经济成本。销售预测就是从以往的销售数据中总结出商品销售的规律性,并用这个规律动态地预测未来的销售额。
为优化资源配置,合理进行货源投放,结合本市卷烟历史销售数据,研究了卷烟销售预测模型。在对卷烟销量预测的基础上,为烟草商业系统制定科学合理的卷烟销售目标任务分解方案,以及销售结构优化策略提供参考,进而提高行业经营管理水平。
二、卷烟销售预测建模
在建模开始前,我们需要将原数据集拆分为训练集和测试集。对于时间序列预测任务,不能将数据集随机划分为训练集和测试集。事实上,时间序列中的观测是相互依赖的,数据应该按时间分割。因此,诸如K-fold交叉验证等常用技术不适用于时间序列数据。因此,我们选择训练集为前二年的月销售数据,测试集为余下数据。即令2019年1月至2022年12月的月销量数据作为训练集来训练模型,用2023年1月到2023年6月的月销量数据作为测试集来测试模型的泛化能力。
一类烟为五类烟中售价最高的卷烟,其销量受季节影响较大。为了更好地了解数据集,并能够更准确地预测未来的销售,实证分析选择一类卷烟三年中的月销售情况,分析其销售规律。通过聚合销售数据,最终得到54条记录,其中训练集有48条记录,测试集有6条记录。
(一)研究方法
卷烟销售预测模型的准确率不同,实证分析首先从经典的时间序列线性预测方法开始,包括自回归移动平均和指数平滑方法,然后选择非线性的神经网络预测模型,包括长短期记忆网络和卷积神经网络。通过比较不同模型的预测精度选择最优模型,以期为卷烟销售结构的优化工作提供精准化科学指导。卷烟销售预测建模流程如图1所示。
图1 卷烟销售预测建模流程
(二)评价指标
模型预测性能评价使用三个经典的度量指标,分别为:均方误差(MSE),均方根误差(RMSE)和平均绝对百分比误差(MAPE),相应的计算公式如下:
(1)
(2)
(3)
在公式里,n为样本总数,第i个样本的真实值和模型预测值分别是和
。MSE(式1)是预测值与真实值的绝对平方误差的平均值,值越大,误差越大。RMSE(式2)是对MSE的开根号,相比较MSE,RMSE更能体现真实值和预测值偏差,可以将均方根误差和实际值之间去比较,就可以对预测准确度有个直观的理解。MAPE(式3)表示平均绝对百分比误差,用预测值与实际值之间的差去与实际值相比,看其中的占比有多大,值越小,说明拟合效果越好,准确度越高。
(三)基于自回归移动平均模型的销售预测
自回归移动平均(ARIMA)模型[5]是一种经典的时序数据分析预测模型,该模型的参数序列为(p, d, q),其中p、d、q分别是自回归项数、差分次数、移动平均项数,通常,p值一般不超过3阶,d和q值取值范围为0-2。我们结合MSE指标通过网格搜索技术寻找模型的最佳超参数,发现ARIMA(0,0,0)模型的MSE值最优。利用这一组参数训练出的模型,对测试集中2023年上半年的一类卷烟的销售值进行预测,得到的MSE为2922511.87,RMSE为1709.54,MAPE为33.6。图2显示了基于ARIMA(0,0,0)模型的2023年上半年一类卷烟销量的预测结果。
图2 基于ARIMA(0,0,0)模型的一类烟销量预测
从图2可以看出,ARIMA(0,0,0)模型对测试集的预测输出与实际输出存在较大差异,预测精度不佳。通过观察一类卷烟的销售趋势,可以看出在每年1月的销售量明显高于同期其他月份销售额,季节性明显。接下来,我们应用季节性ARIMA(Seasonal ARIMA,SARIMA)模型进行卷烟销售预测。SARIMA模型能识别数据的周期性效应(包括季度、月度、年度等),进而对数据进行有效地预测。SARIMA模型的参数序列为(p,d,q)(P,D,Q)[m]。其中,p,d,q为非季节性参数。P,D,Q为季节性参数。参数m为周期长度,即每个季节的周期值。参数m的取值可以通过时间序列的自相关函数(ACF)获得。
图3 一类烟销量时间序列自相关函数(ACF)输出
从图3可以观测到,ACF峰值为12,因此设置参数m=12,接下来,我们依然利用网格搜索技术,分别依据赤信息指标(AIC)和贝叶斯信息指标(BIC),寻到SARIMA模型的最佳超参数。
首先,我们依据AIC准则通过网格搜索,得到SARIMA模型的最佳超参数为(2,0,1)(0,1,0)[12]。利用这一组参数对SARIMA模型进行训练,并对测试集中2021年的一类卷烟的销售值进行预测,得到的MSE为288560.39,RMSE为537.18,MAPE为15.63。图4显示了基于SARIMA(2,0,1)(0,1,0)[12]模型的一类卷烟销量的预测结果。
图4 基于SARIMA(2,0,1)(0,1,0)[12]模型的一类烟销量预测
由图4可以看出,SARIMA模型的预测结果与实际输出相当吻合,具有较高的预测精度。接下来我们依据BIC准则并通过网格搜索得到SARIMA模型的最佳超参数为(0,1,1)(0,1,1)[12]。图5显示了基于SARIMA(0,1,1)(0,1,1)[12]模型的一类卷烟销量的预测结果。
图5 基于SARIMA(0,1,1)(0,1,1)[12]模型的一类烟销量预测
由图4和图5可以看出,SARIMA模型能够很好地模拟一类卷烟的季节销售量,而且预测带很窄。
(四)基于指数平滑法的销售预测
指数平滑法是经典的时间序列预测方法[3]。该模型可以检测趋势和季节性,与ARIMA方法相似。与ARIMA不同的是,指数平滑法不是使用过去数据点的加权线性和,而是给每个观测值分配一个指数递减的权重。指数平滑法可以分为三大类。单指数平滑法(Simple Exponential Smoothing,SES)只在平稳的时间序列中表现良好,由于要求序列中不应该有趋势和季节性,因此可用于预测无趋势或季节性的单变量数据。双指数平滑法(Double Exponential Smoothing,DES)[4]在SES的基础上增加了趋势的判断,适用于具有季节性的单变量时间序列。三指数平滑法(Triple Exponential Smoothing,TES)[2]是目前最先进的平滑方法。该方法通过动态评估水平、趋势和季节性的影响来进行预测,可用于具有趋势和/或季节性的单变量序列。由于卷烟销售数据具有很明显的季节性,因此本研究采用最后两种方法,即DES和TES对一类卷烟的销售进行预测。图6显示了基于DES和TES模型的一类卷烟销量的预测结果。
图6 基于指数平滑方法一类烟销量预测
可以看到DES预测得并不好,虽然捕捉到了趋势性,但是序列中季节性相关的特征未能有效捕获。相对于DES,TES较好拟合了销售趋势的变化规律。
(五)基于循环神经网络的销售预测
循环神经网络(Recurrent Neural Network,RNN)[6]是时间序列预测的最有效方法之一。RNN是一个人工神经网络,其中节点连接成环,并且网络的内部状态可以表现出动态时序行为。但是,随着处理时间序列长度的增加,在使用常规激活函数训练RNN的过程中,经常会出现诸如梯度消失的问题,这限制了RNN的预测精度。长短期记忆网络(Long Short-Term Memory,LSTM)是RNN短时记忆的一种解决方案,它被训练成使用超时反向传播来克服消失梯度问题。LSTM模型是目前主流的时间序列预测技术。
在本研究中,我们使用了三种不同的LSTM模型进行时间序列预测。第一个是Vanilla LSTM模型,它由LSTM的一个隐藏层和一个输出层组成。第二个是Stacked LSTM模型,也称为堆叠LSTM,由多个LSTM相互叠加而成。第三个是Bidirectional LSTM模型,也称为双向LSTM,它通过将第一个隐藏层封装在双向层中向前和向后学习输入序列。下图显示了基于三种不同的LSTM模型的一类卷烟销量的预测结果。
图7 基于LSTM预测模型一类烟销量预测
从图7可以看出,Vanilla LSTM模型在捕捉时间序列数据的长期依赖关系方面表现良好,可以有效地预测销量的趋势和周期性。Stacked LSTM可以自适应地提取和利用不同层次的特征信息,从而更好地捕捉销量数据中的复杂模式。Bidirectional LSTM模型可以更全面地捕捉到时间序列数据中的依赖关系和趋势。它能够在预测过程中利用未来的信息,从而提供更准确的预测结果。
(六)基于卷积神经网络的销售预测
最后,我们使用卷积神经网络(Convolutional Neural Networks,CNN)来进行时间序列预测。CNN是一类由一个或多个卷积层组成的深度神经网络,主要用于图像处理。然而,由于其识别模式的能力,也可以用于时间序列预测。在本研究中,我们提出一个1D-CNN模型[1],该模型由3个一维卷积和128个滤波器组成,该滤波器描述了在时序数据上卷积的滑动窗口的数量。图8显示了其卷烟销量预测的结果。
图8 基于CNN预测模型一类烟销量预测
从图中可以看出,预测曲线与原时间序列曲线拟合的总体效果是比较好的。
(七)不同销售预测模型的比较
表1展示了各模型不同衡量指标下的预测精度。以平均绝对误差率(MAPE)为例量,较低的 MAPE 值表示预测模型的性能较好。从表可知,相对于其他模型,Bidirectional LSTM模型预测的精度较高,具有更优的优越性和稳健性。
表1 不同模型的预测性能对比
模型 | MSE | RMSE | MAPE |
ARIMA | 2922511.87 | 1709.54 | 33.6 |
SARIMA | 288560.39 | 537.18 | 15.63 |
DES | 6041330.7 | 2457.91 | 101.4 |
TES | 402649.32 | 634.55 | 14.7 |
Vanilla LSTM | 716381.19 | 846.39 | 14.65 |
Stacked LSTM | 115065.54 | 339.21 | 12.83 |
Bidirectional LSTM | 224145.58 | 473.44 | 28.62 |
CNN | 507125.36 | 712.13 | 29.39 |
表2显示了不同预测模型对一类卷烟2023年上半年的销量预测结果,通过对比预测结果可知,相对于其它预测模型,基于CNN的预测模型在测试集的预测输出与实际输出符合得很好。
表2 不同模型的一类烟2023年上半年销量预测结果
日期 | 真实值 | ARIMA | SARIMA | DES | TES | Vanilla LSTM | Stacked LSTM | Bidirectional LSTM | CNN |
2023年1月 | 7827.14 | 2083.01 | 6515.72 | 818.45 | 6014.06 | 5102.40 | 6948.85 | 7865.85 | 6104.04 |
2023年2月 | 2192.04 | 1940.67 | 1987.47 | 689.64 | 1637.46 | 1848.84 | 2046.90 | 2109.17 | 1541.26 |
2023年3月 | 1836.39 | 1851.57 | 899.85 | 560.82 | 877.38 | 1463.21 | 1713.54 | 1332.99 | 1210.25 |
2023年4月 | 1432.18 | 1795.80 | 2098.13 | 432.01 | 1554.63 | 1624.41 | 1978.65 | 2340.01 | 2522.94 |
2023年5月 | 1181.56 | 1760.90 | 1702.92 | 303.20 | 1147.94 | 1288.16 | 1679.18 | 1956.11 | 1920.94 |
2023年6月 | 1659.70 | 1739.05 | 1330.08 | 174.38 | 1197.07 | 1490.06 | 1587.55 | 1588.49 | 1521.40 |
三、结论
为了获得更优的卷烟销售量预测结果,我们对比了不同技术的主流预测模型,包括线性的预测模型和非线性的神经网络预测模型。根据仿真实验可得如下结论:
1 季节性对非线性模型的卷烟销售预测结果有较大影响,通过引入季节性参数,可以提高预测的准确性。
2 相对于神经网络预测模型,销量数据通常具有时间序列的特性,包含过去的趋势和未来的关联。Bidirectional LSTM模型能够有效地捕捉到这些时间依赖关系,从而提供良好的预测性能。
参考文献
[1]车畅畅,王华伟,倪晓梅,蔺瑞管,熊明兰.基于1D-CNN和Bi-LSTM的航空发动机剩余寿命预测[J].机械工程学报,2021,57(14):304-312.
[2]桂德怀,张显璇.基于三次指数平滑法的上海港集装箱吞吐量预测分析[J].产业与科技论坛,2020,19(24):59-60.
[3]金何春,李林.基于ARIMA模型与DES模型的政府卫生支出预测[J].计算机时代,2023(02):7-10.DOI:10.16644/j.cnki.cn33-1094/tp.2023.02.002.
[4]王斌,王勤为,董科,盛津芳.基于二次指数平滑预测的虚拟机调度方法研究[J].计算机应用研究,2017,34(03):723-726.
[5]王燕.时间序列分析:基于R[M].北京:中国人民大学出版社,2015.
[6]张旭.基于循环神经网络的时间序列预测方法研究[D].南京大学,2019.
作者简介:
陈吉伟,安徽省烟草局(公司)铜陵市局(公司)系统管理员,研究方向为信息管理,
彭程光,安徽省烟草局(公司)铜陵市局(公司)网络管理员,研究方向为网络管理。