掌桥专利:专业的专利平台
掌桥专利
首页

时间序列中异常数据的检测方法和装置

文献发布时间:2023-06-19 13:26:15


时间序列中异常数据的检测方法和装置

技术领域

本说明书一个或多个实施例涉及计算机技术领域,尤其涉及时间序列中异常数据的检测方法和装置。

背景技术

通常针对某一现象,可以通过分析研究与该现象相关的随时间变化的数据,以实现对该现象的预测。比如温度、湿度和紫外线等随时间变化的数据能够反映天气的状况,如此通过对温度、湿度和紫外线等数据随时间变化的时间序列进行研究,可以实现对未来天气状况的预测。

然而,在对时间序列进行监控研究时,时常会发生电脑、研究模型以及业务等出现问题的情况,这就导致了监控研究的时间序列中随时间变化的数据会出现异常。

发明内容

本说明书一个或多个实施例描述了时间序列中异常数据的检测方法和装置,能够检测出时间序列中的异常数据。

根据第一方面,提供了时间序列中异常数据的检测方法,包括:

获取待检测时间段内的至少两组时间序列;其中,每一组时间序列对应一种指标数据,且每一组时间序列由随时间变化的指标数据构成;

针对每一组时间序列均执行:

从所述至少两组时间序列中确定出与当前时间序列相关的关联时间序列;

获取所述待检测时间段之外的对应所述当前时间序列的第一历史数据;

根据所述当前时间序列的第一历史数据、关联时间序列以及该当前时间序列,得到时间序列预测值;

根据所述时间序列预测值和所述当前时间序列中指标数据的实际值,对所述该当前时间序列中的异常指标数据进行检测。

在一个实施例中,其中,所述从所述至少两组时间序列中确定出与当前时间序列相关的关联时间序列,包括:

针对除所述当前时间序列之外的每一个时间序列,获取所述待检测时间段之外的对应该时间序列的第二历史数据;

将所述第二历史数据和该第二历史数据的实际值输入预先训练的损失函数估计模型中,得到至少一组损失函数值;其中,所述损失函数值用于反映两个时间序列之间的相关性;

根据预先设定的阈值范围,将各所述损失函数值中位于所述阈值范围之内的损失函数值所对应的时间序列,确定为所述当前时间序列的关联时间序列。

在一个实施例中,其中,所述根据所述当前时间序列的第一历史数据、关联时间序列以及该当前时间序列得到时间序列预测值,包括:

将所述当前时间序列和所述关联时间序列进行融合,得到第一预测值;

将所述第一预测值和所述当前时间序列的第一历史数据进行融合,得到所述时间序列预测值。

在一个实施例中,其中,所述将所述当前时间序列和所述关联时间序列进行融合,得到第一预测值,包括:

确定所述关联时间序列的权重值;

根据关联时间序列的权重值,确定对应所述当前时间序列的第一预测附加值;

根据所述当前时间序列确定第二预测值;

将所述第一预测附加值和所述第二预测值进行融合计算,得到所述当前时间序列的第一预测值。

在一个实施例中,其中,所述将所述第一预测值和所述当前时间序列的第一历史数据进行融合得到所述时间序列预测值,包括:

将所述当前时间序列的第一历史数据进行筛选,得到次级历史数据;其中,所述次级历史数据与所述当前时间序列的关联性高于所述关联时间序列与所述当前时间序列的关联性;

确定所述次级历史数据对应的第二预测附加值;

将所述第一预测值和所述第二预测附加值进行融合计算,得到所述时间序列预测值。

在一个实施例中,其中,所述将所述第一预测值和所述当前时间序列的第一历史数据进行融合得到所述时间序列预测值,包括:

将所述第一预测值和所述第一历史数据输入到时间卷积网络,得到所述时间序列预测值。

在一个实施例中,其中,所述根据所述时间序列预测值和所述当前时间序列中指标数据的实际值,对所述该当前时间序列中的异常指标数据进行检测,包括:

计算所述待检测时间段内每一个时间点所对应的所述当前时间序列的预测值和实际值之间的差值;

针对待检测时间段内的每一个时间点,根据该当前时间点与其他时间点之间的距离,对各时间点所对应的差值进行加权平滑,得到加权平滑数据;

根据预先设定的异常值区间,将所述加权平滑数据中位于所述异常值区间中的数据确定为所述当前时间序列中的异常数据。

在一个实施例中,其中,所述根据该当前时间点与其他时间点之间的距离对各时间点所对应的差值进行加权平滑,得到加权平滑数据,包括:

根据各时间点与当前时间点之间的距离,确定对应每个时间点的加权平滑比例值;

计算每个时间点所对应的所述加权平滑比例值与对应的差值之间的乘积,得到对应各个时间点的初级加权平滑数据;

将各个时间点所对应的所述初级加权平滑数据进行求和,得到对应该当前时间点的加权平滑数据。

根据第二方面,提供了时间序列中异常数据的检测装置,包括:

时间序列获取模块,配置为获取待检测时间段内的至少两组时间序列;其中,每一组时间序列对应一种指标数据,且每一组时间序列由随时间变化的指标数据构成;

关联时间序列确定模块,配置为针对所述时间序列获取模块获取到的每一组时间序列,从所述至少两组时间序列中确定出与当前时间序列相关的关联时间序列;

历史数据获取模块,配置为获取所述待检测时间段之外的对应所述当前时间序列的第一历史数据;

预测模块,配置为根据所述历史数据获取模块获取到的所述当前时间序列的第一历史数据、所述关联时间序列确定模块确定的关联时间序列以及所述时间序列获取模块获取到的当前时间序列,得到时间序列预测值;

异常检测模块,配置为根据所述预测模块得到的所述时间序列预测值和所述当前时间序列中指标数据的实际值,对所述该当前时间序列中的异常指标数据进行检测。

根据第三方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面中任一项所述的方法。

根据本说明书实施例提供的方法和装置,在对时间序列中异常数据进行检测时,首先获取待检测时间段内的至少两组由随时间变化的指标数据构成的时间序列,然后针对每一组时间序列,从获取到的至少两组时间序列中确定出与当前时间序列相关的关联时间序列。进一步,获取待检测时间段之外的对应当前时间序列的第一历史数据,通过根据得到的当前时间序列的第一历史数据、关联时间序列和该当前时间序列得到时间序列预测值。最后通过利用该时间序列预测值和当前时间序列中的实际值进行对比,即可检测出该当前时间序列中的指标指标数据是否存在异常。由此可见,本方案在对当前时间序列进行预测时,不仅考虑了当前时间序列的因素,而且充分考虑到了与该当前时间序列相关联的关联时间序列和历史数据,能够提高当前时间序列的预测值的准确度,从而在对时间序列中的异常数据进行检测时具有更高的检测精度。

附图说明

为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本说明书一个实施例提供的时间序列中异常数据的检测方法的流程图;

图2是本说明书一个实施例提供的关联时间序列的确定方法的流程图;

图3是本说明书一个实施例提供的时间序列预测值的确定方法的流程图;

图4是本说明书一个实施例提供的时间序列的第一预测值的确定方法的流程图;

图5是本说明书另一个实施例提供的时间序列预测值的确定方法的流程图;

图6是本说明书一个实施例提供的对时间序列中的异常指标数据进行检测的方法的流程图;

图7是本说明书一个实施例提供的时间序列中异常数据的检测装置的示意图。

具体实施方式

如前所述,通过分析研究与当前某一现象相关的随时间变化的数据能够实现对未来的该现象的预测。比如,通过模型打分量和策略稽核量监控能够实现风险预测,从而成为风险防控的重要防线。然而,在对能够表征随时间变化的数据的时间序列进行监控研究时,如果电脑、研究模型以及业务等出现问题,那么就会导致监控研究的时间序列中随时间变化的数据会出现异常,从而导致分析研究的结果也会出现异常。因此,在对时间序列分析研究时对时间序列中的异常数据进行检测至关重要。

目前,在对时间序列进行监控时大部分依赖于基线告警的方式,然而,基于同环比比较的告警机制误告警过多,准确率不高。特别是模型在不同区间的打分量指标往往具有很强的关联性,现有的单指标异常检测模型很难处理这类信息。虽然近年来出现的图神经网络在处理关联性较强的数据方面展现了比较好的优势,然而,图神经网络需要定义良好的图结构来进行信息传播,由于时间序列中的指标数据的依赖关系是事先不知道的,因此,直接采用图神经网络的方式显然无法得到理想的效果。

基于此,本方案针对多指标数据的时间序列,即针对多维时间序列,从时间序列本身的数据中发现其之间的依赖关系,然后根据其之间的关联性对时间序列中的异常数据进行检测。如此通过依据该时间序列的数据和与其相关联的数据对异常数据进行检测的方法,能够提高对时间序列中的异常数据进行检测的检测精度。如图1所示,本说明书实施例提供了时间序列中异常数据的检测方法,该方法可以包括如下步骤:

步骤101:获取待检测时间段内的至少两组时间序列;其中,每一组时间序列对应一种指标数据,且每一组时间序列由随时间变化的指标数据构成;

针对每一组时间序列均执行:

步骤103:从至少两组时间序列中确定出与当前时间序列相关的关联时间序列;

步骤105:获取待检测时间段之外的对应当前时间序列的第一历史数据;

步骤107:根据当前时间序列的第一历史数据、关联时间序列以及该当前时间序列,得到时间序列预测值;

步骤109:根据时间序列预测值和当前时间序列中指标数据的实际值,对该当前时间序列中的异常指标数据进行检测。

本实施例中,在对时间序列中异常数据进行检测时,首先获取待检测时间段内的至少两组由随时间变化的指标数据构成的时间序列,然后针对每一组时间序列,从获取到的至少两组时间序列中确定出与当前时间序列相关的关联时间序列。进一步,获取待检测时间段之外的对应当前时间序列的第一历史数据,通过根据得到的当前时间序列的第一历史数据、关联时间序列和该当前时间序列得到时间序列预测值。最后通过利用该时间序列预测值和当前时间序列中的实际值进行对比,即可检测出该当前时间序列中的指标指标数据是否存在异常。由此可见,本方案在对当前时间序列进行预测时,不仅考虑了当前时间序列的因素,而且充分考虑到了与该当前时间序列相关联的关联时间序列和历史数据,能够提高当前时间序列的预测值的准确度,从而在对时间序列中的异常数据进行检测时具有更高的检测精度。

在步骤101获取待检测时间段内的至少两组时间序列时,该两组时间序列应包括至少两种指标数据在待检测时间段内随时间变化的数据,即获取到的时间序列为多维时间序列。比如,能够反映天气状况的温度、湿度和紫外线等指标随时间变化的数据,每一个指标对应的随时间变化的数据可以对应一个维度的时间序列。

在获取到待检测时间段内的至少两组时间序列之后,需要确定每组时间序列之间的关联性。步骤103在从至少两组时间序列中确定出与当前时间序列相关的关联时间序列时,在一种可能的实现方式中,如图2所示,可以通过如下步骤实现:

步骤201:针对除所述当前时间序列之外的每一个时间序列,获取所述待检测时间段之外的对应该时间序列的第二历史数据;

步骤203:将所述第二历史数据和该第二历史数据的实际值输入预先训练的损失函数估计模型中,得到至少一组损失函数值;其中,所述损失函数值用于反映两个时间序列之间的相关性;

步骤205:根据预先设定的阈值范围,将各所述损失函数值中位于所述阈值范围之内的损失函数值所对应的时间序列,确定为所述当前时间序列的关联时间序列。

本实施例中,在确定与当前时间序列相关的关联时间序列时,首先针对除当前时间序列之外的每一个时间序列,获取待检测时间段之外的对应该时间序列的第二历史数据,然后将该时间序列中的第二历史数据和当前时间序列中第二历史数据的实际值输入预先训练的能够反映两个时间序列之间的相关性的损失函数估计模型中,得到至少一组损失函数值,如此根据预先设定的阈值范围,将各损失函数值中位于阈值范围之内的损失函数值所对应的时间序列,确定为当前时间序列的关联时间序列。由此可见,本方案通过预先训练能够表征两个时间序列之间的相关性的损失函数估计模型,然后通过将时间序列的历史数据和实际值输入损失函数,从而根据可能存在相关性的阈值范围确定出关联时间序列。如此能够确定出每一组时间序列的相关联时间序列,并且通过遍历每一个时间序列的方式,能够确定出每一组时间序列的关联时间序列,避免了遗漏与当前时间序列相关联的关联时间序列,保证了确定出的关联时间序列的准确性和完整性。

在步骤203利用损失函数估计模型计算损失函数值时,损失函数可以包括如下公式一。如此,通过将样本数据输入到公式一所示的损失函数中计算得到结果,进一步通过比较该计算得到的结果与预先设定的阈值范围之间的关系,从而确定出具有关联性的关联时间序列。比如,阈值范围为[-a,b],那么将计算结果L满足:-a≤L≤b的样本数据所对应的时间序列确定为该当前时间序列的关联时间序列。公式一如下所示:

其中,L表征损失函数的值,y

再比如,在确定时间序列的关联时间序列时,可以将每个时间序列以链接矩阵的方式进行表示与计算,首先通过ReLU和tanh等激活函数计算各时间序列之间的关系,然后利用topk指令从计算得到的具有相关性的时间序列的连接关系中进行筛选,去除掉相关性不大的连接关系,从而得到与当前时间序列关联性较强的关联时间序列。

需要说明的是,在确定时间序列的关联时间序列时,本方案采用的是基于梯度下降算法中的损失函数来确定的,当然也可以采用梯度下降算法来确定与当前时间序列相关的关联时间序列。此外,还可以采用数据挖掘中的遗传算法来从众多的时间序列中挖掘出与当前时间序列相关的关联时间序列,针对不同的问题采用不同的确定方式以得到更优的结果。

此外需要说明的是,在将时间序列的第二历史数据和当前时间序列中历史数据的实际值输入到损失函数中计算损失函数值时,会遍历每一个除当前时间序列之外的时间序列。也就是说,将每一个除当前时间序列之外的时间序列和当前时间序列作为一组损失函数的输入,从而能够实现对所有时间序列进行关联性挖掘,以保证确定出的关联时间序列的准确性和完整性

在获取到时间序列的第一历史数据,以及确定出当前时间序列的关联时间序列之后,需要根据得到的第一历史数据、关联时间序列等确定时间序列的预测值。步骤107在根据所述当前时间序列的第一历史数据、关联时间序列以及该当前时间序列得到时间序列预测值时,在一种可能的实现方式中,如图3所示,可以通过如下步骤实现:

步骤301:将当前时间序列和关联时间序列进行融合,得到第一预测值;

步骤303:将第一预测值和当前时间序列的第一历史数据进行融合,得到时间序列预测值。

本实施例中,在确定时间序列的预测值时,首先将当前时间序列和关联时间序列进行融合得到第一预测值,然后将第一预测值和当前时间序列的第一历史数据进行融合得到时间序列预测值。如此,通过利用当前时间序列和与之关联的时间序列能够初步确定出预测值,进一步通过当前时间序列的历史数据实现对第一预测值的再次约束,从而更加精准的得到时间序列的预测值。

在步骤301将当前时间序列和关联时间序列进行融合得到第一预测值时,在一种可能的实现方式中,如图4所示,可以通过如下步骤实现:

步骤401:确定关联时间序列的权重值;

步骤403:根据关联时间序列的权重值,确定对应当前时间序列的第一预测附加值;

步骤405:根据当前时间序列确定第二预测值;

步骤407:将第一预测附加值和第二预测值进行融合计算,得到当前时间序列的第一预测值。

在本实施例中,在通过将当前时间序列和关联时间序列进行融合得到第一预测值时,首先确定关联时间序列的权重值,然后根据时间序列的权重值确定对应当前时间序列的第一预测附加值。进一步,根据当前时间序列确定第二预测值,进而将第一预测附加值和第二预测值进行融合计算,得到当前时间序列的第一预测值。由此可见,本方案在确定当前时间序列的预测值时,不仅根据当前时间序列确定了预测值,而且根据与当前时间序列相关的关联时间序列确定了由关联时间序列所产生的预测值的附加值,从而通过将预测值的附加值充分考虑到预测值中,以提高预测值的计算准确度。

比如,对天气状况进行预测的事件中,当前时间序列为温度时间序列。经过上述关联时间序列的确定过程之后确定出与温度时间序列相关的关联时间序列为紫外线时间序列。那么在确定第一预测值时,首先确定紫外线时间序列的权重值,然后根据紫外线时间序列的权重值确定当前温度时间序列的第一预测值。在确定关联时间序列(紫外时间序列)的权重值时,可以通过人为设定的方式确定,也可以通过梯度回传的方式优化权重值。在根据权重值确定当前时间序列的第一预测附加值时,可以通过计算权重值与隐藏层的隐藏函数之间的乘积来得到。

在通过关联时间序列得到第一预测附加值之后,可以进一步确定当前时间序列的第二预测值,即确定对应温度时间序列的第二预测值,然后通过将第一预测值附加值和第二预测值进行融合计算,从而得到当前时间序列的第一预测值,即得到对应温度时间序列的第一预测值。同样地,在根据当前时间序列确定第二预测值时,可以确定出当前时间序列的权重值,进而确定出对应当前时间序列的第二预测值。在对第一预测附加值和第二预测值进行融合计算时,可以通过计算第一预测附加值和第二预测值的和来得到。当然,在求和时,需要充分考虑隐藏层的隐藏函数的传播深度,即需要将设定的传播深度的每一层进行求和,从而达到提升预测结果的准确性的目的。

在步骤303将第一预测值和当前时间序列的第一历史数据进行融合得到时间序列预测值时,在一种可能的实现方式中,如图5所示,可以通过如下步骤来实现:

步骤501:将当前时间序列的第一历史数据进行筛选,得到次级历史数据;其中,次级历史数据与当前时间序列的关联性高于关联时间序列与当前时间序列的关联性;

步骤503:确定次级历史数据对应的第二预测附加值;

步骤505:将第一预测值和第二预测附加值进行融合计算,得到时间序列预测值。

本实施例中,在将第一预测值和当前时间序列的第一历史数据进行融合时,首先考虑将当前时间序列的历史数据进行筛选得到次级历史数据,然后确定该次级历史数据所对应的第二预测附加值,进而通过将第一预测值和第二预测附加值进行融合计算,得到时间序列的预测值。

本步骤中,考虑将当前时间序列的历史数据进行筛选时,将与当前时间序列的关联性更强的历史数据筛选出来作为进行进一步处理的数据,即通过筛选得到次级历史数据,如此能够将历史数据中与进行时间序列预测的数据关联性不大的数据进行过滤,从而在进行神经网络学习和数据处理时具有更高的处理效率。

当然,在另一种可能的实现方式中,步骤303将第一预测值和当前时间序列的第一历史数据进行融合得到时间序列预测值时,还可以考虑将第一预测值和第一历史数据输入到时间卷积网络得到时间序列预测值。在利用时间卷积网络对历史数据进行处理时,会利用诸如tanh等函数对历史数据进行变换,以及利用sigmoid等函数对历史数据进行处理,通过借助sigmoid函数和tanh函数将历史数据处理后相乘,实现将历史数据中与进行时间序列预测关联性较强的数据提取出来,并将强度较弱的数据进行滤除或隐藏,从而达到利用更具针对性的数据进行时间序列预测的目的,以进一步提高时间序列预测的准确性。

当然在利用时间卷积网络提取历史数据时,可以根据需要设定不同的频次和大小,通过频次和大小提取对应时间点的历史数据。

步骤109在根据时间序列预测值和当前时间序列中指标数据的实际值,对该当前时间序列中的异常指标数据进行检测时,在一种可能的实现方式中,如图6所示,可以通过如下步骤实现:

步骤601:计算待检测时间段内每一个时间点所对应的当前时间序列的预测值和实际值之间的差值;

步骤603:针对待检测时间段内的每一个时间点,根据该当前时间点与其他时间点之间的距离,对各时间点所对应的差值进行加权平滑,得到加权平滑数据;

步骤605:根据预先设定的异常值区间,将加权平滑数据中位于异常值区间中的数据确定为当前时间序列中的异常数据。

本实施例中,在根据时间序列的预测值和当前时间序列中指标数据的实际值对该当前时间序列中的异常指标数据进行检测时,首先可以计算待检测时间段内每一个时间点所对应的当前时间序列的预测值和实际值之间的差值,然后根据当前时间点与其他时间点之间的距离,对各时间点所对应的差值进行加权平滑,进一步根据预先设定的异常值区间,将加权平滑后的数据中位于异常区间内的数据确定为当前时间序列中的异常数据。

由此可见,在本实施例中,不仅通过预测值和实际值进行比较来确定异常指标数据,而且在进行数据处理过程中,还将得到的预测值和指标数据的实际值之间的差值进行了加权平滑处理。由于不同时间点对当前时间点的贡献值或影响值是存在差异的,通过根据不同时间点与当前时间点之间的距离可以为得到的预测值和指标数据的实际值之间的差值进行有权重的加权平滑。如此,不仅充分考虑到了每一个时间点对当前时间点所产生的影响,而且充分考虑到每一个时间点对当前时间点所产生的影响的大小,从而达到提高数据处理的准确性,同时也提升了确定出的异常数据的可信性。

在对各时间点所对应的差值进行加权平滑时,可以采用拉普拉斯平滑、对数平滑、加权移动以及指数平滑等平滑方式。

在步骤603根据该当前时间点与其他时间点之间的距离对各时间点所对应的差值进行加权平滑得到加权平滑数据时,在一种可能的实现方式中,可以通过如下方式实现:

根据各时间点与当前时间点之间的距离,确定对应每个时间点的加权平滑比例值;

计算每个时间点所对应的加权平滑比例值与对应的差值之间的乘积,得到对应各个时间点的初级加权平滑数据;

将各个时间点所对应的初级加权平滑数据进行求和,得到对应该当前时间点的加权平滑数据。

本实施例中,在进行加权平滑处理时,首先可以根据各时间点与当前时间点之间的距离,确定出对每个时间点进行加权平滑处理时的比例值,然后将该每个时间点的比例值与对应的差值作乘积得到初级加权平滑数据,进一步将各个时间点所计算出来的初级加权平滑数据进行求和得到加权平滑数据。由此可见,本实施例通过利用加权平滑的方式充分将每个时间点对当前时间点的影响考虑在内,从而保证最终进行异常数据检测的准确性。

本实施例中在进行加权平滑处理时,可以考虑在不舍弃历史数据的前提下,对距离预测点较近的历史数据给予较大的权重,权数由近到远按指数递减。也就是说,可以根据当前时间序列的实际值和预测值,借助平滑系数进行加权平均计算,对时间序列进行预测,通过对时间序列进行加权平滑的方式获得其规律变化与趋势,从而确定出不符合变化规律和趋势的异常数据。

在实际应用中,加权平滑比例值可以是根据时间序列的变化特征来选取的,即可以根据时间序列的数据变化波动、平稳性以及是否具有迅速且明显的变动倾向等。

比如,对于时间点为9点、10点和11点三个时间点的时间序列的数据,所关注的时间点为11点的时间序列,其中,9点时所对应的预测值和实际值之间的差值为a,10点时所对应的预测值和实际值之间的差值为b,11点时所对应的预测值和实际值之间的差值为c。且9点所对应的加权平滑比例值为x,10点所对应的加权平滑比例值为y,11点所对应的加权平滑比例值为z,其中,距离当前时间点的距离越远的时间点,其所对应的加权平滑比例值越大。也就是说,由于9点与11点之间的距离应大于10点与11点之间的距离,因此满足x≥y≥z。如此则有11点所对应的加权平滑的数据M应该为:

M=a*x+b*y+c*z

当然,在根据各时间点和当前时间点之间的距离确定加权平滑比例值时,具体还可以通过指数的方式来确定各个时间点的加权平滑比例值。比如9点与11点之间距离两步,则其指数幂为2次方,10点与11点之间距离一步,则其指数幂为1次方,11点与11点之间距离为零,则指数幂为0次方,如此通过选定加权平滑系数即可得到每个时间点的加权平滑比例值。比如加权平滑系数k为0.9,那么x=0.9

M=a*k

需要说明的是,在进行加权平滑计算和处理时,加权平滑的方式不仅限于上述的方式,还可以包括常用的拉普拉斯平滑、对数平滑、加权移动、指数平滑等平滑方式。

如图7所示,本说明书实施例还提供了一种时间序列中异常数据的检测装置,该装置可以包括:

时间序列获取模块701,配置为获取待检测时间段内的至少两组时间序列;其中,每一组时间序列对应一种指标数据,且每一组时间序列由随时间变化的指标数据构成;

关联时间序列确定模块702,配置为针对时间序列获取模块701获取到的每一组时间序列,从至少两组时间序列中确定出与当前时间序列相关的关联时间序列;

历史数据获取模块703,配置为获取待检测时间段之外的对应当前时间序列的第一历史数据;

预测模块704,配置为根据历史数据获取模块703获取到的当前时间序列的第一历史数据、关联时间序列确定模块702确定的关联时间序列以及时间序列获取模块701获取到的当前时间序列,得到时间序列预测值;

异常检测模块705,配置为根据预测模块704得到的时间序列预测值和当前时间序列中指标数据的实际值,对该当前时间序列中的异常指标数据进行检测。

在一种可能的实现方式中,关联时间序列确定模块702在从至少两组时间序列中确定出与当前时间序列相关的关联时间序列时,配置成执行如下操作:

针对除所述当前时间序列之外的每一个时间序列,获取所述待检测时间段之外的对应该时间序列的第二历史数据;

将所述第二历史数据和该第二历史数据的实际值输入预先训练的损失函数估计模型中,得到至少一组损失函数值;其中,所述损失函数值用于反映两个时间序列之间的相关性;

根据预先设定的阈值范围,将各所述损失函数值中位于所述阈值范围之内的损失函数值所对应的时间序列,确定为所述当前时间序列的关联时间序列。

在一种可能的实现方式中,预测模块704在根据所述当前时间序列的第一历史数据、关联时间序列以及该当前时间序列得到时间序列预测值时,配置成执行如下操作:

将当前时间序列和关联时间序列进行融合,得到第一预测值;

将第一预测值和当前时间序列的第一历史数据进行融合,得到时间序列预测值。

在一种可能的实现方式中,预测模块704在将当前时间序列和关联时间序列进行融合得到第一预测值时,配置成执行如下操作:

确定关联时间序列的权重值;

根据关联时间序列的权重值,确定对应当前时间序列的第一预测附加值;

根据当前时间序列确定第二预测值;

将第一预测附加值和第二预测值进行融合计算,得到当前时间序列的第一预测值。

在一种可能的实现方式中,预测模块704在将第一预测值和当前时间序列的第一历史数据进行融合得到时间序列预测值时,配置成执行如下操作:

将当前时间序列的第一历史数据进行筛选,得到次级历史数据;其中,次级历史数据与当前时间序列的关联性高于关联时间序列与当前时间序列的关联性;

确定次级历史数据对应的第二预测附加值;

将第一预测值和第二预测附加值进行融合计算,得到时间序列预测值。

在一种可能的实现方式中,预测模块704在将第一预测值和当前时间序列的第一历史数据进行融合得到时间序列预测值时,配置成执行如下操作:

将第一预测值和第一历史数据输入到时间卷积网络,得到时间序列预测值。

在一种可能的实现方式中,异常检测模块705在根据时间序列预测值和当前时间序列中指标数据的实际值对该当前时间序列中的异常指标数据进行检测时,配置成执行如下操作:

计算待检测时间段内每一个时间点所对应的当前时间序列的预测值和实际值之间的差值;

针对待检测时间段内的每一个时间点,根据该当前时间点与其他时间点之间的距离,对各时间点所对应的差值进行加权平滑,得到加权平滑数据;

根据预先设定的异常值区间,将加权平滑数据中位于异常值区间中的数据确定为当前时间序列中的异常数据。

在一种可能的实现方式中,异常检测模块705在根据该当前时间点与其他时间点之间的距离对各时间点所对应的差值进行加权平滑得到加权平滑数据时,配置成执行如下操作:

根据各时间点与当前时间点之间的距离,确定对应每个时间点的加权平滑比例值;

计算每个时间点所对应的加权平滑比例值与对应的差值之间的乘积,得到对应各个时间点的初级加权平滑数据;

将各个时间点所对应的初级加权平滑数据进行求和,得到对应该当前时间点的加权平滑数据。

本说明书还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行说明书中任一个实施例中的方法。

本说明书还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现说明书中任一个实施例中的方法。

可以理解的是,本说明书实施例示意的结构并不构成对时间序列中异常数据的检测装置的具体限定。在说明书的另一些实施例中,时间序列中异常数据的检测装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。

上述装置内的各单元之间的信息交互、执行过程等内容,由于与本说明书方法实施例基于同一构思,具体内容可参见本说明书方法实施例中的叙述,此处不再赘述。

本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书所描述的功能可以用硬件、软件、挂件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。

以上所述的具体实施方式,对本说明书描述的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

技术分类

06120113677556