提升销量预测结果稳健性的方法与流程

文档序号:16319304发布日期:2018-12-19 05:36阅读:553来源:国知局
提升销量预测结果稳健性的方法与流程

本发明涉及大数据领域,具体涉及一种提升销量预测结果稳健性的方法。

背景技术

销量预测是指对未来特定时间内,全部产品或特定产品的销量的估计。销量预测在产品的生产、管理以及销售中有重要的作用,但是进行高质量的销量预测却并非易事。销量预测技术,主要利用历史销量数据和外部影响因素数据,采用时间序列分析方法或者机器学习方法,建立模型进行销量的预测。

传统技术中的销量预测手段存在以下问题:

1)由于使用的预测方法单一,使得未知的偶然性因素会给销量预测结果带来很大的波动性,销量预测结果的稳健性较差;

2)由于使用只能适用于特定产品的集成和修正方法来提升销量预测结果的稳健性,使得其技术不具有普遍适用性,且受产品特性影响较大;

3)由于使用的修正方法较为简单粗糙,对预测结果的修正效果较差。



技术实现要素:

本发明所要解决的技术问题是:提出一种提升销量预测结果稳健性的方法,解决传统技术中销量预测结果稳健性差、不具有普遍适用性和修正效果差的问题。

本发明解决上述技术问题所采用的技术方案是:

提升销量预测结果稳健性的方法,包括以下步骤:

a.数据准备和选定销售预测模型:收集产品的历史销量数据以及影响产品销量的相关因素历史数据,选定两种或两种以上的算法模型作为销售预测模型;

b.对销量时间序列进行分层:根据产品属性的不同类别,将产品总销量时间序列进行分层,获得层级结构;

c.对层级结构中的数据进行融合和预处理;

d.对需要进行预测的时间段的相关因素数据值进行预测;

e.对选定的各个销售预测模型进行训练和测试,并计算测试误差;

f.将需要预测的时间和步骤d预测的对应的相关因素数据值作为输入,采用训练好的销售预测模型预测输出对应时间的销量预测值;

g.基于各个销售预测模型的测试误差对所述输出的对应时间的销量预测值进行集成,获得销量的集成预测值;

h.采用时间序列分层算法对集成预测值进行修正:确定层级关系矩阵,根据时间序列分层算法对层级结构中的所有集成预测值进行修正。

作为进一步优化,步骤a中,选择以下三种算法模型中的两种或三种作为预测模型:

时间序列分析模型、回归分析模型、时间序列和回归分析混合模型。

作为进一步优化,步骤b中,所述根据产品属性的不同类别,将产品总销量时间序列进行分层,获得层级结构,具体包括:

采用时间序列分层算法模型,将产品的历史总销量数据按照产品的某种属性进行分层,数据分层后,得到一个层级结构,该层级结构的顶层是产品的总销量,第二层是产品在该属性的各个类别上的销量。

作为进一步优化,步骤c中,所述对层级结构中的数据进行融合和预处理,具体包括:

c1.将历史销量数据按照时间的某个维度进行汇总;

c2.将影响该销量的相关因素历史数据按照与销量数据相同的时间维度进行汇总;

c3.将历史销量数据和相关因素历史数据按照时间进行融合;

c4.对缺失值进行填充;

c5.删除近零方差的特征;

c6.对类别变量进行哑编码。

作为进一步优化,步骤d中,采用holt-winters三参数指数平滑模型对需要进行预测的时间段的相关因素数据的值进行预测,获得相关因素预测值。

作为进一步优化,所述相关因素包括:历史宏观经济数据和历史竞争产品数据。

作为进一步优化,步骤e中,所述对选定的各个销售预测模型进行训练和测试,并计算测试误差,具体包括:

针对每个选定的销售预测模型,使用留出法,将经过步骤c预处理后的所有数据按照时间顺序划分为训练集和测试集;

利用训练集中的数据训练模型;

利用测试集的时间值和相关因素数据输入训练好的模型中获得测试集的销量预测值;

将测试集的销量预测值与测试集中的真实值进行比较,获得测试误差。

作为进一步优化,步骤g中,所述基于各个销售预测模型的测试误差对所述输出的对应时间的销量预测值进行集成,具体包括:

根据每个模型的测试误差,给定每个模型一个对应权值,其中,测试误差大的模型对应权值小,测试误差小的模型对应权值大;最后,将每个模型的权值和该模型的销量预测值相乘后相加,获得销量的集成预测值。

作为进一步优化,步骤h中,所述确定层级关系矩阵,根据时间序列分层算法对层级结构中的所有集成预测值进行修正,具体包括:

设层级结构上所有销量的集成预测值形成的向量为y′,利用时间序列分层算法得到的销量预测结果的修正为y″,则y″=s(s′s)-1s′y′,其中,s为向量y′和层级结构中最底层销量向量间的层级关系矩阵,s′表示s的转置。

本发明的有益效果是:

利用基于留出法的集成算法,将多个不同类型的模型的单独的销量预测结果进行集成,由于采用了多个模型,可以避免预测的单一性,减小未知的偶然性因素带来的波动性;

在集成时考虑了各个模型的误差并设置对应权重,将每个模型的权值和该模型的销量预测值相乘后相加,获得销量的集成预测值,具有普遍适用性;

此外,利用层级结构各个销量之间的关系对各个集成预测值进行修正,因为平衡了更多的销量数据和相关因素数据,能够进一步降低预测值所受到的偶然因素的影响,提高预测结果的稳健性。

附图说明

图1为本发明中的销量预测结果稳健性的方法流程图;

图2为时间序列分层结构图。

具体实施方式

本发明旨在提出一种提升销量预测结果稳健性的方法,解决传统技术中销量预测结果稳健性差、不具有普遍适用性和修正效果差的问题。

如图1所示,本发明中的提升销量预测结果稳健性的方法包括以下步骤:

s1.数据准备和选定预测模型:

本步骤中,收集产品的历史销量数据、影响产品销量的相关因素历史数据;为避免使用预测模型类型的单一性,选择以下三种模型的两种或者三种作为预测模型:时间序列分析模型;回归分析模型;时间序列和回归分析混合模型。

s2.销量时间序列分层:

本步骤中,为了对销量预测结果进行较好地修正,需要使用时间序列分层算法模型,首先将历史销量数据按照产品的某种属性进行分层。数据分层后,得到一个层级结构,该层级结构的顶层是产品的总销量,第二层是产品在该属性的各个类别上的销量。

时间序列分层如图2所示,其包括两层结构,顶层为总销量,第二层为产品的某个属性下的类别a、b、c所对应的产品销量。

s3.对层级结构中的数据进行融合和预处理:

将历史销量数据按照时间的某个维度(月、周等)进行汇总;

将影响该销量的相关因素历史数据按照与销量数据相同的时间维度进行汇总;

将历史销量数据和相关因素历史数据按照时间进行融合;

对缺失值进行填充;

删除近零方差的特征;

对类别变量进行哑编码。

s4.对需要进行预测的时间段的相关因素数据值进行预测:

对需要进行预测的时间段的相关因素数据的值进行预测,可以采用holt-winters三参数指数平滑模型进行预测。

s5.对选定的各个销售预测模型进行训练和测试,并计算测试误差:

本步骤中,针对每个选定的销售预测模型,使用留出法,将经过预处理后的所有数据按照时间顺序划分为训练集和测试集;利用训练集中的数据训练模型;利用测试集的时间值和相关因素数据输入训练好的模型中获得测试集的销量预测值;将测试集的销量预测值与测试集中的真实值进行比较,获得测试误差。

s6.采用训练好的销售预测模型预测输出对应时间的销量预测值:

本步骤中,将需要预测的时间和步骤s4中对应的相关因素的预测值输入训练好的模型,得到对应时间的销量预测值。

s7.对各个模型的销量预测值进行集成,获得销量的集成预测值;

本步骤中根据步骤s5中获得的每个模型的测试误差,给定每个模型一个权值(较低的误差有较高的权值,较高的误差有较低的权值),将每个模型的权值和该模型的预测值相乘后相加,得到该销量的集成预测值;

由于各个模型所提取的数据特征不一致且包容数据的各种特征,集成算法能降低偶然性因素的影响,提升预测结果的稳健性。

s8.利用层级结构对销量预测结果进行修正:

得到层级结构上各个销量的集成预测值后,利用时间序列分层算法对集成预测结果进行修正。设层级结构上所有销量的集成预测值形成的向量为y′,利用时间序列分层算法得到的销量预测结果的修正为y″,则y″=s(s′s)-1s′y′,其中,s为向量y′和层级结构中最底层销量向量间的层级关系矩阵,s′表示s的转置,y″即为最终的销量预测值向量;

该修正方法利用层级结构各个销量之间的关系对各个集成预测值进行修正,因为平衡了更多的销量数据和相关因素数据,方法能够降低预测值所受到的偶然因素的影响。

实施例:

本实施例以月为销量预测的时间维度,以电视机的销量预测为例来阐述。

1.数据准备:

收集历史订单数据(包含时间、销量、价格等)、历史宏观经济数据和历史竞争产品数据

2.确定预测模型:

时间序列模型:状态空间指数平滑模型—ets模型;

时间序列和回归分析混合模型:动态回归arima模型;

选取以上两个模型进行销量预测。

3.历史销量数据的分层:

将历史销量数据按照电视机的尺寸属性进行分层,得到包含电视机总销量和30-50尺寸段、50-70尺寸段以及70寸以上尺寸段销量的两层层级结构。

4.数据融合和预处理:

对电视机总销量和各个尺寸段上的销量进行如下操作:

根据订单数据按照月度对历史销量数据进行汇总,得到历史各个月度的销量;

将影响该销量的相关因素历史数据按照月度进行汇总;

按照月份将销量数据和相关因素数据进行融合;

对缺失值采用其前后时间未缺失值的均值进行填充;

删除近零方差的因素数据;

对类别变量进行哑编码。

5.对需要进行预测的时间段的相关因素数据的值进行预测,采用holt-winters三参数指数平滑模型进行预测。

6.模型建立及预测:

对电视机总销量和各个尺寸段的销量进行集成预测:

6.1按照时间顺序,将所有数据的前75%作为训练集,后25%作为测试集;

6.2在训练集上训练ets模型和动态回归arima模型,将测试集的时间值和相关因素值输入训练好的模型得到测试集上的预测值,与测试集上的真实值进行比较,得到测试集上的误差分别为e1,e2;

6.3将需要预测的时间值和相关因素的预测值输入训练好的模型,分别得到预测值f1,f2;

6.4计算集成预测值为:

7.利用层级结构对销量预测结果进行修正:

设电视机总销量的集成预测值为y1′,30-50尺寸段、50-70尺寸段以及70寸以上尺寸段的集成销量预测值为y21′,y22′,y23′,则集成预测值向量为y′=(y1′,y21′,y22′,y23′)t,修正后的销量预测值y″为

y″=s(s′s)-1s′y′

其中,由层级关系确定出层级关系矩阵s为

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1