融合自注意力机制和SARIMA-LSTM算法的快消品需求预测模型*
2023-08-22柴鸿斌郑军红何利力
柴鸿斌,郑军红,何利力
(浙江理工大学计算机科学与技术学院,浙江 杭州 310018)
0 引言
大数据时代,消费者需求不断变化,企业对消费品需求的预测难度也越来越大。对企业来说,提高需求预测的精确度有极大意义[1],因此,有必要探索新的需求预测方法,改进预测模型,使预测精度更高。
在时间序列的需求预测中,常见的方法有灰色预测,回归分析法,指数平滑法等。但这些常见的需求预测方法不适用于现在迅速变化的市场,如王济干在基于需求预测的库存决策研究综述与展望中提到,这些方法在需求波动大的情况下,无法进行有效预测[2]。近年来,机器学习在预测中的应用越来越多,如深度神经网络、BP 网络模型[3]等提高了传统神经网络预测结果的准确性。然而单一的预测模型还是无法满足复杂的市场需求,于是出现了考虑多方面的组合预测模型。雷斌在库存需求预测方法研究综述中提到了灰色系统预测理论与马尔可夫预测方法的结合,并应用于具有强随机性的零售超市库存需求预测[4]。陈紫薇在特殊快消品需求预测时发现,现有预测方法已无法满足日趋多样化的市场,因此探讨分别利用季节性SARIMA模型和双向LSTM 神经网络的组合模型进行预测研究[5]。熊芷瑶在对于生鲜零售行业生鲜商品库存需求中,采取的也是一种基于SARIMA-LSTM 组合预测模型[6]。由此我们可以看出,在进行需求预测的过程中SARIMA-LSTM 的组合预测模型是值得借鉴的,但依旧其预测精度不准确,与真实情况还是会有差距,在丰富多样的快消品需求市场中无法做到准确把握。
本文提出融合自注意力机制和SARIMA-LSTM组合模型,因为SARIMA 模型可以很好地拟合序列中的线性关系,LSTM 神经网络也可以挖掘序列中的非线性关系,所以在SARIMA 线性回归基础上,增加LSTM 神经网络模型。并将影响需求的因素做数据相关性计算处理,其作为预测变量的一部分,再将自注意力机制加入到组合模型中,该模型应用在Z 企业快消品中,对其需求进行预测,验证Z企业的预测需求和实际值,最后再与三种模型进行衡量指标比较,证明该模型是有效的。
1 融合自注意力机制和SARIMA-LSTM 算法的组合模型建立
1.1 SARIMA预测模型
SARIMA 是考虑了季节性因素的一个乘积季节模型,被记作ARIMA(p,d,q)×(P,D,Q,S),其中,p、P为非季节和季节回归项数,d、D 为非季节和季节差分阶数,q、Q 为非季节和季节移动平均项数,S 为季节性时间跨度[7]。其公式如下:
从式⑴可以看出,序列的短期相关性由低阶ARMA(p,q)模型提取;序列的季节相关性由具有周期步长S 的ARMA(P,Q)模型提取。由于短期相关性和季节性之间存在乘积关系,因此拟合模型本质上是ARMA(p,q)和ARMA(P,Q)的乘积。
SARIMA 模型在解决实际问题时颇为广泛,其优点在于既能保证预测精度,又易于实时预测。本文的研究对象具有明显季节性,故采用此模型进行预测。
1.2 LSTM预测模型
由于SARIMA 预测模型适用于短期预测,故面对复杂多变的环境与长期预测的准确性,我们需要应用到长短期记忆神经网络(LSTM)预测模型来有效保证预测,LSTM 是一种特殊RNN模型,LSTM 利用多个门函数来决定需遗忘的信息、记住的信息和输出的信息,从而使信息有选择地传递。LSTM 包括三个门结构:遗忘门、输入门和输出门,各个门之间相互作用,提高了LSTM模型的信息分析能力[8]。如图1所示。
图1 LSTM结构图
图1 中,xt表示t 时刻的输入数据,ht表示t 时刻输出的隐藏状态,t 时刻的LSTM 将接收三种输入信息:ct-1、ht-1、xt。这些信息首先被送入遗忘门和输入门处理,ft表示遗忘门,控制删除哪些信息;it表示输入门,筛选需要保留的信息。其公式如下:
经过遗忘门和输入门处理后,t 时刻的状态也会更新:
最后输出门将信息整合,生成输出信号为ot:
1.3 自注意力机制
虽然LSTM 神经网络在处理长时间序列问题上效果很好,但是在实际过程中长时间序列特征的重要性存在差异,LSTM 神经网络不区分长时间序列输入,会忽略一些重要信息。Attention机制是一种信息处理方法,能够从大量信息中快速过滤掉高价值信息。快消品需求数据会随着各种影响因素而变化,时间序列中各时间节点的特征对预测值的影响不同,与被预测节点的隐层状态相似的特征信息对被预测节点的影响较大而且显著。
而作为注意力机制的一种特例,自注意力机制也被称为内部注意力机制,自注意力机制减少了对外部信息的依赖,更擅长捕捉数据或特征的内部相关性[9]。因此,在SARIMA-LSTM预测模型中加入Self Attention机制,可以有效突出不同时间节点能量消耗特性的影响,从而提高预测效果。如图2所示。
图2 Attention机制结构图
1.4 组合模型建立
本文建立的组合预测模型结合了两种性能互补的算法,有效地克服了单一算法在预测中的局限性,提高了预测精度。由于SARIMA 模型可以很好地拟合序列中的线性关系,LSTM 神经网络可以挖掘序列中的非线性关系。两种模型结合,可以利用两者的优点来预测复杂的时间序列。特定时间段内的快消品需求受季节波动的影响形成与平时不同的需求曲线,这是一个复杂的时间序列。同时,利用自注意力机制的方法可以帮助模型对输入元素不同部分赋予不同权重,提取出更关键、更重要的信息,使模型做出更准确的判断,同时不影响模型的计算以及处理存储带来更大的消耗。
通过计算周期性节日变量、地方经济环境(GDP)变量、准时交货率变量三个影响因素与需求量之间的相关性,得到相关系数,并将SARIMA 模型中的异常指标结合,带入LSTM 神经网络作为输入变量,其中训练集数据波动较大,随着网络深度的不断加深,会造成网络退化。自注意力机制的引入有效缓解了网络模型训练过程中梯度消失的问题,同时也解决了深度网络训练难度和性能下降的问题。自注意力层的实现是通过LSTM 编码器保留输入序列的中间输出结果,上一层的输入结果与当前输出结果进行相似度比较,得到权重因子,最后得到自注意力系数。如图3所示。
图3 在LSTM中加入自注意力机制
其中,Xi,i∈(1,n)为输入层;hi是每个单元的中间输出结果,输入到每个注意力模型中,作用于下一层的元素作为计算的相似度和权重系数,得到一个关系系数。然后对当前元素与上一层中间输出结果进行点乘计算得到相似度,再通过softmax函数归一化得到对应的权重系数。最后加权求和产生预测。自注意力层采用以下公式:
2 实验分析
2.1 实验数据
本文以Z企业2018-2021年连续48个月的快消品需求量作为研究数据。其中2018-2020年的需求量数据作为训练样本,2021年的需求量数据作为测试样本。
2.2 实验步骤
首先,根据人们对快消品的购买历史,结合其需求具有周期性的特点分解序列,通过ADF 检验如表1所示。认为该时间序列是非平稳的,故需要进行平稳化操作。
表1 ADF检验
对数据进行去均值化处理,再通过一阶差分来提取序列的季节性影响,由结果来看,统计量低于每个显著性水平下的临界值,认为该序列显著平稳。满足序列平稳的建模要求。
利用赤池信息准则(AIC)评估选择模型参数。当AIC值最低值时,模型为ARIMA(1,1,1)×(1,1,1,12)。由此,可以利用2018-2020 年36 个月份快消品的需求量数据来预测2021年快消品的各月需求量。
其次,先通过时间序列对数据进行处理,找出其定义的异常指标,该月异常指标后的日需求数据进行归一化处理,并对需求影响因素进行相关性计算,两者线性组合,形成多维指标向量导入LSTM 神经网络进行计算。
最后,将预处理后的输入数据通过输入层传递到下一层,在神经网络中嵌入自注意力机制模块,在构建改进的LSTM 模型时确定网络的结构,将输入层的大小设置为输入系列长度。把历史数据和最新数据一起作为训练集数据,不断学习新的训练集数据,不断调整模型参数,实时更新数据变化,寻找最新规律,提高准确率的预测。计算过程涉及残差学习,如果残差结果接近白噪声序列,则累加层仅做了恒等映射。所以,训练目标是使残差结果接近白噪声序列,这样精度不会随着网络加深而下降。接下来进入自注意力层,将神经网络计算出的分量再次归一化,得到LSTM 优化模型的预测结果,最后将SARIMA 线性模型预测数据和LSTM 神经网络模型预测数据代入权重组合计算出上一层中间输出结果与当前输出的相似度,得到权重因子和注意力系数,然后利用Adam 算法对两种互补算法的训练结果进行权重优化,并计算组合模型的预测误差,在输出层得到2021年该月快消品需求预测数据。
2.3 实验结果
首先,将被归一化的样本数据输入到SARIMALSTM 组合模型中。使用Adam 算法公式进行计算,不断更新模型的权重。每迭代一次,都要计算模型的当前误差精度,结果如图4 所示。从图4 可以看出,经过100 次迭代训练,训练误差的精度从0.9842 降到0.1021并保持稳定,效果良好。
图4 迭代误差图
其次,验证组合模型的性能,将其与SARIMA、LSTM、SARIMA-LSTM 三种算法模型比较。使用平均绝对误差(EMAE)、平均百分比误差(EMAPE)和均方误差(EMSE)作为检验模型的评价指标。计算公式如下:
其中,n 是测试样本的总数量;yi代表是快消品的需求实际值表示预测快消品的需求值;EMAE、EMAPE和EMSE用于描述样本实际值与预测值之间的差异程度,这些评价指标的度量数越小,模型的平均预测精度越高。如表2所示。
表2 预测指标对比
最后,得到不同模型的需求量预测结果比(图5)。结合预测指标对比可以看出,结合需求影响因素的LSTM 模型未考虑季节周期性因素,SARIMA 模型没有考虑需求影响因素,两者的效果相差不大,但预测精度差距大,不过两者的组合模型在评价指标上优于单一模型。加入自注意力机制后的SARIMA-LSTMSAM 模型在MAE、MAPE、MSE 评价指标上优于其他模型,这表明SARIMA-LSTM-SAM 模型的预测精度总体上效果良好。
图5 不同模型的需求量预测结果比
3 结束语
结果表明,使用SARIMA 模型和LSTM 优化模型的互补优势再结合自注意力机制的特性,在组合模型的预测中,大大降低组合模型平均绝对误差(EMAE)、平均百分比误差(EMAPE)和均方误差(EMSE),提高了快消品需求的预测准确性,能够较为准确地反映出快消品的变化趋势。综上,本文预测模型精确且高效,可用于实际的快消品需求预测。接下来的研究,将结合快消品营销活动数据和品牌规格的细分需求来满足不同的预测需求。