基于SARIMA-BP组合模型的家具订单需求量预测方法研究
2024-04-01何金婷陈星艳戴向东黄艳丽欧阳周洲詹秀丽
■何金婷,陈星艳,2,3,4,陶 涛,2,3,4,戴向东,2,3,4,黄艳丽,4,欧阳周洲,4,吕 宙,4,詹秀丽,4
对于家具企业而言,批量化的大规模定制不仅能够满足客户的个性化需求,同时也能够高效地利用供应链产能,成为企业一种不可或缺的选择。在实现集约化定制生产的前提下,企业可以运用大数据预测技术,对订单需求进行精准分析,从而实现具备前瞻性的生产资源规划。但是当前研究家具订单需求量预测的文献很少,且多数企业对未来订单量预测的方法是根据国家经济增长目标进行预测,这种预测方法单一且预测精准度不高,对未来的生产资源规划不能起到很好的指导作用。因此当前家具企业为应对生产资源规划问题,亟需引入订单需求预测模型来帮助企业实现生产资源有效合理的预分配。
目前主要应用的预测模型有BP神经网络预测模型、GM(1,1)灰色预测模型、ARIMA时间序列预测模型、SARIMA时间序列预测模型等。其中BP神经网络由于具有较强的自学习自适应能力和非线性映射能力,在函数逼近、非线性回归方面有着较为广泛的应用;灰色预测模型中当样本数据不符合指数分布时,预测效果会产生较大偏差;时间序列预测方法中SARIMA较ARIMA预测模型在数据特征提取、消除数据周期性和季节性方面更具有优势。综上所述,各种预测模型的建模机理和反应数据信息都具有局限性,单一的模型难以准确地提取出数据中内在的信息与特征,预测结果往往不太理想,因此大量学者在预测时常采用组合模型[1-6],其优点在于对于优势互补的单一模型进行组合,可以减少预测结果产生的误差,提升预测精度。
基于此,本研究针对家具订单量数据具有显著季节性特征选用SARIMA模型进行预测,针对家具订单量数据具有波动性和趋势性的非线性特征选用BP神经网络进行预测,进而提出SARIMA-BP组合模型预测方法。这种方法将SARIMA可消除数据周期性和季节性的优势以及神经网络较强的自学习自适应能力和非线性映射能力的优势进行了融合。利用BP神经网络较强的自学习能力实现SARIMA非线性动态变化的自适应调节,借助神经网络非线性函数逼近和收敛优势,确保预测的准确性和稳定性[7]。
1 理论模型设计
1.1 SARIMA模型
SARIMA(Seasonal Auto-Regressive Integrated Moving Average),又称季节性差分自回归移动平均模型[8],是一种具有周期性特征的时间序列数据模型。其模型表达式为:
其中,(p,d,q)为三个非季节参数,p、d、q分别为非季节性自回归项、非季节性差分次数、非季节性移动平均项;(P,D,Q,s)为四个季节参数,P、D、Q分别为季节性自回归项、季节性差分次数、季节性移动平均项,s表示季节性周期长度[9]。SARIMA表达式为:
其中,φ (B)表示自回归量,γ(Bs)表示季节回归量,(1-B)d为d阶差分,(1-Bs)D为D阶季节差分,yt表示时间序列,θ(B)表示移动量,δ(Bs)表示季节移动量,εt为正态分布N(0,σ2)白噪声。
SARIMA建模步骤为:(1)观察时间序列的周期,确定周期的长度s;(2)原始数据的平稳性由ADF单位根检验(Augmented Dickey-Fuller)来判定,若原始数据不符合平稳性条件,则需经过差分变换,将非平稳性数据转换为平稳性数据,以确定差分次数d和季节差分次数D的值;(3)根据自相关和偏自相关分析确定p、q、P、Q的可能取值;(4)将选定的p、d、q和P、D、Q的可能值代入SARIMA模型,根据AIC最小值和Q检验来选取最优模型;(5)用建立的SARIMA模型进行预测。
1.2 BP神经网络预测模型
BP神经网络训练方法是基于误差反向传播的算法,该算法基本思想是利用梯度下降法使实际输出值和期望输出值的误差最小。BP神经网络模型结构为三层网络结构,由输入层、隐藏层及输出层构成[10-11],包括信号正向传播和误差反向传播两个过程。正向传播时,输入信号通过隐含层进行非线性变化到输出层,输出层的输出值与预期的输出值进行误差计算,当误差值过大,则会进行误差反向传播。误差将向输入层反向传播,各层神经元权重按梯度下降法进行调整,通过不断迭代实现误差信号的最小化[12-13]。本文BP神经网络的基本结构如图1所示,由于历史家具订单量数据具有显著的季节周期性,因此在后续神经网络预测中额外将季节标签作为输入,辅助BP神经网络更快地捕捉到输入数据的季节性[14],因此输入层为6层预测因素,输出层为家具订单需求量数据。
■图1 BP神经网络结构图
神经网络中,隐含层确定公式为:
式中,m为隐含层节点数,n为输入层节点数,l为输出节点数,α取1~10;
由于输入层各影响因素的单位不同,数据集具有不同的取值范围,在计算时可能会出现神经网络无法收敛的情况,因此需要运用MATLAB中mapminmax apply函数对数据进行归一化处理,将数据统一限定在一定的范围内,本文中数据限定范围为[0,1]。并将所得的预测结果进行反归一化mapminmax reverse处理。归一化计算公式为:
式中,x*i为归一化之后的数据,xi为归一化之前的数据,xmin、xmax分别为原始数据的最小值和最大值。
反归一化的计算公式为:
式中,yi为反归一化后的数据,y*为反归一化前的数据,ymin、ymax分别为实际订单数据的最小值和最大值。
1.3 SARIMA-BP组合预测模型
SARIMA模型具有良好的线性拟合能力,BP神经网络具有强大的自学习能力和任意非线性函数逼近能力,两者对于家具订单量数据有着不同的拟合和处理能力[15]。但实际上有多种影响家具订单需求量的因素,且订单量数据中存在着较复杂的内在关系,单一的模型难以准确地提取出数据中内在的信息与特征,导致对家具订单量的预测精度不高,因此建立SARIMA-BP组合模型以提高预测精度,该模型如图2所示。
■图2 SARIMA-BP组合模型
本研究所构建的组合模型方法为:先利用SARIMA模型对数据进行预测得到预测结果1及误差值,然后将预测结果1、误差值、原始影响因素及季节标签序列一起作为输入变量,订单数据实际值作为BP神经网络的输出,进行BP神经网络模型训练,根据代码中设置的最大训练次数和最大误差不断调整BP神经网络的相关参数,得到最终的预测结果。
2 预测模型的应用
2.1 数据来源及驱动变量选择
本文数据主要来源于国家统计局官方网站及A企业2013年—2021年的家具订单量数据,订单量时间序列变化趋势如图3所示。
■图3 2013—2021年A企业家具订单量变化趋势(单位:单)
通过文献分析及调查[16-23],确定影响家具需求的主要驱动变量为:①中国人均GDP。②城镇化率。城镇化率表示全国城镇常住人口占全国总人口的比例,城镇居民相较于农村居民具有更高的消费能力和消费意愿,因此对家具产品的需求也更为显著,随着中国城镇化水平的提高以及城镇居民人数的增加,对家具类产品的需求也随之增长,因此城镇化率也是家具需求量的影响因素之一;③产业结构(第二产业增加值/GDP)。家具生产制造属于消费品制造业,处于第二产业,通过产业结构的变动,能够有效推进劳动力在生产企业之间的流转,进而影响家具的发展;④人均可支配收入。消费者的购买能力取决于消费者的收入水平,人均可支配收入提高,随之消费者的购买力也逐渐提高,对于家具市场需求的数量也发生着变化;⑤商品房销售面积。国内家具行业和房地产行业有较高相关性,新房销售与房屋竣工对于家具企业的订单量有一定的影响。
从产业链的角度出发,家具产品的需求往往会产生并滞后于房屋销售[24],一定程度上随着房地产的销售而产生波动。根据相关统计研究,家具销售比商品房销售滞后约11到12个月[25](例如2017年第一季的商品房销售将在2018年第一季度对家具需求达到最大释放)。因此,本文在研究影响A企业家具订单需求量因素时,驱动变量商品房销售面积采用相对应前一年的季度数据(例如影响2018年第一季度的家具订单量的因素为2017年第一季度的商品房销售面积)[26-27]。驱动变量原始数据如表1所示。
表1 影响因素原始数据(2013-2021年)
为进一步验证上述所选驱动变量的可行性,利用SPASS软件中的灰色关联分析法对上述选取的驱动变量与9年的订单量数据进行关联程度计算[28-29]。计算结果如表2所示,驱动变量关联度按大小排序为:商品房销售面积、中国人均GDP、人均可支配收入、城镇化率、产业结构占比,关联度均大于0.5,通过可行性检验即驱动变量选取合理[30]。
表2 订单量需求驱动变量灰色关联度
2.2 SARIMA模型预测结果
使用SPASS分析软件构建SARIMA模型,首先由初始序列图3可以看出,原始数据有一定的趋势和季节效应且季节周期长度s为4;其次判断原始数据平稳性,由ADF检验结果(表3)可知原始家具需求量数据为非平稳数据,在一阶差分-一阶季节差分变换下,P值<0.05,t值小于三个置信区间的临界值,原始数据变为平稳性数据,因此确定差分次数d为1,季节差分次数D为1。
表3 ADF检验表
根据一阶差分—一阶季节差分后的自相关和偏自相关性结果进行分析,获取可能的p、q、P、Q值,通过AIC准则求出各模型的AIC值如表4所示,以AIC最小值原则选取最优SARIMA模型为SARIMA(0,1,0)(0,1,0,4)。对该模型的残差序列进行检验,其p值远大于0.05,因此该残差序列为白噪声序列,SARIMA(0,1,0)(0,1,0,4)模型合理,可用来做预测。用该模型对2013年到2021年的A企业家具订单量进行预测并与真实值进行拟合,拟合结果如图4所示。SARIMA的预测结果准确率为76.88%。
表4 SARIMA备选模型及AIC值
■图4 SARIMA模型预测拟合图
2.3 BP神经网络模型预测结果
使用MATLAB软件构建BP神经网络模型,共有36组数据,选取前24组数据为训练集,剩余12组数据为测试集,数据的区间要求为[0,1],因此在BP神经网络的构建中对驱动变量数据及原始家具订单需求量数据进行归一化处理。在代码中设置迭代次数、学习速率及最大残差分别为30000、0.1、0.001,在不断的迭代中确定最佳隐含层节点为10,建立6-10-1的BP神经网络模型。将季节标签序列、中国人均GDP、城镇化率、产业结构、人均可支配收入、商品房销售面积作为输入,订单量作为输出,进行模型训练,输出测试集的实际值与预测结果的拟合图,如图5所示,预测准确率为83.29%。
■图5 BP神经网络拟合图
■图6 BP神经网络预测值与实际值的相对误差
2.4 SARIMA-BP组合模型预测结果
将2.2中SARIMA模型的预测结果、误差值以及表1中的影响因素原始数据一起作为神经网络的输入变量进行BP神经网络模型训练。共有36组数据,选取前24组数据为训练集,剩余12组数据为测试集,数据的区间要求为[0,1],因此在BP神经网络的构建中对驱动变量数据及原始家具订单需求量数据进行归一化处理。设置迭代次数、学习速率及最大残差分别为30000、0.1、0.001,在不断的迭代中确定最佳隐含层节点为6,建立8-6-1的BP神经网络模型。将SARIMA模型的预测值、SARIMA预测误差值、季节标签序列、中国人均GDP、城镇化率、产业结构、人均可支配收入、商品房销售面积作为输入,订单量作为输出,进行模型训练,输出测试集的实际值与预测结果的拟合图,如图7所示。预测结果准确率为94.92%。
■图7 组合模型拟合图
■图8 组合模型预测值与实际值的相对误差
以SARIMA模型、BP神经网络预测模型和SARIMA-BP组合模型为基础,对A企业家具订单需求量的进行预测,并计算出各相对误差。三种模型误差对比结果如图9所示,与单一预测模型相比,组合模型的相对误差更小且具有更高的预测精准度。
■图9 三种模型相对误差对比图
3 结语
本文通过文献分析及调查选取了影响家具订单需求量的5个驱动变量,并对变量的合理性进行了判断,验证了所选取的驱动变量与家具订单需求量均具有较高关联性;针对家具订单需求量数据具有影响因素多样性、非线性和线性规律的特点,并且依据SARIMA模型、BP神经网络模型各自的预测优势,建立SARIMA-BP组合预测模型,应用该方法对家具订单量数据进行建模及预测,结果表明SARIMA-BP组合预测方法的预测精度较两种单一模型预测精度更高,得到的预测准确率比SARIMA提高了约18%,比BP神经网络提高了约10%,这表明本文的预测方法在家具订单需求量预测中具有一定可行性。