时间序列异常值检测方法及装置与流程

文档序号:12467190阅读:229来源:国知局
时间序列异常值检测方法及装置与流程

本发明涉及数据分析技术领域,特别是涉及一种时间序列异常值检测方法及装置。



背景技术:

在自动化运维技术领域中,时间序列在过程工业、金融业以及通信业等各领域中普遍存在,通过时间序列异常值检测可提前发现系统运行问题,因此对时间序列分析研究受到很多学者的关注。在时间序列的众多研究课题中,时间序列异常值检测因其直接关系时间序列的质量成为时间序列研究的重点。

目前,一般通过单个的时间模型检测时间序列异常值,如通过动态线性模型,ARMA(Auto-Regressive and Moving Average Model,自回归滑动平均模型)以及季节性等模型检测时间序列异常值。即异常值检测主要取决于时间模型的预测效果,如果时间模型效果不稳定将会影响异常值检测的效果。



技术实现要素:

有鉴于此,本发明提供一种时间序列异常值检测方法及装置,主要目的在于提高时间序列异常值的检测效果。

依据本发明一个方面,提供了一种时间序列异常值检测方法,包括:

根据历史时间序列训练第一时间模型和第二时间模型,第一时间模型和第二时间模型用于计算混合模型的预测值;

获取第一时间模型和第二时间模型分别对应的预测值、方差;

通过所述第一时间模型和第二时间模型分别对应的预测值、方差计算所述混合模型的预测值;

计算所述混合模型的预测值与所述历史时间序列的观测值之差得到白噪音分布;

将所述白噪音分布中不在正常置信区间的值确定为异常值。

依据本发明一个方面,提供了一种时间序列异常值检测装置,包括:

训练单元,用于根据历史时间序列训练第一时间模型和第二时间模型,第一时间模型和第二时间模型用于计算混合模型的预测值;

获取单元,用于获取第一时间模型和第二时间模型分别对应的预测值、方差;

计算单元,用于通过所述第一时间模型和第二时间模型分别对应的预测值、方差计算所述混合模型的预测值;

所述计算单元,还用于计算所述混合模型的预测值与所述历史时间序列的观测值之差得到白噪音分布;

确定单元,用于将所述白噪音分布中不在正常置信区间的值确定为异常值。

借由上述技术方案,本发明实施例提供的技术方案至少具有下列优点:

本发明实施例提供一种时间序列异常值检测方法及装置,与目前通过单个的时间模型检测时间序列异常值相比,本发明实施例利用模型混合的方法综合考虑多个模型的预测值得出最合理的预测值,因此只要多个时间模型中一个模型在数据序列上效果表现良好,那么混合模型将会在时间序列上取得良好的预测效果,从而通过本发明实施例提高了时间序列异常值的检测效果。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明实施例提供的一种时间序列异常值检测方法流程图;

图2示出了本发明实施例提供的时间序列异常值检测结果图;

图3示出了本发明实施例提供的一种时间序列异常值检测装置的结构框图;

图4示出了本发明实施例提供的另一种时间序列异常值检测装置的结构框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明实施例提供了一种时间序列异常值检测方法,如图1所示,该方法包括:

101、根据历史时间序列训练第一时间模型和第二时间模型。

其中,第一时间模型和第二时间模型用于计算混合模型的预测值,历史时间序列为训练时间模型的样本,具体可以选择数据库中前一天的时间序列作为训练样本。在本发明实施例中,第一时间模型和第二时间模型是不同的时间模型且各时间模型的训练过程是相互独立的,第一时间模型和第二时间模型具体可以为:动态线性模型,季节性等模型,以及ARMA(Auto-Regressive and Moving Average Model,自回归滑动平均模型)等,本发明实施例不做具体限定。

102、获取第一时间模型和第二时间模型分别对应的预测值、方差。

在通过步骤101获取到训练的第一时间模型和第二时间模型之后,具体可以根据卡尔曼滤波算法得到第一时间模型、第二时间模型分别对应的预测值。然后分别计算第一时间模型与第二时间模型中预测值的平均值,并依据方差公式:S^2=〈(X1-M)^2+(X2-M)^2+(X3-M)^2+…+(Xn-M)^2〉/n-1计算第一时间模型与第二时间模型分别对应的方差。其中,X1,X2,X3,…Xn是通过第一时间模型或第二时间模型得到的预测值,M代表预测值的平均值,n为预测值的个数。

103、通过所述第一时间模型和第二时间模型分别对应的预测值、方差计算所述混合模型的预测值。

在本发明实施例中,步骤103包括:根据所述第一时间模型和所述第二时间模型分别对应的方差计算所述混合模型的混合系数;根据所述第一时间模型和第二时间模型分别对应的预测值和所述混合系数计算混合模型的预测值。对于本发明实施例,所述根据所述第一时间模型和所述第二时间模型分别对应的方差计算所述混合模型的混合系数包括:计算所述第一时间模型的方差与所述第二时间模型的方差之和得到方差和;根据所述第一时间模型的方差与所述方差和的比值获取所述混合系数。具体的,可通过融合第一时间模型和第二时间模型预测值得到混合模型的预测值,获取混合模型的预测值的公式具体可以为:X=x1+K(x2-x1),其中v1为第一时间模型的方差,v2为第二时间模型的方差,K为混合系数,X为混合模型的预测值。

在本发明实施例中,所述根据所述第一时间模型和第二时间模型分别对应的预测值和所述混合系数计算混合模型的预测值包括:计算所述第二时间模型的预测值与所述第一时间模型的预测值之差得到预测差值;通过计算所述预测差值与所述混合系数的乘积与所述第一时间模型的预测值的和得到所述混合模型的预测值。例如,通过x1表示第一时间模型的预测值,x2表示第二时间模型的预测值,则通过混合模型预测值公式X=x1+K(x2-x1)求得混合模型的预测值。

需要说明的是,为了使得到的混合模型的预测值的效果更好,还可以通过训练的其他时间模型对得到的混合模型再次进行融合。如在步骤101中根据历史时间序列还训练有第三时间模型,则在通过步骤103得到混合模型之后,再根据得到的混合模型和第三时间模型对通过第一时间模型和第二时间模型得到的混合模型进行再次融合,即通过两两融合时间模型的方式得到混合模型,从而本发明实施例中的混合模型实现了多种时间模型的融合。

104、计算所述混合模型的预测值与所述历史时间序列的之差得到白噪音分布。

105、将所述白噪音分布中不在正常置信区间的值确定为异常值。

对于本发明实施例,正常置信区间可以根据混合模型的预测值得到,即首先求得混合模型预测值的均值及标准差,然后通过混合模型的均值和标准差设置正常的置信区间。如图2所示的时间序列异常值检测结果图中,正常置信区间下限通过公式a=M-n*ST进行设置;正常置信区间上限通过公式a=M+n*ST进行设置,其中M表示混合模型的均值,ST表示混合模型的方差,当求取90%置信区间时n=1.645;当求取95%置信区间时n=1.96;当求取99%置信区间时n=2.576。

本发明实施例提供一种时间序列异常值检测方法,利用模型混合的方法综合考虑多个模型的预测值得出最合理的预测值,因此只要多个时间模型中一个模型在数据序列上效果表现良好,那么混合模型将会在时间序列上取得良好的预测效果,从而通过本发明实施例提高了时间序列异常值的检测效果。

为了体现通过本发明实施例得到的混合模型的预测值更好,下面对本发明实施例中的融合方法理论进行证明:

Cramer(零均值误差成分)分解定理是对于任何一个时间序列{xi}都可以分解为两部分的叠加:一部分是有多项式决定的确定趋势成分,另一部分是平稳的零均值误差成分,即可通过下述公式(1)表示Cramer定理:

其中,d<∞;βj为常数;{εt}为零均值白噪音序列。由Cramer定理可知任何时间序列都可以分解为与时间相关的趋势序列和与时间无关的白噪音序列。

在实践应用中我们可以合理的做出如下假设:如果时间序列不发生异常,则噪音εt的密度函数不变。当噪音εt的密度函数发生改变事时间序列发生异常。

将公式(1)变换成如下形式:

εt=xtt (2)

由公式(2)可知观测值xt与预测值μt之差为时间序列的噪音εt。根据公式(2)我们可以得出噪音的均值以及方差,再根据在设置的置信区间的值可以求出不符合噪音εt分布的异常值。

第一时间模型的预测值x1,第二时间模型的预测值x2,预测值为x,且有以下条件:

E(x1-x)=0

E(x2-x)=0

cov(x1-x)=V1

cov(x2-x)=V2

模型融合之后的预测值为满足如下条件:

则模型融合之后预测值与准确值为x的期望存在如下关系:

同理方差存在如下关系:

将公式(5)简化如下:

再次简化公式(6),则

由于模型融合之后预测值与准确值为x的期望相同,则(8)越小,模型融合之后预测值越接近x,对公式(8)求导得到:

当公式(9)等于0时公式(8)达到最小值:

2Kcov(x2-x)-2(1-K)cov(x1-x)=0 (10)

进一步求解:

至此给出了本发明实施例的混合模型的融合理论依据。

进一步的,作为对上述图1所示方法的实现,本发明实施例提供了一种时间序列异常值检测装置,如图3所示,该装置包括:训练单元21、获取单元22,计算单元23以及确定单元24,其中,

训练单元21,用于根据历史时间序列训练第一时间模型和第二时间模型;

其中,第一时间模型和第二时间模型用于计算混合模型的预测值,历史时间序列为训练时间模型的样本,具体可以选择数据库中前一天的时间序列作为训练样本。在本发明实施例中,第一时间模型和第二时间模型是不同的时间模型且各时间模型的训练过程是相互独立的,第一时间模型和第二时间模型具体可以为:动态线性模型,季节性等模型,以及ARMA(Auto-Regressive and Moving Average Model,自回归滑动平均模型)等,本发明实施例不做具体限定。

获取单元22,用于获取第一时间模型和第二时间模型分别对应的预测值、方差;

在获取到训练的第一时间模型和第二时间模型之后,具体可以根据卡尔曼滤波算法得到第一时间模型、第二时间模型分别对应的预测值。然后分别计算第一时间模型与第二时间模型中预测值的平均值,并依据方差公式:S^2=〈(X1-M)^2+(X2-M)^2+(X3-M)^2+…+(Xn-M)^2〉/n-1计算第一时间模型与第二时间模型分别对应的方差。其中,X1,X2,X3,…Xn是通过第一时间模型或第二时间模型得到的预测值,M代表预测值的平均值,n为预测值的个数。

计算单元23,用于通过所述第一时间模型和第二时间模型分别对应的预测值、方差计算所述混合模型的预测值;

其中,混合系数根据所述第一时间模型和所述第二时间模型分别对应的方差得到。具体的,可通过融合第一时间模型和第二时间模型预测值得到混合模型的预测值,获取混合模型的预测值的公式具体可以为:X=x1+K(x2-x1),其中v1为第一时间模型的方差,v2为第二时间模型的方差,K为混合系数,X为混合模型的预测值。

需要说明的是,为了使得到的混合模型的预测值的效果更好,还可以通过训练的其他时间模型对得到的混合模型再次进行融合。如在根据历史时间序列还训练有第三时间模型,则在得到混合模型之后,再根据得到的混合模型和第三时间模型对通过第一时间模型和第二时间模型得到的混合模型进行再次融合,即通过两两融合时间模型的方式得到混合模型,从而本发明实施例中的混合模型实现了多种时间模型的融合。

所述计算单元23,还用于计算所述混合模型的预测值与所述历史时间序列的之差得到白噪音分布;

确定单元24,用于将所述白噪音分布中不在正常置信区间的值确定为异常值。

对于本发明实施例,正常置信区间可以根据混合模型的预测值得到,即首先求得混合模型预测值的均值及标准差,然后通过混合模型的均值和标准差设置正常的置信区间。如图2所示的时间序列异常值检测结果图中,正常置信区间下限通过公式a=M-n*ST进行设置;正常置信区间上限通过公式a=M+n*ST进行设置,其中M表示混合模型的均值,ST表示混合模型的方差,当求取90%置信区间时n=1.645;当求取95%置信区间时n=1.96;当求取99%置信区间时n=2.576。

本发明实施例提供一种时间序列异常值检测装置,利用模型混合的方法综合考虑多个模型的预测值得出最合理的预测值,因此只要多个时间模型中一个模型在数据序列上效果表现良好,那么混合模型将会在时间序列上取得良好的预测效果,从而通过本发明实施例提高了时间序列异常值的检测效果。

具体的,如图4所示,所述计算单元23包括:

第一计算模块231,还用于根据所述第一时间模型和所述第二时间模型分别对应的方差计算所述混合模型的混合系数;

第二计算模块232,具体用于根据所述第一时间模型和第二时间模型分别对应的预测值和所述混合系数计算混合模型的预测值。

具体的,如图4所示,所述第二计算模块232包括:

计算子模块,用于计算所述第二时间模型的预测值与所述第一时间模型的预测值之差得到预测差值;

获取子模块,用于通过计算所述预测差值与所述混合系数的乘积与所述第一时间模型的预测值的和得到所述混合模型的预测值。例如,通过x1表示第一时间模型的预测值,x2表示第二时间模型的预测值,则通过混合模型预测值公式X=x1+K(x2-x1)求得混合模型的预测值。

具体的,如图4所示,所述第一计算模块231包括:

计算子模块,用于计算所述第一时间模型的方差与所述第二时间模型的方差之和得到方差和;

获取子模块,用于根据所述第一时间模型的方差与所述方差和的比值获取所述混合系数。例如,通过v1表示第一时间模型的方差,v2表示第二时间模型的方差,则混合系数通过公式K=v1/(v1+v2)表示。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的时间序列异常值检测方法及装置(如确定网站内链接等级的装置)中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1