基于不同模型的卷烟销售最优预测研究

(整期优先)网络出版时间:2023-11-02
/ 3

基于不同模型的卷烟销售最优预测研究

陈吉伟  彭程光

安徽省烟草公司铜陵市公司  安徽省合肥市  244000 

摘要:目的:应用经典和神经网络预测模型进行卷烟销售预测分析,为卷烟销售营销方案优化和市场品类规划工作提供科学依据。方法:销售数据是一类时间序列数据,利用TL市烟草专卖局从2019年1月至2022年12月期间不同品类卷烟的月销售数据,作为原始的时间序列,确定研究方法和评价指标,构建不同的模型预测卷烟销售,通过比较不同模型的性能和预测结果,进而选择最优模型。结果:从实验结果可以看出,基于Bidirectional LSTM的预测模型能较好地拟合预测TL市烟草销售数据在时间序列上的变动趋势,有着更好的预测精度。使用性能最优的模型进行卷烟销售预测,利用算法总结出商品销售的规律性,能够为年度销售计划的制定提供数据支撑。下一步,将通过优化数据集及进行模型性能调优,使预测精度提高。

关键词:统计分析;神经网络;卷烟销售预测;ARIMA

一、引言

卷烟销售是烟草行业持续发展的必要支撑,进行卷烟销售预测可为年度销售计划提供数据支撑。销售数据是一类时间序列数据,目前,针对卷烟销售预测模型的研究已成为卷烟管理领域中的重要课题。通过对卷烟销售预测模型研究,有助于公司合理安排销售计划,提高经营效率,节约各类经济成本。销售预测就是从以往的销售数据中总结出商品销售的规律性,并用这个规律动态地预测未来的销售额。

为优化资源配置,合理进行货源投放,结合本市卷烟历史销售数据,研究了卷烟销售预测模型。在对卷烟销量预测的基础上,为烟草商业系统制定科学合理的卷烟销售目标任务分解方案,以及销售结构优化策略提供参考,进而提高行业经营管理水平。

二、卷烟销售预测建模

在建模开始前,我们需要将原数据集拆分为训练集和测试集。对于时间序列预测任务,不能将数据集随机划分为训练集和测试集。事实上,时间序列中的观测是相互依赖的,数据应该按时间分割。因此,诸如K-fold交叉验证等常用技术不适用于时间序列数据。因此,我们选择训练集为前二年的月销售数据,测试集为余下数据。即令2019年1月至2022年12月的月销量数据作为训练集来训练模型,用2023年1月到20236月的月销量数据作为测试集来测试模型的泛化能力。

一类烟为五类烟中售价最高的卷烟,其销量受季节影响较大。为了更好地了解数据集,并能够更准确地预测未来的销售,实证分析选择一类卷烟三年中的月销售情况,分析其销售规律。通过聚合销售数据,最终得到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)获得。

D:\jupyter-notebook\卷烟销售预测\1.png

图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.

作者简介:

陈吉伟,安徽省烟草局(公司)铜陵市局(公司)系统管理员,研究方向为信息管理,

彭程光,安徽省烟草局(公司)铜陵市局(公司)网络管理员,研究方向为网络管理。