一种单时间序列异常子序列检测方法技术

技术编号:14013341 阅读:78 留言:0更新日期:2016-11-17 14:59
本发明专利技术提供了一种单时间序列异常子序列检测方法,该方法对异常子序列进行重新定义,提取所有子序列的TSMBRB表示集进行聚类操作,根据得到的聚类信息,如果某个子序列距离其聚类中心较远时,该子序列更可能是异常子序列,或者,如果簇中元素个数越少,则该簇包含异常子序列的可能性更大。该方法采用双层循环结构,外层循环检测候选子序列,内层循环寻找候选子序列的k近邻,且尽可能使内层循环中候选子序列p与异常子序列位置q的距离尽早比当前异常子序列的异常度小,从而提前终止候选子序列的计算。本发明专利技术通过分析相邻时刻数据变化规律并加以利用,从而减少了大量的候选子序列,使得距离计算次数大幅度降低,算法效率得到提高。

【技术实现步骤摘要】

本专利技术属于数据挖掘
,尤其涉及一种适用于多领域单时间序列的异常子序列的检测方法。
技术介绍
当前异常检测的研究主要集中在数据点的常检测上,即从大量无序的数据点中发现异常的数据点,而没有考虑到数据的次序特征。然而,在很多应用领域,有时研究单一数据点意义并不大,很多时间序列数据就属于这一类,研究其连续的若干数据更具意义。各个领域都包含大量的时间序列数据,例如病人的心电图数据、脑电图数据、发电厂大量传感器的参数数据以及网络流数据等等。而时间序列的异常子序列(模式)检测是一个十分重要的领域,含异常模式的时间序列大部分数据表现为正常形态,异常模式出现频率极少,但极少出现的异常模式却包含相当重要的信息。异常的心电数据意味着病人可能患有某种类型的心脏疾病,异常的脑电数据可能是由癫痫等脑科疾病引起,及时发现病人的异常心电或者脑电数据可以对后续的治疗起到指导作用;而工厂传感器数据异常可能意味着系统某个部分出现了故障,及时发现异常并对系统故障进行修护能减少损失。因此,时间序列数据的异常子序列检测研究极具现实意义。Dasgupta提出将免疫学中的思想运用到时间序列异常模式检测当中。该方法利用自身免疫系统能够区分自身细胞、分子和外部细胞、分子的特点,将时间序列进行编码处理后利用负向选择原理区别自身及外部细胞或分子,从而进行时间序列异常模式检测。Junshui Ma提出利用One-ClassSVM进行时间序列的异常模式检测,其思想源于One-Class SVM能够检测向量数据集中的异常点,通过将时间序列数据转化到相空间之后,利用正类训练数据训练出模型,最后使用训练出来的模型对时间序列进行检测看是否偏离模型,这样就能进行时间序列的异常模式检测。Keogh提出了HOTSAX方法来发现时间序列中的异常子序列,该方法将时间序列转化为SAX表示方法,利用启发式方法来改进时间序列子序列的检测顺序,从而极大提高了时间序列异常子序列检测效率。Izakian提出利用模糊C均值聚类的方法来进行时间序列异常子序列检测,其思想为将时间序列子序列利用模糊C均值聚类方法进行聚类,聚类簇中心反映了时间序列的模式结构,对原始子序列用聚类中心来进行重新构建,正常的子序列模式结构能够通过通过聚类簇中心较好的重构,而异常子序列难以通过聚类中心重构,通过比较利用聚类簇中心重构之后的子序列与原子序列差异性,来寻找异常子序列。Sivaraks提出利用主题发现的方法来检测出心电数据中的异常心跳,此种思想也可以运用到其它时间序列的异常子序列检测当中。该方法通过分析心电数据特点并提取出重复出现的模式,并通过比较序列中候选子序列模式与主题之间的相似性,来确定模式是否为异常心电模式,该方法相比其余异常子序列检测算法无需设置异常子序列长度,且结合了心电数据领域知识,检测准确率很高。国内也进行了相关的研究。最先进行研究的是上海复旦大学的肖辉,其将线段作为模式,检测的基本原理是将时间序列转化为多个线段模式,并通过基于模式密度定义的异常度来衡量模式的异常程度,并将异常程度高的模式作为异常。詹艳艳也提出了在时间序列线性表示模式的基础上进行异常模式检测的方法,该算法的思想是如果模式为异常模式,那么该模式出现的频率必然很低,所以对于出现频率低的模式赋予较高的异常值,而对于出现频率较高的模式赋予较低的异常值,异常值高的模式则为异常模式。杜洪波提出利用局部线性映射来检测时间序列中异常模式,其思想为针对时间序列中每个模式,将其通过邻域内的模式进行重构,比较重构后的模式与原模式之间的差异性,重构误差越大的子序列越可能是异常模式。汪斐将时间序列异常子序列检测方法HOTSAX用于在线时间序列数据的异常检测当中,从而实现时间序列数据的动态增量式异常检测。李桂玲提出时间序列的PAA变化模式表示,并利用其聚类结果来寻找时间序列异常,即利用聚类结果启发序列的搜索顺序,从而检测时间序列异常子序列。单时间序列异常子序列检测方法主要有基于模型的方法及基于比较的方法。基于模型的方法,需要大量的数据来进行模型的训练,设置参数多,算法多针对特定领域,不具有普遍性。基于比较的方法相比基于模型的方法来说,其思想简单直观,设置参数少,无需训练模型,算法适用范围更广。当前基于比较的方法一般通过寻找与其余子序列最不相似的子序列来进行异常子序列的检测。基于比较的方法具有许多优点,但一些问题仍需解决改善,基于比较的方法的原异常子序列定义具有不能发现相似异常的缺点,且当前异常子序列检测算法多只适用于静态时间序列数据。
技术实现思路
为了解决现有技术中问题,本专利技术提供了一种单时间序列异常子序列检测方法,改进异常子序列定义,并将异常子序列检测算法运用到动态时间序列数据流中。本专利技术通过如下技术方案实现:一种单时间序列异常子序列检测方法,所述方法采用双层循环结构,所述方法包括:步骤a,接收单时间序列T,设置子序列长度n值和最近邻个数k值作为输入参数;步骤b,提取所有子序列的时间序列最小边界矩形比特化TSMBRB表示集,进行聚类操作,得到的聚类结果,如果某个子序列距离其聚类中心较远时,该子序列更可能是异常子序列,或者,如果簇中元素个数越少,则该簇包含异常子序列的可能性更大;步骤c,利用所述步骤b得到的聚类结果产生外层循环及内层循环检测子序列的检测顺序:在外层循环中,先遍历异常可能性更大的子序列;步骤d,内层循环中,对于每个候选子序列p,首先应该先排除自身匹配的子序列,若p的k近邻集合中含k个元素,且其与这k个子序列的平均距离小于当前异常子序列的异常度,则可以提前终止内层循环,退出该候选子序列与其他子序列的比较,从而减少比较次数;若不小于当前异常度,且p跟异常子序列位置q之间的距离小于p与其当前k近邻集合中的最大距离,则更新p的k近邻集合;若当前k近邻集合中子序列不足k个,将q加入p的k近邻集合;若内层循环遍历完,候选子序列寻找了其真正k近邻,且其仍然大于当前异常度,则用p及其异常度更新异常子序列位置q及异常度;步骤e,返回异常子序列位置及其异常度。本专利技术还提供了一种单时间序列异常子序列检测方法,所述方法用于时间序列数据流中实现异常子序列的在线检测,所述方法包括:读入一个新数据点并形成新的子序列newseq;然后根据不同情况来确定候选子序列集:若上一时刻异常子序列pre_anomaly_loc为缓冲区中第一个子序列,则候选集为上一时刻第一个子序列的UseList、newseq、当前时刻第一个子序列,否则若newseq的加入使pre_anomaly_loc的异常度变小,则候选集为上一时刻第一个子序列的UseList、newseq、pre_anomaly_loc;否则,候选集为上一时刻第一个子序列的UseList、newseq、pre_anomaly_loc;最后对候选集中子序列调用异常子序列检测算法FTSAD;其中,UseList保存的是那些k近邻集合或者k较相似集合中包含该子序列的子序列,FTSAD算法流程如下:(1)首先利用上一时刻的异常子序列进行初始化,如果候选集中子序列没有检测完,则针对每个候选子序列p执行以下过程:i.检测候选子序列p,若已经保存了其k近邻,且其与其k近邻的平均距离(异常度)大于当前异常子序列的异常度,则更新当本文档来自技高网
...
一种单时间序列异常子序列检测方法

【技术保护点】
一种单时间序列异常子序列检测方法,所述方法采用双层循环结构,其特征在于,所述方法包括:步骤a,接收单时间序列T,设置子序列长度n值和最近邻个数k值作为输入参数;步骤b,提取所有子序列的时间序列最小边界矩形比特化TSMBRB表示集,进行聚类操作,得到的聚类结果,如果某个子序列距离其聚类中心较远时,该子序列更可能是异常子序列,或者,如果簇中元素个数越少,则该簇包含异常子序列的可能性更大;步骤c,利用所述步骤b得到的聚类结果产生外层循环及内层循环检测子序列的检测顺序:在外层循环中,先遍历异常可能性更大的子序列;步骤d,内层循环中,对于每个候选子序列p,首先应该先排除自身匹配的子序列,若p的k近邻集合中含k个元素,且其与这k个子序列的平均距离小于当前异常子序列的异常度,则可以提前终止内层循环,退出该候选子序列与其他子序列的比较,从而减少比较次数;若不小于当前异常度,且p跟异常子序列位置q之间的距离小于p与其当前k近邻集合中的最大距离,则更新p的k近邻集合;若当前k近邻集合中子序列不足k个,将q加入p的k近邻集合;若内层循环遍历完,候选子序列寻找了其真正k近邻,且其仍然大于当前异常度,则用p及其异常度更新异常子序列位置q及异常度;步骤e,返回异常子序列位置及其异常度。...

【技术特征摘要】
1.一种单时间序列异常子序列检测方法,所述方法采用双层循环结构,其特征在于,所述方法包括:步骤a,接收单时间序列T,设置子序列长度n值和最近邻个数k值作为输入参数;步骤b,提取所有子序列的时间序列最小边界矩形比特化TSMBRB表示集,进行聚类操作,得到的聚类结果,如果某个子序列距离其聚类中心较远时,该子序列更可能是异常子序列,或者,如果簇中元素个数越少,则该簇包含异常子序列的可能性更大;步骤c,利用所述步骤b得到的聚类结果产生外层循环及内层循环检测子序列的检测顺序:在外层循环中,先遍历异常可能性更大的子序列;步骤d,内层循环中,对于每个候选子序列p,首先应该先排除自身匹配的子序列,若p的k近邻集合中含k个元素,且其与这k个子序列的平均距离小于当前异常子序列的异常度,则可以提前终止内层循环,退出该候选子序列与其他子序列的比较,从而减少比较次数;若不小于当前异常度,且p跟异常子序列位置q之间的距离小于p与其当前k近邻集合中的最大距离,则更新p的k近邻集合;若当前k近邻集合中子序列不足k个,将q加入p的k近邻集合;若内层循环遍历完,候选子序列寻找了其真正k近邻,且其仍然大于当前异常度,则用p及其异常度更新异常子序列位置q及异常度;步骤e,返回异常子序列位置及其异常度。2.根据权利要求1所述的方法,其特征在于:所述TSMBRB表示是将MB表示与二进制表示结合起来对时间序列进行表示,其中,MBR指的是几何学中用最小边界矩形来包括高维空间点的集合的方法。3.根据权利要求1所述的方法,其特征在于:所述步骤a还包括接收异常子序列个数N作为输入参数;如果检测出的异常子序列个数小于所述异常子序列个数N,所述方法就继续进行下去。4.一种单时间序列异常子序列检测方法,所述方法用于时间序列数据流中实现异常子序列的在线检测,其特征在于,所述方法包括:读入一个新数据点并形成新的子序列newseq;然后根据不同情况来确定候选子序列集:若上一时刻异常子序列pre_anomaly_loc为缓冲...

【专利技术属性】
技术研发人员:张春慨
申请(专利权)人:深圳市颐通科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1