指标预测方法、装置、电子设备及存储介质与流程

文档序号:32692515发布日期:2022-12-27 19:28阅读:32来源:国知局
指标预测方法、装置、电子设备及存储介质与流程

1.本说明书一个或多个实施例涉及计算机信息处理技术领域,尤其涉及一种指标预测方法、装置、电子设备及存储介质。


背景技术:

2.指标序列是指将业务指标的指标值按照时间顺序排列而成的数列。在许多应用场景中,需要对指标序列进行预测(通常是指预测未来某个或多个时刻的指标值)。基于预测得到的一个或多个预测指标值,可以有预见性的提前发现未来的某一段时间这类指标的异动,提早采取措施或者提前预警;或者可以提前预估这类指标的变化情况,实现动态调整。


技术实现要素:

3.有鉴于此,本说明书一个或多个实施例提供一种指标预测方法、装置、电子设备及存储介质
4.为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
5.根据本说明书一个或多个实施例的第一方面,提出了一种指标预测方法,包括:
6.获取待预测的目标指标序列,所述目标指标序列包括预设服务在m个时间点的m个指标值,并确定所述目标指标序列中各个指标值对应的协变量和位置向量;以及
7.获取与所述目标指标序列所属指标对应的目标权重向量;所述目标权重向量由预设的预训练模型从属于该指标的历史指标序列中学习得到;任一指标对应的权重向量用于表征该指标在时序上的变化特点;
8.利用预先训练好的指标预测模型,对携带有各个指标值对应的协变量和位置向量的目标指标序列和所述目标权重向量进行处理,获取在未来的n个时间点的n个预测指标值;其中,m、n为大于1的整数。
9.根据本说明书一个或多个实施例的第二方面,提出了一种指标预测装置,包括:
10.输入数据获取模块,用于获取待预测的目标指标序列,所述目标指标序列包括预设服务在m个时间点的m个指标值,并确定所述目标指标序列中各个指标值对应的协变量和位置向量;
11.所述输入数据获取模块,还用于获取与所述目标指标序列所属指标对应的目标权重向量;所述目标权重向量由预设的预训练模型从属于该指标的历史指标序列中学习得到;任一指标对应的权重向量用于表征该指标在时序上的变化特点;
12.指标预测模块,用于利用预先训练好的指标预测模型,对携带有各个指标值对应的协变量和位置向量的目标指标序列和所述目标权重向量进行处理,获取在未来的n个时间点的n个预测指标值;其中,m、n为大于1的整数。
13.根据本说明书一个或多个实施例的第三方面,提出了一种电子设备,包括:
14.处理器;
15.用于存储处理器可执行指令的存储器;
16.其中,所述处理器通过运行所述可执行指令以实现如第一方面任一项所述的方法。
17.根据本说明书一个或多个实施例的第四方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面任一项所述方法的步骤。
18.本说明书的实施例提供的技术方案可以包括以下有益效果:
19.本说明书实施例中,不同指标对应的权重向量由预设的预训练模型从属于不同指标的若干历史指标序列中学习得到,使得不同指标对应的权重向量可以体现出不同指标之间的差异,具有良好的区分作用。在指标预测过程中,输入指标预测模型的数据除了包括携带有各个指标值对应的协变量和位置向量的目标指标序列,还包括与所述目标指标序列所属指标对应的目标权重向量,从而实现通过一个指标预测模型对不同指标的指标序列进行预测,有利于简化模型配置过程并且提高模型扩展性;并且不同指标对应的权重向量可以让指标预测模型按照不同指标在时序上的变化特点,给予不同指标的指标序列中的各个部分不同的关注度(或者说不同的权重),从而提高指标预测模型对于不同指标的指标预测的准确性。
附图说明
20.图1是一示例性实施例提供的一种离线过程和在线过程的示意图。
21.图2是一示例性实施例提供的携带有各个指标值对应的协变量和位置信息位置向量的指标序列的示意图。
22.图3是一示例性实施例提供的获取不同指标对应的时序特征的示意图。
23.图4是一示例性实施例提供的一种指标预测方法的流程示意图。
24.图5是一示例性实施例提供的一种指标预测模型的输入和输出的示例图。
25.图6是一示例性实施例提供的一种设备的结构示意图。
26.图7是一示例性实施例提供的一种指标预测装置的框图。
具体实施方式
27.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
28.需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
29.指标序列是指将业务指标的指标值按照时间顺序排列而成的数列。在许多应用场景中,需要对指标序列进行预测(通常是指预测未来某个或多个时刻的指标值),从而可以有效应对未来可能出现的风险。
30.示例性的,在容量风险识别场景中,需要对应用服务的各种流量指标以及cpu水位等系统指标进行预测,从而有预见性的提前发现未来的某一段时间这类指标的异动,那么就能提早采取措施(水平自动扩缩或者垂直自动扩缩),从而消除容量风险隐患,规避可能产生的容量故障,提高应用服务的稳定性。
31.示例性的,在容量资源调节场景中,需要对应用服务的各种流量指标以及资源使用指标等进行预测,从而提前知道了流量或者资源消耗的变化情况,并据此动态地调节所分配到的资源,实现容量的弹性伸缩,从成本的角度来说,会带来极大的经济价值。
32.还有其他场景中,包括零售、金融、物流和医疗保健等场景。需要对库存、劳动力、网络流量、服务器容量和财务状况等不同方面的指标进行预测,以提前预警或者提前调节。
33.在不同场景中,需要预测的指标可能不止一个,不同指标的时序特点不尽相同。相关技术中,传统时序分析方法比如arima模型、stl模型等,或者基于机器学习的方法如xgboost模型,都是针对于某个指标的时序特点为其配置单独的预测模型,配置繁琐且扩展性较差。
34.针对于相关技术中的问题,本技术实施例提供了一种指标序列预测方法,能够通过权重向量对不同指标的指标序列进行区别,任一指标对应的权重向量由预设的预训练模型从属于该指标的历史指标序列中学习得到,使得不同指标对应的权重向量可以体现出不同指标之间的差异,具有良好的区分作用。在指标预测过程中,输入指标预测模型的数据除了包括携带有各个指标值对应的协变量和位置向量的目标指标序列,还包括与所述目标指标序列所属指标对应的目标权重向量,从而实现通过一个指标预测模型对不同指标的指标序列进行预测,有利于简化模型配置过程并且提高模型扩展性;并且不同指标对应的权重向量可以让指标预测模型按照不同指标在时序上的变化特点,给予不同指标的指标序列中的各个部分不同的关注度(或者说不同的权重),从而提高指标预测模型对于不同指标的指标预测的准确性。
35.在一些实施例中,本说明书实施例提供的一种指标预测方法可应用于电子设备中,所述电子设备包括但不限于服务器、云端服务器、电脑或者平板等计算设备。示例性的,本说明书实施例提供的指标预测方法作为一种计算机程序产品集成在所述电子设备中。
36.在一些实施例中,请参阅图1,图1示出了离线过程和在线过程两个过程。
37.在离线过程中,电子设备利用不同指标的历史指标数据让预训练模型学习到不同指标对应的权重向量,不同指标对应的权重向量用于表征不同指标的指标在时序上的变化特点,比如是周期性变化的时序特点、非周期性变化的时序特点、或者趋向性变化特点、或者波峰波谷的幅度变化特点等。一个指标对应的权重向量可以理解为该指标是时序上的唯一标识。以及电子设备利用不同指标的历史指标数据和预训练模型学习到的不同指标对应的权重向量进行模型训练,得到训练好的指标预测模型,进而可以将训练好的指标预测模型部署成在线服务。
38.则在线过程中,电子设备可以利用不同指标的实时指标数据和预训练模型学习到的不同指标对应的权重向量进行模型预测,获取在未来的n个时间点的n个预测指标值。
39.其中,不同指标可以从指标本身进行区别,还可以从指标的属性进行区别;对于任意两个指标序列,如果所属指标相同且所属指标的属性相同,则这两个指标序列属于同一指标。所述指标的属性信息包括所述指标所属的服务或者应用。或者,针对于同一服务或应
用,还可以进一步细分,从所述服务或者应用的部署位置进行区别,所述指标的属性信息包括所述指标所属的服务或者应用,以及所述服务或者应用的部署位置。
40.示例性的,比如rpc(remote procedure call,远程调用)指标和pv(pageview,页面点击量,)指标为不同的指标。
41.示例性的,所述指标的属性信息包括所述指标所属的服务或者应用。除了从指标本身区别外,还可以从指标所属的应用或者服务进行区别,比如a服务的rpc指标和b应用的rpc指标属于不同指标。
42.示例性的,所述指标的属性信息包括所述指标所属的服务或者应用,以及所述服务或者应用的部署位置。实现从指标所属的应用或者服务的部署位置进一步区别,比如b应用部署在3个机房中(分别为机房1、机房2和机房3),则b应用在机房1的rpc指标和b应用在机房2的rpc指标属于不同指标。
43.示例性的,可以将指标预测模型用于容量风险识别场景,通过对容量场景下的指标值进行预测,比如对应用(app)的流量指标(如rpc指标)、ob服务的资源使用指标(如cpu core指标,即实际cpu使用个数)等进行预测,实现可以提前发现并有效应对未来的某一段时间的容量风险问题。在一个例子中,比如在应用容量场景,预测的对象是应用(app)的流量指标(以rpc指标为例),由于一个应用部署在多个逻辑机房(ldc)上,则对于同一个应用(app)中的rpc指标,不同ldc指示不同的指标(或者说不同类型的指标序列)。
44.示例性的,上述离线过程和在线过程可以由同一个电子设备来执行;或者考虑到实际的服务部署需要和运行需求,上述离线过程和在线过程也可以由不同的电子设备来执行,本实施例对此不做任何限制。
45.接下来对不同指标对应的权重向量的获取过程进行示例性说明:
46.首先训练一个用于提取权重向量的预训练模型:所述电子设备获取属于不同指标的若干历史指标序列。所述电子设备采用自监督学习方式获得预训练模型,任务在于在特征层面恢复被掩膜(mask)处理掉的历史指标值。在训练过程中,电子设备针对于所述若干属于不同指标的训练样本循环执行下述过程,直到满足循环结束条件:将所述历史指标序列中随机的至少一个历史指标值进行掩膜处理,并将掩膜处理后的历史指标序列输入当前指标预测模型中进行指标预测,获得至少一个预测指标值;在所述循环结束条件未被满足时,根据所述至少一个历史指标值和所述至少一个预测指标值之间的差异调整当前预训练模型的模型参数,以得到调整后的当前预训练模型;其中,所述调整后的当前预训练模型作为下一循环过程的当前预训练模型。可以理解的是,所述循环结束条件包括但不限于达到预设循环次数、或者各个所述至少一个历史指标值和所述至少一个预测指标值之间的差异小于预设差异等等,本实施例对此不做任何限制。
47.示例性的,在训练过程中,所述电子设备可以根据所述至少一个历史指标值和所述至少一个预测指标值进行损失函数计算,进而根据计算的损失值反向调整所述预训练模型的模型参数。所述损失函数包括但不限于均方差损失函数、交叉熵损失函数或者平均绝对误差损失函数等等,本实施例对此不做任何限制。通过上述过程,可以使得指标值序列波动形态接近的任意两个历史指标序列的权重向量在嵌入空间中的距离尽可能地相近,而指标值序列波动差异较大的任意两个历史指标序列的权重向量在嵌入空间中的距离尽可能地远;换句话说,即指标值序列波动形态接近的任意两个历史指标序列的权重向量在嵌入
空间中的距离,小于,指标值序列波动差异较大的任意两个历史指标序列的权重向量在嵌入空间中的距离。而任意两个历史指标序列的权重向量在嵌入空间中的距离可以表征两个权重向量之间的相似度,距离越近则相似度越高。其中,属于同一指标的指标序列通常波动形态接近,而属于不同指标的指标序列可能波动形态差异较大也有可能波动形态接近。
48.最后,在获取训练好的预训练模型之后,所述电子设备可以将不同指标对应的历史指标序列输入所述预训练模型中,利用训练好的所述预训练模型对不同指标对应的历史指标序列进行特征提取,获取不同指标对应的权重向量。一方面,不同指标对应的权重向量可以客观体现出不同指标之间的时序差异,从而良好地区别不同指标的指标序列;另一方面,所述指标对应的权重向量反映了该指标的指标在时序上的变化特点,使得指标预测模型可以按照不同指标对应的权重向量,给予不同指标的指标序列中的各个部分不同的关注度(或者说不同的权重),从而提高指标预测模型对于不同指标的指标预测的准确性。
49.其中,用于训练所述预训练模型的历史指标序列和用于获取不同指标对应的权重向量的历史指标序列的产生时间点不同。比如用于训练所述预训练模型的不同指标的历史指标序列可以是1个月以前产生的,用于获取不同指标对应的权重向量的历史指标序列可以是近7天的。
50.示例性的,考虑到wav2vec系列的模型之前常在语音任务中被用作预训练,而语音被提取成梅尔谱看起来与时序具有一定的相似性,因此所述第二预设模型可以选用wav2vec系列的模型。当然,也可以选用其他结构的模型作为预训练模型,比如选用循环神经网络(rnn)模型、卷积神经网络模型等,本实施例对于所述第二预设模型的具体结构不做任何限制,可依据实际应用场景进行具体设置。
51.在一些实施例中,由于指标预测模型的训练阶段和应用阶段均需要用到不同指标对应的指标特征,因此可以将通过上述方式确定的不同指标对应的权重向量存储在权重向量表中,以便在指标预测模型的训练过程和应用过程中根据指标序列所属指标从权重向量表中获取权重向量使用。
52.示例性的,考虑到同一指标的时序变化特点随着时间推移而有所变化,因此,为了提高后续的指标预测的准确性,可以周期性更新不同指标的权重向量,在每个周期内,对于任一指标,由预训练模型从该指标在该周期内的历史数据中重新学习得到该指标的权重向量,并利用更新后的该指标的权重向量参与该指标接下来的指标预测过程,用于更新该指标的权重向量的历史数据与需要预测的实时指标数据时间相近,能够更为准确地反映出该指标当前的时序变化特点,从而有利于提高后续的指标预测的准确性。可以理解的是,本实施例对于更新周期的长短不做任何限制,可依据实际应用场景进行具体设置,比如每隔一个月或者2个月更新一次。
53.示例性的,考虑到同一指标的时序变化特点可能因实际的业务场景发生变动而有所变化,因此,为了提高后续的指标预测的准确性,在某个指标对应的实际业务场景存在变动的情况下(比如实际业务中规划了用户引流活动以提高用户访问率),可以更新该指标的权重向量,比如可以获取该指标在变动后的业务场景下的历史数据,然后由预训练模型从该指标的历史数据中重新学习得到该指标在变动后的业务场景下的权重向量,并利用更新后的该指标的权重向量参与该指标接下来的指标预测过程,用于更新该指标的权重向量的历史数据与需要预测的实时指标数据的业务场景相同,能够更为准确地反映出该指标在变
动后的业务场景下的时序变化特点,从而有利于提高后续的指标预测的准确性。
54.接下来对指标预测模型的训练过程进行示例性说明:
55.首先,所述电子设备获取若干属于不同指标的训练样本,所述训练样本包括携带有各个历史指标值对应的协变量和位置信息位置向量的历史指标序列和对应的权重向量,所述历史指标序列包括m+n个历史指标值,不同指标的权重向量由预设的预训练模型从属于不同指标的历史指标序列中学习得到(具体参见上述描述过程)。其中,所述若干训练样本包括属于不同指标的训练样本,使得训练完成后的指标预测模型能够对不同指标的指标序列进行预测,提高了指标预测模型的可扩展性。
56.所述协变量包括时间协变量和周期协变量;所述时间协变量用于指示所述指标值的产生时刻,所述周期协变量用于指示所述指标值所属的至少一个统计周期;本实施例中加入周期协变量可以让模型学习到指标序列的周期信息,提高模型预测的准确性。各个历史指标值对应的位置向量用于指示在历史指标值在历史指标序列中的位置。比如请参阅图2,示出了携带有各个指标值对应的协变量和位置信息位置向量的指标序列的示意图。
57.示例性的,周期的具体划分可以根据实际应用场景进行具体设置,比如设置12小时为一个周期、或者设置1天、2天、10天、半个月、1个月、2个月或者半年等为一个周期等,本实施例对此不做任何限制。对于目标指标序列中的各个指标值,可知是一年中的第几天,再对每一个周期值做求余操作,即可确定该指标值属于第i个时间点以及第j个周期。在一个例子中,可以考虑n个统计周期,n为大于0的整数,比如设置有7个统计周期,7个统计周期分别以1天、2天、3天、4天、5天、6天或者7天为一个周期进行统计,则各个指标值的周期协变量为一个七维数据,每一维的数据指示所述指标值属于其中一个统计周期的第几个周期,对于时序中的第i个时间点,第j个周期,period_cov
ij
=(day_of-year)i%j,j∈[1,7],其中,period_cov
ij
表示第i个时间点在第j个周期的周期协变量,day_of_year表示一年中的第几天。本实施例通过加入周期协变量,可以让指标预测模型从中学习到指标在不同周期内的变化特点,从而进一步提高模型预测的准确性。
[0058]
示例性的,为了提高模型的收敛数据,可以对携带有各个历史指标值对应的协变量和位置信息位置向量的历史指标序列进行归一化处理。
[0059]
考虑到相关技术中指标预测模型采用单步滚动预测的输出方式,即当模型需要预测未来多个时间点的多个指标预测值时,先利用t时刻之前的多个指标值预测t+1的指标值,再用t时刻之前的多个指标值和t+1的预测指标值作为输入来预测t+2的指标值,并以此类推。这样的输出方式会存在累积误差的问题,并且随着需要预测的指标预测值数量的增多,预测误差会随着时间越来越大。
[0060]
因此,为解决上述问题,本实施例在模型训练过程中,针对于所述若干属于不同指标的训练样本循环执行下述过程,直到满足循环结束条件:电子设备将各个所述历史指标序列中的最后n个历史指标值进行掩膜处理,然后将掩膜处理后的训练样本输入当前指标预测模型中进行指标预测,获得n个预测指标值。在所述循环结束条件未被满足时,根据所述n个历史指标值和所述n个预测指标值之间的差异调整所述当前指标预测模型的模型参数,以得到调整后的当前指标预测模型;其中,所述调整后的当前指标预测模型作为下一循环过程的当前指标预测模型。通过上述方式训练好的指标预测模型可以一次性同步输出未来n个时间点的n个预测指标值,同步输出所有预测结果的方式可以有效避免误差累积,有
利于提高整体的预测准确性。可以理解的是,所述循环结束条件包括但不限于达到预设循环次数、或者所述n个历史指标值和所述n个预测指标值之间的差异小于预设差异等等,本实施例对此不做任何限制。
[0061]
示例性的,在训练过程中,所述电子设备可以根据所述n个历史指标值和所述n个预测指标值进行损失函数计算,进而根据计算的损失值反向调整所述预训练模型的模型参数。所述损失函数包括但不限于gaussian loss损失函数(高斯损失函数)、均方差损失函数、交叉熵损失函数或者平均绝对误差损失函数等等,本实施例对此不做任何限制。
[0062]
示例性的,在模型训练阶段可以采用多种优化方式来提高训练效果。
[0063]
在一可能的实施方式中,可以在训练过程中调整指标预测模型的超参数。超参数定义关于模型的更高层次的概念,其不能从模型训练过程中的数据中学习,需要在模型训练之前预先确定。可以通过网格搜索、随机搜索或者贝叶斯搜索等方式来调整指标预测模型的超参数。
[0064]
网格搜索方法是针对于各个超参数设置可能的各超参数集合,将所有集合中可能的组合作为超参数,对模型进行一次训练;n个可能的超参数组合意味着n次模型训练,最后,网格搜索的返回值是n次模型训练中模型表现最好的超参数组合。假设机器学习模型x具有超参数a1,a2和a3;在网格搜索中,首先要为每个超参数a1,a2和a3定义值的范围;网格搜索方法将使用首先定义的超参数值(a1,a2和a3)的所有可能组合来构造x的许多版本。
[0065]
随机搜索是基于网格搜索的延伸,它与网格搜索一样,需要预先指定超参数的候选集。随机搜索会随机的从参数候选集中选取参数,训练模型。随机搜索从由所有可能的超参数组合中随机抽取“组合”以训练模型,使用者可以通过设置最大迭代次数,来调节模型的运行次数。
[0066]
贝叶斯搜索方法是从随机搜索开始,基于贝叶斯理论逐渐缩小搜索空间,即通过随机搜索将可能超参数的先验分布更新为后验分布。在考虑已知信息下帮助缩小“好的”超参数组合的搜索空间。
[0067]
在一可能的实施方式中,当指标预测模型使用梯度下降法做优化时,随着网络深度的增加,输入数据的特征分布会不断发生变化,为了保证数据特征分布的稳定性,会加入normalization(归一化)操作,从而可以使用更大的学习率,加速模型的收敛速度。同时,normalization也有一定的抗过拟合作用,使训练过程更加平稳。具体地,normalization的主要作用就是把每层特征输入到激活函数之前,对它们进行归一化操作,使其转换为均值为1,方差为0的数据,从而可以避免数据落在激活函数的饱和区,以减少梯度消失的问题。bn(batchnorm)和ln(layernorm)是两种最常用的归一化的方法,它们都是将输入特征转换为均值为1,方差为0的数据,bn是对一个batch-size样本内的每个特征做归一化,ln是对每个样本的所有特征做归一化。
[0068]
可选地,还可以选择合适的优化器来实现梯度下降优化,如使用adam(adaptive moment estimation,自适应矩估计)优化器或者adabelief优化器。示例性的,还可以动态调整学习率,比如增加cosineannealinglr(余弦退火调整学习率)来动态的调整学习率。从而提高模型最终的训练效果。
[0069]
示例性的,掩膜处理后的训练样本包括:掩膜处理后的历史指标序列(携带有各个历史指标值对应的协变量和位置信息位置向量的)和对应的权重向量相乘后的结果。其中,
所述携带有各个指标值对应的协变量和位置向量的历史指标序列和对应的权重向量的维度相同。
[0070]
示例性的,在获取不同指标对应的权重向量之后,针对于同一指标,若所述权重向量的维度与所述携带有各个指标值对应的协变量和位置信息位置向量的历史指标序列的维度不同,所述电子设备可以使用多层感知机对所述权重向量进行降维处理或升维处理,以使得两者的维度相同。
[0071]
在一个例子中,请参阅图3,图3示出了两个线性层和一个激活层的多层感知机。所述多层感知机用于对预训练模型输出的不同指标对应的权重向量进行降维处理或升维处理,以使得处理后的权重向量的维度与(携带各个指标值对应的协变量和位置信息位置向量)的指标序列的维度相同,便于两者进行矩阵相乘。
[0072]
示例性的,所述第一预设模型包括transformer模型;transformer模型为基于自注意力机制的模型,可以高效地对多个指标序列并行化训练,并能够更好的捕捉指标序列的全局信息。当然,也可以使用其他的深度神经网络模型,如卷积神经网络(cnn)、递归神经网络(rnn)、深信度网络(dbn)、深度自动编码器(autoencoder)和生成对抗网络(gan)等,本实施例对于所述第二预设模型的具体结构不做任何限制,可依据实际应用场景进行具体设置。
[0073]
在一示例性的实施例中,所述第一预设模型包括transformer模型。则训练好的指标预测模型包括至少一个编码器和至少一个解码器。编码器和解码器的结构可以相同,也可以不完全相同,本实施例对此不做任何限制。在一个例子中,所述编码器和所述解码器至少包括自注意力层和前馈神经网络层。
[0074]
在实际的应用场景中,发明人在应用容量对上述方案进行了实验。示例性的,指标预测模型进行的是t+30min的预测,且每个指标的粒度为10分钟,相当于预测t时刻后的三个指标值。在应用容量场景,预测的对象是应用(app)的流量指标(以rpc指标为例)。由于一个应用可以部署在多个逻辑机房(ldc)上,因此app和ldc两个字段标识了一个指标,即针对于rpc指标来说,所属app和/或所属ldc不同,则属于不同指标。
[0075]
针对于训练好的指标预测模型,可以采用准确率和可用率进行评估,设x为准确率,针对于每一个时间点,通过比较预测值(z
′i)和真实值(zi)得到,即设y为可用率,即对于所有时间点而言,其中准确率达到x的时间点所占的比例。实践证明,本说明书实施例训练完成的指标预测模型的x_y达标个数高于传统的指标预测模型的达标个数。
[0076]
接下来对所述指标预测模型的应用过程进行示例性说明:
[0077]
请参阅图4,图4示出了本说明书实施例提供的一种指标预测方法的流程示意图,所述方法可由电子设备来执行,所述方法包括:
[0078]
在步骤s101中,获取待预测的目标指标序列,所述目标指标序列包括预设服务在m个时间点的m个指标值,并确定所述目标指标序列中各个指标值对应的协变量和位置向量。
[0079]
在步骤s102中,获取与所述目标指标序列所属指标对应的目标权重向量;所述目标权重向量由预设的预训练模型从属于该指标的历史指标序列中学习得到;任一指标对应的权重向量用于表征该指标在时序上的变化特点。
[0080]
在步骤s103中,利用预先训练好的指标预测模型,对携带有各个指标值对应的协变量和位置向量的目标指标序列和所述目标权重向量进行处理,获取在未来的n个时间点的n个预测指标值;其中,m、n为大于1的整数。
[0081]
本实施例中,不同指标对应的权重向量由预设的预训练模型从属于不同指标的若干历史指标序列中学习得到(具体参见上述描述过程),使得不同指标对应的权重向量可以体现出不同指标之间的差异,具有良好的区分作用。在指标预测过程中,输入指标预测模型的数据除了包括携带有各个指标值对应的协变量和位置向量的目标指标序列,还包括与所述目标指标序列所属指标对应的目标权重向量,从而实现通过一个指标预测模型对不同指标的指标序列进行预测,有利于简化模型配置过程并且提高模型扩展性;并且不同指标对应的权重向量可以让指标预测模型按照不同指标在时序上的变化特点,给予不同指标的指标序列中的各个部分不同的关注度(或者说不同的权重),从而提高指标预测模型对于不同指标的指标预测的准确性。
[0082]
在一些实施例中,对于步骤s101,m个时间点为过去的时间点,m个指标值为已知量。所述协变量包括时间协变量和周期协变量;所述时间协变量用于指示所述指标值的产生时刻,所述周期协变量用于指示所述指标值所属的至少一个统计周期。示例性的,周期的具体划分可以根据实际应用场景进行具体设置,比如设置12小时为一个周期、或者设置1天、2天、10天、半个月、1个月、2个月或者半年等为一个周期等,本实施例对此不做任何限制。对于目标指标序列中的各个指标值,可知是一年中的第几天,再对每一个周期值做求余操作,即可确定该指标值属于第i个时间点以及第j个周期。在一个例子中,可以考虑n个统计周期,n为大于0的整数,比如设置有7个统计周期,7个统计周期分别为1天、2天、3天、4天、5天、6天或者7天为一个周期进行统计,则各个指标值的周期协变量为一个七维数据,每一维的数据指示所述指标值属于其中一个统计周期的第几个周期。
[0083]
在一些实施例中,对于步骤s102,所述电子设备可以根据所述目标指标序列所属指标,从预存的权重向量表中获取所述目标指标序列对应的目标权重向量。若所述权重向量表存在所述目标指标序列所属指标对应的目标权重向量,表示预训练模型之前已经从该指标的历史指标序列中学习到相关的权重向量。
[0084]
若所述权重向量表中没有存储所述目标指标序列所属指标对应的相关权重向量,表示所述目标指标序列所属指标为一个新的指标。本实施例假定关于该指标在时序上的变化特征,在模型训练阶段已经观察过了,则所述电子设备可以将属于该新的指标的历史指标序列或者所述目标指标序列输入所述预训练模型中,以便让预训练模型从中提取该新的指标的权重向量,并将该新的指标的权重向量存入权重向量表中,以便后续使用。
[0085]
由于预训练模型和指标预测模型为解耦关系,当出现指标预测模型的训练样本中不存在的新指标的指标序列时,不必重新训练指标预测模型和预训练模型,而只需要将所述目标指标序列输入所述预训练模型中,以使得所述预训练模型获取所述目标指标序列对应的目标权重向量,即可利用指标预测模型对该目标指标序列以及对应的目标权重向量进行后续的指标预测过程,从而有利于减少重新训练的数据处理量。
[0086]
示例性的,当出现指标预测模型的训练样本中不存在的新指标的指标序列时,可以将该新指标的相关历史指标序列输入所述预训练模型中,以使得所述预训练模型获取该指标的权重向量,然后可以将历史指标序列中的最后n个历史指标值进行掩膜处理,将掩膜
后的历史指标序列(携带有各个指标值对应的协变量和位置向量)和该指标的权重向量输入指标预测模型中得到n个指标预测值,如果n个指标预测值和n个历史指标值之间的差异小于预设差异,则表示该指标在时序上的变化特征,在指标预测模型训练阶段已经观察过了,可以不需要对指标预测模型进行迭代优化即可实现对新指标的指标序列进行准确预测;当然,如果果n个指标预测值和n个历史指标值之间的差异大于预设差异,则表示指标预测模型并未学习到有关于该指标的相关特征,需要重新训练该指标预测模型。
[0087]
在一些实施例中,在所述获取与所述目标指标序列所属指标对应的目标权重向量之后,还包括:若所述目标权重向量的维度大于所述携带有各个指标值对应的协变量和位置向量的目标指标序列的维度,使用多层感知机对所述目标权重向量进行降维处理,以使得两者的维度相同;如果所述目标权重向量的维度小于所述携带有各个指标值对应的协变量和位置向量的目标指标序列的维度,使用多层感知机对所述目标权重向量进行升维处理,以使得两者的维度相同,从而便于后续两者相乘。
[0088]
在一些实施例中,对于步骤s103,所述目标指标序列还包括未来的n个时间点的n个初始指标值、且n个初始指标值为0。请参阅图5,所述电子设备将携带有各个指标值对应的协变量和位置向量的目标指标序列和所述目标权重向量相乘,其中,携带有各个指标值对应的协变量和位置向量的目标指标序列和所述目标权重向量的维度相同;然后将相乘后的结果输入预先训练好的指标预测模型进行处理,从而获取所述指标预测模型同步输出的所述未来的n个时间点的n个预测指标值。本实施例中指标预测模型同步输出所有预测结果的方式可以有效避免误差累积,有利于提高整体的预测准确性。
[0089]
在一个例子中,假设目标指标序列中不同指标值的产生时间间隔相隔10分钟,假设n=3,即本次预测任务为预测t时刻后的三个指标值。目标指标序列包括m+3个指标值,其中,m个时间点为过去的时间点,m个指标值为已知量,m的数值可依据实际应用场景进行具体设置,最后的3个指标值的初始值0,最后的3个指标值为本次需要预测的值。将携带有各个指标值对应的协变量和位置向量的目标指标序列和对应的目标权重向量相乘之后,将乘积输入指标预测模型中,以获得指标预测模型同步输出的3个指标预测值。
[0090]
以上实施方式中的各种技术特征可以任意进行组合,只要特征之间的组合不存在冲突或矛盾,但是限于篇幅,未进行一一描述,因此上述实施方式中的各种技术特征的任意进行组合也属于本说明书公开的范围。
[0091]
图6是一示例性实施例提供的一种设备的示意结构图。请参考图6,在硬件层面,该设备包括处理器202、内部总线204、网络接口206、内存208以及非易失性存储器210,当然还可能包括其他业务所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器202从非易失性存储器210中读取对应的计算机程序到内存208中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
[0092]
请参考图7,指标预测装置可以应用于如图6所示的设备中,以实现本说明书的技术方案。其中,该指标预测装置可以包括:
[0093]
输入数据获取模块301,用于获取待预测的目标指标序列,所述目标指标序列包括预设服务在m个时间点的m个指标值,并确定所述目标指标序列中各个指标值对应的协变量
和位置向量;
[0094]
所述输入数据获取模块301,还用于获取与所述目标指标序列所属指标对应的目标权重向量;所述目标权重向量由预设的预训练模型从属于该指标的历史指标序列中学习得到;任一指标对应的权重向量用于表征该指标在时序上的变化特点。
[0095]
指标预测模块302,用于利用预先训练好的指标预测模型,对携带有各个指标值对应的协变量和位置向量的目标指标序列和所述目标权重向量进行处理,获取在未来的n个时间点的n个预测指标值;其中,m、n为大于1的整数。
[0096]
在一些实施例中,所述协变量包括时间协变量和周期协变量;所述时间协变量用于指示所述指标值的产生时刻,所述周期协变量用于指示所述指标值所属的至少一个统计周期。
[0097]
在一些实施例中,所述目标指标序列还包括未来的n个时间点的n个初始指标值、且n个初始指标值为0。所述指标预测模块302具体用于获取所述指标预测模型同步输出的所述未来的n个时间点的n个预测指标值。
[0098]
在一些实施例中,输入所述指标预测模型的输入数据为所述携带有各个指标值对应的协变量和位置向量的目标指标序列和所述目标权重向量相乘的结果;其中,携带有各个指标值对应的协变量和位置向量的目标指标序列和所述目标权重向量的维度相同。
[0099]
在一些实施例中,所述装置还包括:输入数据处理模块,用于若所述目标权重向量的维度与所述携带有各个指标值对应的协变量和位置向量的目标指标序列的维度不同,使用多层感知机对所述目标权重向量进行降维处理或升维处理,以使得两者的维度相同。
[0100]
在一些实施例中,所述装置还包括:模型训练模块,用于获取若干属于不同指标的训练样本,所述训练样本包括携带有各个历史指标值对应的协变量和位置向量的历史指标序列和对应的权重向量,所述历史指标序列包括m+n个历史指标值,不同指标的权重向量由预设的预训练模型从属于不同指标的历史指标序列中学习得到。针对于所述若干属于不同指标的训练样本循环执行下述过程,直到满足循环结束条件:将各个所述历史指标序列中的最后n个历史指标值进行掩膜处理,将掩膜处理后的训练样本输入当前指标预测模型中进行指标预测,获得n个预测指标值;在所述循环结束条件未被满足时,根据所述n个历史指标值和所述n个预测指标值之间的差异调整所述当前指标预测模型的模型参数,以得到调整后的当前指标预测模型;其中,所述调整后的当前指标预测模型作为下一循环过程的当前指标预测模型。
[0101]
在一些实施例中,所述第一预设模型包括transformer模型。
[0102]
在一些实施例中,所述装置还包括:模型训练模块,用于获取属于不同指标的若干历史指标序列。针对于所述若干历史指标序列循环执行下述过程,直到满足循环结束条件:将所述历史指标序列中随机的至少一个历史指标值进行掩膜处理,并将掩膜处理后的历史指标序列输入当前预训练模型中进行指标预测,获得至少一个预测指标值;在所述循环结束条件未被满足时,根据所述至少一个历史指标值和所述至少一个预测指标值之间的差异调整当前预训练模型的模型参数,以得到调整后的当前预训练模型;其中,所述调整后的当前预训练模型作为下一循环过程的当前预训练模型。
[0103]
在一些实施例中,所述装置还包括:权重向量存储模块,用于利用训练好的所述预训练模型对不同指标对应的历史指标序列进行特征提取,获取不同指标对应的权重向量,
并存储在权重向量表中;其中,所述目标权重向量根据所述目标指标序列所属指标从所述权重向量表中获取。
[0104]
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0105]
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本技术方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0106]
相应的,本说明书实施例还提供了一种电子设备,包括:
[0107]
处理器;
[0108]
用于存储处理器可执行指令的存储器;
[0109]
其中,所述处理器通过运行所述可执行指令以实现如上述任一项所述的方法。
[0110]
所述处理器包括但不限于中央处理单元(central processing unit,cpu)、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)或者现成可编程门阵列(field-programmable gate array,fpga)等。
[0111]
示例性的,所述存储器可以包括至少一种类型的存储介质,存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等等。
[0112]
相应的,本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现上述任一项所述方法的步骤。例如,计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
[0113]
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
[0114]
在一个典型的配置中,计算机包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0115]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读存储介质的示例。
[0116]
计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器
(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0117]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0118]
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0119]
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0120]
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
[0121]
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1