CN114970359A - 建立时间序列预测模型的方法、时间序列预测方法和装置 - Google Patents
建立时间序列预测模型的方法、时间序列预测方法和装置 Download PDFInfo
- Publication number
- CN114970359A CN114970359A CN202210629028.6A CN202210629028A CN114970359A CN 114970359 A CN114970359 A CN 114970359A CN 202210629028 A CN202210629028 A CN 202210629028A CN 114970359 A CN114970359 A CN 114970359A
- Authority
- CN
- China
- Prior art keywords
- time sequence
- index
- historical
- historical time
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000015654 memory Effects 0.000 claims abstract description 96
- 238000012549 training Methods 0.000 claims abstract description 72
- 239000013598 vector Substances 0.000 claims description 92
- 230000004044 response Effects 0.000 claims description 58
- 230000006870 function Effects 0.000 claims description 42
- 230000007246 mechanism Effects 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/02—Reliability analysis or reliability optimisation; Failure analysis, e.g. worst case scenario performance, failure mode and effects analysis [FMEA]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本说明书实施例提供了一种建立时间序列预测模型的方法、时间序列预测方法和装置。根据该实施例的方法,首先将第i个时间序列输入时间序列预测模型,所述时间序列包括连续n个时间点的指标值,所述时间序列中包含指标极值信息,所述n为大于1的正整数;然后获取所述时间序列预测模型依据所述第i个时间序列及其之前的历史时间序列预测得到的所述第i个时间序列之后τ个时间点的指标值,所述τ为预设的正整数;其中,所述时间序列预测模型基于记忆网络预先训练得到。
Description
技术领域
本说明书一个或多个实施例涉及人工智能技术领域,尤其涉及一种建立时间序列预测模型的方法、时间序列预测方法和装置。
背景技术
时间序列指的是将同一统计指标的数值按照发生的时间顺序排列而成的数列。时间序列预测旨在根据已有的历史时间的统计指标数值对未来时间的统计指标数值进行预测。时间序列预测可以应用于各种场景中,包括对应用服务流量的时间序列预测,对商业领域中交易资金的时间序列预测,对云计算中计算资源容量的预测,等等。如何准确地实现时间序列预测成为亟待解决的问题。
发明内容
有鉴于此,本说明书一个或多个实施例描述了一种建立时间序列预测模型的方法、时间序列预测方法和装置,以便于实现准确的时间序列预测。
根据第一方面,提供了一种建立时间序列预测模型的方法,包括:
获取训练数据,所述训练数据包括多于一个的历史时间序列,每个历史时间序列包括连续n个时间点的指标值,所述历史时间序列中标注有指标极值标签,所述n为大于1的正整数;
利用所述训练数据训练记忆网络,得到所述时间序列预测模型;其中依时间顺序将各历史时间序列分别作为第t个历史时间序列执行:将第t个历史时间序列作为所述记忆网络的输入,由所述记忆网络依据所述第t个历史时间序列及其之前的历史时间序列预测所述第t个历史时间序列之后τ个时间点的指标值以及指标极值信息,所述τ为预设的正整数;训练目标包括最小化预测的指标值与训练数据中对应指标值的差异以及最小化预测的指标极值信息与对应指标极值标签的差异。
在一个实施例中,所述记忆网络包括:输入模块、动态记忆模块、输出模块和响应模块;
所述输入模块对所述第t个历史时间序列进行编码,得到所述第t个历史时间序列的指标值隐向量以及指标极值隐向量;
所述动态记忆模块对各历史时间序列的指标极值隐向量进行记忆;
所述响应模块利用所述第t个历史时间序列及其之前各历史时间序列的指标极值隐向量,预测所述第t个历史时间序列之后τ个时间点的指标极值信息;
所述输出模块利用所述第t个历史时间序列的指标值隐向量和所述响应模块的预测结果,预测所述第t个历史时间序列之后τ个时间点的指标值。
在另一个实施例中,所述响应模块利用所述第t个历史时间序列及其之前各历史时间序列的指标极值隐向量,预测所述第t个历史时间序列之后τ个时间点的指标极值信息包括:
所述响应模块利用所述第t个历史时间序列及其之前各历史时间序列的指标极值隐向量进行注意力机制的处理,得到所述第t个历史时间序列之后τ个时间点的指标极值信息。
在一个实施例中,所述输出模块利用所述第t个历史时间序列的指标值隐向量和所述响应模块的预测结果,预测所述t个历史时间序列之后τ个时间点的指标值包括:
所述输出模块利用所述第t个历史时间序列的指标值隐向量,得到所述第t个历史时间序列之后τ个时间点的初始指标值;
利用所述第t个历史时间序列之后τ个时间点的初始指标值以及所述响应模块预测得到的所述第t个历史时间序列之后τ个时间点的指标极值信息,得到对所述第t个历史时间序列之后τ个时间点的指标值的预测结果。
在另一个实施例中,在训练所述记忆网络的每一轮迭代中,利用损失函数的取值更新所述记忆网络的参数直至满足迭代停止条件,得到所述时间序列预测模型;
其中所述损失函数由第一损失函数和第二损失函数构成,所述第一损失函数利用均方差损失函数体现所述预测的指标值与训练数据中对应指标值的差异,所述第二损失函数利用交叉熵损失函数体现所述预测的指标极值信息与对应指标极值标签的差异。
在一个实施例中,所述指标值包括计算资源容量值或应用服务的流量值;
所述指标极值包括极大值和极小值。
根据第二方面,还提供了一种时间序列预测方法,包括:
将第i个时间序列输入时间序列预测模型,所述时间序列包括连续n个时间点的指标值,所述时间序列中包含指标极值信息,所述n为大于1的正整数;
获取所述时间序列预测模型依据所述第i个时间序列及其之前的历史时间序列预测得到的所述第i个时间序列之后τ个时间点的指标值,所述τ为预设的正整数;
其中,所述时间序列预测模型基于记忆网络预先训练得到。
在一个实施例中,所述时间序列预测模型包括:输入模块、动态记忆模块、输出模块和响应模块;
所述输入模块对所述第i个时间序列进行编码,得到所述第i个时间序列的指标值隐向量以及指标极值隐向量;
所述动态记忆模块对各时间序列的指标极值隐向量进行记忆;
所述响应模块利用所述第i个时间序列及其之前各历史时间序列的指标极值隐向量,预测所述第i个时间序列之后τ个时间点的指标极值信息;
所述输出模块利用所述第i个时间序列的指标值隐向量和所述响应模块的预测结果,预测所述第i个时间序列之后τ个时间点的指标值。
在另一个实施例中,所述响应模块利用所述第i个时间序列及其之前各历史时间序列的指标极值隐向量,预测所述第i个历史时间序列之后τ个时间点的指标极值信息包括:
所述响应模块利用所述第i个时间序列及其之前各历史时间序列的指标极值隐向量进行注意力机制的处理,得到所述第i个时间序列之后τ个时间点的指标极值信息。
在一个实施例中,所述输出模块利用所述第i个时间序列的指标值隐向量和所述响应模块的预测结果,预测所述i个时间序列之后τ个时间点的指标值包括:
所述输出模块利用所述第i个时间序列的指标值隐向量,得到所述第i个时间序列之后τ个时间点的初始指标值;
利用所述第i个时间序列之后τ个时间点的初始指标值以及所述响应模块预测得到的所述第i个时间序列之后τ个时间点的指标极值信息,得到对所述第i个时间序列之后τ个时间点的指标值的预测结果。
根据第三方面,提供了一种建立时间序列预测模型的装置,包括:
数据获取单元,被配置为获取训练数据,所述训练数据包括多于一个的历史时间序列,每个历史时间序列包括连续n个时间点的指标值,所述历史时间序列中标注有指标极值标签,所述n为大于1的正整数;
模型训练单元,被配置为利用所述训练数据训练记忆网络,得到所述时间序列预测模型;其中依时间顺序将各历史时间序列分别作为第t个历史时间序列执行:将第t个历史时间序列作为所述记忆网络的输入,由所述记忆网络依据所述第t个历史时间序列及其之前的历史时间序列预测所述第t个历史时间序列之后τ个时间点的指标值以及指标极值信息,所述τ为预设的正整数;训练目标包括最小化预测的指标值与训练数据中对应指标值的差异以及最小化预测的指标极值信息与对应指标极值标签的差异。
在一个实施例中,所述记忆网络包括:输入模块、动态记忆模块、输出模块和响应模块;
所述输入模块,用以对所述第t个历史时间序列进行编码,得到所述第t个历史时间序列的指标值隐向量以及指标极值隐向量;
所述动态记忆模块,用以对各历史时间序列的指标极值隐向量进行记忆;
所述响应模块,用以利用所述第t个历史时间序列及其之前各历史时间序列的指标极值隐向量,预测所述第t个历史时间序列之后τ个时间点的指标极值信息;
所述输出模块,用以利用所述第t个历史时间序列的指标值隐向量和所述响应模块的预测结果,预测所述第t个历史时间序列之后τ个时间点的指标值。
在另一个实施例中,所述响应模块,具体用以利用所述第t个历史时间序列及其之前各历史时间序列的指标极值隐向量进行注意力机制的处理,得到所述第t个历史时间序列之后τ个时间点的指标极值信息。
在一个实施例中,所述输出模块,具体用以利用所述第t个历史时间序列的指标值隐向量,得到所述第t个历史时间序列之后τ个时间点的初始指标值;利用所述第t个历史时间序列之后τ个时间点的初始指标值以及所述响应模块预测得到的所述第t个历史时间序列之后τ个时间点的指标极值信息,得到对所述第t个历史时间序列之后τ个时间点的指标值的预测结果。
在另一个实施例中,所述模型训练单元在训练所述记忆网络的每一轮迭代中,具体被配置为利用损失函数的取值更新所述记忆网络的参数直至满足迭代停止条件,得到所述时间序列预测模型;
其中所述损失函数由第一损失函数和第二损失函数构成,所述第一损失函数利用均方差损失函数体现所述预测的指标值与训练数据中对应指标值的差异,所述第二损失函数利用交叉熵损失函数体现所述预测的指标极值信息与对应指标极值标签的差异。
根据第四方面,提供了一种时间序列预测装置,包括:
序列输入单元,被配置为将第i个时间序列输入时间序列预测模型,所述时间序列包括连续n个时间点的指标值,所述时间序列中包含指标极值信息,所述n为大于1的正整数;
指标预测单元,被配置为获取所述时间序列预测模型依据所述第i个时间序列及其之前的历史时间序列预测得到的所述第i个时间序列之后τ个时间点的指标值,所述τ为预设的正整数;
其中,所述时间序列预测模型基于记忆网络预先训练得到。
在一个实施例中,所述时间序列预测模型包括:输入模块、动态记忆模块、输出模块和响应模块;
所述输入模块,用以对所述第i个时间序列进行编码,得到所述第i个时间序列的指标值隐向量以及指标极值隐向量;
所述动态记忆模块,用以对各时间序列的指标极值隐向量进行记忆;
所述响应模块,用以利用所述第i个时间序列及其之前各历史时间序列的指标极值隐向量,预测所述第i个时间序列之后τ个时间点的指标极值信息;
所述输出模块,用以利用所述第i个时间序列的指标值隐向量和所述响应模块的预测结果,预测所述第i个时间序列之后τ个时间点的指标值。
在另一个实施例中,所述响应模块,具体用以利用所述第i个时间序列及其之前各历史时间序列的指标极值隐向量进行注意力机制的处理,得到所述第i个时间序列之后τ个时间点的指标极值信息。
在一个实施例中,所述输出模块,具体用以利用所述第i个时间序列的指标值隐向量,得到所述第i个时间序列之后τ个时间点的初始指标值;利用所述第i个时间序列之后τ个时间点的初始指标值以及所述响应模块预测得到的所述第i个时间序列之后τ个时间点的指标极值信息,得到对所述第i个时间序列之后τ个时间点的指标值的预测结果。
根据第五方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
根据本说明书实施例提供的方法和装置,在时间序列预测模型中采用记忆网络并融入指标极值的记忆,使得时间序列的预测能够考虑指标极值的分布,提高了指标序列预测的准确率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据一个实施例的建立时间序列预测模型的方法流程图;
图2示出了根据一个实施例的记忆网络的结构示意图;
图3示出了根据一个实施例的时间序列预测方法的流程图;
图4示出了根据一个实施例的时间序列预测模型的工作原理示意图;
图5示出了根据一个实施例的建立时间序列预测模型的装置示意性框图;
图6示出了根据一个实施例的时间序列预测装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
近年来已经存在一些热门的基于RNN(Recurrent Neural Network,循环神经网络)或Transformer(转换网络)的时间序列预测算法,但这些算法的预测准确率却有待提高。究其原因,是因为时间序列中的极值点会形成稀疏的尾部分布,现有技术的上述方案均未考虑到这些极值的先验分布。另外,诸如RNN所利用的隐状态机制所产生的记忆能力有限,无法完成带有极值信息的长时间序列的状态记忆。
本公开的基本构思是采用记忆网络(Memory Network)对时间序列中的极值信息进行记忆,以辅助对时间序列的指标值的预测。
下面描述以上构思的具体实现方式。上述构思主要包括两个主要阶段:时间序列预测模型的建立阶段以及时间序列预测阶段。首先对时间序列预测模型的建立过程进行描述。
图1示出了根据一个实施例的建立时间序列预测模型的方法流程图。可以理解,该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。如图1所示,该方法包括:
步骤101,获取训练数据,训练数据包括多于一个的历史时间序列,每个历史时间序列包括连续n个时间点的指标值,历史时间序列中标注有指标极值标签,n为大于1的正整数。
步骤103,利用训练数据训练记忆网络,得到时间序列预测模型;其中以时间顺序将各历史时间序列分别作为第t个历史时间序列执行:将第t个历史时间序列及其之前的历史时间序列作为记忆网络的输入,由记忆网络依据该第t个历史时间序列及其之前的历史时间序列预测第t个历史时间序列之后τ个时间点的指标值以及指标极值信息,τ为预设的正整数;训练目标包括最小化预测的指标值与训练数据中对应指标值的差异以及最小化预测的指标极值信息与对应指标极值标签的差异。
在图1所示的方法中,建立时间序列预测模型采用记忆网络并融入指标极值的记忆,从而使得建立的时间序列预测模型能够考虑指标极值的分布,提高时间序列预测的准确率。
下面描述图1所示的各个步骤的执行方式。首先对步骤101即“获取训练数据”进行详细描述。
在本说明书从历史时间序列获取训练数据,训练数据包括多于一个的历史时间序列。每个历史时间序列包括连续n个时间点的指标值,n为大于1的正整数。
由于时间序列指的是将同一统计指标的数值(本公开中称为“指标值”)按照发生的时间顺序排列而成的数列,因此,在获取训练数据时,可以将历史指标值按照时间顺序排列后,按照预设的时长划分区间,将一个区间内的指标值的数列作为一个历史时间序列。
举个例子,对于应用程序的流量时间序列而言,每10秒中统计应用程序的流量值,那么就形成了每隔10秒一个流量值的排列。按照每分钟来划分区间,就得到一分钟内的流量值数列构成一个历史时间序列,一个历史时间序列中包含6个时间点的流量值。
另外,在上述训练数据所包括的历史时间序列中会进一步对指标极值信息进行标注,即标注有指标极值标签。指标极值信息指的是在一个历史时间序列中是否出现极值以及具体的极值类型(包括极大值或极小值),指标极值标签可以针对历史时间序列中每个时间点进行标注。例如若一个时间点的指标值不是极值,则可以标注其极值标签为0;若一个时间点的指标值是极小值,则可以标注其极值标签为-1;若一个时间点的指标值是极大值,则可以标注其极值标签为1。当然也可以采用其他指标极值标签的标注方式,在此不做穷举。
由于训练过程中采用的训练数据均是历史时间序列,因此所有极大值和极小值是可以通过统计分析的方式确定出来的。
训练数据中,各历史时间序列依据时间顺序表示为:x1,x2,…。每一个历史时间序列中都包含n个时间点的指标值,且标注有指标极值标签。
下面对上述步骤103即“利用训练数据训练记忆网络,得到时间序列预测模型”进行详细描述。
记忆网络是一种深度学习网络,能够利用记忆组件保存场景信息,以实现长期记忆的功能。本说明书中利用记忆网络对历史时间序列的状态进行记忆,包括对指标极值信息的记录。
图2示出了根据一个实施例的记忆网络的结构示意图,如图2中所示,该记忆网络可以包括:输入模块(表示为“I”)、动态记忆模块(表示为“G”)、输出模块(表示为“O”)和响应模块(表示为“R”)。
训练过程中,可以按照从前往后的顺序逐一选择历史时间序列作为记忆网络的输入。为了方便描述,将每次选择的历史时间序列表示为第t个历史时间序列即xt,其之前的历史时间序列分别表示为x1,x2,…xt-1。
xt作为输入模块的输入。输入模块用以对xt进行编码,得到xt的指标值隐向量和指标极值隐向量。
输入模块可以采用诸如RNN(Recurrent Neural Network,循环神经网络)、LSTM(Long Short-Term Memory,长短期记忆网络)等神经网络实现,xt的指标值隐向量在编码过程中已经考虑了历史时间序列的指标值影响。
为了进行区分,xt的指标值向量表示为ht,xt之前的历史时间序列的指标值向量表示分别为h1,h2,…ht-1。xt的指标极值向量表示为qt,xt之前的历史时间序列的指标极值向量表示分别为q1,q2,…qt-1。
动态记忆模块,用以对各历史时间序列的指标极值隐向量进行记忆。由于训练数据中各历史时间序列是依次输入输入模块的,因此,动态记忆模块已经记忆有xt之前历史时间序列的指标极值向量表示q1,q2,…qt-1。得到qt后对记忆的指标极值隐向量进行更新。在本说明书实施例中动态记忆模块将各历史时间序列的指标极值隐向量存储于记忆数组(Memory Slots)中。
响应模块利用第t个历史时间序列及其之前各历史时间序列的指标极值隐向量,即利用qt和q1,q2,…qt-1,预测第t个历史时间序列之后τ个时间点的指标极值信息。
其中,τ为预设的正整数,例如可以预测第t个历史时间序列之后1个时间点的指标极值信息。再例如可以预测第t个历史时间序列之后6个时间点(一个时间序列的长度)的指标极值信息。再例如可以预测第t个历史时间序列之后3个时间点的指标极值信息,等等。
其中,αtj为注意力机制中的加权系数,在模型训练过程中不断优化更新。
然后,输出模块利用第t个历史时间序列之后τ个时间点的初始指标值以及响应模块预测得到的第t个历史时间序列之后τ个时间点的指标极值信息得到对第t个历史时间序列之后τ个时间点的指标值的预测结果该过程可以看做是使用对进行偏移修正。例如可以采用如下公式:
其中,b为模型参数。
在训练记忆网络的每一轮迭代中,利用损失函数Loss的取值更新记忆网络的模型参数直至满足迭代停止条件,从而得到时间序列预测模型。其中迭代停止条件可以为Loss的取值小于或等于预设阈值,还可以为迭代次数达到预设次数阈值,等等。
在利用学习目标设计具体的损失函数Loss时,可以由第一损失函数Loss1和第二损失函数Loss2构成Loss。例如:
Loss=Loss1+Loss2
其中,Loss1可以利用均方差损失函数(mean squared loss)体现预测的指标值与训练数据中对应指标值ot的差异,Loss2可以利用交叉熵损失函数(cross-entropyloss)体现预测的指标极值信息与对应指标极值标签ut的差异。
采用上述过程对记忆网络进行训练就能够得到时间序列预测模型。下面结合实施例对基于该时间序列预测模型的时间序列预测方法进行描述。图3示出了根据一个实施例的时间序列预测方法的流程图,可以理解,该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。如图3中所示,该方法可以包括以下步骤:
步骤301:将第i个时间序列输入时间序列预测模型,时间序列包括连续n个时间点的指标值,时间序列中包含指标极值信息,n为大于1的正整数。
步骤303:获取时间序列预测模型依据第i个时间序列及其之前的历史时间序列预测得到的第i个时间序列之后τ个时间点的指标值,τ为预设的正整数,其中,时间序列预测模型基于记忆网络预先训练得到。
在图3所示的方法中,通过基于记忆网络预先训练得到的时间序列预测模型在指标值预测过程中融入对指标极值信息的考虑,从而提高时间序列预测的准确率。
下面描述图3所示的各个步骤的执行方式。首先对步骤301即“将第i个时间序列输入时间序列预测模型”进行详细描述。
在本说明书实施例中,上述的第i个时间序列可以是当前时间序列,即依据当前时间序列对未来τ个时间点的指标值进行预测。若待预测的τ个时间点是已发生的时间点,那么上述第i个时间序列就是待预测的τ个时间点之前最近的时间序列。在实际的应用场景中上述前一种情况更为常见,即依据当前时间序列及其之前的历史时间序列对未来时间点的指标值进行预测。无论是哪种情况,上述第i个时间序列是已知各时间点的实际指标值以及指标极值信息的。
举个例子,可以使用当前的计算资源容量的时间序列及其之前的历史时间序列,对下一个时间点的计算资源容量进行预测,或者,对下3个时间点的计算资源容量进行预测,或者对下一时间序列的计算资源容量进行预测,等等。
但需要说明的是,在进行指标值的预测时所采用的时间序列的长度以及τ值必须与训练时间序列预测模型过程中所采用的时间序列的长度以及τ值相一致。
另外,关于时间序列的定义和划分方式与上述建立时间序列预测模型的实施例中的记载相一致,在此不做赘述。
下面对上述步骤303即“获取时间序列预测模型依据第i个时间序列及其之前的历史时间序列预测得到的第i个时间序列之后τ个时间点的指标值”进行详细描述。
时间序列预测模型的工作原理示意图可以如图4中所示,包括输入模块(表示为“I”)、动态记忆模块(表示为“G”)、输出模块(表示为“O”)和响应模块(表示为“R”)。
为了方便描述,将第i个时间序列表示为xi,其之前的历史时间序列分别表示为x1,x2,…xi-1。xi作为输入模块的输入。由输入模块对xi进行编码,得到第i个时间序列的指标值隐向量以及指标极值隐向量。
为了进行区分,xi的指标值隐向量表示为hi,xi之前的历史时间序列的指标值隐向量表示分别为h1,h2,…hi-1。xi的指标极值隐向量表示为qi,xi之前的历史时间序列的指标极值隐向量表示分别为q1,q2,…qi-1。
输入模块可以采用诸如RNN、LSTM等神经网络实现,xi的指标值隐向量在编码过程中已经考虑了历史时间序列的指标值影响。
动态记忆模块,用以对各历史时间序列的指标极值隐向量进行记忆。动态记忆模块已经记忆有xi之前历史时间序列的指标极值向量表示q1,q2,…qi-1。得到qi后对记忆的指标极值隐向量进行更新。在本说明书实施例中动态记忆模块将各历史时间序列的指标极值隐向量存储于记忆数组(Memory Slots)中。
响应模块利用第i个时间序列及其之前各历史时间序列的指标极值隐向量,即利用qi和q1,q2,…qi-1,预测第i个时间序列之后τ个时间点的指标极值信息。
作为一种可实现的方式,响应模块可以利用第i个时间序列及其之前各历史时间序列的指标极值隐向量进行注意力机制的处理,得到第i个时间序列之后τ个时间点的指标极值信息。例如,以向量表示第i个时间序列之后τ个时间点的指标极值信息,则可以采用如下公式获得:
其中,αtj为注意力机制中的加权系数。
输出模块利用第i个时间序列的指标值隐向量和响应模块的预测结果,预测第i个时间序列之后τ个时间点的指标值。
其中,b为模型参数。
将上述时间序列预测模型应用于诸如计算资源的容量预测,能够在应用程序的流量变化前,提前扩展计算资源的容量,降低容量风险,并最终降低运维成本。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
根据另一方面的实施例,提供了一种建立时间序列预测模型的装置。图5示出了根据一个实施例的建立时间序列预测模型的装置示意性框图。可以理解,该装置可以通过任何具有计算、处理能力的装置、设备、平台和设备集群来实现。如图5所示,该装置500包括:数据获取单元501和模型训练单元502。其中各组成单元的主要功能如下:
数据获取单元501,被配置为获取训练数据,训练数据包括多于一个的历史时间序列,每个历史时间序列包括连续n个时间点的指标值,历史时间序列中标注有指标极值标签,n为大于1的正整数。
模型训练单元502,被配置为利用训练数据训练记忆网络,得到时间序列预测模型;其中依时间顺序将各历史时间序列分别作为第t个历史时间序列执行:将第t个历史时间序列作为记忆网络的输入,由记忆网络依据第t个历史时间序列及其之前的历史时间序列预测第t个历史时间序列之后τ个时间点的指标值以及指标极值信息,τ为预设的正整数;训练目标包括最小化预测的指标值与训练数据中对应指标值的差异以及最小化预测的指标极值信息与对应指标极值标签的差异。
其中,上述记忆网络可以包括:输入模块、动态记忆模块、输出模块和响应模块。
输入模块,用以对第t个历史时间序列进行编码,得到第t个历史时间序列的指标值隐向量以及指标极值隐向量。
动态记忆模块,用以对各历史时间序列的指标极值隐向量进行记忆。
响应模块,用以利用第t个历史时间序列及其之前各历史时间序列的指标极值隐向量,预测第t个历史时间序列之后τ个时间点的指标极值信息。
输出模块,用以利用第t个历史时间序列的指标值隐向量和响应模块的预测结果,预测第t个历史时间序列之后τ个时间点的指标值。
作为其中一种可实现的方式,响应模块,具体用以利用第t个历史时间序列及其之前各历史时间序列的指标极值隐向量进行注意力机制的处理,得到第t个历史时间序列之后τ个时间点的指标极值信息。
作为其中一种可实现的方式,输出模块,具体用以利用第t个历史时间序列的指标值隐向量,得到第t个历史时间序列之后τ个时间点的初始指标值;利用第t个历史时间序列之后τ个时间点的初始指标值以及响应模块预测得到的第t个历史时间序列之后τ个时间点的指标极值信息,得到对第t个历史时间序列之后τ个时间点的指标值的预测结果。
作为其中一种可实现的方式,模型训练单元502在训练记忆网络的每一轮迭代中,具体被配置为利用损失函数的取值更新记忆网络的参数直至满足迭代停止条件,得到时间序列预测模型。
其中损失函数由第一损失函数和第二损失函数构成,第一损失函数利用均方差损失函数体现预测的指标值与训练数据中对应指标值的差异,第二损失函数利用交叉熵损失函数体现预测的指标极值信息与对应指标极值标签的差异。
图6示出了根据一个实施例的时间序列预测装置的示意性框图,可以理解,该装置可以通过任何具有计算、处理能力的装置、设备、平台和设备集群来实现。如图6所示,该装置600包括:序列输入单元601和指标预测单元602。其中各组成单元的主要功能如下:
序列输入单元601,被配置为将第i个时间序列输入时间序列预测模型,时间序列包括连续n个时间点的指标值,时间序列中包含指标极值信息,n为大于1的正整数。
指标预测单元602,被配置为获取时间序列预测模型依据第i个时间序列及其之前的历史时间序列预测得到的第i个时间序列之后τ个时间点的指标值,τ为预设的正整数;其中,时间序列预测模型基于记忆网络预先训练得到。
其中,时间序列预测模型包括:输入模块、动态记忆模块、输出模块和响应模块。
输入模块,用以对第i个时间序列进行编码,得到第i个时间序列的指标值隐向量以及指标极值隐向量。
动态记忆模块,用以对各时间序列的指标极值隐向量进行记忆。
响应模块,用以利用第i个时间序列及其之前各历史时间序列的指标极值隐向量,预测第i个时间序列之后τ个时间点的指标极值信息。
输出模块,用以利用第i个时间序列的指标值隐向量和响应模块的预测结果,预测第i个时间序列之后τ个时间点的指标值。
作为一种可实现的方式,响应模块,具体用以利用第i个时间序列及其之前各历史时间序列的指标极值隐向量进行注意力机制的处理,得到第i个时间序列之后τ个时间点的指标极值信息。
作为一种可实现的方式,输出模块,具体用以利用第i个时间序列的指标值隐向量,得到第i个时间序列之后τ个时间点的初始指标值;利用第i个时间序列之后τ个时间点的初始指标值以及响应模块预测得到的第i个时间序列之后τ个时间点的指标极值信息,得到对第i个时间序列之后τ个时间点的指标值的预测结果。
可以看出,本说明书实施例提供的上述方案具备以下优点:
1)通过记忆网络对历史的极值特征进行记忆,相当于将历史极值的先验分布融入了指标值的预测,从而提高了时间序列的预测准确性。
2)记忆网络具有较强的记忆能力,更适合于带有极值信息的长时间序列。
3)将注意力机制施加于指标极值向量表示,并在模型训练过程中将指标极值的损失融入总的损失函数(即不仅仅针对指标值来建立损失函数,同时针对指标极值建立损失函数),从而避免模型的欠拟合和过拟合现象。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行图1或图3所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现图1或图3所述的方法。
随着时间、技术的发展,计算机可读存储介质含义越来越广泛,计算机程序的传播途径不再受限于有形介质,还可以直接从网络下载等。可以采用一个或多个计算机可读存储介质的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本说明书中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
上述的处理器可包括一个或多个单核处理器或多核处理器。处理器可包括任何一般用途处理器或专用处理器(如图像处理器、应用处理器基带处理器等)的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (13)
1.建立时间序列预测模型的方法,包括:
获取训练数据,所述训练数据包括多于一个的历史时间序列,每个历史时间序列包括连续n个时间点的指标值,所述历史时间序列中标注有指标极值标签,所述n为大于1的正整数;
利用所述训练数据训练记忆网络,得到所述时间序列预测模型;其中依时间顺序将各历史时间序列分别作为第t个历史时间序列执行:将第t个历史时间序列作为所述记忆网络的输入,由所述记忆网络依据所述第t个历史时间序列及其之前的历史时间序列预测所述第t个历史时间序列之后τ个时间点的指标值以及指标极值信息,所述τ为预设的正整数;训练目标包括最小化预测的指标值与训练数据中对应指标值的差异以及最小化预测的指标极值信息与对应指标极值标签的差异。
2.根据权利要求1所述的方法,其中,所述记忆网络包括:输入模块、动态记忆模块、输出模块和响应模块;
所述输入模块对所述第t个历史时间序列进行编码,得到所述第t个历史时间序列的指标值隐向量以及指标极值隐向量;
所述动态记忆模块对各历史时间序列的指标极值隐向量进行记忆;
所述响应模块利用所述第t个历史时间序列及其之前各历史时间序列的指标极值隐向量,预测所述第t个历史时间序列之后τ个时间点的指标极值信息;
所述输出模块利用所述第t个历史时间序列的指标值隐向量和所述响应模块的预测结果,预测所述第t个历史时间序列之后τ个时间点的指标值。
3.根据权利要求2所述的方法,其中,所述响应模块利用所述第t个历史时间序列及其之前各历史时间序列的指标极值隐向量,预测所述第t个历史时间序列之后τ个时间点的指标极值信息包括:
所述响应模块利用所述第t个历史时间序列及其之前各历史时间序列的指标极值隐向量进行注意力机制的处理,得到所述第t个历史时间序列之后τ个时间点的指标极值信息。
4.根据权利要求2所述的方法,其中,所述输出模块利用所述第t个历史时间序列的指标值隐向量和所述响应模块的预测结果,预测所述t个历史时间序列之后τ个时间点的指标值包括:
所述输出模块利用所述第t个历史时间序列的指标值隐向量,得到所述第t个历史时间序列之后τ个时间点的初始指标值;
利用所述第t个历史时间序列之后τ个时间点的初始指标值以及所述响应模块预测得到的所述第t个历史时间序列之后τ个时间点的指标极值信息,得到对所述第t个历史时间序列之后τ个时间点的指标值的预测结果。
5.根据权利要求1所述的方法,其中,在训练所述记忆网络的每一轮迭代中,利用损失函数的取值更新所述记忆网络的参数直至满足迭代停止条件,得到所述时间序列预测模型;
其中所述损失函数由第一损失函数和第二损失函数构成,所述第一损失函数利用均方差损失函数体现所述预测的指标值与训练数据中对应指标值的差异,所述第二损失函数利用交叉熵损失函数体现所述预测的指标极值信息与对应指标极值标签的差异。
6.根据权利要求1至5中任一项所述的方法,其中,所述指标值包括计算资源容量值或应用服务的流量值;
所述指标极值包括极大值和极小值。
7.时间序列预测方法,包括:
将第i个时间序列输入时间序列预测模型,所述时间序列包括连续n个时间点的指标值,所述时间序列中包含指标极值信息,所述n为大于1的正整数;
获取所述时间序列预测模型依据所述第i个时间序列及其之前的历史时间序列预测得到的所述第i个时间序列之后τ个时间点的指标值,所述τ为预设的正整数;
其中,所述时间序列预测模型基于记忆网络预先训练得到。
8.根据权利要求7所述的方法,其中,所述时间序列预测模型包括:输入模块、动态记忆模块、输出模块和响应模块;
所述输入模块对所述第i个时间序列进行编码,得到所述第i个时间序列的指标值隐向量以及指标极值隐向量;
所述动态记忆模块对各时间序列的指标极值隐向量进行记忆;
所述响应模块利用所述第i个时间序列及其之前各历史时间序列的指标极值隐向量,预测所述第i个时间序列之后τ个时间点的指标极值信息;
所述输出模块利用所述第i个时间序列的指标值隐向量和所述响应模块的预测结果,预测所述第i个时间序列之后τ个时间点的指标值。
9.根据权利要求8所述的方法,其中,所述响应模块利用所述第i个时间序列及其之前各历史时间序列的指标极值隐向量,预测所述第i个历史时间序列之后τ个时间点的指标极值信息包括:
所述响应模块利用所述第i个时间序列及其之前各历史时间序列的指标极值隐向量进行注意力机制的处理,得到所述第i个时间序列之后τ个时间点的指标极值信息。
10.根据权利要求8所述的方法,其中,所述输出模块利用所述第i个时间序列的指标值隐向量和所述响应模块的预测结果,预测所述i个时间序列之后τ个时间点的指标值包括:
所述输出模块利用所述第i个时间序列的指标值隐向量,得到所述第i个时间序列之后τ个时间点的初始指标值;
利用所述第i个时间序列之后τ个时间点的初始指标值以及所述响应模块预测得到的所述第i个时间序列之后τ个时间点的指标极值信息,得到对所述第i个时间序列之后τ个时间点的指标值的预测结果。
11.建立时间序列预测模型的装置,包括:
数据获取单元,被配置为获取训练数据,所述训练数据包括多于一个的历史时间序列,每个历史时间序列包括连续n个时间点的指标值,所述历史时间序列中标注有指标极值标签,所述n为大于1的正整数;
模型训练单元,被配置为利用所述训练数据训练记忆网络,得到所述时间序列预测模型;其中依时间顺序将各历史时间序列分别作为第t个历史时间序列执行:将第t个历史时间序列作为所述记忆网络的输入,由所述记忆网络依据所述第t个历史时间序列及其之前的历史时间序列预测所述第t个历史时间序列之后τ个时间点的指标值以及指标极值信息,所述τ为预设的正整数;训练目标包括最小化预测的指标值与训练数据中对应指标值的差异以及最小化预测的指标极值信息与对应指标极值标签的差异。
12.时间序列预测装置,包括:
序列输入单元,被配置为将第i个时间序列输入时间序列预测模型,所述时间序列包括连续n个时间点的指标值,所述时间序列中包含指标极值信息,所述n为大于1的正整数;
指标预测单元,被配置为获取所述时间序列预测模型依据所述第i个时间序列及其之前的历史时间序列预测得到的所述第i个时间序列之后τ个时间点的指标值,所述τ为预设的正整数;
其中,所述时间序列预测模型基于记忆网络预先训练得到。
13.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210629028.6A CN114970359B (zh) | 2022-06-06 | 建立时间序列预测模型的方法、时间序列预测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210629028.6A CN114970359B (zh) | 2022-06-06 | 建立时间序列预测模型的方法、时间序列预测方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114970359A true CN114970359A (zh) | 2022-08-30 |
CN114970359B CN114970359B (zh) | 2024-05-31 |
Family
ID=
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170185902A1 (en) * | 2015-12-29 | 2017-06-29 | Tata Consultancy Services Limited | System and method for predicting response time of an enterprise system |
CN110009384A (zh) * | 2019-01-07 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 预测业务指标的方法及装置 |
US20210081818A1 (en) * | 2019-09-13 | 2021-03-18 | Oracle International Corporation | Automatically-generated labels for time series data and numerical lists to use in analytic and machine learning systems |
CN112925824A (zh) * | 2021-02-25 | 2021-06-08 | 山东大学 | 针对极端天气类型的光伏功率预测方法及系统 |
CN114169604A (zh) * | 2021-12-06 | 2022-03-11 | 北京达佳互联信息技术有限公司 | 性能指标的异常检测方法、异常检测装置、电子设备和存储介质 |
CN114548161A (zh) * | 2022-02-15 | 2022-05-27 | 山西理工智联科技有限公司 | 一种重介分选精煤灰分预测方法、装置、电子设备及介质 |
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170185902A1 (en) * | 2015-12-29 | 2017-06-29 | Tata Consultancy Services Limited | System and method for predicting response time of an enterprise system |
CN110009384A (zh) * | 2019-01-07 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 预测业务指标的方法及装置 |
US20210081818A1 (en) * | 2019-09-13 | 2021-03-18 | Oracle International Corporation | Automatically-generated labels for time series data and numerical lists to use in analytic and machine learning systems |
CN112925824A (zh) * | 2021-02-25 | 2021-06-08 | 山东大学 | 针对极端天气类型的光伏功率预测方法及系统 |
CN114169604A (zh) * | 2021-12-06 | 2022-03-11 | 北京达佳互联信息技术有限公司 | 性能指标的异常检测方法、异常检测装置、电子设备和存储介质 |
CN114548161A (zh) * | 2022-02-15 | 2022-05-27 | 山西理工智联科技有限公司 | 一种重介分选精煤灰分预测方法、装置、电子设备及介质 |
Non-Patent Citations (2)
Title |
---|
C. -L. LIU 等: "Time Series Classification With Multivariate Convolutional Neural Network", IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS, 30 June 2019 (2019-06-30), pages 4788 - 4797, XP011707466, DOI: 10.1109/TIE.2018.2864702 * |
王鑫 等: "基于 LSTM 循环神经网络的故障时间序列预测", 北京航空航天大学学报, 30 April 2018 (2018-04-30), pages 772 - 784 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110807515B (zh) | 模型生成方法和装置 | |
CN110852421B (zh) | 模型生成方法和装置 | |
US11861474B2 (en) | Dynamic placement of computation sub-graphs | |
CN111340221B (zh) | 神经网络结构的采样方法和装置 | |
US11610097B2 (en) | Apparatus and method for generating sampling model for uncertainty prediction, and apparatus for predicting uncertainty | |
KR102360584B1 (ko) | 비디오에서 목표 비디오 클립의 위치를 결정하는 방법 및 장치 | |
CN112579758A (zh) | 模型训练方法、装置、设备、存储介质和程序产品 | |
US11449731B2 (en) | Update of attenuation coefficient for a model corresponding to time-series input data | |
CN111539479A (zh) | 生成样本数据的方法和装置 | |
CN110264270B (zh) | 一种行为预测方法、装置、设备和存储介质 | |
CN117521725A (zh) | 加强学习系统 | |
US20180314978A1 (en) | Learning apparatus and method for learning a model corresponding to a function changing in time series | |
CN113436620A (zh) | 模型的训练方法、语音识别方法、装置、介质及设备 | |
CN108280513B (zh) | 模型生成方法和装置 | |
Cox | Syntactically informed text compression with recurrent neural networks | |
CN113239702A (zh) | 意图识别方法、装置、电子设备 | |
WO2021012263A1 (en) | Systems and methods for end-to-end deep reinforcement learning based coreference resolution | |
KR102134682B1 (ko) | 실시간 시계열 데이터를 위한 예측 모형 생성 시스템 및 방법 | |
Hanif et al. | Hidden markov model for time series prediction | |
CN110728359B (zh) | 搜索模型结构的方法、装置、设备和存储介质 | |
CN114970359A (zh) | 建立时间序列预测模型的方法、时间序列预测方法和装置 | |
CN114792097B (zh) | 预训练模型提示向量的确定方法、装置及电子设备 | |
CN114970359B (zh) | 建立时间序列预测模型的方法、时间序列预测方法和装置 | |
CN111221896A (zh) | 用户行为预测方法及装置、电子设备、存储介质 | |
CN115048992A (zh) | 建立时间序列预测模型的方法、时间序列预测方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |