CN109902703B - 一种时间序列异常检测方法及装置 - Google Patents
一种时间序列异常检测方法及装置 Download PDFInfo
- Publication number
- CN109902703B CN109902703B CN201811019950.3A CN201811019950A CN109902703B CN 109902703 B CN109902703 B CN 109902703B CN 201811019950 A CN201811019950 A CN 201811019950A CN 109902703 B CN109902703 B CN 109902703B
- Authority
- CN
- China
- Prior art keywords
- cluster
- subsequence
- feature vector
- time series
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请实施例公开了一种时间序列异常检测方法及装置,涉及数据分析技术领域。能够提高多状态模式时间序列异常检测的准确率。该方法可以包括:接收一组时间序列形式的信号;将信号按照预设规则划分为至少两个子序列;分别对每个子序列提取特征向量,获得特征向量样本集,特征向量样本集为每个子序列对应的特征向量构成的;在特征向量样本集中采用聚类算法获得聚类结果,聚类结果包括至少一个簇以及每个特征向量样本与簇的隶属关系,其中,每个簇为特征向量样本集的子集;在每个簇中应用机器学习算法建立异常行为模型;在每个簇中根据对应的异常行为模型进行异常检测获得异常点。
Description
技术领域
本申请涉及数据分析技术领域,尤其涉及一种时间序列异常检测方法及装置。
背景技术
时间序列异常检测在许多领域都有应用。例如,计算机网络中的异常流量可能意味着被黑客攻击的计算机将敏感数据发送到未经授权的目标,心电图数据中的异常点对应着患者的心脏异常状况,网络监控数据的异常点表明网络中部分设备即将或已经失效。
准确的检测出时间序列数据异常,在实际应用中具有重要意义。然而,现有的时间序列异常检测算法通常基于数据的平稳性假设和周期性假设,对平稳时间序列或周期性时间序列进行异常检测的效果较好,对多状态模式的时间序列进行异常检测时通常存在假阳性率高、检出率低等问题,准确率有待提高。
发明内容
本申请实施例提供一种时间序列异常检测方法及装置,对多状态模式时间序列的不同状态分别建立异常模型,能够提高多状态模式时间序列异常检测的准确率。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,本申请提供了一种时间序列异常检测方法。该方法可以包括:接收一组时间序列形式的信号;将信号按照预设规则划分为至少两个子序列;分别对每个子序列提取特征向量,获得特征向量样本集,其中,特征向量样本集为每个子序列对应的特征向量构成的;在特征向量样本集中采用聚类算法获得聚类结果,聚类结果包括至少一个簇以及每个特征向量样本与簇的隶属关系,其中,每个簇为特征向量样本集的子集;在每个簇中应用机器学习算法建立异常行为模型;在每个簇中根据对应的异常行为模型进行异常检测获得异常点。在该方法中,接收到信号后,根据每个子序列的特征向量进行聚类,获得至少一个簇,使得每个簇对应时间序列的一种状态,这样,针对不同的状态可以建立不同的异常行为模型,能够提高多状态模式时间序列异常检测的准确率。
在一种可能的设计中,特征向量包括:子序列的基本统计量和频率特征;其中,基本统计量包括均值、标准差、最大值和最小值;频率特征为对子序列进行快速傅里叶变换的结果向量的前W个分量的幅值,W为正整数。
在一种可能的设计中,预设规则包括:基于数据的划分方式或基于规则的划分方式。
在一种可能的设计中,基于数据的划分方式可以包括:采用变点分析算法获得信号的变点;根据变点的位置将信号划分为至少两个子序列。通常时间序列的行为模式在变点的前后出现显著变化,所以采用这种方法可以有效的划分出时间序列的不同状态。
在一种可能的设计中,基于规则的划分方式,包括:按照预设周期将信号划分为至少两个子序列。
在一种可能的设计中,在每个簇中应用机器学习算法建立异常行为模型,包括:分别将特征向量对应同一个簇的子序列合并为一个子序列集合,其中,每个子序列集合对应一个簇;分别计算每个子序列集合中所有样本值的均值和标准差;分别根据每个子序列集合对应的均值和标准差计算子序列集合的正常值上界和正常值下界;根据正常值上界和正常值下界获得每个子序列集合的异常行为模型。
第二方面,本申请还提供了一种时间序列异常检测装置,该装置可以包括:接收模块、划分模块、特征向量提取模块、聚类模块、模型建立模块和检测模块。其中,接收模块用于接收一组时间序列形式的信号;划分模块用于将信号按照预设规则划分为至少两个子序列;特征向量提取模块用于分别对每个子序列提取特征向量,获得特征向量样本集,特征向量样本集为每个子序列对应的特征向量构成的;聚类模块用于在特征向量样本集中采用聚类算法获得聚类结果,聚类结果包括至少一个簇以及每个特征向量样本与簇的隶属关系,其中,每个簇为特征向量样本集的子集;模型建立模块用于在每个簇中应用机器学习算法建立异常行为模型;检测模块用于在每个簇中根据对应的异常行为模型进行异常检测获得异常点。
在一种可能的设计中,特征向量包括:子序列的基本统计量和频率特征;其中,基本统计量包括均值、标准差、最大值和最小值;频率特征为对子序列进行快速傅里叶变换的结果向量的前W个分量的幅值,W为正整数。
在一种可能的设计中,预设规则包括:基于数据的划分方式或基于规则的划分方式。
在一种可能的设计中,在预设规则为基于数据的划分方式的情况下,划分模块具体用于,采用变点分析算法获得信号的变点;根据变点的位置将信号划分为至少两个子序列。
在一种可能的设计中,在预设规则为基于规则的划分方式的情况下,划分模块具体用于,按照预设周期将信号划分为至少两个子序列。
在一种可能的设计中,模型建立模块具体用于:分别将特征向量对应同一个簇的子序列合并为一个子序列集合,其中,每个子序列集合对应一个簇;分别计算每个子序列集合中所有样本值的均值和标准差;分别根据每个子序列集合对应的均值和标准差计算子序列集合的正常值上界和正常值下界;根据正常值上界和正常值下界获得每个子序列集合的异常行为模型。
第三方面,本申请还提供了一种时间序列异常检测装置,该装置包括:处理器、存储器和通信接口。通信接口用于支持该装置与其他装置之间的通信,该通信接口可以是收发器或收发电路,通信接口用于接收一组时间序列形式的信号。存储器与处理器耦合,存储器包括非易失性存储介质,用于存储计算机程序代码,计算机程序代码包括计算机指令。当处理器执行计算机指令时,处理器,用于将信号按照预设规则划分为至少两个子序列;分别对每个子序列提取特征向量,获得特征向量样本集,特征向量样本集为每个子序列对应的特征向量构成的;在特征向量样本集中采用聚类算法获得聚类结果,聚类结果包括至少一个簇以及每个特征向量样本与簇的隶属关系,其中,每个簇为特征向量样本集的子集;在每个簇中应用机器学习算法建立异常行为模型;在每个簇中根据对应的异常行为模型进行异常检测获得异常点。
其中,对于特征向量和预设规则的解释可以参考第一方面中具体描述,此处不再赘述。
在一种可能的设计中,处理器具体用于,分别将特征向量对应同一个簇的子序列合并为一个子序列集合,其中,每个子序列集合对应一个簇;分别计算每个子序列集合中所有样本值的均值和标准差;分别根据每个子序列集合对应的均值和标准差计算子序列集合的正常值上界和正常值下界;根据正常值上界和正常值下界获得每个子序列集合的异常行为模型。
本申请还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一方面所述的方法。
本申请还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一方面所述的方法。
本申请还提供了一种芯片***,该芯片***中包括处理器,还可以包括存储器和收发电路,用于实现上述任一方面所述的方法。
上述提供的任一种装置或计算机存储介质或计算机程序产品或芯片***均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文提供的对应的方法中对应方案的有益效果,此处不再赘述。
附图说明
图1-1为本申请实施例所适用的一种网络架构的示意图一;
图1-2为本申请实施例所适用的一种网络架构的示意图二;
图2为一种时间序列的示意图一;
图3为一种时间序列的示意图二;
图4为本申请实施例提供的一种时间序列异常检测方法的示意图;
图5-1为本申请实施例适用的一种时间序列的示意图一;
图5-2为本申请实施例适用的一种时间序列的示意图二;
图5-3为本申请实施例适用的一种时间序列的示意图三;
图6为本申请实施例提供的一种时间序列异常检测装置的结构示意图一;
图7为本申请实施例提供的一种时间序列异常检测装置的结构示意图二。
具体实施方式
首先,对本申请中涉及的部分术语进行解释说明:
1、时间序列
时间序列包含变化的时间戳以及对应时间戳上的取值。当时间戳信息未知时,可以以时间序列的相对位置(比如,索引、下标等)作为时间戳。
2、期望值
时间序列在去除噪声后的取值。
3、异常
异常是数据集中与众不同的数据,这些数据并非随机偏差,而是与正常值产生于完全不同的机制。若某时间戳对应的取值是异常的,则该时间戳和取值为时间序列的异常点。
4、本文中的术语“多个”是指两个或两个以上。本文中的术语“第一”和“第二”是用于区别不同的对象,而不是用于描述对象的特定顺序。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
下面结合附图对本申请实施例提供的时间序列异常检测方法及装置进行详细描述。
本申请提供的技术方案可以应用于具有多状态模式的时间序列的异常检测。时间序列可以是任意领域的具有多状态模式的时间序列,例如,可以是经济周期中的国内生产总值(gross domestic product,GDP)同比增长率;可以是人体处于不同状态时(健康、亚健康、疾病)的心电图数据、心跳频率等指标;也可以是设备性能指标,比如,网络流量、网络监控数据等。
本申请提供的技术方案可以应用于图1-1或图1-2所示的***架构中,该***架构中包括装置100和时间序列异常检测装置200。装置100可以用于产生时间序列形式的信号,比如,装置100可以是通信设备、监控设备、网络设备、生活电器、工业仪器仪表等任何可以产生时间序列形式信号的设备。时间序列异常检测装置200用于对装置100产生的时间序列形式的信号进行异常检测,时间序列异常检测装置200可以是任意具备检测功能的装置。比如,时间序列异常检测装置200可以是如图1-1所示独立于装置100的设备,也可以是如图1-2所示设置在装置100内,用于实现时间序列异常检测功能的单元。时间序列异常检测装置200可以通过有线连接的方式与装置100连接,获取时间序列形式的信号;也可以通过无线方式获取时间序列形式的信号,比如,移动通信网络、短距离通信等。
时间序列异常检测算法通过学***稳时间序列采用去噪算法可以得到时间序列的期望值。对于具有周期行为和趋势行为的时间序列采用STL(seasonal and trenddecomposition using loess)分解可以得到时间序列的周期分量、趋势分量和噪声。
然而,现实中的时间序列除周期模式、趋势模式之外,通常还表现为多状态模式,例如:网站流量在一天中的忙时和闲时显著不同;人体处于不同状态时心电图数据、心跳频率等指标可能发生显著变化;在不同的经济周期下经济指标呈现不同行为等。具有多状态模式的时间序列的状态持续时间通常不具有周期性,且状态转移具有随机性。
示例性的,图2为2008年-2012年各经济周期阶段的划分示意图。如图2所示,横坐标表示时间,例如,2005Q1表示2005年一季度,2006Q4表示2006年四季度,纵坐标表示GDP同比增长率。可以看出,GDP同比增长率存在四个状态,复苏、扩张、滞胀和收缩,四个状态的持续时间不具有周期性。
示例性的,图3为一个网络设备的性能指标数据图。如图3所示,横坐标表示时间,单位为15分钟,纵坐标为性能指标数据。可以看出,性能指标数据并不具有平稳性和周期性。
基于数据的平稳性假设和周期性假设对时间序列进行异常检测的方法,对平稳时间序列或周期性时间序列进行异常检测的效果较好,而对多状态模式的时间序列进行异常检测时通常存在如下问题:
1、假阳性率高。多状态模式的时间序列,部分状态下的行为具有与其他状态下行为的明显区别,基于数据的平稳性假设和周期性假设的方法会将部分状态下的正常行为检测为异常。例如,基于数据的平稳性假设和周期性假设对如图3所示的时间序列进行异常检测,忙时的数据被认为是符合期望值的,而闲时的数据可能会被检测为异常,造成假阳性率高。
2、检出率低。基于平稳性假设或周期性假设的模型通常泛化能力弱,在处理多状态模式的时间序列时,因为欠拟合导致异常点的检出率低。
本申请实施例提供一种时间序列异常检测方法,对多状态模式时间序列的不同状态分别建立异常模型,能够提高多状态模式时间序列异常检测的准确率。执行该方法的可以是图1-1或图1-2中时间序列异常检测装置200,如图4所示,该方法可以包括S101-S106:
S101、接收时间序列形式的信号。
从一个或者多个设备接收时间序列形式的信号,作为一组时间序列形式的信号。该设备可以是任意能够输出时间序列形式信号的设备,比如,网络设备、监控设备、测试设备等。
示例性的,从一个网络设备接收到如图5-1所示的时间序列形式的信号,横坐标表示时间,是长度为105的时间序列;纵坐标表示样本值,第1-50个点采用正态分布N(5,1)生成,第51-100个点采用正态分布N(15,1)生成,第101-105个点为(4.8,1.2,5.1,0.8,5.2)。详细的时间序列的样本值如下:
3.644146,5.364861,4.995019,5.119684,5.267784,4.042125,5.064017,4.955253,4.160305,4.418243,4.021981,5.310384,6.874973,5.119141,3.262541,3.870503,6.386098,4.925261,5.898857,3.178964,6.027084,3.734730,5.486550,4.414970,3.193849,4.442141,3.984647,5.575834,4.447070,5.233719,4.771871,3.918034,5.265214,5.437755,5.231816,5.016403,4.438038,5.767812,3.705144,3.570856,4.329993,4.436391,4.145236,2.441678,4.605813,5.591893,5.196055,5.366105,4.774712,6.478371,15.424729,14.064224,15.676915,14.931677,14.666771,15.708086,14.332691,16.520617,15.537886,15.679568,16.359227,15.978498,14.576491,15.478133,15.197947,13.433239,14.513958,14.647816,16.245138,13.589308,15.396134,13.482729,14.074725,14.783087,14.747101,16.570960,15.600240,15.500117,16.632776,17.752100,14.314861,15.402561,15.709759,14.706143,13.938962,14.128660,15.776622,15.835101,14.559545,14.501439,16.240766,13.744677,14.028888,13.776851,15.047210,14.079417,14.392171,14.970326,15.509391,14.272458,4.8,1.2,5.1,0.8,5.2。
S102、将信号按照预设规则划分为子序列。
将接收到的信号按照预设规则划分为至少两个子序列。其中,可以采取任意的预设规则将接收到的信号划分为多个。示例性的,预设规则可以是基于数据的划分方式或基于规则的划分方式。
在一种实现方式中,一种基于数据的划分方式可以包括:
一、采用变点分析算法获得信号的变点。
变点又叫突变点或断裂点,时间序列的行为模式通常在变点的前后出现显著变化。采用变点分析算法获得信号的变点,即可以划分出时间序列的不同状态。示例性的,变点分析算法可以是Binary Segmentation、PELT(pruned exact linear time)等任意一种。
示例性的,采用Binary Segmentation方法对图5-1所示的时间序列进行分析,得到两个变点:第50个点和第100个点。
二、根据变点的位置将信号划分为多个子序列。
以每个变点为临界,将信号划分为多个子序列。
示例性的,根据变点位置将图5-1所示的时间序列划分为3个子序列:[1,50],[51,100],[101,105],如图5-2所示,得到子序列1、子序列2和子序列3。
在另一种实现方式中,一种基于规则的划分方式可以包括:
一、确定信号的划分周期T,例如划分周期为24小时,则子序列的长度就固定为24小时。
二、确定信号的划分起点s,例如以当前点或者随机选取潜在异常点作为划分起点。潜在异常点是用户需要进行异常检测的时间点,比如可以将时间序列的所有时间点作为潜在异常点。
三、根据s和T将信号划分为多个子序列:(s-T,s],(s-2T,s-T],(s-3T,s-2T]……
S103、分别对每个子序列提取特征向量,获得特征向量样本集。
分别对每个子序列提取特征向量,并将所有的子序列对应的特征向量合并构成特征向量样本集。特征向量是能够体现每个子序列的共同特征的一组数据。
在一种实现方式中,特征向量可以包括:子序列的基本统计量和频率特征;其中,基本统计量可以包括均值、标准差、最大值和最小值;频率特征为对子序列进行快速傅里叶变换的结果向量的前W个分量的幅值,W为正整数,可以根据实际需要确定。
快速傅里叶变换公式如下:
综上,子序列的均值、标准差、最大值、最小值以及y(1),y(2)…y(w)的幅值即构成了子序列的特征向量。所有子序列的特征向量构成了特征向量样本集。
进一步的,在一种实现方式中,还可以对特征向量样本集进行归一化,使得每个特征的取值范围位于[0,1]之间。
示例性的,分别计算图5-2中子序列1、子序列2和子序列3的特征向量(w=5),获得特征向量样本集如表1所示。
表1
S104、在特征向量样本集中采用聚类算法获得聚类结果。
聚类算法是一种机器学习算法,对于包含m个样本的样本集X={x1,x2,…xm},采用聚类算法得到q个簇:C1,C2…Cq,使得任意一个样本均隶属于其中一个簇,每个簇中的样本具有相似的特征,其中q的值可以采用预设以及启发式方法确定。
对特征向量样本集采用任意一种聚类算法获得聚类结果,聚类结果包括至少一个簇以及每个特征向量样本与簇的隶属关系,其中,每个簇为特征向量样本集的子集,每个簇对应时间序列的一种状态。例如聚类算法可以为K-means、层次聚类等。
示例性的,采用K-means对表1所示的特征向量样本集进行聚类,令簇数目q=2,聚类结果如表2所示。
表2
S105、在每个簇中应用机器学习算法建立异常行为模型。
分别在每个簇中应用任意一种机器学习算法建立异常行为模型,异常行为模型用于区分出时间序列中的异常点。本申请实施例不限定建立异常行为模型采用的机器学习算法。
在一种实现方式中,可以采用如下方式建立异常行为模型。
一、分别将特征向量对应同一个簇的子序列合并为一个子序列集合,其中,每个子序列集合对应一个簇。
示例性的,表2中的簇1包括特征向量1和特征向量3,簇2包括特征向量2;对应簇1的子序列为子序列1和子序列3,对应簇2的子序列为子序列2。
将子序列1和子序列3的元素合并得到的子序列集合1,即对应簇1的样本值集合,共55个值,分别为:
3.644146,5.364861,4.995019,5.119684,5.267784,4.042125,5.064017,4.955253,4.160305,4.418243,4.021981,5.310384,6.874973,5.119141,3.262541,3.870503,6.386098,4.925261,5.898857,3.178964,6.027084,3.734730,5.486550,4.414970,3.193849,4.442141,3.984647,5.575834,4.447070,5.233719,4.771871,3.918034,5.265214,5.437755,5.231816,5.016403,4.438038,5.767812,3.705144,3.570856,4.329993,4.436391,4.145236,2.441678,4.605813,5.591893,5.196055,5.366105,4.774712,6.478371,4.8,1.2,5.1,0.8,5.2。
子序列2的元素构成的子序列集合2,即对应簇2的样本值集合,共50个值,分别为:
15.424729,14.064224,15.676915,14.931677,14.666771,15.708086,14.332691,16.520617,15.537886,15.679568,16.359227,15.978498,14.576491,15.478133,15.197947,13.433239,14.513958,14.647816,16.245138,13.589308,15.396134,13.482729,14.074725,14.783087,14.747101,16.570960,15.600240,15.500117,16.632776,17.752100,14.314861,15.402561,15.709759,14.706143,13.938962,14.128660,15.776622,15.835101,14.559545,14.501439,16.240766,13.744677,14.028888,13.776851,15.047210,14.079417,14.392171,14.970326,15.509391,14.272458。
二、分别计算每个子序列集合中所有样本值的均值和标准差。
示例性的,分别计算上述子序列集合1和子序列集合2的均值和标准差。例如,子序列集合1的均值为4.62,标准差为1.13。
三、分别根据每个子序列集合对应的均值和标准差计算子序列集合的正常值上界和正常值下界。
在实际应用中,可以根据需要,比如根据精度要求确定子序列集合的正常值上界和正常值下界。本申请实施例对于具体的确定正常值上界和正常值下界的方法不做限制。
在一种实现方式中,可以根据子序列集合的均值和标准差计算子序列集合的正常值上界和正常值下界。
示例性的,正常值上界=均值+a*标准差,正常值下界=均值–b*标准差。
示例性的,确定正常值上界=均值+3*标准差,正常值下界=均值–3*标准差,则可以计算出子序列集合1的正常值上界为4.62+3*1.13=8,正常值下界为4.62-3*1.13=1.233。
四、根据正常值上界和正常值下界获得每个子序列集合的异常行为模型。
分别根据正常值上界和正常值下界获得每个子序列集合的异常行为模型,当样本值大于正常值上界或小于正常值下界,则确定该样本值符合异常行为模型,该样本值和对应的时间戳为异常点。
示例性的,对于子序列集合1,异常行为模型为,样本值大于8或样本值小于1.233的时间点为异常点。
当然,可以采用同样的方法,获得子序列集合2的异常行为模型,此处不再赘述。
S106、在每个簇中根据对应的异常行为模型进行异常检测获得异常点。
分别针对每个簇对应的子序列集合,将子序列集合中的每个样本值根据对应的异常行为模型进行检测,获得异常点。
示例性的,针对簇1,将子序列集合1中的每个样本值根据异常行为模型进行检测,将样本值大于8或样本值小于1.233的时间点确定为异常点。子序列集合1中存在两个异常点,分别为第102个和第104个点。采用相同的方法针对簇2根据簇2对应的异常行为模型进行异常检测,确定不存在异常点。
如图5-3所示,获得图5-1所示的时间序列形式的信号的异常点为第102个和第104个点。
本申请实施例提供的时间序列异常检测方法,区分时间序列的不同状态分别建立异常行为模型,相比现有技术中对于时间序列采用统一的异常行为模型进行异常检测的方法,本申请提供的时间序列异常检测方法,能够有效避免假阳性率高和检出率低的问题,提高时间序列异常检测的准确性。
上述主要从时间序列异常检测装置的角度对本申请实施例提供的方案进行了介绍。可以理解的是,时间序列异常检测装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对时间序列异常检测装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。下面以采用对应各个功能划分各个功能模块为例进行说明。
图6是本申请实施例提供的装置600的逻辑结构示意图。装置600可以是硬件结构、软件模块、或硬件结构加软件模块,装置600可以由芯片***实现,本申请实施例中,芯片***可以由芯片构成,也可以包含芯片和其他分立器件。如图6所示,装置600包括接收模块601、划分模块602、特征向量提取模块603、聚类模块604、模型建立模块605和检测模块606。接收模块601可以用于执行图4中的S101,和/或执行本申请中描述的其他步骤。划分模块602可以用于执行图4中的S102,和/或执行本申请中描述的其他步骤。特征向量提取模块603可以用于执行图4中的S103,和/或执行本申请中描述的其他步骤。聚类模块604可以用于执行图4中的S104,和/或执行本申请中描述的其他步骤。模型建立模块605可以用于执行图4中的S105,和/或执行本申请中描述的其他步骤。检测模块606可以用于执行图4中的S106,和/或执行本申请中描述的其他步骤。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在本实施例中,装置600可以以采用集成的方式划分各个功能模块的形式来呈现。这里的“模块”可以指特定ASIC,电路,执行一个或多个软件或固件程序的处理器和存储设备,集成逻辑电路,和/或其他可以提供上述功能的器件。
在一个简单的实施例中,装置600可以采用图7所示的形式。
如图7所示,装置700可以包括:存储器701、处理器702、以及通信接口703。其中存储器701用于存储指令,当装置700运行时,处理器702执行存储器701存储的指令,以使装置700执行本申请实施例提供的时间序列异常检测方法。存储器701、处理器702、以及通信接口703通过总线704通信连接。具体的时间序列异常检测方法可参考上文及附图中的相关描述,此处不再赘述。应注意,在具体实现过程中,装置700还可以包括其他硬件器件,本文不再一一列举。在一种可能的实现中,存储器701还可以包括于处理器702中。
在本申请的一个示例中,图6中的接收模块601可以通过通信接口703实现。图6中的划分模块602、特征向量提取模块603、聚类模块604、模型建立模块605和检测模块606可以通过处理器702实现。
其中,通信接口703可以是电路、器件、接口、总线、软件模块、收发器或者其它任意可以实现通信的装置。处理器702可以是现场可编程门阵列(field-programmable gatearray,FPGA),专用集成芯片(application specific integrated circuit,ASIC),***芯片(system on chip,SoC),中央处理器(central processor unit,CPU),网络处理器(network processor,NP),数字信号处理电路(digital signal processor,DSP),微控制器(micro controller unit,MCU),还可以采用可编程控制器(programmable logicdevice,PLD)或其他集成芯片。存储器701包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器还可以包括上述种类的存储器的组合;存储器还可以包括其它任何具有存储功能的装置,例如电路、器件或软件模块。
由于本申请实施例提供的装置可用于执行上述时间序列异常检测方法,因此其所能获得的技术效果可参考上述方法实施例,在此不再赘述。
本领域普通技术人员可知,上述方法中的全部或部分步骤可以通过程序指令相关的硬件完成,该程序可以存储于一计算机可读存储介质中,该计算机可读存储介质如ROM、RAM和光盘等。
本申请实施例还提供一种存储介质,该存储介质可以包括存储器701。
上述提供的任一种装置中相关内容的解释及有益效果均可参考上文提供的对应的方法实施例,此处不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (5)
1.一种设备性能指标时间序列异常检测方法,其特征在于,包括:
从一个或多个设备接收一组时间序列形式的信号,所述时间序列为设备性能指标时间序列;
将所述信号按照预设规则划分为至少两个子序列;
分别对每个子序列提取特征向量,获得特征向量样本集,所述特征向量样本集为每个子序列对应的特征向量构成的;
在所述特征向量样本集中采用聚类算法获得聚类结果,所述聚类结果包括至少一个簇以及每个特征向量样本与簇的隶属关系,其中,每个簇为所述特征向量样本集的子集;
在每个簇中应用机器学习算法建立异常行为模型;
在每个簇中根据对应的异常行为模型进行异常检测获得设备性能指标时间序列中的异常点;
所述预设规则包括:基于数据的划分方式或基于规则的划分方式;
其中,所述基于数据的划分方式,包括:采用变点分析算法获得所述信号的变点;根据所述变点的位置将所述信号划分为至少两个子序列;
所述基于规则的划分方式,包括:按照预设周期将所述信号划分为至少两个子序列;
其中,所述在每个簇中应用机器学习算法建立异常行为模型,包括:分别将特征向量对应同一个簇的子序列合并为一个子序列集合,其中,每个子序列集合对应一个簇;
分别计算每个子序列集合中所有样本值的均值和标准差;
分别根据每个子序列集合对应的均值和标准差计算子序列集合的正常值上界和正常值下界;
根据所述正常值上界和所述正常值下界获得每个子序列集合的异常行为模型。
2.根据权利要求1所述的方法,其特征在于,所述特征向量包括:
子序列的基本统计量和频率特征;
其中,基本统计量包括均值、标准差、最大值和最小值;
频率特征为对子序列进行快速傅里叶变换的结果向量的前W个分量的幅值,W为正整数。
3.一种设备性能指标时间序列异常检测装置,其特征在于,包括:
接收模块,用于接收一组时间序列形式的信号,所述时间序列为设备性能指标时间序列;
划分模块,用于将所述信号按照预设规则划分为至少两个子序列;
特征向量提取模块,用于分别对每个子序列提取特征向量,获得特征向量样本集,所述特征向量样本集为每个子序列对应的特征向量构成的;
聚类模块,用于在所述特征向量样本集中采用聚类算法获得聚类结果,所述聚类结果包括至少一个簇以及每个特征向量样本与簇的隶属关系,其中,每个簇为所述特征向量样本集的子集;
模型建立模块,用于在每个簇中应用机器学习算法建立异常行为模型;
检测模块,用于在每个簇中根据对应的异常行为模型进行异常检测获得设备性能指标时间序列中的异常点;
所述预设规则包括:基于数据的划分方式或基于规则的划分方式;
其中,在所述预设规则为基于数据的划分方式的情况下,所述划分模块具体用于,采用变点分析算法获得所述信号的变点;根据所述变点的位置将所述信号划分为至少两个子序列;
在所述预设规则为基于规则的划分方式的情况下,所述划分模块具体用于,按照预设周期将所述信号划分为至少两个子序列;
其中,所述模型建立模块具体用于:分别将特征向量对应同一个簇的子序列合并为一个子序列集合,其中,每个子序列集合对应一个簇;
分别计算每个子序列集合中所有样本值的均值和标准差;
分别根据每个子序列集合对应的均值和标准差计算子序列集合的正常值上界和正常值下界;
根据所述正常值上界和所述正常值下界获得每个子序列集合的异常行为模型。
4.根据权利要求3所述的装置,其特征在于,所述特征向量包括:
子序列的基本统计量和频率特征;
其中,基本统计量包括均值、标准差、最大值和最小值;
频率特征为对子序列进行快速傅里叶变换的结果向量的前W个分量的幅值,W为正整数。
5.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-2任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811019950.3A CN109902703B (zh) | 2018-09-03 | 2018-09-03 | 一种时间序列异常检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811019950.3A CN109902703B (zh) | 2018-09-03 | 2018-09-03 | 一种时间序列异常检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109902703A CN109902703A (zh) | 2019-06-18 |
CN109902703B true CN109902703B (zh) | 2021-09-21 |
Family
ID=66943286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811019950.3A Active CN109902703B (zh) | 2018-09-03 | 2018-09-03 | 一种时间序列异常检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109902703B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112149700A (zh) * | 2019-06-28 | 2020-12-29 | 北京百度网讯科技有限公司 | 特征漂移幅度的识别方法、装置、设备和存储介质 |
CN110532297A (zh) * | 2019-08-01 | 2019-12-03 | 河海大学 | 一种基于层次聚类的符号化水文时间序列异常模式检测方法 |
CN110266552B (zh) * | 2019-08-15 | 2020-04-21 | 华为技术有限公司 | 流量异常检测的方法、模型训练方法和装置 |
CN110750536B (zh) * | 2019-10-11 | 2020-06-23 | 清华大学 | 姿态时间序列数据的振动噪声平滑处理方法及*** |
CN110763197B (zh) * | 2019-10-11 | 2020-06-09 | 清华大学 | 一种姿态时间序列数据的异常值处理方法及*** |
CN112882822B (zh) * | 2019-11-29 | 2024-03-01 | 阿里巴巴集团控股有限公司 | 生成负载预测模型的方法、装置、设备和存储介质 |
CN111258826B (zh) * | 2020-01-09 | 2023-08-15 | 深圳市德明利技术股份有限公司 | 一种存储设备的命令序列测试方法和装置以及设备 |
CN111612082B (zh) * | 2020-05-26 | 2023-06-23 | 河北小企鹅医疗科技有限公司 | 检测时间序列中异常子序列的方法及设备 |
DE102020207449B4 (de) * | 2020-06-16 | 2022-02-10 | Volkswagen Aktiengesellschaft | Verfahren, Computerprogramm und Vorrichtung zum Verarbeiten von Signalen |
CN112148768A (zh) * | 2020-09-14 | 2020-12-29 | 北京基调网络股份有限公司 | 一种指标时间序列异常检测方法、***及存储介质 |
CN112070178B (zh) * | 2020-09-18 | 2023-10-27 | 北京金山云网络技术有限公司 | 图像序列样本集的确定方法、装置以及计算机设备 |
CN112329713A (zh) * | 2020-11-25 | 2021-02-05 | 恩亿科(北京)数据科技有限公司 | 网络流量异常在线检测方法、***、计算机设备及存储介质 |
CN113704643B (zh) * | 2021-09-03 | 2022-10-18 | 北京百度网讯科技有限公司 | 确定目标物体状态的方法、装置、电子设备以及存储介质 |
US11722359B2 (en) | 2021-09-20 | 2023-08-08 | Cisco Technology, Inc. | Drift detection for predictive network models |
CN114241429A (zh) * | 2021-12-15 | 2022-03-25 | 平安科技(深圳)有限公司 | 驾驶风险等级确定方法、装置、计算机设备及存储介质 |
CN114363062B (zh) * | 2021-12-31 | 2024-07-09 | 深信服科技股份有限公司 | 一种域名检测方法、***、设备及计算机可读存储介质 |
CN114745161B (zh) * | 2022-03-23 | 2023-08-22 | 烽台科技(北京)有限公司 | 一种异常流量的检测方法、装置、终端设备和存储介质 |
CN114861729A (zh) * | 2022-05-20 | 2022-08-05 | 西安邮电大学 | 无线传感器网络中时间序列异常的检测方法及装置 |
US20240231994A9 (en) * | 2022-10-25 | 2024-07-11 | Nec Laboratories America, Inc. | Anomaly detection using metric time series and event sequences for medical decision making |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101900834B (zh) * | 2010-03-23 | 2013-11-06 | 中国地震局地震研究所 | 一种检测电离层tec异常的方法 |
CN102880621B (zh) * | 2011-07-14 | 2017-03-01 | 富士通株式会社 | 提取相似子时间序列的方法和装置 |
CN102360378A (zh) * | 2011-10-10 | 2012-02-22 | 南京大学 | 一种时序数据离群点检测方法 |
CN105205112A (zh) * | 2015-09-01 | 2015-12-30 | 西安交通大学 | 一种时序数据异常特征的挖掘***及方法 |
CN105702029B (zh) * | 2016-02-22 | 2017-11-28 | 北京航空航天大学 | 一种分时段考虑时空关联性的快速路交通状态预测方法 |
US20170277997A1 (en) * | 2016-03-23 | 2017-09-28 | Nec Laboratories America, Inc. | Invariants Modeling and Detection for Heterogeneous Logs |
CN106127229A (zh) * | 2016-06-16 | 2016-11-16 | 南京大学 | 一种基于时间序列类别的计算机数据分类方法 |
CN106599271A (zh) * | 2016-12-22 | 2017-04-26 | 江苏方天电力技术有限公司 | 一种燃煤机组排放监测时序数据异常值检测方法 |
-
2018
- 2018-09-03 CN CN201811019950.3A patent/CN109902703B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109902703A (zh) | 2019-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109902703B (zh) | 一种时间序列异常检测方法及装置 | |
WO2021056724A1 (zh) | 异常检测方法、装置、电子设备及存储介质 | |
Rostaghi et al. | Dispersion entropy: A measure for time-series analysis | |
JP2020140580A (ja) | 検知装置及び検知プログラム | |
CN109587008A (zh) | 检测异常流量数据的方法、装置及存储介质 | |
CN108324271B (zh) | 心电信号识别方法、***和心电监测设备 | |
US8321362B2 (en) | Methods and apparatus to dynamically optimize platforms | |
CN106598822B (zh) | 一种用于容量评估的异常数据检测方法及装置 | |
CN114528934A (zh) | 时序数据异常检测方法、装置、设备及介质 | |
CN108742697B (zh) | 心音信号分类方法及终端设备 | |
CN111626360A (zh) | 用于检测锅炉故障类型的方法、装置、设备和存储介质 | |
US20080255773A1 (en) | Machine condition monitoring using pattern rules | |
US9467182B2 (en) | Signal decomposition method and electronic apparatus using the same | |
Jiao et al. | Effective connectivity analysis of fMRI data based on network motifs | |
Ilbeigipour et al. | Real‐Time Heart Arrhythmia Detection Using Apache Spark Structured Streaming | |
CN117290679A (zh) | 电流互感器的运行状态检测方法、装置及电子设备 | |
CN114581261A (zh) | 基于快速图计算的故障诊断方法、***、设备及存储介质 | |
CN113672782A (zh) | 一种基于数据查询的物联网设备重要性匹配方法 | |
Hartmann et al. | Identifying IIR filter coefficients using particle swarm optimization with application to reconstruction of missing cardiovascular signals | |
CN115514620B (zh) | 一种异常检测的方法和云网络平台 | |
CN113283316A (zh) | 一种基于声音信号的开关机械故障诊断方法、装置及设备 | |
CN115047262A (zh) | 基于电能质量数据的设备异常状态通用识别方法 | |
KR102236437B1 (ko) | 생리학적 데이터와 시뮬레이션 데이터를 이용한 멀티태스크를 수행하는 사용자의 인지 부하 측정 방법 및 장치 | |
TWI734369B (zh) | 一種亂數產生方法、裝置、電子設備及非暫態性電腦存儲介質 | |
CN118133058B (zh) | 用于小直流母线串联微网配电的电压稳定性监测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |