APP下载

基于时间序列的商品需求预测模型研究

2019-10-16肖玉杰

关键词:差分遗传算法函数

郑 琰,黄 兴,肖玉杰

(1.南京林业大学 汽车与交通工程学院, 南京 210037;2.南京财经大学 营销与物流管理学院, 南京 210046)

随着电子商务、互联网技术、大数据技术以及各种移动设备的快速发展,客户在网络购物中产生或保存的数据更容易获取,从而使得全样本数据的搜集成为了可能。通过对这些数据进行分析,电子商务企业可以发现客户群体对不同商品的偏好程度,预测各商品在不同时间段的需求量以及库存备货量等。企业根据预测结果可为生产、经营、管理提供决策支持,为库存管理提供依据,从而为企业节省库存成本,同时提高了客户购物满意度。

目前,商品需求预测方法主要有定性预测与定量预测两种。定性预测易受主观因素影响,不适合对大量商品进行预测,且预测精度也会随着预测者对商品销售的熟悉程度而大幅变化。定量预测的方法有简单移动平均法、加权移动平均法等。简单移动平均法与加权移动平均法都只适用于需求量一直处于比较平稳且不存在季节变化趋势的商品,而且对于加权平均法,权重的赋予仍然具有很大主观性。

自回归滑动平均模型(auto-regressive and moving average model,简称ARMA模型),近年来被国内外学者运用于各个领域,取得了丰硕的研究成果。刘璐[1]利用我国1986—2016年人均GDP的数据,通过构建ARMA模型,对未来3年的GDP做出了预测。Marcia等[2]运用基于ARMA模型的数据驱动技术对航空工具进行故障预测,减少了以固定时间间隔进行维护所带来的资源浪费。Ervural等[3]运用基于遗传算法的ARMA模型对未来土耳其伊斯坦布尔城市的天然气消耗量进行了有效预测,为土耳其天然气进口的决策提供了合理的依据。Mirzavand等[4]证明了聚类分析与ARMA结合并用于预测地下水位的方法具有一定的预测优势。Fernando[5]提出了一种结合三角分布假设和相关性分析的ARMA模型,并运用于解决随机需求的随机库存问题,可以用来预测没有历史需求数据的新产品,并以智利医院为例对其新药品的采购和库存管理提供了有价值的依据。可见,ARMA预测模型能够适应多种研究领域,且取得很好的预测结果。本文基于时间序列的ARMA模型,结合了多种群遗传算法对基础模型的定阶方法做出了改进,并针对阿里巴巴电商企业的部分商品进行需求预测。

1 ARMA预测模型

ARMA模型是一种以自回归模型(AR模型)与滑动平均模型(MA模型)为基础的时间序列模型。根据Hamilton Smith[6]理论,运用ARMA模型进行预测,首先需要对序列进行平稳性的统计检验,通过时间序列自相关、偏相关函数,确定多组模型参数。然后确定一组最优模型参数,常用的方法是利用贝叶斯信息化准则(简称BIC)检验。最后,对序列进行白噪声检验,如果该序列通过检验则进行预测计算;否则,需要对模型的各参数值进行重新确定。具体预测流程如图1所示。

图1 预测方法流程

2 序列平稳化处理

2.1 序列平稳性的统计检验

ARMA模型适用于平稳的时间序列,但在实际研究中绝大多数序列是不平稳的,因此就需要对原序列进行d阶差分处理,处理后得到一组平稳序列。而这种适用于不平稳序列的模型称为ARIMA模型。

对于任意一个序列Yt,通过做出时序图以及自相关图可以粗略判断序列平稳性。平稳序列的时序图表现为一种围绕着某个值上下波动,自相关图表现为自相关函数迅速下降至零,并且在零附近收敛。不平稳序列的时序图表现为在不同时间段内围绕不同的值上下波动,自相关图表现为自相关函数未迅速下降至零,也没有在零附近收敛。

2.2 滞后阶数与QLB统计量检验

平稳序列的一个显著特征就是自相关函数值会随着时间间隔k的增大迅速减小到零,并且在零附近收敛,针对这一特征使用QLB统计量进行检验,检验统计量如下:

式中p为滞后阶数,如果各滞后阶数p的QLB统计量都没有超过显著性水平为5%决定的临界值,则序列不存在p阶自相关,序列各阶自相关系数与偏相关系数都趋于零,该序列平稳。如果只要存在1个滞后阶数p的QLB统计量超过了显著性水平为5%决定的临界值,则序列存在p阶自相关,该序列非平稳。

2.3 平稳化处理

若序列Yt存在显著线性趋势,则采用1阶差分消除不平稳;如果序列Yt存在二次多项式趋势,则采用2阶差分消除不平稳;以此类推,如果序列Yt存在d次多项式趋势,则采用d阶差分消除不平稳。

若Yt是一个含有指数趋势的非平稳序列,可以通过对序列取对数,先将指数趋势转化为线性趋势,再进行差分处理。

若Yt是一个有明显周期变化的季节性不平稳序列,将该类序列某一时刻的数据与下一周期相对应的数据相减,可以消除周期性变化。

3 模型识别与定阶

3.1 基于BIC准则的模型识别与定阶

3.1.1模型识别

计算序列经过平稳处理后的自相关系数ρk和偏相关系数φkk,绘出自相关图与偏相关图,识别模型类别,识别依据参考文献[7],如表1所示。

表1 模型识别

如果不能通过自相关与偏相关图做出判断,则需要进行定量计算,计算依据如下:

1)序列自相关函数(偏相关函数)在最初滞后q(p)阶的系数明显大于两倍标准差,其后超过95%的序列自相关(偏相关)系数都在2倍标准差的范围内,则视为自相关(偏相关)系数截尾。

2)存在超过5%的序列自相关(偏相关)系数超过2倍标准差的范围,则判断自相关(偏相关)系数拖尾。

3.1.2模型定阶

通过模型识别,已经确定了模型的p、q值,但大多情况下,p与q的值并不唯一,就需要借助BIC准则确定适应模型的唯一一组参数。BIC准则中文全称是贝叶斯信息化准则,该准则就是在信息不完全的情况下,对未知的参数先用主观概率进行估计的得到的结果成为先验概率,后用样本数据与贝叶斯公式对主观概率进行修正得到后验概率,最后再利用期望与后验概率做出最优的决策[8]。

3.2 基于多种群遗传算法的模型识别与定阶

多种群遗传算法(MPGA)是一种进化算法,它借鉴了生物界中“物竞天择,适者生存”的自然法则,算法拥有高度随机、并行、自适应的全局优化搜索能力,且弥补了标准遗传算法(SGA)早熟收敛的不足。将其应用在ARMA模型的p、q定阶计算中,能够避免传统方法的试探搜索与穷举搜索两种极端现象,提高了模型定阶的准确性,与标准遗传算法相比,运行速度也会有所提高。

建模步骤如下:

1)确定p、q取值范围,对其进行二进制编码,并在取值范围内创建随机初始种群。

2)确定适应度函数。

3)在实际应用中,使用时间序列前一半数据进行建模,使用后一半数据对模型进行验证。若预测值与实际值的差值越小,则模型越理想。通常采用预测值与实际值的平均相对变动值(Average relative variance:VAR)进行衡量。其表达式如下:

当VAR越小,表明预测效果越好。由此构造适应度函数:F=1/VAR。当F的值越大,表明预测效果越好,最后计算各初始种群个体的适应度值。

4)在[0.7,0.9]区间内随机产生交叉概率(Pc),在[0.001,0.05]区间内随机产生变异概率(Pm)。一组Pc、Pm值分别决定了算法全局搜索能力和局部搜索能力,即决定了一个种群的最优值。将随机产生的Pc、Pm作用于不同的种群,即可得到各个种群的最优值。

5)通过移民算子将各种群关联起来,保证了多种群的协同进化,并得到种群收敛的最优依据。

6)通过人工算子存储各种群中的最优个体,保证其在计算的过程中不丢失。

7)记录精华种群及其编码,最终通过在精华种群中寻找最优个体,并进行解码找到适合模型的最优p、q值。

3.3 假设检验与求解

得到模型相关参数后,通过判断模型残差序列是否为白噪声序列来进行假设检验。若QLB统计量的pvalue值大于0.05,则认定残差序列为白噪声序列,模型可进行预测求解。

4 实例分析

依据本文提出的预测模型和方法,使用Matlab软件,将阿里云天池大数据众智平台的数据集作为样本来预测某电商企业未来一周内的商品需求量。

本文使用该数据集中商品ID、成交件数、交易发生时间这3个特征,随机选取ID = 72836的商品作为实例,为验证模型的精确度,以2015年3月20日—2015 年12 月20日的成交件数作为训练集进行建模,以2015年12月21日—2015年12月27日的成交件数作为测试集进行模型验证。

4.1 异常值剔除与插值补充

由图2 可以看出,商品原始序列Y1的时序图存在异常值,这是由于电商企业在特殊时期举行大型促销活动而导致商品需求数量激增,而本文旨在预测电商企业在一般情况下的商品需求量,因此在数据处理阶段需要剔除这些异常值。在剔除异常值后,本文采用插值法对缺失值进行补充,从而得到一组新的时间序列Y2,如图3所示。

图2 原始时间序列Y1

图3 时间序列 Y2

4.2 平稳性统计检验

根据图4所示的Y2自相关图,判断Y2的平稳性,由图4可看出该序列的自相关函数没有迅速趋于零,也没有在零处收敛,大致判断出该序列为非平稳的。通过定量计算,滞后最大阶数的QLB=871.246大于显著性水平为5%决定的临界值313.608 1。

图4 Y2的自相关图

4.3 差分处理与平稳性统计检验

通过差分法,对序列Y2进行平稳化处理,差分后得到序列Y3如图5所示,可以看出该序列在零值附近波动,大致判断差分后的时间序列为平稳序列。

图5 时间序列Y3

由图6所示的序列Y3自相关图可知自相关函数迅速趋于零,并且在零处收敛,大致判断该序列为平稳序列。通过定量计算,滞后最大阶数的QLB=231.732 2小于显著性水平为5%决定的临界值312.537 7。因此,可以判断序列Y3为平稳序列。

4.4 基于BIC准则的模型识别定阶、假设检验与结果分析

由图7所示的序列Y3偏相关图对模型进行识别,通过定量计算,并结合Y3的相关函数,存在超过5%的自相关与偏相关系数超过2倍标准差的范围,由此判断自相关与偏相关系数均拖尾,由于序列Y3是由序列Y2经过一次差分处理得到的,所以差分次数d=1,根据图1所示的流程图,选择ARIMA模型进行预测。

图6 Y3的自相关图

图7 Y3的偏相关图

通过计算对模型进行定阶,在滞后15阶的范围内,自相关系数滞后1、2、10、12阶级时,对应的自相关值超过了两倍标准差的范围,偏相关系数滞后1、2、3阶时,对应的偏相关值超过了两倍标准差的范围,确定模型p、q组合以及每种组合对应的BIC值如表2所示。

表2 模型p、q值及BIC值

选择BIC值最小的p,q组合(2,1,1)为ARIMA模型的参数。对序列的残差值进行白噪声检验,得到 pvalue(=0.536 754)>0.5,判断该序列的残差值为白噪声序列,模型适合预测。对上文所确定的模型及参数,进行求解,得到2015年12月20日—2015年12月27日这7天的预测值为32.202 99,由测试集得到7天的实际需求量为46。

4.5 基于多种群遗传算法的模型识别定阶、假设检验与结果展示

通过迭代运算得到当p=1,q=8,VAR=3.105 116,适应度函数值F最大为0.322 05,将(1,1,8)作为ARIMA模型的参数。

对序列的残差值进行白噪声检验,得到pvalue(=0.536 754)>0.5,判断该序列的残差值为白噪声序列,模型适合预测。对上文所确定的模型及参数,进行求解得到2015年12月20日—2015年12月27日这7天的预测值为36.989,由测试集得7天的实际需求量为46。

4.6 模型准确性检验

为验证本文模型预测的准确性,对10种商品未来7天的需求量进行预测,商品ID、真实值与使用ARMA_BIC、ARMA_MPGA两种方法所得结果以及相对误差RE值如表3所示。

表3 3种模型预测结果对比分析

使用ARMA_BIC模型与ARMA_MPGA模型对上述11种商品预测值的均方根误差(RMSE)、平均相对误差(MAPE)进行对比,得到的对比结果如表4所示。

表4 对比结果

预测方法RMSEMAPEARMA_BIC26.161 00.242 532 394ARMA_MPGA16.870 10.128 225 186

由表4可以看出本文提出的ARMA_MPGA模型所对应的RMSE值与MAPE值小于常用的ARMA_BIC模型,表明本文模型的预测准确性较高。

5 结束语

本文基于时间序列ARMA_MPGA 模型对电商企业在一定时间内的商品需求量进行预测,通过对阿里巴巴公司某种商品进行需求预测分析,本文模型的特性适应了商品需求变化的复杂性,能够取得较满意的预测结果。通过计算预测精度和ARMA_BIC模型的预测精度进行对比分析,结果显示本文提出的方法具有较高精度。说明本文所出的模型能够为电商企业的库存管理提供决策依据。未来的研究方向在于应用ARMA模型的同时,如何结合其他模型对数据规模较少的促销日商品需求量进行预测,并且也能够达到一定的精确度。

猜你喜欢

差分遗传算法函数
RLW-KdV方程的紧致有限差分格式
符合差分隐私的流数据统计直方图发布
二次函数
数列与差分
第3讲 “函数”复习精讲
二次函数
函数备考精讲
基于遗传算法的智能交通灯控制研究
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
基于改进的遗传算法的模糊聚类算法