一种数据波动识别方法、装置及存储介质转让专利

申请号 : CN201810214976.7

文献号 : CN110275809A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 阮航

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本发明实施例公开了一种数据波动识别方法、装置及存储介质;本发明实施例采用获取当前数据的数据值;获取数据值与历史数据值之间的第一波动参数;根据训练数据序列对非线性回归模型进行训练;根据训练后的非线性回归模型获取当前的第一预测数据值,并获取数据值与第一预测数据值之间的第二波动参数;根据第一波动参数以及第二波动参数,确定当前数据的波动是否异常。该方案可以获取数据在多个维度上的波动参数,基于多维波动参数确定数据波动是否异常,因此,可以提升数据波动的识别准确性。

权利要求 :

1.一种数据波动识别方法,其特征在于,包括:获取当前数据的数据值;

获取所述数据值与历史数据值之间的第一波动参数;

根据训练数据序列对非线性回归模型进行训练;

根据训练后的非线性回归模型获取当前的第一预测数据值,并获取所述数据值与所述第一预测数据值之间的第二波动参数;

根据所述第一波动参数以及所述第二波动参数,确定所述当前数据的波动是否异常。

2.如权利要求1所述的数据波动识别方法,其特征在于,根据所述第一波动参数以及所述第二波动参数,确定所述当前数据的波动是否异常,包括:当所述训练数据序列为平稳序列时,根据所述训练数据序列对自回归滑动平均模型进行训练;

根据训练后的自回归滑动平均模型获取当前的第二预测数据值,并获取所述数据值与所述第二预测数据值之间的第三波动参数;

根据所述第一波动参数、所述第二波动参数以及第三波动参数,确定所述当前数据的波动是否异常;

当所述训练数据序列不为平稳序列时,根据所述第一波动参数以及所述第二波动参数,确定所述当前数据的波动是否异常。

3.如权利要求1所述的数据波动识别方法,其特征在于,根据所述第一波动参数、所述第二波动参数以及第三波动参数,确定所述当前数据的波动是否异常,包括:根据所述第一波动参数、所述第二波动参数以及第三波动参数的参数值获取所述当前数据的最终波动参数值;

当所述最终波动参数值在预设范围内时,确定所述当前数据的波动正常;

当所述最终波动参数值不在预设范围内时,确定所述当前数据的波动异常。

4.如权利要求3所述的数据波动识别方法,其特征在于,根据所述第一波动参数、所述第二波动参数以及第三波动参数获取所述当前数据的最终波动参数,包括:对所述第一波动参数、所述第二波动参数以及第三波动参数的参数值进行加权平均处理,得到加权平均参数值;

将所述加权平均参数值作为所述当前数据的最终波动参数值。

5.如权利要求1所述的数据波动识别方法,其特征在于,获取当前数据的数据值,包括:从数据源获取数据,得到当前数据;

将所述当前数据转换成统一数据格式的数据,得到转换后数据的数据值。

6.如权利要求1所述的数据波动识别方法,其特征在于,根据训练数据序列对非线性回归模型进行训练,包括:确定非线性回归模型中待估模型参数的个数;

基于最小二乘法、所述训练数据序列求解非线性回归模型的待估模型参数,得到训练后的非线性回归模型。

7.如权利要求2所述的数据波动识别方法,其特征在于,根据所述训练数据序列对自回归滑动平均模型进行训练,包括:基于自相关函数分析和偏自相关函数分析方式,确定自回归滑动平均模型的滞后阶数;

基于最小二乘法、所述滞后阶数和所述训练数据序列,求解所述自回归滑动平均模型的待估模型参数,得到训练后的自回归滑动平均模型。

8.一种数据波动识别装置,其特征在于,包括:数据获取单元,用于获取当前数据的数据值;

第一参数获取单元,用于获取所述数据值与历史数据值之间的第一波动参数;

训练单元,用于根据训练数据序列对非线性回归模型进行训练;

第二参数获取单元,用于根据训练后的非线性回归模型获取当前的第一预测数据值,并获取所述数据值与所述第一预测数据值之间的第二波动参数;

确定单元,用于根据所述第一波动参数以及所述第二波动参数,确定所述当前数据的波动是否异常。

9.如权利要求8所述的数据波动识别装置,其特征在于,所述确定单元,包括:训练子单元,用于当所述训练数据序列为平稳序列时,根据所述训练数据序列对自回归滑动平均模型进行训练;

参数获取子单元,用于根据训练后的自回归滑动平均模型获取当前的第二预测数据值,并获取所述数据值与所述第二预测数据值之间的第三波动参数;

第一异常确定子单元,用于根据所述第一波动参数、所述第二波动参数以及第三波动参数,确定所述当前数据的波动是否异常;

第二异常确定子单元,用于当所述训练数据序列不为平稳序列时,根据所述第一波动参数以及所述第二波动参数,确定所述当前数据的波动是否异常。

10.如权利要求9所述的数据波动识别装置,其特征在于,所述第一异常确定子单元,用于:根据所述第一波动参数、所述第二波动参数以及第三波动参数的参数值获取所述当前数据的最终波动参数值;

当所述最终波动参数值在预设范围内时,确定所述当前数据的波动正常;

当所述最终波动参数值不在预设范围内时,确定所述当前数据的波动异常。

11.如权利要求8所述的数据波动识别装置,其特征在于,数据获取单元,用于:从数据源获取数据,得到当前数据;

将所述当前数据转换成统一数据格式的数据,得到转换后数据的数据值。

12.如权利要求8所述的数据波动识别装置,其特征在于,训练单元,用于:确定非线性回归模型中待估模型参数的个数;

基于最小二乘法、所述训练数据序列求解非线性回归模型的待估模型参数,得到训练后的非线性回归模型。

13.如权利要求9所述的数据波动识别装置,其特征在于,训练子单元,用于:基于自相关函数分析和偏自相关函数分析方式,确定自回归滑动平均模型的滞后阶数;

基于最小二乘法、所述滞后阶数和所述训练数据序列,求解所述自回归滑动平均模型的待估模型参数,得到训练后的自回归滑动平均模型。

14.一种存储介质,其特征在于,所述存储介质存储有指令,所述指令被处理器执行时实现如权利要求1-7任一项所述方法的步骤。

说明书 :

一种数据波动识别方法、装置及存储介质

技术领域

[0001] 本发明涉及计算机技术领域,具体涉及一种数据波动识别方法、装置及存储介质。

背景技术

[0002] 为保证服务的质量,需要采用数据监控技术方案监控业务各个指标数据并发现报告异常。
[0003] 目前的数据监控技术方案主要集中在监控的数据采集方面,主要有基于云平台的监控,即把数据收集到云平台进行汇总,通过云计算平台计算数据的波动性,来确定数据是否异常。
[0004] 然而,目前数据监控方案只是关注到监控数据的平台化和监控数据的实时性上面,但是对于对外服务业务数据的监控,这些方案只能起到“感知”到数据变化的作用,对于偶尔业务数据常态化的波动,这些方案无法对这些波动进行准确识别,比如当前数据的波动是否属于正常范围,因此,现有数据监控方案对数据波动的识别准确性较低。

发明内容

[0005] 本发明实施例提供一种数据波动识别方法、装置及存储介质,可以提升数据波动的识别准确性。
[0006] 本发明实施例提供一种数据波动识别方法,包括:
[0007] 获取当前数据的数据值;
[0008] 获取所述数据值与历史数据值之间的第一波动参数;
[0009] 根据训练数据序列对非线性回归模型进行训练;
[0010] 根据训练后的非线性回归模型获取当前的第一预测数据值,并获取所述数据值与所述第一预测数据值之间的第二波动参数;
[0011] 根据所述第一波动参数以及所述第二波动参数,确定所述当前数据的波动是否异常。
[0012] 相应的,本发明实施例还提供一种数据波动识别装置,包括:
[0013] 数据获取单元,用于获取当前数据的数据值;
[0014] 第一参数获取单元,用于获取所述数据值与历史数据值之间的第一波动参数;
[0015] 训练单元,用于根据训练数据序列对非线性回归模型进行训练;
[0016] 第二参数获取单元,用于根据训练后的非线性回归模型获取当前的第一预测数据值,并获取所述数据值与所述第一预测数据值之间的第二波动参数;
[0017] 确定单元,用于根据所述第一波动参数以及所述第二波动参数,确定所述当前数据的波动是否异常。
[0018] 相应的,本发明实施例还提供一种存储介质,所述存储介质存储有指令,所述指令被处理器执行时实现本发明实施例任一提供的方法的步骤。
[0019] 本发明实施例采用获取当前数据的数据值;获取数据值与历史数据值之间的第一波动参数;根据训练数据序列对非线性回归模型进行训练;根据训练后的非线性回归模型获取当前的第一预测数据值,并获取数据值与第一预测数据值之间的第二波动参数;根据第一波动参数以及第二波动参数,确定当前数据的波动是否异常。该方案可以获取数据在多个维度上的波动参数,基于多维波动参数确定数据波动是否异常,因此,可以提升数据波动的识别准确性。

附图说明

[0020] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0021] 图1a是本发明实施例提供的数据监控系统的场景示意图;
[0022] 图1b是本发明实施例提供的数据波动识别方法的流程示意图;
[0023] 图1c是本发明实施例提供的非线性回归模型的求解示意图;
[0024] 图2是本发明实施例提供的滞后阶数确定流程示意图;
[0025] 图3a是本发明实施例提供的数据波动识别方法的另一流程示意图;
[0026] 图3b是本发明实施例提供的数据波动识别方法的逻辑架构示意图;
[0027] 图4a是本发明实施例提供的数据波动识别装置的第一种结构示意图;
[0028] 图4b是本发明实施例提供的数据波动识别装置的第二种结构示意图;
[0029] 图5是本发明实施例提供的服务器的结构示意图。

具体实施方式

[0030] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0031] 本发明实施例提供了一种数据波动识别方法、装置及存储介质。
[0032] 本发明实施例提供了一种数据监控系统,该系统可以包括本发明实施例任一提供的数据波动识别装置。其中,数据波动识别装置可以服务器中,如监控服务器等。
[0033] 此外,数据监控系统还可以包括其他设备,如包括终端,该终端可以为手机、平板电脑、笔记本电脑等设备。
[0034] 例如,参见图1a,提供了一种数据监控系统,该数据监控系统包括:终端10和服务器20,终端10与服务器20通过网络30连接。其中,网络30中包括路由器、网关等等网络实体,图中并为示意出。终端10可以通过有线网络或无线网络与服务器20进行通讯,以请求服务器20上的服务,比如可以从服务器20下载应用和/或应用更新数据包和/或与应用相关的数据信息或业务信息。其中,终端10可以为手机、平板电脑、笔记本电脑等设备,图1a是以终端10为笔记本电脑为例。该终端10中还可以安装有各种用户所需的应用,比如具备娱乐功能的应用(如图像处理应用,音频播放应用,游戏应用,阅读软件),又如具备服务功能的应用。
[0035] 终端10可以向服务器20上报数据,服务器20可以从本地获取该数据的数据值;然后,获取数据值与历史数据值之间的第一波动参数;根据训练数据序列对非线性回归模型进行训练;根据训练后的非线性回归模型获取当前的第一预测数据值,并获取数据值与第一预测数据值之间的第二波动参数;根据第一波动参数以及第二波动参数,确定当前数据的波动是否异常。
[0036] 此外,服务器20在确定数据值的波动异常时,还可以发出告警进行提醒。
[0037] 以下将分别进行详细说明。
[0038] 本实施例将从数据波动识别装置的角度进行描述,该数据波动识别装置具体可以服务器等。
[0039] 如图1b所示,提供了一种数据波动识别方法,该方法可以由服务器中的处理器执行,具体流程可以如下:
[0040] 101、获取当前数据的数据值。
[0041] 其中,当前数据为当前从数据源获取到的数据,如当前从监控数据源获取到的数据。其中,当前数据可以为今日从数据源获取到的数据。
[0042] 考虑到监控的数据源是多种多样,比如,可以是mysql,hive等数据库,也可以是单个的文件(file)或者分布式文件(hdfs),甚至是一段可以执行的代码(shell脚本)。因此,获取的数据类型或格式不相同。
[0043] 为了提升数据波动识别效率,可选地,还可以对数据格式或类型进行规范化处理。也即,步骤“获取当前数据的数据值”可以包括:
[0044] 从数据源获取数据,得到当前数据;
[0045] 将当前数据转换成统一数据格式的数据,得到转换后数据的数据值。
[0046] 具体地,可以将监控的数据源抽象成相应的数据生成器(generator),通过数据生成器(generator)从对应的数据源获取当前时间对应的数据,通过数据生成器将数据转换成统一数据格式的数据。
[0047] 其中,数据源的抽象方法可以基于jdbc的方式来抽象。在实际应用中,可以在数据抽象层实现generator抽象。数据抽象层的核心功能就是分析各种各样的数据源,并且调整适配并生成对应的generator,这样所有的数据源进行数据抽象层之后,对外都表现成generator这一种数据格式。
[0048] 可见,数据抽象层主要是完成对数据类型的规范化,监控的数据源是多变的,因此在进行波动识别之前,是需要将这些各种格式的数据源进行统一个结构化,重新描述为generator,generator实现从数据源获取数据,并且向监控逻辑层(用于识别波动的层)提供统一的数据上报格式。
[0049] 102、获取数据值与历史数据值之间的第一波动参数。
[0050] 其中,历史数据值为之前从数据源获取到的数据的值,即在当前时间之前从数据源获取到的数据的值。比如,可以为上一次从数据源获取到的数据的值。
[0051] 例如,历史数据值可以为昨日从数据源获取的数据的值。
[0052] 其中,第一波动参数为用于衡量数据值变化幅度的参数,比如,可以用于衡量当前数据的数据值相对于历史数据值的数据值变化幅度。比如,该第一波动参数可以包括波动率confidence,波动率confidence可以通过当前数据的数据值与历史数据值之差除以历史数据值得到。如下:
[0053] 波动率confidence=(x-x-1)/x-1,其中,x为当前数据的数据值,x-1为历史数据值。
[0054] 103、根据训练数据序列对非线性回归模型进行训练。
[0055] 其中,线性回归为:已经知道一系列的线性数据列,比如时间序列(时间序列或称动态数列是指将同一统计指标的数值按其发生的时间先后顺序排列而成的数列),设时间序列符合线性特征,即可以用Y=WX+b来表示(即线性回归模型表达式),其中W和b为待估参数,线性回归通过计算已知的样本与函数Y=WX+b直接的二范数,最小化二范数使得回归方程Y=WX+b最接近已有的时间序列样本。
[0056] 其中,非线性回归为:与线性回归类似,只是在非线性回归中,待评估的函数Y=f(X)是一个非线性函数,同样也是通过最小化二范数使得回归方程Y=f(X)与已有的时间序列样本最接近。
[0057] 其中,非线性回归模型可以有多种,比如,双曲线模型、幂函数模型、非线性多项式模型等等。
[0058] 例如,以非线性回归模型为非线性多项式模型为例,非线性多项式模型的模型表达式为:
[0059] YT=a0+a1T1+a2T2+...+apTp
[0060] 其中,p表示的是幂级数。因为任何曲线、曲面、超曲面的问题,在一定的范围内都能够用多项式任意逼近。p代表的是逼近的程度,本发明实施例中中优选p=4即4项式,a为待估模型参数,求解方式采用最小二乘法即可完成。
[0061] 其中,训练数据序列为一个时间序列,包括多个历史数据值,历史数据按其对应的时间先后顺序排列。
[0062] 本发明实施例中,根据训练数据序列对非线性回归模型进行训练,就是根据训练数据序列求解非线性回归模型的待估模型参数。例如,以非线性回归模型为非线性多项式模型为例,训练该模型就是求解待估模型参数a。
[0063] 具体地,步骤“根据训练数据序列对非线性回归模型进行训练”,可以包括:
[0064] 确定非线性回归模型中待估模型参数的个数;
[0065] 基于最小二乘法、训练数据序列求解非线性回归模型的待估模型参数,得到训练后的非线性回归模型。
[0066] 例如,以非线性回归模型为非线性多项式模型为例,非线性多项式模型的模型表达式为:
[0067] YT=a0+a1T1+a2T2+...+apTp
[0068] 其中,a为待估模型参数,这里直接确定参数个数为4个,即p=4,是因为在本发明实施例中,参数个数为4的时候能够拟合出合理的曲线,理论上参数越多,会越接近实际值,但是不一定是最合理的,因为每一次的实际值并不一定是最可靠的,这就是过拟合的现象。所以本发明实施例中采取的个数是4个是达到最理想的拟合状态。
[0069] 参考图1c,设已知的实际值为yt(即训练数据序列),通过调用python的最小二乘2
法求出所有的a,使得(Yt-yt) 出值最小即可。
[0070] 104、根据训练后的非线性回归模型获取当前的第一预测数据值,并获取数据值与第一预测数据值之间的第二波动参数。
[0071] 其中,当前的第一预测数据值为当前时间的预测数据值,比如,今日的预测数据值等等。
[0072] 本发明实施例中,对非线性回归模型训练后,便可以得到非线性回归模型的待估模型参数,从而得到训练后的非线性回归模型。
[0073] 例如,以非线性回归模型为非线性多项式模型:YT=a0+a1T1+a2T2+...+apTp为例,在求解所有a后,便可以得到训练后的非线性多项式模型据(记为G(X)),然后,根据训练后的非线性多项式模型:YT=a0+a1T1+a2T2+...+apTp可以获取当前的第一预测数据值,也即预测当前的数据值,比如,预测今日的第一预测数据值。
[0074] 在本发明实施例中,在获取当前的第一预测数据值后,还可以获取当前数据的数据值与第一预测数据值之间的第二波动参数。
[0075] 其中,第二波动参数用于衡量数据值变化幅度的参数,比如,可以用于衡量当前数据的数据值相对于预测数据值的变化幅度。比如,该第二波动参数可记为confidence’,第二波动参数confidence’可以通过当前数据的数据值与预测数据值之差除以当前数据的数据值得到。如下:
[0076] 第二波动参数confidence’=(x-G(X))/x,x为当前数据的数据值,G(X)为非线性回归模型的预测数据值。
[0077] 本发明实施例中,第一波动参数的获取过程与第二波动参数的获取过程的时序可以有多种,比如,可以同时执行,或者先后执行。
[0078] 105、根据第一波动参数以及第二波动参数,确定当前数据的波动是否异常。
[0079] 可选地,可以根据第一波动参数以及第二波动参数获取当前数据的最终波动参数值,然后,根据最终波动参数值确定当前数据的波动是否异常。
[0080] 例如,当最终波动参数值在预设范围内时,确定当前数据的波动正常;
[0081] 当最终波动参数值不在预设范围内时,确定当前数据的波动异常。
[0082] 其中,基于第一波动参数和第二波动参数这两个参数的参数值,生成最终波动参数值的方式有多种,比如,可以第一波动参数和第二波动参数的参数值进行汇总处理,将汇总处理后的参数值作为当前数据的最终波动参数值。
[0083] 例如,可以对第一波动参数和第二波动参数的参数值进行加权平均处理,将加权平均值作为最终波动参数值。
[0084] 假设,第一波动参数为confidence,第二波动参数为confidence’,此时,可以最终波动参数值confidence final=q1*confidence+q2confidence’,其中,q1和q2为权重,可以根据实际需求设定,比如,q1=0.3、q2=0.7等等。
[0085] 在一实施例中,为了进一步提升数据波动识别的准确性,还可以引入自回归滑动平均模型(Auto-Regressive and Moving Average Model,ARMA)进行数据预测,并获取当前数据的数据值与该模型预测值之间的第三波动参数,然后,基于三个维度上的波动参数确定当前数据的波动是否异常。
[0086] 由于ARMA模型在预测时是有限制,其必须是基于平稳序列的预测,对于非平稳序列不可用,也即ARMA模型拟合序列即训练数据序列必须是一个平稳序列。因此,在使用ARMA模型预测之前,必须确定该模型的训练数据序列是否为一个平稳序列。
[0087] 可选地,步骤“根据第一波动参数以及第二波动参数,确定当前数据的波动是否异常”可以包括:
[0088] 当训练数据序列为平稳序列时,根据训练数据序列对自回归滑动平均模型进行训练;
[0089] 根据训练后的自回归滑动平均模型获取当前的第二预测数据值,并获取数据值与第二预测数据值之间的第三波动参数;
[0090] 根据第一波动参数、第二波动参数以及第三波动参数,确定当前数据的波动是否异常;
[0091] 当训练数据序列不为平稳序列时,根据第一波动参数以及第二波动参数,确定当前数据的波动是否异常。
[0092] 其中,平稳序列指的是一个时间序列,如果序列期望值没有趋势性的变化、方差没有很大幅度的变化,与当前的时间点弱相关,周期性特征不明显,就称之是平稳的序列,如最简单的等差数列。
[0093] 其中,ARMA模型是目前常用于计量经济学中分析未来数据的趋势的模型,该模型是由AR(p)(Auto-regressive,自回归模型)和MA(Moving-Average,移动平均模型)来模拟一组数据的变化情况。ARMA模型的表达式为:
[0094] Yt=a0+a1Yt-1+a2Yt-2+...+apYt-p+b1et+b2et-2+...+bqet-q
[0095] 其中,et是服从期望值E(et)=0,方差为D(et)=d2的分布,并且et和et+n相互独立。a和b是待估参数,给出了这个模型之后,就需要求出这个模型中a,b的值才能得到Yt的表达式F(Yt)。求解方式采用最小二乘法即可完成。
[0096] 其中,自回归模型:(AutoRegression,AR)简记为AR(P),指的是如下形式的随机过程:YT=A1YT-1+A2YT-2+....+APYT-P+UT其中的A1、A2、...、AP是P个待求参数;p是滞后期限的数目。
[0097] 移动平均模型:同样以上述自回归过程为例,YT是YT,,,,YT-p的函数,通过差分运算可以计算得出YT=UT-A1UT-1-APUT-P。
[0098] 本发明实施例中,当训练数据序列为平稳序列(即上述Yt是平稳序列,也就是Yt的期望,方差,自相关函数与t无关)时,可以采用ARMA模型拟合该平稳序列,具体地,可以根据平稳序列对ARMA模型进行训练,即求解ARMA模型的待估模型参数,如上述ARMA模型表达式中的a和b。
[0099] 当训练数据序列不为平稳序列时,就不能用ARMA模型拟合该平稳序列,因此,本发明实施例在训练数据序列为非平稳序列时,不采用ARMA模型预测数据值;此时,可以根据非线性回归模型对训练数据序列进行拟合,基于非线性回归模型预测数据值,然后,根据当前数据与该预测数据值的波动参数,以及当前数据与历史数据值的波动参数确定数据的波动是否异常。
[0100] 本发明实施例中,非线性回归模型一方面作为ARMA的补充,即当数据序列不平稳的情况下,通过该模型预测数据值;另一方面在序列平稳的情况下,可以和ARMA模型一并进预测得出更合理的预测值,产生多个维度波动参数,提升数据波动识别的准确性。
[0101] 其中,基于训练数据序列对ARMA模型进行训练,就是求解ARMA模型的待估模型参数。
[0102] ARMA模型的待估模型参数的求解,最主要的是确定ARMA模型的滞后阶数,也称为滞后期,即上述的ARMA模型表达式中的p、q参数。
[0103] 本发明实施例可以通过自相关函数分析和偏自相关函数分析方式确定滞后阶数;然后,通过最小二乘法求解待估模型参数。
[0104] 假设ARMA模型为:R=Xt+Yt,其中,Yt=b1et+b2et-2+...+bqet-q;Xt=a0+a1Yt-1+a2Yt-2+...+apYt-p。
[0105] 参考图2,ARMA模型的滞后阶数确定过程如下:
[0106] 201、设置滞后阶数q=1,p=1。
[0107] 202、判断q是否大于5,若否,则执行步骤203,若是,则步骤207。
[0108] 203、获取滞后阶数q的自相关系数。
[0109] 也即,计算序列Yt和Yt+q之间的相关系数:
[0110] Cov(Yt,Yt+q)=E(Yt-ut)(Yt+q-ut)/D(Yt)。
[0111] 204、判断自相关系数是否为零,若是,执行步骤206,若否,则执行步骤205。
[0112] 205、将q的值加1,并返回执行步骤202。
[0113] 206、确定q为当前设置的值,转步骤208。
[0114] 滞后阶数q确定后,便可以确定Yt=b1et+b2et-2+...+bqet-q。
[0115] 207、将Yt设置为0,转步骤208。
[0116] 当q>5时,表明拟合程度太低,此时,可以将Yt设置为零,ARMA模型为:R=Xt+0。
[0117] 208、判断滞后阶数p是否大于5,若否,则执行步骤209,若是,则执行步骤213。
[0118] 209、获取滞后期p的偏自相关系数。
[0119] 计算序列Xt和Xt+p之间的偏相关系数:
[0120] E{[(x(t)-Ex(t)][x(t-k)-Ex(t-k)])}/E{[x(t-k)-Ex(t-k)]^2}。
[0121] 210、判断偏自相关系数是否为零,若是,则执行步骤211,若否,则执行[0122] 211、确定p为当前设置的值,结束流程。
[0123] 在p确定后,便可以得到确定Xt=a0+a1Yt-1+a2Yt-2+...+apYt-p。
[0124] 212、将p的值加1,并返回执行步骤208。
[0125] 213、将设置Xt设置为0,结束流程。
[0126] 当p>5时,表明拟合程度太低,此时,可以将Xt设置为零,ARMA模型为:R=0+Yt。
[0127] 通过上述方式可以确定ARMA模型的滞后阶数p、q,在滞后阶数p、q确定后,便可以构建ARMA模型:
[0128] Yt=a0+a1Yt-1+a2Yt-2+...+apYt-p+b1et+b2et-2+...+bqet-q这里将R赋予Yt。
[0129] 在ARMA模型构建后,便可以采用最小二乘法求解待估模型参数。比如,设已知的实际值为yt(即训练数据序列),通过调用python的最小二乘法求出所有的a和b,使得(Yt-yt2
) 出值最小即可。
[0130] 在求解出ARMA模型的待估模型参数如a、b后,便可以得到ARMA模型的切确的模型表达式,如数据Yt的表达式F(Yt);然后,基于ARMA模型预测当前的数据值,即获取当前的第二预测数据值,如预测今日的数据值。比如,Yt+1的值就可以用F(Yt+1)来求。
[0131] 在通过ARMA模型获取第二预测数据值后,可以获取当前数据的数据值与该第二预测数据值之间的第三波动参数。最后,结合第一波动参数、第二波动参数以及第三波动参数,确定当前数据的波动是否异常。
[0132] 其中,第三波动参数为用于衡量数据值变化幅度的参数,比如,可以用于衡量当前数据的数据值相对于预测数据值的变化幅度。比如,该第三波动参数可记为confidence”,第三波动参数confidence”可以通过当前数据的数据值与预测数据值之差除以当前数据的数据值得到。如下:
[0133] 第三波动参数confidence”=(x-ARMA(x))/x,x为当前数据的数据值,ARMA(x)为ARMA模型的预测数据值。
[0134] 其中,基于第一波动参数、第二波动参数以及第三波动参数这三个波动参数,确定当前数据的波动是否异常的方式可以有多种,比如,也根据这个三波动参数的参数值获取最终波动参数值,然后,基于最终波动参数值确定数据的播放是否异常。
[0135] 比如,步骤“根据第一波动参数、第二波动参数以及第三波动参数,确定当前数据的波动是否异常”,可以包括:
[0136] 根据第一波动参数、第二波动参数以及第三波动参数的参数值获取当前数据的最终波动参数值;
[0137] 当最终波动参数值在预设范围内时,确定当前数据的波动正常;
[0138] 当最终波动参数值不在预设范围内时,确定当前数据的波动异常。
[0139] 其中,基于第一波动参数、第二波动参数以及第三波动参数这三个参数的参数值,生成最终波动参数值的方式有多种,比如,可以第一波动参数、第二波动参数和第三波动参数的参数值进行汇总处理,将汇总处理后的参数值作为当前数据的最终波动参数值。
[0140] 例如,为了提升数据波动识别的准确性和效率,可以对第一波动参数、第二波动参数以及第三波动参数的参数值进行加权平均处理,将加权平均值作为最终波动参数值。
[0141] 假设,第一波动参数为confidence,第二波动参数为confidence’,第三波动参数为confidence”,此时,可以最终波动参数值confidence final=q1*confidence+q2*confidence’+q3*confidence”,其中,q1、q2、q3为权重,可以根据实际需求设定,比如,q1=0.3、q2=0.3、q3=0.3等等。
[0142] 由上可知,本发明实施例采用获取当前数据的数据值;获取数据值与历史数据值之间的第一波动参数;根据训练数据序列对非线性回归模型进行训练;根据训练后的非线性回归模型获取当前的第一预测数据值,并获取数据值与第一预测数据值之间的第二波动参数;根据第一波动参数以及第二波动参数,确定当前数据的波动是否异常。该方案可以获取数据在多个维度上的波动参数(如第一波动参数和第二波动参数等),基于多维波动参数确定数据波动是否异常,因此,可以提升数据波动的识别准确性。
[0143] 此外,该方案还可以增加ARMA模型进行数据预测,增加波动指标的维度,可以对业务数据进行多维预测,得到多个维度的波动指标(如第一、第二、第三波动参数等),基于多个维度的波动指标确定数据波动是否异常,进一步提升了数据波动的识别准确性和灵活性,
[0144] 根据上述实施例所描述的方法,以下将作进一步详细说明。
[0145] 参考图3a和图3b,一种数据波动识别方法,具体流程如下:
[0146] 301、接收数据生成器当前上报的数据,并获取当前数据的数据值。
[0147] 考虑到监控的数据源是多种多样,比如,可以是mysql,hive等数据库,也可以是单个的文件(file)或者分布式文件(hdfs),甚至是一段可以执行的代码(shell脚本)。因此,获取的数据类型或格式不相同。
[0148] 为了提升数据波动识别效率,可选地,还可以对数据格式或类型进行规范化处理。可以将监控的数据源抽象成相应的数据生成器(generator),通过数据生成器(generator)从对应的数据源获取当前时间对应的数据,通过数据生成器将数据转换成统一数据格式的数据上报。
[0149] 其中,数据源的抽象方法可以基于jdbc的方式来抽象。在实际应用中,可以在数据抽象层实现generator抽象。数据抽象层的核心功能就是分析各种各样的数据源,并且调整适配并生成对应的generator,这样所有的数据源进行数据抽象层之后,对外都表现成generator这一种数据格式。
[0150] generator实现从数据源获取数据,并且向监控逻辑层(用于识别波动的层)提供统一数据上报格式的数据。
[0151] 302、获取数据值与历史数据值之间的第一波动参数,转步骤307。
[0152] 其中,历史数据值为之前从数据源获取到的数据的值,即在当前时间之前从数据源获取到的数据的值。比如,可以为上一次从数据源获取到的数据的值。
[0153] 例如,历史数据值可以为昨日从数据源获取的数据的值。
[0154] 其中,第一波动参数为用于衡量数据值变化幅度的参数,比如,可以用于衡量当前数据的数据值相对于历史数据值的数据值变化幅度。比如,该第一波动参数可以包括波动率confidence,波动率confidence可以通过当前数据的数据值与历史数据值之差除以历史数据值得到。如下:
[0155] 波动率confidence=(x-x-1)/x-1,其中,x为当前数据的数据值,x-1为历史数据值。
[0156] 303、根据训练数据序列对非线性回归模型进行训练,并根据训练后的非线性回归模型获取当前的第一预测数据值。
[0157] 其中,线性回归为:已经知道一系列的线性数据列,比如时间序列(时间序列或称动态数列是指将同一统计指标的数值按其发生的时间先后顺序排列而成的数列),设时间序列符合线性特征,即可以用Y=WX+b来表示(即线性回归模型表达式),其中W和b为待估参数,线性回归通过计算已知的样本与函数Y=WX+b直接的二范数,最小化二范数使得回归方程Y=WX+b最接近已有的时间序列样本。
[0158] 其中,非线性回归为:与线性回归类似,只是在非线性回归中,待评估的函数Y=f(X)是一个非线性函数,同样也是通过最小化二范数使得回归方程Y=f(X)与已有的时间序列样本最接近。
[0159] 其中,非线性回归模型可以有多种,比如,双曲线模型、幂函数模型、非线性多项式模型等等。
[0160] 例如,以非线性回归模型为非线性多项式模型为例,非线性多项式模型的模型表达式为:
[0161] YT=a0+a1T1+a2T2+...+apTp
[0162] 其中,p表示的是幂级数。因为任何曲线、曲面、超曲面的问题,在一定的范围内都能够用多项式任意逼近。p代表的是逼近的程度,本发明实施例中中优选p=4即4项式,a为待估模型参数,求解方式采用最小二乘法即可完成。
[0163] 其中,训练数据序列为一个时间序列,包括多个历史数据值,历史数据按其对应的时间先后顺序排列。
[0164] 其中,非线性回归模型的训练过程可以参考上述实施例的描述。
[0165] 304、获取数据值与第一预测数据值之间的第二波动参数,转步骤307。
[0166] 其中,第二波动参数用于衡量数据值变化幅度的参数,比如,可以用于衡量当前数据的数据值相对于预测数据值的变化幅度。比如,该第二波动参数可记为confidence’,第二波动参数confidence’可以通过当前数据的数据值与预测数据值之差除以当前数据的数据值得到。如下:
[0167] 第二波动参数confidence’=(x-G(X))/x,x为当前数据的数据值,G(X)为非线性回归模型的预测数据值。
[0168] 305、当训练数据序列为平稳序列时,根据训练数据序列对自回归滑动平均模型进行训练;根据训练后的自回归滑动平均模型获取当前的第二预测数据值;当训练数据序列不为平稳序列时,不执行自回归滑动平均模型训练和预测。
[0169] 其中,ARMA模型是目前常用于计量经济学中分析未来数据的趋势的模型,该模型是由AR(p)(Auto-regressive,自回归模型)和MA(Moving-Average,移动平均模型)来模拟一组数据的变化情况。ARMA模型的表达式为:
[0170] Yt=a0+a1Yt-1+a2Yt-2+...+apYt-p+b1et+b2et-2+...+bqet-q
[0171] 其中,et是服从期望值E(et)=0,方差为D(et)=d2的分布,并且et和et+n相互独立。a和b是待估参数,给出了这个模型之后,就需要求出这个模型中a,b的值才能得到Yt的表达式F(Yt)。求解方式采用最小二乘法即可完成。
[0172] 其中,自回归模型:(AutoRegression,AR)简记为AR(P),指的是如下形式的随机过程:YT=A1YT-1+A2YT-2+....+APYT-P+UT其中的A1、A2、...、AP是P个待求参数;p是滞后期限的数目。
[0173] 移动平均模型:同样以上述自回归过程为例,YT是YT,,,,YT-p的函数,通过差分运算可以计算得出YT=UT-A1UT-1-APUT-P。
[0174] 本发明实施例中,当训练数据序列为平稳序列(即上述Yt是平稳序列,也就是Yt的期望,方差,自相关函数与t无关)时,可以采用ARMA模型拟合该平稳序列,具体地,可以根据平稳序列对ARMA模型进行训练,即求解ARMA模型的待估模型参数,如上述ARMA模型表达式中的a和b。
[0175] 当训练数据序列不为平稳序列时,就不能用ARMA模型拟合该平稳序列,因此,本发明实施例在训练数据序列为非平稳序列时,不采用ARMA模型预测数据值;此时,可以根据非线性回归模型对训练数据序列进行拟合,基于非线性回归模型预测数据值,然后,根据当前数据与该预测数据值的波动参数,以及当前数据与历史数据值的波动参数确定数据的波动是否异常。
[0176] 可见,本发明实施例中个,非线性回归模型一方面作为ARMA的补充,即当数据序列不平稳的情况下,通过该模型预测数据值;另一方面在序列平稳的情况下,可以和ARMA模型一并进预测得出更合理的预测值,产生多个维度波动参数,提升数据波动识别的准确性。
[0177] 其中,基于训练数据序列对ARMA模型进行训练,就是求解ARMA模型的待估模型参数。
[0178] ARMA模型的待估模型参数的求解,最主要的是确定ARMA模型的滞后阶数,也称为滞后期,即上述的ARMA模型表达式中的p、q参数。
[0179] 具体地,滞后阶数确定以及模型参数求解可以参考上述实施例的描述。
[0180] 306、获取数据值与第二预测数据值之间的第三波动参数,转步骤307。
[0181] 其中,第三波动参数为用于衡量数据值变化幅度的参数,比如,可以用于衡量当前数据的数据值相对于预测数据值的变化幅度。比如,该第三波动参数可记为confidence”,第三波动参数confidence”可以通过当前数据的数据值与预测数据值之差除以当前数据的数据值得到。如下:
[0182] 第三波动参数confidence”=(x-ARMA(x))/x,x为当前数据的数据值,ARMA(x)为ARMA模型的预测数据值。
[0183] 307、根据当前的波动参数确定当前数据的波动是否异常。
[0184] 本发明实施例中,如果训练数据序列为平稳序列时,当前的波动参数可以包括:第一波动参数、第二波动参数以及第三波动参数;
[0185] 如果训练数据序列不为平稳序列时,当前的波动参数可以包括:第一波动参数、第二波动参数。
[0186] 在获取到当前的波动参数后,可以根据当前的波动参数获取当前数据的最终波动参数值;
[0187] 当最终波动参数值在预设范围内时,确定当前数据的波动正常;
[0188] 当最终波动参数值不在预设范围内时,确定当前数据的波动异常。
[0189] 比如,可以根据第一波动参数、第二波动参数以及第三波动参数的参数值获取当前数据的最终波动参数值,或者据第一波动参数、第二波动参数获取当前数据的最终波动参数值;
[0190] 当最终波动参数值在预设范围内时,确定当前数据的波动正常;
[0191] 当最终波动参数值不在预设范围内时,确定当前数据的波动异常。
[0192] 其中,基于第一波动参数、第二波动参数以及第三波动参数这三个参数的参数值,生成最终波动参数值的方式有多种,比如,可以第一波动参数、第二波动参数和第三波动参数的参数值进行汇总处理,将汇总处理后的参数值作为当前数据的最终波动参数值。
[0193] 例如,参考图3b,为了提升数据波动识别的准确性和效率,可以对第一波动参数、第二波动参数以及第三波动参数的参数值进行加权平均处理,将加权平均值作为最终波动参数值。
[0194] 假设,第一波动参数为confidence,第二波动参数为confidence’,第三波动参数为confidence”,此时,可以最终波动参数值confidence final=q1*confidence+q2*confidence’+q3*confidence”,其中,q1、q2、q3为权重,可以根据实际需求设定,比如,q1=0.3、q2=0.3、q3=0.3等等。
[0195] 实际应用中,本发明实施例提供的识别方案可以在监控逻辑层实现。
[0196] 由上可知,本发明实施例提供的方案可以基于ARMA预测模型和非线性回归模型的组合对数据进行预测,得到多个维度的波动参数,然后,基于多个维度的波动参数确定数据波动是否异常,可以提升数据波动的识别准确性和真实性。
[0197] 本发明实施例提供的方案可以检测业务上数据的周末效应,比如我们的在线问诊业务,在周末的时候问诊的订单会回落很多,如果按照现有识别方式就会把业务数据的这种波动当成异常来告警。但是采用本发明实施例的方案之后。由于预测值本身就基于历史数据进行学习的,那么与实际值的波动率就在正常区间,结合多个维度的波动参数确定业务数据的波动是正常的。
[0198] 此外,该方案可以将监控数据源的抽象化,抽象成数据生成器,不限制用户输入具体的数据类型,只需要用户提供一个具有数据输出能力的接口,配置到监控系统即可,包括但不限于mysql,hive数据源,其他的可执行脚本比如python,shell,perl等可以直接通过shell调起的脚本。
[0199] 为了更好地实施以上方法,本发明实施例还提供一种数据波动识别装置,如图4a所示,该数据波动识别装置可以包括:数据获取单元401、第一参数获取单元402、训练单元403、第二参数获取单元404以及确定单元405,如下:
[0200] 数据获取单元401,用于获取当前数据的数据值;
[0201] 第一参数获取单元402,用于获取所述数据值与历史数据值之间的第一波动参数;
[0202] 训练单元403,用于根据训练数据序列对非线性回归模型进行训练;
[0203] 第二参数获取单元404,用于根据训练后的非线性回归模型获取当前的第一预测数据值,并获取所述数据值与所述第一预测数据值之间的第二波动参数;
[0204] 确定单元405,用于根据所述第一波动参数以及所述第二波动参数,确定所述当前数据的波动是否异常。
[0205] 在一实施例中,参考图4b,其中,确定单元405可以包括:
[0206] 训练子单元4051,用于当所述训练数据序列为平稳序列时,根据所述训练数据序列对自回归滑动平均模型进行训练;
[0207] 参数获取子单元4052,用于根据训练后的自回归滑动平均模型获取当前的第二预测数据值,并获取所述数据值与所述第二预测数据值之间的第三波动参数;
[0208] 第一异常确定子单元4053,用于根据所述第一波动参数、所述第二波动参数以及第三波动参数,确定所述当前数据的波动是否异常;
[0209] 第二异常确定子单元4054,用于当所述训练数据序列不为平稳序列时,根据所述第一波动参数以及所述第二波动参数,确定所述当前数据的波动是否异常。
[0210] 在一实施例中,所述第一异常确定子单元4053,用于:
[0211] 根据所述第一波动参数、所述第二波动参数以及第三波动参数的参数值获取所述当前数据的最终波动参数值;
[0212] 当所述最终波动参数值在预设范围内时,确定所述当前数据的波动正常;
[0213] 当所述最终波动参数值不在预设范围内时,确定所述当前数据的波动异常。
[0214] 在一实施例中,所述第一异常确定子单元4053,可以具体用于:
[0215] 对所述第一波动参数、所述第二波动参数以及第三波动参数的参数值进行加权平均处理,得到加权平均参数值;
[0216] 将所述加权平均参数值作为所述当前数据的最终波动参数值。
[0217] 在一实施例中,数据获取单元401,可以用于:
[0218] 从数据源获取数据,得到当前数据;
[0219] 将所述当前数据转换成统一数据格式的数据,得到转换后数据的数据值。
[0220] 在一实施例中,训练单元403,可以用于:
[0221] 确定非线性回归模型中待估模型参数的个数;
[0222] 基于最小二乘法、所述训练数据序列求解非线性回归模型的待估模型参数,得到训练后的非线性回归模型。
[0223] 在一实施例中,训练子单元4051,可以用于:
[0224] 基于自相关函数分析和偏自相关函数分析方式,确定自回归滑动平均模型的滞后阶数;
[0225] 基于最小二乘法、所述滞后阶数和所述训练数据序列,求解所述自回归滑动平均模型的待估模型参数,得到训练后的自回归滑动平均模型。
[0226] 以上各单元的执行的步骤可以参考上述方法实施例的描述。
[0227] 具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
[0228] 该数据波动识别装置具体可以集成服务器中,如监控服务器等。
[0229] 由上可知,本发明实施例的数据波动识别装置通过数据获取单元401获取当前数据的数据值;由第一参数获取单元402获取所述数据值与历史数据值之间的第一波动参数;由训练单元403根据训练数据序列对非线性回归模型进行训练;由第二参数获取单元404根据训练后的非线性回归模型获取当前的第一预测数据值,并获取所述数据值与所述第一预测数据值之间的第二波动参数;由确定单元405根据所述第一波动参数以及所述第二波动参数,确定所述当前数据的波动是否异常。该方案可以获取数据在多个维度上的波动参数(如第一波动参数和第二波动参数等),基于多维波动参数确定数据波动是否异常,因此,可以提升数据波动的识别准确性。
[0230] 此外,该方案还可以增加ARMA模型进行数据预测,增加波动指标的维度,可以对业务数据进行多维预测,得到多个维度的波动指标(如第一、第二、第三波动参数等),基于多个维度的波动指标确定数据波动是否异常,进一步提升了数据波动的识别准确性和灵活性,
[0231] 参考图5,本发明实施例提供了一种服务器500,可以包括一个或者一个以上处理核心的处理器501、一个或一个以上计算机可读存储介质的存储器502、射频(Radio Frequency,RF)电路503、电源504、输入单元505等部件。本领域技术人员可以理解,图5中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
[0232] 处理器501是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器502内的软件程序和/或模块,以及调用存储在存储器502内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器501可包括一个或多个处理核心;优选的,处理器501可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器501中。
[0233] 存储器502可用于存储软件程序以及模块,处理器501通过运行存储在存储器502的软件程序以及模块,从而执行各种功能应用以及数据处理。
[0234] RF电路503可用于收发信息过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器501处理;另外,将涉及上行的数据发送给基站。
[0235] 服务器还包括给各个部件供电的电源504(比如电池),优选的,电源可以通过电源管理系统与处理器501逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源504还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0236] 该服务器还可包括输入单元505,该输入单元505可用于接收输入的数字或字符信息。
[0237] 具体在本实施例中,服务器中的处理器501会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器502中,并由处理器501来运行存储在存储器502中的应用程序,从而实现各种功能,如下:
[0238] 获取当前数据的数据值;获取所述数据值与历史数据值之间的第一波动参数;根据训练数据序列对非线性回归模型进行训练;根据训练后的非线性回归模型获取当前的第一预测数据值,并获取所述数据值与所述第一预测数据值之间的第二波动参数;根据所述第一波动参数以及所述第二波动参数,确定所述当前数据的波动是否异常。
[0239] 在一些实施例中,当根据所述第一波动参数以及所述第二波动参数,确定所述当前数据的波动是否异常时,所述处理器501具体执行以下步骤:
[0240] 当所述训练数据序列为平稳序列时,根据所述训练数据序列对自回归滑动平均模型进行训练;
[0241] 根据训练后的自回归滑动平均模型获取当前的第二预测数据值,并获取所述数据值与所述第二预测数据值之间的第三波动参数;
[0242] 根据所述第一波动参数、所述第二波动参数以及第三波动参数,确定所述当前数据的波动是否异常;
[0243] 当所述训练数据序列不为平稳序列时,根据所述第一波动参数以及所述第二波动参数,确定所述当前数据的波动是否异常。
[0244] 在一些实施例中,当根据所述第一波动参数、所述第二波动参数以及第三波动参数,确定所述当前数据的波动是否异常时,所述处理器501具体执行以下步骤:
[0245] 根据所述第一波动参数、所述第二波动参数以及第三波动参数的参数值获取所述当前数据的最终波动参数值;
[0246] 当所述最终波动参数值在预设范围内时,确定所述当前数据的波动正常;
[0247] 当所述最终波动参数值不在预设范围内时,确定所述当前数据的波动异常。
[0248] 在一些实施例中,当获取当前数据的数据值时,所述处理器501具体执行以下步骤:
[0249] 从数据源获取数据,得到当前数据;
[0250] 将所述当前数据转换成统一数据格式的数据,得到转换后数据的数据值。
[0251] 在一些实施例中,当根据训练数据序列对非线性回归模型进行训练时,所述处理器501具体执行以下步骤:
[0252] 确定非线性回归模型中待估模型参数的个数;
[0253] 基于最小二乘法、所述训练数据序列求解非线性回归模型的待估模型参数,得到训练后的非线性回归模型。
[0254] 在一些实施例中,当根据所述训练数据序列对自回归滑动平均模型进行训练时,所述处理器501具体执行以下步骤:
[0255] 基于自相关函数分析和偏自相关函数分析方式,确定自回归滑动平均模型的滞后阶数;
[0256] 基于最小二乘法、所述滞后阶数和所述训练数据序列,求解所述自回归滑动平均模型的待估模型参数,得到训练后的自回归滑动平均模型。
[0257] 本发明实施例的服务器可以获取当前数据的数据值;获取所述数据值与历史数据值之间的第一波动参数;根据训练数据序列对非线性回归模型进行训练;根据训练后的非线性回归模型获取当前的第一预测数据值,并获取所述数据值与所述第一预测数据值之间的第二波动参数;根据所述第一波动参数以及所述第二波动参数,确定所述当前数据的波动是否异常。该方案可以获取数据在多个维度上的波动参数(如第一波动参数和第二波动参数等),基于多维波动参数确定数据波动是否异常,因此,可以提升数据波动的识别准确性。
[0258] 本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
[0259] 以上对本发明实施例所提供的一种数据波动识别方法、装置及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。