首页> 中国专利> 一种面向时序数据的预测方法

一种面向时序数据的预测方法

摘要

本发明公开了一种面向时序数据的预测方法,属于数据分析技术领域。本发明的方法包括以下步骤:采集历史时序数据;根据历史时序数据设定若干个时间点,计算每个时间点相对前一个时间点的变化率;记录达到峰值或谷值的时间点,选取达到峰值或谷值之后的N个时间点数据进行计算得到累积变化率矩阵;再根据累积变化率矩阵计算得到新的矩阵;之后利用聚类算法对新的矩阵进行聚类得到聚类结果,并根据聚类结果进行预测。本发明克服了现有技术中,时序数据达到峰值或者谷值后的变化趋势预测不准确的不足,本发明可以精确判断时序数据在未来达到某一峰值或谷值后后续的变化趋势,进而提高了时序数据达到峰值或者谷值后后续变化趋势的预测精度。

著录项

  • 公开/公告号CN112163022A

    专利类型发明专利

  • 公开/公告日2021-01-01

    原文格式PDF

  • 申请/专利号CN202011095091.3

  • 发明设计人 陈业斌;杨菲;钟亮;邰伟鹏;

    申请日2020-10-14

  • 分类号G06F16/2458(20190101);G06K9/62(20060101);G06Q30/02(20120101);

  • 代理机构34134 安徽知问律师事务所;

  • 代理人王亚军

  • 地址 243002 安徽省马鞍山市花山区湖东路59号

  • 入库时间 2023-06-19 09:24:30

说明书

技术领域

本发明属于数据分析技术领域,更具体地说,涉及一种面向时序数据的预测方法。

背景技术

时序数据是基于时间的一系列数据在有时间的坐标中将这些数据点连成线,往过去看可以做成多维度报表,揭示其规律性、趋势性、异常性;往未来看可以做大数据分析,机器学习,实现预测和预警。时间序列数据是同一统一指标按时间顺序记录的数据列。在同一数据列中的各个数据必须是同口径的,要求具有可比性。时序数据可以是时期数,也可以是时点数。时间序列分析的目的是通过找出样本内时间序列的统计特性和发展规律性,构建时间序列模型,进行样本外预测。

目前使用较广泛的是运用统计原理对历史数据进行统计分析,找出其内在规律,建立映射关系模型用于预测。常用的统计方法有多元线性回归算法、人工神经网络算法和灰色理论算法等。使用差异较大的一组样本训练模型,得到的参数进行校验时往往产生较大的误差,即使重新训练,也得不到很好的效果。例如发明创造名称为:一种自适应时间序列数据预测方法(申请日:2020年5月25日;申请号:202010451280.3),该方案公开了一种自适应时间序列数据预测方法,包括以下步骤:收集并清理原始时间序列数据,增强数据维度;构建数据集,评定数据集特性;构建数据集的预测模型;对预测模型进行训练和参数优化;利用预测模型计算数据预测值。该方案解决了多时间序列特征条件下数据预测的问题,提供一种自适应时间序列数据预测方法,可以监测时间序列数据的特性,并根据特性选择对应的预测模型实现预测。但是,该方案的不足之处在于:当条件变化剧烈时,模型预测精度还有待提高,甚至有可能会失效。

综上所述,如何提高时序数据达到峰值或者谷值后后续变化趋势的预测精度,是现有技术亟需解决的问题。

1.要解决的问题

本发明克服了现有技术中,时序数据达到峰值或者谷值后的变化趋势预测不准确的不足,提出了一种面向时序数据的预测方法,可以分析时序数据达到峰值或谷值后的短期动量规律,从而可以精确判断时序数据在未来达到某一峰值或谷值后后续的变化趋势,进而提高了时序数据达到峰值或者谷值后后续变化趋势的预测精度。

2.技术方案

为了解决上述问题,本发明所采用的技术方案如下:

本发明的一种面向时序数据的预测方法,包括以下步骤:

采集历史时序数据;根据历史时序数据设定若干个时间点,计算每个时间点相对前一个时间点的变化率;然后记录达到峰值或谷值的时间点,选取达到峰值或谷值之后的N个时间点数据进行计算得到累积变化率矩阵;再根据累积变化率矩阵计算得到新的矩阵;之后利用聚类算法对新的矩阵进行聚类得到聚类结果,并根据聚类结果进行预测。

更进一步地,利用下列公式计算每个时间点相对前一个时间点的变化率:

V

更进一步地,选取达到峰值或谷值之后的N个时间点数据的具体过程为:当某个时间点为峰值或谷值时,若在该时间点之前的5个时间点之内没有时间点值大于峰值或者小于谷值,则以该时间点为零点,并记录该时间点之后的N个连续时间点数据。

更进一步地,计算得到累积变化率矩阵的具体过程为:

设定若干个时间点有M个零点,根据M个零点得到(N+1)*M的矩阵X;

Y表示累积变化率矩阵;X[i,:]表示矩阵X的每一行数据,i为正整数;X[0,:]表示矩阵X第一行的时间点数据。

更进一步地,根据累积变化率矩阵计算得到新的矩阵的具体过程为:

先根据累积变化率矩阵计算每一行元素的正增长率,平均值,中值,最大值,最小值和T_Value;

根据每一行元素的正增长率,平均值,中值,最大值,最小值和T_Value组成新的矩阵。

更进一步地,利用下述公式计算正增长率,平均值,中值,最大值,最小值和T_Value:

Positive%表示在达到峰值或谷值后的第t个时间点的正增长率;P0表示第t个时间点Y值大于0的个数;P表示第t个时间点Y值的总共个数;

Average表示在达到峰值或谷值后的第t个时间点的平均值;

Median=Median(Y

Median表示在达到峰值或谷值后的第t个时间点的中值;

Max=Max(Y

Max表示在达到峰值或谷值后的第t个时间点的最大值;

Min=Min(Y

Min表示在达到峰值或谷值后的第t个时间点的最小值;

T_Value表示正增长率,平均值,中值,最大值,最小值的指标计算结果的可信度;Std表示每一行元素的方差。

更进一步地,利用k-means算法对新的矩阵进行聚类。

更进一步地,对新的矩阵进行聚类的具体过程为:

(a)根据新的矩阵得到k个聚类并对每个聚类确定一个初始聚类中心;

(b)将样本集中的样本x

d

其中,S为样本集,Z为整数集;

(c)使用每个聚类中的样本均值作为新的聚类中心;

重复步骤(b),(c)直到聚类中心不再变化。

3.有益效果

相比于现有技术,本发明的有益效果为:

本发明的一种面向时序数据的预测方法,通过记录峰值或谷值后的时间点数据,从而可以分析时序数据达到峰值或谷值后的短期动量规律,进一步通过聚类算法对新的矩阵进行聚类分析,进而可以精确判断时序数据在未来达到某一峰值或谷值后后续的变化趋势,进一步提高了时序数据达到峰值或者谷值后后续变化趋势的预测精度。

附图说明

图1为本发明的方法流程示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例;而且,各个实施例之间不是相对独立的,根据需要可以相互组合,从而达到更优的效果。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为进一步了解本发明的内容,结合附图和实施例对本发明作详细描述。

实施例1

结合图1所示,本发明的一种面向时序数据的预测方法,包括以下步骤:

(1)采集数据

采集历史时序数据;本实施例中历史时序数据为多年的商品销售数据。

(2)计算变化率

根据历史时序数据设定若干个时间点,值得说明的是,时间点可以是天数或者小时数,本实施例设定近6年的时间点,即时间点个数为365*6个。进一步地,计算每个时间点相对前一个时间点的变化率,具体地,利用下列公式计算每个时间点相对前一个时间点的变化率:

P表示变化率,V

(3)计算累积变化率矩阵

记录达到峰值或谷值的时间点,值得说明的是,峰值和谷值指的是单位时间段内的极值点,峰值为极大值点,谷值为极小值点,其中,单位时间段可任意设置。之后选取达到峰值或谷值之后的N个时间点数据进行计算得到累积变化率矩阵;具体地,选取达到峰值或谷值之后的N个时间点数据的具体过程如下:

当某个时间点为峰值或谷值时,若在该时间点之前的5个时间点之内没有时间点值大于峰值或者小于谷值,则以该时间点为零点,并记录该时间点之后的N个连续时间点数据,N为整数,且N不小于20。值得说明的是,通过记录峰值或谷值后的时间点数据,从而可以对时序数据达到峰值或谷值后的短期动量规律进行分析。

计算得到累积变化率矩阵的具体过程为:设定若干个时间点有M个零点,根据M个零点得到(N+1)*M的矩阵X;

Y表示累积变化率矩阵;X[i,:]表示矩阵X的每一行数据,i为正整数;X[0,:]表示矩阵X第一行的时间点数据。

(4)计算得到新的矩阵

根据累积变化率矩阵计算得到新的矩阵,具体过程如下:

先根据累积变化率矩阵计算每一行元素的正增长率,平均值,中值,最大值,最小值和T_Value;具体计算公式如下:

Positive%表示在达到峰值或谷值后的第t个时间点的正增长率;P0表示第t个时间点Y值大于0的个数;P表示第t个时间点Y值的总共个数;

Average表示在达到峰值或谷值后的第t个时间点的平均值;

Median=Median(Y

Median表示在达到峰值或谷值后的第t个时间点的中值;

Max=Max(Y

Max表示在达到峰值或谷值后的第t个时间点的最大值;

Min=Min(Y

Min表示在达到峰值或谷值后的第t个时间点的最小值;

T_Value表示正增长率,平均值,中值,最大值,最小值的指标计算结果的可信度;Std表示每一行元素的方差。

之后根据每一行元素的正增长率,平均值,中值,最大值,最小值和T_Value组成新的矩阵。

(5)对新的矩阵进行聚类

利用聚类算法对新的矩阵进行聚类得到聚类结果,本发明利用k-means算法对新的矩阵进行聚类;具体地,聚类过程如下;

(a)根据新的矩阵得到k个聚类并对每个聚类确定一个初始聚类中心;

(b)将样本集中的样本x

d

其中,S为样本集,Z为整数集;

(c)使用每个聚类中的样本均值作为新的聚类中心;

重复步骤(b),(c)直到聚类中心不再变化,共得到k个聚类,其中,k为整数,本实施例中k=4。值得说明的是,通过聚类可以将新的矩阵分为具有明显特征的类,从而便于判断时序数据在未来达到某一峰值或谷值后后续的变化趋势,进一步提高了时序数据达到峰值或者谷值后后续变化趋势的预测精度。

进一步地,计算聚类的误差平方和得到误差最小的聚类,具体公式如下:

其中,J表示误差平方和。值得说明的是,结合最小二乘法和拉格朗日原理,聚类中心为对应类别中个数据点的平均值,同时为了使算法收敛,在迭代的过程中,应使得最终的聚类中心尽可能的不变。

(6)预测结果

根据聚类结果进行预测,矩阵每行计算所得正增长率和平均值为后续每一天的正增长率和平均值。根据聚类分析结果,可得到四种特征,分别为(1)达到峰值时,正增长率超过平均值;(2)达到峰值时,正增长率低于平均值;(3)达到谷值后,正增长率超过平均值;(4)达到谷值后,正增长率低于平均值。本实施例以商家销售某个商品为例,当达到峰值或谷值后,观察其后的20天销售量。达到峰值时,当正增长率超过平均值时,判断商品每天销售量将继续增加,应扩大生产量,防止造成供不应求的情况;当正增长率低于平均值时,考虑销售量短期内将逐步下降,应适量减少生产,避免供过于求;达到谷值后,当正增长率超过平均值时,判断商品每天销售量将逐步增加,应适量扩大生产量;当正增长率低于平均值时,考虑销售量短期内将继续下降,应减少生产量或停止生产,并及时找出原因。

本发明的一种面向时序数据的预测方法,通过记录峰值或谷值后的时间点数据,从而可以分析时序数据达到峰值或谷值后的短期动量规律,进一步通过聚类算法对新的矩阵进行聚类分析,进而可以精确判断时序数据在未来达到某一峰值或谷值后后续的变化趋势,进一步提高了时序数据达到峰值或者谷值后后续变化趋势的预测精度。

在上文中结合具体的示例性实施例详细描述了本发明。但是,应当理解,可在不脱离由所附权利要求限定的本发明的范围的情况下进行各种修改和变型。详细的描述和附图应仅被认为是说明性的,而不是限制性的,如果存在任何这样的修改和变型,那么它们都将落入在此描述的本发明的范围内。此外,背景技术旨在为了说明本技术的研发现状和意义,并不旨在限制本发明或本申请和本发明的应用领域。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号