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

数据异常检测方法、装置、设备及介质

文献发布时间:2023-06-19 19:27:02


数据异常检测方法、装置、设备及介质

技术领域

本申请涉及计算机技术领域,特别是涉及一种数据异常检测方法、装置、设备及介质。

背景技术

时序数据具有多种复杂的波动类型,如趋势型、季节性或季节波动、周期性或循环波动、随机性或不规则波动。时序数据往往有一个安全的上下边界,超过安全上下边界的时序数据则表示时序数据出现异常,而保证时序数据在安全上下边界内是非常重要的。

现有技术中,通常只有对单一类型的时序数据的安全边界的计算方法,然而,不同波动类型的时序数据的安全上下边界是不一样的,若仅采用一种固定计算方式计算安全上下边界,无法准确检测出时序数据的出现异常,检测准确率较低。

发明内容

本申请提供的一种数据异常检测方法、装置、设备及介质,能够提高时间序列数据异常检测的准确率。

第一方面,本申请实施例提供一种数据异常检测方法,方法包括:

采集时间序列历史数据;

对时间序列历史数据进行预处理;

对预处理后的时间序列历史数据进行数据特性检测,获得数据模式;

根据数据模式,按照预设配置选择与其对应的数据处理模型;

基于数据处理模型,得到动态阈值区间;

获取待检测的时间序列实时数据,根据动态阈值区间确认是否数据异常;

当数据异常时,输出告警信息。

第二方面,本申请提供一种数据异常检测装置,该装置包括:

第一获取模块,用于采集时间序列历史数据;

处理模块,用于对历史数据进行处理;

检测模块,用于对预处理后的时间序列历史数据进行数据特性检测,获得数据模式;

选择模块,用于根据数据模式,按照预设配置选择与其对应的数据处理模型;

第一确定模块,用于基于数据处理模型,得到动态阈值区间;

第二确定模块,用于获取待检测的时间序列实时数据,根据动态阈值区间确认是否数据异常;

输出模块,用于当数据异常时,输出告警信息。

第三方面,本申请实施例提供了一种电子设备,该电子设备包括:处理器以及存储有计算机程序指令的存储器;

处理器执行计算机程序指令时实现如第一方面中任意一个实施例中的数据异常检测方法。

第四方面,本申请实施例提供了一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如第一方面中任意一个实施例中的数据异常检测方法。

在本申请实施例的数据异常检测方法、装置、设备及介质,通过采集时间序列历史数据;对时间序列历史数据进行预处理;对预处理后的时间序列历史数据进行数据特性检测,获得数据模式;根据数据模式,按照预设配置选择与其对应的数据处理模型;基于数据处理模型,得到动态阈值区间;获取待检测的时间序列实时数据,根据动态阈值区间确认是否数据异常;当数据异常时,输出告警信息。通过上述方法,能够首先对时间序列历史数据进行数据特性检测,确定时间序列历史数据的不同数据模式,随后根据不同的数据模式选择不同的数据处理模型,确定时间序列历史数据的动态阈值区间,由此在接收到时间序列实时数据时,能够通过判断该时间序列实时数据是否超过该动态阈值区间的上下限,确定该时间序列实时数据是否出现异常,其中,上述动态阈值区间是根据不同的时间序列数据的数据模式得到的,由此该动态阈值区间包括了每个数据模式对应的阈值区间,从而能够提高时间序列实时数据异常检测的准确率。

附图说明

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

图1是本申请实施例提供的数据异常检测方法的流程示意图;

图2是本申请实施例提供的一种时间序列数据周期波动的示意图;

图3是本申请实施例提供的一种时间序列数据趋势波动的示意图;

图4是本申请实施例提供的一种时间序列数据随机波动的示意图;

图5是本申请实施例提供的一种时间序列历史数据的示意图;

图6是本申请实施例提供的一种数据异常检测装置的结构示意图;

图7是本申请实施例提供的电子设备的结构示意图。

具体实施方式

为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。

需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

现有技术中,数据异常检测动态阈值计算的实现方式往往是比较单一的,一种算法效果不优,再尝试其他算法,经过大量的算法尝试,从而得到最优算法。这种方案的设计会涉及大量的人工工作,从而耗费大量的工程开发时间,如对采集到的指标时序数据,进行波动、周期、趋势等分析方法,再人工选择合适的算法,训练、验证、部署、优化等一系列需要人工介入的工作,需要消耗大量的人力物力。

真实生产环境中,时序数据有多种复杂的波动类型,如趋势型(T)、季节性或季节波动(S)、周期性或循环波动(C)、随机性或不规则波动(如图2-图4所示)。

而且现有方案往往只应用一到两种,如时序数据周期性分析+差分整合移动平均自回归(Autoregressive Integrated Moving Average model,ARIMA)模型,再如单独使用加权移动平均,再如单独使用N-sigma或分位距等。这些方法,针对单一的时序数据的类型,往往具有比较好的效果,但是在真实的生产环境中,时序数据类型,是复杂且变化多端的,单一的方法不能覆盖所有的数据类型,这就导致阈值区间的计算不准确。如,对于趋势型的时序数据,使用加权移动平均方法,会取得比较好的计算结果,对于周期性或者季节性的时序数据,使用ARIMA模型会取得比较好的计算结果,对于随机性的时序数据,使用N-sigma或者分位距方法,会取得比较好的计算结果。

上述现有技术中涉及到的技术有:时序数据周期性分析的技术、周期性时序数据预测的技术、及加权移动平均算法、N-sigma、分位距。以下对这些技术和专有名词进行解释说明。

差分整合移动平均自回归模型,又称整合移动平均自回归模型(移动也可称作滑动),是时间序列预测分析方法之一。ARIMA(p,d,q)中,AR是“自回归”,p为自回归项数;MA为“滑动平均”,q为滑动平均项数,d为使之成为平稳序列所做的差分次数(阶数)。具体步骤:时间序列获取、时间序列预处理、模型识别、模型定阶、参数估计、模型的验证。

加权移动平均,根据同一个移动段内不同时间的数据对预测值的影响程度,分别给予不同的权数,然后再进行平均移动以预测未来值。愈是近期数据对预测值影响愈大这一特点,不同地对待移动期内的各个数据。对近期数据给予较大的权数,对较远的数据给予较小的权数。

N-sigma(n个σ准则,n倍标准差阈值),假设一组检测数据只含有随机误差,对其进行计算处理得到标准偏差,按一定概率确定一个区间,认为凡超过这个区间的误差,就不属于随机误差而是粗大误差,含有该误差的数据应予以剔除。这种判别处理原理及方法仅局限于对正态或近似正态分布的样本数据处理,它是以测量次数充分大为前提(样本>10),当测量次数少的情形用准则剔除粗大误差是不够可靠的。3σ法则为:数值分布在(μ-σ,μ+σ)中的概率为0.6827;数值分布在(μ-2σ,μ+2σ)中的概率为0.9545;数值分布在(μ-3σ,μ+3σ)中的概率为0.9973。可以认为,Y的取值几乎全部集中在(μ-3σ,μ+3σ)区间内,超出这个范围的可能性仅占不到0.3%。

分位距,这是一种非常简单但有效的可视化离群点的方法,根据箱形图,考虑把上下触须作为数据分布的边界。任何高于上触须或低于下触须的数据点都可以认为是离群点或异常值。四分位距(interquartile range,IQR)是统计学中的一个概念,通过将数据集分成四分位来衡量统计分散度和数据可变性。简单来说,任何数据集或任意一组观测值都可以根据数据的值以及它们与整个数据集的比较情况被划分为四个确定的间隔。四分位数会将数据分为三个点和四个区间。四分位间距对定义离群点非常重要。它是第三个四分位数和第一个四分位数的差(IQR=Q3-Q1)。在这种情况下,离群点被定义为低于箱形图下触须(或Q1-1.5xIQR)或高于箱形图上触须(或Q3+1.5xIQR)的观测值。

本实施例的应用场景可以包括终端设备,网络和服务器。网络用以在终端设备和服务器之间提供通信链路的介质。网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等。

终端设备可以实现对数据库中资源的访问操作,这些终端设备对资源的访问操作可以生成时序数据。其中,终端设备可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(augmentedreality,AR)虚拟现实(virtual reality,VR)设备,本申请对终端设备的具体形态不作特殊限制。其可以与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互。本申请对终端设备的数量及类型均不作限制。

为了解决现有技术问题,本申请实施例提供了一种数据异常检测方法、装置、设备及介质。下面首先对本申请实施例所提供的数据异常检测方法进行介绍。

本公开所涉及的数据可以为经用户授权或者经过各方充分授权的数据。

图1示出了本申请一个实施例提供的数据异常检测方法的流程示意图。如图1所示,该方法具体可以包括如下步骤:

S101,采集时间序列历史数据。

可选地,时间序列历史数据可以直接从本申请的检测装置中存储有时间序列历史数据的存储器中获取得到。

示例性的,检测装置可以设置有存储器。该存储器可以用于存储多个时间段以及每个时间段内的时间序列数据。例如,存储器可以以表格或数组的形式存储每个时间段内的时间序列数据。检测装置可以直接从该存储器中获取时间序列历史数据。

可选地,检测装置可以为计算设备、服务器等能够用于获取并检测时间序列数据的任意一种设备。例如检测装置可以是一些服务平台的数据服务器,可以用于存储和处理时间数据。例如,服务平台可以是短视频应用服务平台、新闻服务平台、直播服务平台、购物服务平台、外卖服务平台、共享服务平台等。检测装置也可以为服务器的芯片或芯片上系统等,本申请对检测装置的具体类型并不作限制。

在一些可选地实施例中,检测装置为服务器时,可以是单独的一个服务器,或者,也可以是由多个服务器构成的服务器集群。部分实施方式中,服务器集群还可以是分布式集群。本申请对检测装置的具体实现方式也不作限制。

还有一些实施例中,检测装置还可以包含有数据库或与数据库连接,服务平台的时间序列数据可以存储于数据库中。

可选地,在本申请实施例中,可以获取一个预设时段的时间序列数据,其中,预设时段的时长可以根据用户需要设置,例如,可以为一月、一周、一天、一个小时等,本申请不予限制。

S102,对时间序列历史数据进行预处理;

S103,对预处理后的时间序列历史数据进行数据特性检测,获得数据模式。

可选地,在本申请实施例中,在获取得到时间序列历史数据后,还需要对时间序列历史数据进行预处理才可以得到有效数据,其中,预处理至少包括异常点剔除、指标缺失段长度判断与指标缺失段修复其中的一种;采用k倍标准差阈值算法对异常点进行剔除,其中所述标准差为归一化中位数绝对偏差。若时间序列数据缺失段长度超出设定长度,则不对此段时间序列数据进行修复;若时间序列数据缺失段长度未超出设定长度,采用线性插值的方法对此段时间序列数据进行修复,同时完成时间戳调整。其中,设定长段可以根据实际需要进行选择,时间序列数据的数据量较多时可以设置较长的设定长段,时间序列数据的数据量较少时可以设置较短的设定长段,本申请并不限制具体的设定长段。

对时间序列历史数据预处理得到有效数据以后,需要对这些有效数据进行数据特性检测,具体而言,可以提取这些有效数据的特征信息,其中,数据的特征信息至少包括周期性、数据粒度、数据容量变化类型中的一种。从而能够根据这些特征信息判断有效数据所属的数据模式。具体而言,数据模式可以包括:周期数据模式、趋势数据模式、随机数据模式。

S104,根据数据模式,按照预设配置选择与其对应的数据处理模型;

S105,基于数据处理模型,得到动态阈值区间。

可选地,在确定时间序列历史数据的数据模式以后,可以根据不同的数据模式,分别选用不同的数据处理模型对不同的数据模式对应的时间序列历史数据进行阈值区间的计算,从而得到完整的动态阈值区间。

可选地,不同的数据处理模型可以包括二次指数平滑法、三次指数平滑法、ARIMA模型算法、霍尔特-温特模型算法、移动平均法、加权分位法等。其中,二次指数平滑法适用于预测具有趋势的数据,适合作为趋势数据的算法,三次指数平滑加法在二次指数平滑法的基础上捕获周期元素,适合作为周期数据的算法,ARIMA模型算法适用于包括随机过程的特征随着时间变化而非固定,适合作为随机数据的算法,而移动平均法、加权分为法上文已经描述过,本申请在此不再赘述。

示例性地,当时间序列历史数据的数据模式为周期数据模式时,可以选自上述的三次指数平滑法或霍尔特-温特模型算法对该时间序列历史数据进行预测得到一个完整周期的时间序列数据,随后根据该完整周期的时间序列数据,确定周期数据模式下不同时刻的上下限,从而得到动态阈值区间。可选地,趋势数据、随机数据依此类推,本申请在此不再赘述。

容易理解的是,当时间序列历史数据存在多个数据模式时,可以按照上述方法选择不同的数据处理模型处理不同的数据模式,从而得到不同数据模型对应的不同时刻的动态阈值区间。

可选地,在本申请实施例中,由于时间序列历史数据选取的时段不同,从而使得通过上述模型处理得到的动态阈值区间也不是固定的,可以根据时间序列历史数据的具体数据进行计算得到不同时刻对应的阈值区间,从而能够得到时间序列历史数据对应的所有时刻的动态阈值区间。

S106,获取待检测的时间序列实时数据,根据动态阈值区间确认是否数据异常;

S107,当数据异常时,输出告警信息。

可选地,可以通过上述检测装置中的存储器中直接获取实时的时间序列数据,其中,检测装置的存储器可以用于存储多个时间段以及每个时间段内的时间序列数据。例如,存储器可以以表格或数组的形式存储每个时间段内的时间序列数据。检测装置可以直接从该存储器中获取时间序列实时数据。

可选地,可以获取一月、一周、一天、一个小时的时间序列实时数据,本申请不予限制。

可选地,在本申请实施例中,时间序列数据可以是用户在终端设备上使用某个应用程序或者访问某个网站所产生的随时间变化的数据。

可选地,在本申请实施例中,在得到时间序列历史数据动态阈值区间以后,可以根据接入的时间序列实时数据的判断该时间序列实时数据是否存在异常。

可选地,在本申请实施例一种可能的实现方式中,在取得动态阈值区间的上下限后,接入待检测的时间序列实时数据,当时间序列实时数据在某个时刻超过该动态阈值区间的上下限的情况下,则认为该时间序列实时数据出现异常,进而进行告警输出,并对告警持续时长进行判断,可将告警划分为不同的等级,对不同等级的告警进行不同的关注策略。

例如可以根据时间序列实时数据超过阈值区间上下限的程度设定不同的危险程度,例如低风险程度、中风险程度、高风险程度。示例性地,假设实时数据超过第一阈值未超过第二阈值,则认为实时数据出现低风险异常,此时判定为3分钟及以内的告警,不对用户进行展示或提醒;若实时数据超过第二阈值,未超过第三阈值,则认为实施数据出现中风险异常,此时判定为超过3分钟但是不超过5分钟的告警,在告警面板进行展示提醒用户时间序列实时数据出现异常;若实时数据超过第三阈值,则认为实时数据出现高风险异常,极有可能发生崩溃,此时判定为超过5分钟的告警,通过短信、邮件、微信等方式,推送告警给相关运维人员进行处理。

在这些可选的实施例中,在接收到时间序列实时数据以后,根据动态阈值区间自动判定时间序列实时数据是否发生异常,完全剔除了人工的参与,覆盖了当前几乎所有的时间序列数据的数据类型(即数据模式),解决了算法选择与适配的重复性动作,释放了大量人力资源。

在本申请实施例的数据异常检测方法中,通过采集时间序列历史数据;对时间序列历史数据进行预处理;对预处理后的时间序列历史数据进行数据特性检测,获得数据模式;根据数据模式,按照预设配置选择与其对应的数据处理模型;基于数据处理模型,得到动态阈值区间;获取待检测的时间序列实时数据,根据动态阈值区间确认是否数据异常;当数据异常时,输出告警信息。通过上述方法,能够首先对时间序列历史数据进行数据特性检测,确定时间序列历史数据的不同数据模式,随后根据不同的数据模式选择不同的数据处理模型,确定时间序列历史数据的动态阈值区间,由此在接收到时间序列实时数据时,能够通过判断该时间序列实时数据是否超过该动态阈值区间的上下限,确定该时间序列实时数据是否出现异常,其中,上述动态阈值区间是根据不同的时间序列数据的数据模式得到的,由此该动态阈值区间包括了每个数据模式对应的阈值区间,从而能够提高时间序列实时数据异常检测的准确率。

在一实施例中,数据特性检测包括周期性检测、趋势性检测,所述数据模式包括周期数据模式、趋势数据模式、随机数据模式,上述步骤103可以具体执行如下步骤:

S201,通过周期性检测判断预处理后的时间序列历史数据是否有周期,若是则判定预处理后的时间序列历史数据为周期数据模式。

可选地,周期数据模式指的是时间序列数据中呈现出来的围绕长期趋势的一种波浪形或震荡式变动。趋势数据模式为时间序列数据随时间增加而增加或者随时间增加而减少的呈现上升趋势或者下降趋势的时间序列数据。随机数据模式为时间序列数据随时间没有变化规律呈现随机波动形式的时间序列数据。

可选地,在本申请一种可能的实现方式中,周期性检测可以是通过傅里叶变换进行周期性的检测,傅里叶变换是一种将时间序列数据转化为频域数据的方法,它将时间序列数据展开成三角函数的线性组合,得到每个展开项的系数,就是傅里叶系数,傅里叶系数越大,表明它所对应的正弦波的周期就越有可能是这份数据的周期,由此可以通过傅里叶变换进行周期性的检测。

S202,若否则通过趋势性检测判断预处理后的时间序列历史数据是否有趋势,若是则判定预处理后的时间序列历史数据为趋势数据模式,若否则判定预处理后的时间序列历史数据为随机数据模式。

可选地,在本申请一种可能的实现方式中,趋势性检测可以是通过曼-肯德尔算法对时间序列数据进行检测,判断是否有趋势,其中曼-肯德尔算法的具体实现方式可参照现有技术中的描述,本申请在此不再赘述。

可选地,在本申请实施例中,如果检测的时间序列历史数据既不是周期数据模式也不是趋势数据模式,那么该时间序列历史数据就为随机数据模式。

在这些可选的实施例中,对这些时间序列历史数据进行数据模式的判定,由此能够根据不同的数据模式对不同诗句模式的时间序列数据采用不同算法模型计算得到动态阈值区间,自动选择合适的算法模型,覆盖所有的时间序列数据模式,可适配任何时间序列数据模式,不用提前分析待分析时间序列数据,覆盖当前几乎所有的时间序列数据模式,解决了现有方案算法选择与适配的重复性动作,释放了大量人力与资源,进一步提高了异常检测的效率和准确性。

在一实施例中,上述步骤104可以具体执行如下步骤:

S301,在所述数据模式为周期数据模式的情况下,选择周期数据处理模型对所述周期数据模式进行数据处理;

S302,获取所述周期数据模式中第一预设时长的第一子数据序列;

S303,基于所述周期数据处理模型对所述第一数据序列进行预测,得到一个完整周期的周期序列。

可选地,在判定时间序列历史数据为周期数据模式的情况下,可以按照预定的算法模型,即周期数据处理模型对该时间序列历史数据进行预测,得到一个完整周期的周期序列。容易理解的是,当该第一数据序列在第一预设时长内已经存在一个完整的周期的情况下,无需再对该第一数据序列进行预测,直接根据该第一数据序列的一个周期内的数值的最大值和最小值确定动态阈值区间。

可选地,周期数据处理模型可以选择三次指数平滑法或者霍尔特-温特(HOLT-WINTER)模型对周期数据模式的第一数据序列进行预测,得到一个完整周期的周期序列。

具体而言,对于季节性指标(周期数据模式),即周期横跨月、季、年的周期性指标,使用HOLT-WINTER模型对指标历史数据进行预测,再基于预设的置信区间,得到一个完整周期的周期序列。容易理解的是,预设周期置信区间可以根据实际需要进行调整,选择的预设置信区间越大,说明预测得到的周期数据序列更加接近真实值。

S304,将所述周期序列中的最大值作为所述动态阈值区间的上限,将所述周期序列中的最小值作为所述动态阈值区间的下限。

可选地,在得到一个完整周期的周期序列以后,可以选择该完整周期序列中的数据的最大值作为该动态阈值区间的上限,将该完整周期序列中的数据的最小值最为该动态阈值区间的下限。

在这些可续的实施例中,通过判定时间序列历史数据的数据模式,选择特定的数据处理模型计算动态阈值区间,由此能够实现算法的自动适配,剔除人工的参与,释放了大量人力资源。

在一实施例中,上述步骤104可以具体执行如下步骤:

S401,在所述数据模式为趋势数据模式的情况下,选择趋势数据处理模型对所述趋势数据模式进行数据处理;

S402,获取所述趋势数据模式中当前时刻前第二预设时长的第二子数据序列。

可选地,第二预设时长可以是当前时间前一段时间(即前第二预设时长的时间),具体可以根据实际情况调节,容易理解的是,选取的第二预设时长越长,得到的数据趋势越明显,后续计算得到的动态阈值区间越准确。

S403,计算所述第二子数据序列的平均值;

S404,根据所述平均值计算所述第二子数据序列的标准差。

可选地,平均值可以是整个第二子数据序列中所有数据的算术平均值、几何平均值、平方平均值、加权平均值等。其中,算术平均值、几何平均值、平方平均值、加权平均值的计算方式可以参照现有技术,本申请在此不再赘述。

具体而言,根据标准差的计算公式,在计算标准差时需要用到上述任意一个平均值,例如用加权平均值计算标准差时,上述平均值即为加权平均值。其中,标准差的计算公式可参照现有技术,本申请在此不再赘述。

S405,根据所述第二预设时长中第一预设时刻对应的所述第二子数据序列的数值,确定第一系数。

具体而言,第一系数的计算公式如下:

其中,n为指标系数,根据实际数据情况决定;X为第二子数据序列中任一时刻的实际数值;w为X的位数;A为w/10的余数,i为第二子数据序列中的任一时刻,可以根据实际需要进行选择,容易理解的是,可以选择接近趋势线的数值。

S406,根据所述第一系数、所述平均值以及所述标准差,确定所述动态阈值区间。

可选地,在本申请实施例中,在计算得到第一系数以后,可以计算得到动态阈值区间的上下限,具体而言,动态阈值区间的上限等于均值加N倍标准差,动态阈值区间的下限等于均值减N倍标准差,需要说明的是,当计算标准差用到的均值为加权平均值时,那么计算阈值区间的均值也为加权平均值。

在本申请一种可能的实现方式中,对于趋势数据模式,使用移动平均法进行动态阈值区间的计算:使用当前时间前一段时间(一般取近5或10个时间颗粒的数据,具体情况可调)的值,计算趋势数据模式的时间序列历史数据的加权平均值与标准差,再通过加减N倍标准差,得到动态阈值区间的上下限。

在这些可选的实施例中,通过判定时间序列历史数据的数据模式,选择特定的数据处理模型计算动态阈值区间,由此能够实现算法的自动适配,剔除人工的参与,释放了大量人力资源。

在一实施例中,上述步骤104可以具体执如下步骤:

S501,在所述数据模式为随机数据模式的情况下,选择随机数据处理模型对所述随机数据模式进行数据处理;

S502,获取所述随机数据模式中当前时刻前第三预设时长的第三子数据序列。

可选地,第三预设时长可以是当前时间前一段时间(即前第三预设时长的时间),具体可以根据实际情况调节,容易理解的是,选取的第三预设时长越长,得到的数据越多,后续计算得到的动态阈值区间越准确。

S503,获取所述第三子数据序列的四分位数。

可选地,四分位数(Quartile)也称四分位点,是指在统计学中把所有数值由小到大排列并分成四等份,处于三个分割点位置的数值。其中,四份位数所处的位置的计算可参照下述方式:

Q1的位置=(n+1)×0.25;Q2的位置=(n+1)×0.5;Q3的位置=(n+1)×0.75,其中n表示第三子数据序列的项数,而四分位数即为所处项数对应的数值。

另外一种四分位数位置方法基于N-1为基础,即Q1的位置=1+(n-1)x0.25;Q2的位置=1+(n-1)x0.5;Q3的位置=1+(n-1)x0.75,而四分位数即为所处项数对应的数值。

S504,根据所述第三预设时长中的第二预设时刻对应的所述第三子数据序列的数值,确定第二系数。

具体的第二系数的计算过程可参照上述步骤405,本申请在此不再赘述。

S505,根据所述四分位数中的第一个四分位数、第三个四分位数以及所述第二系数,确定所述动态阈值区间。

在这些可选的实施例中,对于随机性数据模式,本申请使用随机数据处理模型,即加权分位算法进行动态阈值区间计算,其目的是解决对时间序列不同数据量级的差距,导致的算法普适性问题,进一步提高计算动态阈值区间的准确性。

可选地,在本申请一种可能的实现方式中,可以获取当前时间前一段时间(一般取近1天的数据,具体情况可调)的值,计算其25%、75%分位数(即第一个四分位数和第三个四分位数)分别为q1、q2,其中,动态阈值区间的上限为q2+N*(q2-q1),动态阈值区间的下限为q1-N*(q2-q1)。此处N的取数逻辑与步骤405中一致,本申请在此不再赘述。

在这些可选的实施例中,通过判定时间序列历史数据的数据模式,选择特定的数据处理模型计算动态阈值区间,由此能够实现算法的自动适配,剔除人工的参与,释放了大量人力资源。

在一实施例中,上述步骤201具体可以执行如下步骤:

S601,对所述时间序列历史数据进行傅里叶变换,得到频域数据;

S602,从所述频域数据中获取样本子数据序列,所述样本子数据序列中的数据个数与所述时间序列历史数据中的数据个数相同;

S603,根据所述样本子序列的数值和所述时间序列历史数据的数值,确定所述样本子数据序列和所述时间序列历史数据的相关系数;

S604,在所述相关系数大于或等于预设系数阈值的情况下,确定所述时间序列历史数据为周期数据模式。

可选地,在本申请一种可能方实现方式中,在对时间序列历史数据进行预处理后,进行傅里叶变换,获得频域数据;再计算时间序列历史数据与样本子数据序列(从频域数据中提取的样本子数据序列的项数与时间序列历史数据的项数相同)的相关系数,相关系统超过预设系数阈值,则认为该时间序列历史数据为周期数据模式,并且该周期数据模式的时间序列历史数据的起始时间的差值就是我们需要的周期。容易理解的是,预设系数阈值选择的越大,得到的周期数据的周期越明显,得到的周期越接近准确值。

可选地,在本申请实施例中,在对时间序列历史数据进行傅里叶变换以后得到功率谱密度图,可以通过功率频谱密度图获取候选周期。

具体而言,可以绘制自相关系数图,根据该自相关系数图可以得到周期数据模式的时间序列历史数据的候选周期,如果候选周期为自相关系数图的山峰(最高点)那么该候选周期即为真实周期;如果候选周期为自相关系数图的山谷(最低点),那么该候选周期为假周期。

其中,傅里叶变换的象原函数如下所示:

其中,傅里叶变换函数为现有技术中的傅里叶变换函数,本申请在此不再赘述。对傅里叶变换后的频域数据为S,从该频域数据中提取样本子数据序列s,根据下面相关系数的计算公式,计算时间序列历史数据与样本子数据序列的相关系数:

其中,

在这些可选的实施例中,对时间序列历史数据进行波动性的分析,以覆盖当前几乎所有的数据模式,为后续对不同数据模式的时间序列历史数据进行算法的适配提供了坚实的基础,进一步提高了动态阈值区间计算的准确性。

在一实施例中,上述步骤202可以具体执行如下步骤:

S701,在所述相关系数小于所述预设系数阈值的情况下,利用最小二乘法将所述时间序列历史数据中的数据进行拟合,得到目标曲线,所述目标曲线用于表征所述时间序列历史数据的数值和时间的对应关系;

S702,在所述目标曲线为直线的情况下,确定所述时间序列历史数据为趋势数据模式。

可选地,在本申请一种可能的实现方式中,对于趋势数据模式的分析,其主要思路在于斜率的计算,而其中,计算斜率方法的核心在于使用最小二乘法将时间序列历史数据进行拟合,如果拟合成直线,就说明该时间序列历史数据为趋势数据模式,那么可以根据该拟合的直线的斜率k去取得时间序列历史数据的走势,当k>0,则说明该时间序列历史数据有增长的趋势;若k=0,则该时间序列历史数据的趋势趋于平稳;若k<0,则时间序列历史数据有下降趋势。由此,能够通过趋势数据模式的分析判断时间序列历史数据是否有趋势,若有则判断趋势数据模式的分析的数据模式为趋势数据模式。

S703,在所述拟合曲线不为直线的情况下,确定所述时间序列历史数据为随机数据模式。

可选地,在本申请一种可能的实现方式中,在判断该时间序列历史数据的相关系数在小于预设系数阈值时,对该时间序列历史数据进行数据拟合,并且拟合后的曲线也不为直线的情况下,说明该时间序列历史数据不是周期数据模式,也不是趋势数据模式,可选地,在本申请实施例中,可以认为除去周期数据模式、趋势数据模式,其他时间序列历史数据的数据模式均可以判断为随机数据模式(即该数据的波动没有规律)。

在这些可选的实施例中,对时间序列历史数据进行波动性的分析,以覆盖当前几乎所有的数据模式,为后续对不同数据模式的时间序列历史数据进行算法的适配提供了坚实的基础,进一步提高了动态阈值区间计算的准确性。

在一实施例中,上述步骤S102具体可以执行如下步骤:

S801,删除所述时间序列历史数据的重复数据,得到第一处理数据,所述重复数据为在同一时刻重复获取的数据;

可选地,重复数据可以是在同一时刻重复获取的数据,亦或者是获取得到时间序列历史数据的重复属性,对这些重复数据及重复属性,直接作删除处理,避免或减少这些重复数据对时间序列历史数据的数据模式的判定的影响。

如图5所示,图5是本申请实施例提供的一种时间序列历史数据的示意图。可选地,在本申请一种可能的实现方式中,首先对时间序列历史数据进行非等间隔处理,对时间间隔不统一的数据,进行时间间隔规整,如时间序列历史数据采集时间为秒级00-59,但是存在异常时间间隔为23-22的情况,如果出现此类情况可联系数据提供方进行稽核并重新推送数据;随后对时间序列历史数据进行缺失时刻(即在某一个时间间隔内未获取到数据的时刻,可参照图5中的缺失部分)处理,使用缺失时刻当前时间戳前一段时间的数据,构建回归模型,预测缺失时刻时间戳的值,从而给缺失时刻的时间序列历史数据进行赋值,随后对这些缺失时刻赋值后的数据进行保留不做处理;离群点(缺失时刻赋值后的数据),保留不作处理,提高后续进行数据模式的判定的准确性。

S802,对所述第一处理数据的结构进行转化,得到所述预处理后的时间序列历史数据。

可选地,在本申请一种可能的实现方式中,可以是统一数据的类型(数值型、字符型等统一)、单位(相同的单位类型,如毫秒ms与秒s的统一)、缩写规则(统一大写、小写、驼峰书写等)、值域(如数据范围限定[a,b]等)、计数方法(求和、最大值、最小值、中位数等)、小数位数(相同小数位,如限制2位小数等)等,避免数据质量问题导致算法效果不佳。

可选地,在统一时间序列历史数据的规格后,需要对时间序列历史数据的数据类型进行转换(数值型转换为字符型)、表/数据拆分(数据量均分)、数据语义转换、属性构造(如对年龄进行分层,分为儿童、少年、青年、中年、老年、其他等)、数据粒度转换(如分钟转换为秒等)、数据压缩(相同属性的类型进行合并)等。

在这些可选地实施例中,对时间序列历史数据进行筛选和规格的统一,从而能够提高时间序列历史数据的质量,为后续计算单体阈值区间提供了可靠的基础,提高了时间序列历史数据的可靠性。

图6示出了本申请另一个实施例提供的数据异常检测装置的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分。

参照图6,数据异常检测装置可以包括:

采集模块601,用于采集时间序列历史数据;

处理模块602,用于对历史数据进行处理;

检测模块603,用于对预处理后的时间序列历史数据进行数据特性检测,获得数据模式;

选择模块604,用于根据数据模式,按照预设配置选择与其对应的数据处理模型;

第一确定模块605,用于基于数据处理模型,得到动态阈值区间;

第二确定模块606,用于获取待检测的时间序列实时数据,根据动态阈值区间确认是否数据异常;

输出模块607,用于当数据异常时,输出告警信息。

在一实施例中,数据特性检测包括周期性检测、趋势性检测,所述数据模式包括周期数据模式、趋势数据模式、随机数据模式,数据异常检测装置还可以包括:

第一判断模块,用于通过周期性检测判断预处理后的时间序列历史数据是否有周期,若是则判定预处理后的时间序列历史数据为周期数据模式;

第二判断模块,用于若否则通过趋势性检测判断预处理后的时间序列历史数据是否有趋势,若是则判定预处理后的时间序列历史数据为趋势数据模式,若否则判定预处理后的时间序列历史数据为随机数据模式。

在一实施例中,数据异常检测装置还可以包括:

第二处理模块,用于在所述数据模式为周期数据模式的情况下,选择周期数据处理模型对所述周期数据模式进行数据处理;

第一获取模块,用于获取所述周期数据模式中第一预设时长的第一子数据序列;

第一预测模块,用于基于所述周期数据处理模型对所述第一数据序列进行预测,得到一个完整周期的周期序列;

第三确定模块,用于将所述周期序列中的最大值作为所述动态阈值区间的上限,将所述周期序列中的最小值作为所述动态阈值区间的下限。

在一实施例中,数据异常检测装置还可以包括:

第三处理模块,用于在所述数据模式为趋势数据模式的情况下,选择趋势数据处理模型对所述趋势数据模式进行数据处理;

第二获取模块,用于获取所述趋势数据模式中当前时刻前第二预设时长的第二子数据序列;

第一计算模块,用于计算所述第二子数据序列的平均值;

第二计算模块,用于根据所述平均值计算所述第二子数据序列的标准差;

第四确定模块,用于根据所述第二预设时长中第一预设时刻对应的所述第二子数据序列的数值,确定第一系数;

第五确定模块,用于根据所述第一系数、所述平均值以及所述标准差,确定所述动态阈值区间。

在一实施例中,数据异常检测装置还可以包括:

第四处理模块,用于在所述数据模式为随机数据模式的情况下,选择随机数据处理模型对所述随机数据模式进行数据处理;

第三获取模块,用于获取所述随机数据模式中当前时刻前第三预设时长的第三子数据序列;

第四获取模块,用于获取所述第三子数据序列的四分位数;

第六确定模块,用于根据所述第三预设时长中的第二预设时刻对应的所述第三子数据序列的数值,确定第二系数;

第七确定模块,用于根据所述四分位数中的第一个四分位数、第三个四分位数以及所述第二系数,确定所述动态阈值区间。

在一实施例中,数据异常检测装置还可以包括:

第八确定模块,用于对所述时间序列历史数据进行傅里叶变换,得到频域数据;

第五获取模块,用于从所述频域数据中获取样本子数据序列,所述样本子数据序列中的数据个数与所述时间序列历史数据中的数据个数相同;

第九确定模块,用于根据所述样本子序列的数值和所述时间序列历史数据的数值,确定所述样本子数据序列和所述时间序列历史数据的相关系数;

第十确定模块,用于在所述相关系数大于或等于预设系数阈值的情况下,确定所述时间序列历史数据为周期数据模式。

在一实施例中,数据异常检测装置还可以包括:

第一拟合模块,用于在所述相关系数小于所述预设系数阈值的情况下,利用最小二乘法将所述时间序列历史数据中的数据进行拟合,得到目标曲线,所述目标曲线用于表征所述时间序列历史数据的数值和时间的对应关系;

第十一确定模块,用于在所述目标曲线为直线的情况下,确定所述时间序列历史数据为趋势数据模式;

第十二确定模块,用于在所述拟合曲线不为直线的情况下,确定所述时间序列历史数据为随机数据模式。

在一实施例中,数据异常检测装置还可以包括:

第一删除模块,用于删除所述时间序列历史数据的重复数据,得到第一处理数据,所述重复数据为在同一时刻重复获取的数据;

第一转化模块,用于对所述第一处理数据的结构进行转化,得到所述预处理后的时间序列历史数据。

需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,与本申请方法实施例基于同一构思,是与上述电池热失控预警方法对应的装置,上述方法实施例中所有实现方式均适用于该装置的实施例中,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

图7示出了本申请实施例提供的电子设备的硬件结构示意图。

设备可以包括处理器701以及存储有程序指令的存储器702。

处理器701执行程序时实现上述任意各个方法实施例中的步骤。

示例性的,程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器702中,并由处理器701执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列程序指令段,该指令段用于描述程序在设备中的执行过程。

具体地,上述处理器701可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。

存储器702可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器702可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器702可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器702可在综合网关容灾设备的内部或外部。在特定实施例中,存储器702是非易失性固态存储器。

存储器可包括只读存储器(ROM),随机存取存储器(RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本公开的一方面的方法所描述的操作。

处理器701通过读取并执行存储器702中存储的程序指令,以实现上述实施例中的任意一种方法。

在一个示例中,电子设备还可包括通信接口703和总线710。其中,处理器701、存储器702、通信接口703通过总线710连接并完成相互间的通信。

通信接口703,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。

总线710包括硬件、软件或两者,将在线数据流量计费设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线710可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。

另外,结合上述实施例中的方法,本申请实施例可提供一种存储介质来实现。该存储介质上存储有程序指令;该程序指令被处理器执行时实现上述实施例中的任意一种方法。

本申请实施例另提供了一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行程序或指令,实现上述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。

本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如上述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。

以上的结构框图中所示的功能模块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网格被下载。

还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。

上面参考根据本公开的实施例的方法、装置(系统)和程序产品的流程图和/或框图描述了本公开的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。

以上,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。

相关技术
  • 医保报销异常检测方法、装置、计算机设备和存储介质
  • 异常检测方法、装置、电子设备及可读存储介质
  • 基于双控的存储设备数据同步方法、装置、设备及介质
  • 基于大数据的标签数据更新方法、装置、介质及电子设备
  • 产品数据的数据同步方法、装置、计算机设备及存储介质
  • 通信流量数据异常检测方法、装置、电子设备及存储介质
  • 一种时序数据异常检测方法、装置、设备及存储介质
技术分类

06120115918214