一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于融合机器学习和时间序列的需求预测方法

2022-08-11 07:38:58 来源:中国专利 TAG:


1.本发明涉及数据驱动决策技术领域,更具体的说是涉及一种基于机器学习和时间序列融合的需求预测方法。


背景技术:

2.当前社会已处于大数据时代,需求预测在数据赋能中发挥着越来越重要的基础性作用。大量的商业决策,都依赖于精准的需求预测。然而,随着新零售、数字化运营的兴起,在商业场景下普遍存在着少量样本、高维特征的情形。比如只有几十、几百个样本,却可以提出几百、几千个特征。这就对需求预测的方法提出了巨大的挑战。
3.现有的预测方法,并不能很好地应对这类少量样本、高维特征的任务。一方面,机器学习特别适合具有较多特征的学习任务,然而,较少的样本量限制了这类算法的学习能力,难以刻画特征和需求之间的相关关系以及需求的波动性。尽管已有研究提出了一些解决基于小样本的机器学习预测方法,例如数据增强、降维等,部分解决了小样本学习面临的挑战。然而,当前的方法,对于波动性的刻画,仍存在较大不足。另一方面,传统的时间序列方法,对新零售等场景下大量出现的异常值特别敏感,且未能将大量的有用信息、特征整合到时间序列模型中,预测能力受限。
4.在基于时间序列数据预测需求的场景中,如何充分发挥机器学习和 arima、移动平均等时间序列方法的优势,取长补短,提高对少量样本、高维特征的学习能力,是当前大数据领域亟待解决的重要问题之一。


技术实现要素:

5.有鉴于此,本发明提供了一种基于机器学习和时间序列融合的需求预测方法。可以有效提升背景技术中指出的问题,在小样本量、高位特征数据的应用场景下的需求预测效果。
6.为了实现上述目的,本发明采用如下技术方案:
7.一种融合机器学习和时间序列的需求预测方法,具体包括以下步骤:
8.(1)提取物料属性特征和预测特征、需求数据,将预测特征和需求数据合并构建预测数据集;
9.(2)根据所述物料属性特征,聚类构建物料簇;
10.(3)利用物料簇内的训练集数据对所述预测特征进行筛选,得到物料重要特征集;
11.(4)将物料重要特征集对应的训练集数据输入机器学习模型训练;
12.(5)根据验证集数据,进行网格搜索调整参数;
13.(6)将测试集输入机器学习模型,得到预测结果;
14.(7)基于训练集和验证集的需求数据构建时间序列模型,得到需求修正值;所述训练集和验证集的需求数据包括需求本身和机器学习预测的需求残差值;
15.(8)将机器学习模型预测结果和时间序列的预测结果进行融合,得到最终的预测
结果。
16.步骤(7)所述的需求修正值包括:历史的实际需求、机器学习预测需求的残差值;其中,残差值的计算公式为:
[0017][0018]
其中和分别表示物料i第t和k个阶段的实际需求,和分别表示物料 i第t和k个阶段的需求预测值。
[0019]
融合方法包括基于机器学习的残差法,具体做法如下:
[0020]
根据机器学习模型训练集、验证集的预测结果,计算物料i的预测残差序列使用残差序列构建时间序列模型,并对测试集的残差做预测;将预测结果作为调整量对机器模型预测结果进行调整,得到最终的需求预测值;对物料i,其需求预测值调整公式为:
[0021][0022][0023]
其中,为物料i在k阶段的残差预测值,为物料i在k阶段最终的需求预测值,为物料i机器学习模型在k阶段的需求预测值,为该物料在k阶段的残差预测值。
[0024]
融合方法还包括基于机器学习的移动平均法,具体做法如下:
[0025]
将机器学习模型预测结果和时间序列预测结果做加权平均,得到最终的需求预测值;对物料i,融合后的需求预测值计算公式为:
[0026][0027][0028]
其中,为物料i在k阶段最终的需求预测值,为机器学习模型在k阶段的需求预测值,为该物料在k-j阶段的历史需求,ni为调整阶数,αj(j∈ {0,1,

,ni});此处的阶段可以根据数据特征选取时、日、星期或者月作为时间划分。
[0029]
步骤(7)中的基于残差构建时间序列模型,包括移动平均法、自回归法、指数平滑法、arma、arima。
[0030]
经由上述的技术方案可知,与现有技术相比,本发明将机器学习算法的学习能力和时间序列方法的波动刻画能力相结合,从而可以得到以下有益效果:
[0031]
1、提升了小样本量、高维特征数据场景下需求预测的效果。
[0032]
2、预测方法具有高强度的适用性和推广能力。
附图说明
[0033]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0034]
图1附图为本发明的方法流程图。
具体实施方式
[0035]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0036]
本发明实施例一公开、提供了一种基于机器学习和时间序列融合的需求预测方法,如图1所示,具体步骤为:
[0037]
(1)提取物料属性特征和预测特征、需求数据,将预测特征和需求数据合并构建预测数据集;
[0038]
(2)根据所述物料属性特征,聚类构建物料簇;
[0039]
(3)利用物料簇内的训练集数据对所述预测特征进行筛选,得到物料重要特征集;
[0040]
(4)将物料重要特征集对应的训练集数据输入机器学习模型训练;
[0041]
(5)根据验证集数据,进行网格搜索调整参数;
[0042]
(6)将测试集输入机器学习模型,得到预测结果;
[0043]
(7)基于训练集和验证集的需求数据(包括需求本身和机器学习预测的需求残差值)构建时间序列模型,得到需求修正值;
[0044]
(8)将机器学习模型预测结果和时间序列的预测结果进行融合,得到最终的预测结果。
[0045]
进一步的,结合具体实施例说明本发明方法步骤。
[0046]
实施例1:
[0047]
国内某主流制造企业需要对其部分物料未来五个月的需求进行预测,以辅助其原料供应决策。选取300个物料,收集原始数据并脱敏,包括物料属性信息、历史需求、库存数据,数据时间区间为2018年1月1日——2021年 2月28日(38个月)。
[0048]
在本例中,单个物料的需求时间序列长度最多只有38个月,在预测特征提取后,单个物料进行模型训练和预测时,所能用的样本量最多只有32条,提取的特征达到158个。需求预测的操作步骤具体为:
[0049]
步骤

:提取物料属性特征集afi。
[0050][0051]
afi是长度为4的向量,意味着提取了4个物料属性特征。
[0052]
步骤

:根据物料属性特征,采用kmodes聚类算法将300个物料分为 15个物料簇(类别),分别记为cl1,cl2,cl3,cl4,cl5……

[0053]
步骤

:从原始数据集中提取每个物料i的初始预测特征集ofi。
[0054][0055]
of
i1
表示第一个特征,以此类推,总共有158个初始特征。对应的特征数据为:
[0056]
因为提取了历史需求特征,所以舍去前6个月的数据。其中feai为mi×
n 矩阵(mi≤32),分别表示158个特征的数值向量,每个向量内有mi个数值,表示物料i的样本数(时间序列长度)。
[0057]
步骤

:提取每个物料i的需求向量
[0058][0059]
和di组成输入机器学习模型的预测数据集,记为ofdi。将预测数据集按7:1.5:1.5的比例分割为3个部分:训练集、验证集、测试集。
[0060]
步骤

:将各物料簇的所有物料数据的训练集输入boruta算法(基于随机森林回归算法),进行预测特征筛选,得到各物料簇预测特征集的重要性标记向量:
[0061][0062][0063]
其中,标记表示第r个特征为重要特征,标记表示第r个特征的重要性不确定,标记表示第r个特征为不重要特征。选出标记为1 的特征构建物料簇的重要特征集iofi。
[0064]
步骤

:依次把各物料簇cli的物料训练数据集投入随机森林模型,将步骤

中筛选出的各物料簇重要特征集iofi作为预测特征进行训练。在模型训练与测试阶段,根据划分的验证集数据,采用网格搜索调整机器学习模型的参数,包括训练次数,模型深度等。调整模型使得模型的平均绝对误差(其他误差标准也可)最小,即调整参数结束,将各物料簇在验证集中表现最优的模型modeli输出。
[0065]
步骤

:将各物料验证集数据投入最优模型modeli获得输出结果。迭代调整阶数,采用移动平均法对输出结果进行时间序列调整,选择使得验证集的平均绝对误差最小的调整阶数ni。对物料i,融合后的需求预测值计算公式为:
[0066][0067]
[0068]
其中,为物料i在k阶段最终的需求预测值,为机器学习模型在k阶段的需求预测值,为该物料在k-j阶段的历史需求,ni为调整阶数,αj(j∈ {0,1,

,ni})。此处的阶段可以根据数据特征选取时、日、星期或者月作为时间划分。
[0069]
步骤

:对于各个物料簇cli,依次将簇内各物料预测集数据投入最优模型modeli获得预测结果。根据步骤

中的最优调整阶数ni,对预测结果进行时间序列调整,调整过程同步骤

,得到最终的需求预测输出。
[0070]
表1展示了使用传统机器学习方法、arima方法(时间序列分析)和本发明提出的方法,在预测误差统计中的比较。
[0071]
根据步骤

可知,最优调整阶数应选择一阶。表中所述方法中,rf是指仅采用随机森林回归算法预测输出的测试方案;arima是指采用arima方法进行预测的测试方案;rf_adj1是在基于随机森林回归算法预测的一阶时间序列调整后输出的测试方案;rf_adj2是在基于随机森林回归算法预测的二阶时间序列调整后输出的测试方案;rf_adj3是在基于随机森林回归算法预测的三阶时间序列调整后输出的测试方案。
[0072]
表1测试集的误差统计
[0073]
方法rfarimarf_adj1rf_adj2rf_adj3平均绝对误差均值40.1748.9233.1236.2237.91均方根误差均值47.9355.3343.4347.9145.40
[0074]
表1中,相较于传统的仅用随机森林算法预测输出的结果,本发明提出的调整方法有明显优化:由表1数据可知,一阶时间序列调整将测试集的平均绝对误差均值下降了17.6%(从40.17下降至33.12),均方根误差均值则下降了9.4%(从47.93降到43.43)。由此可见,本发明提出的方法显著提升了小样本量学习的需求预测效果。
[0075]
实施例2:为展现预测方法的适用性和推广能力,选取展示实施例二。实施例二与例一背景一致,所采用特征一致,仅在数据集数据上不同,数据集容量上不同。实施例二的数据集包含有100个物料,数据时间区间为38个月。相似实施部分参见实施例一,方法说明同实施例一,以下仅展示预测方法的实施效果:
[0076]
表2测试集的误差统计
[0077]
方法rfarimarf_adj1rf_adj2rf_adj3平均绝对误差均值45.5651.2638.5840.7342.43均方根误差均值55.1558.4752.3556.1252.10
[0078]
由表2可知,本发明提出的调整方法效果显著。由表2数据可知,与随机森林你的预测方案相比,一阶时间序列调整将测试集的绝对误差均值下降了 15.3%(从45.56下降至38.58),均方根误差则下降了5.1%(从55.15降到52.35)。
[0079]
通过两个实例的实施展示,因为数据集的进一步缩小,总体误差在增大,而本发明提出的方法在误差降低方面仍保持着强大的效力,有力地证明了本发明提出的方法对小样本量需求预测的显著提升效果。
[0080]
本说明书中两个实施例均采用相同的处理方式,通过不同的数据和数据量体现该预测方法小样本需求预测中的稳健性和推广能力。
[0081]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他
实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0082]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献