皮盼资讯网移动版

皮盼资讯网 > 潮流时尚 >

Cleanits:制造业时序数据清洗系统(3)

异常检测 在异常检测部分,我们利用已计算得到时序相关性图模型对待检测数据中隐藏的异常数据进行检测识别.对于彼此存在相关性的序列集合,我们采用基于相关性参数计算异常检测的方法,对时序相关团内以及不同团之间分别进行异常数据挖掘与识别.对于与其他序列无明显相关的序列,我们进行单维序列异常检测.上述检测步骤能够在节约计算时间的情况下,实现高质量的异常数据挖掘.

按数据处理过程,该方法分为训练阶段和测试阶段.

在训练阶段,我们将各维上的历史序列数据作为训练数据集,对所有维数上的时间序列进行相关性计算分析,建立时间序列相关性图模型,并记录各时间序列之间的相关性信息.在测试阶段,我们输入待检测的时间子序列组,利用已训练完成的相关性图模型,对时序相关团内、时序相关团间、及孤立点上的序列进行异常模式挖掘与识别,最后判定并输出异常数据在整体测试数据中的具体时间区间和具体维序号,完成异常检测过程.

4.2 序列相关性建模分析

在得到K条时间序列的相关系数矩阵SCM后,为了有效地表示序列间的相关关系,我们提出序列相关性图模型,根据矩阵中元素取值,对序列的相关关系进一步计算.我们首先构建时序相关图,对于一个给定传感器组S_m上的K维时间序列数据,建立一个无向的时序相关性图G_r (S)=(V,E),其顶点集合记录了所有序列,边集合记录了序列间是否存在大于阈值的相关性信息,构建时,我们首先初始化无向的时序相关性图G_r=(V,E),然后我们依次遍历生成的〖SCM〗_(K×K)矩阵的上三角(或等价的下三角),将相关性参数大于等于θ_c的两个顶点之间连一条无向边,直至矩阵遍历完成,结束建图.

为了进一步分析图Gr上不同相关强度的时间序列组,我们提出时序相关团(Time series correlation clique)的概念,通过计算图的连通分量并进行必要的剪枝处理,挖掘和识别多维序列中的异常模式,并且提高异常检测方法的效率.

4.3 基于相关性的异常检测算法

在构建完成时序相关图模型后,我们接下来利用该模型对多维时间序列异常模式进行检测.在检测过程中,我们仍然采用时间子序列组作为基本分析单位,在测试过程中,逐段进行异常检测分析.对于一个传感器组S的第l个时间段的K维时间序列,检测过程如算法2所示.

算法2的异常检测主要分为两个步骤:第3-15行进行时序相关团内的异常序列检测;第16-20行进行时序相关团之间的异常检测.在团内检测过程中,我们维护一个无向图G_B记录C_i的异常检测操作过程.我们遍历团内所有边,检测边权值的大小.根据时序相关图的定义,同一个团内的序列都是以很高的相关性阈值相连,因此若检测到边权低于给定的相关性阈值θ_c,则认为异常存在于该边相连的两个点之中,我们将出现异常权值的边加入G_B(第9-10行).此时, G_B与C_i有相同的顶点结构,且G_B的边集合记录了候选的异常顶点.在第10行我们去掉G_B上没有边相连的顶点,即没有发生异常的顶点.在得到的新G_B上计算确定异常的具体位置. 记录候选异常序列的图G_B上.

在第12行,我们将对G_B执行的二分图的最小顶点覆盖结果作为异常序列的识别结果输入AD(S)集合. 由于无向图上最小点覆盖问题已被证实是NP完全问题,若G_B判定为不是二分图,我们采用贪心策略去寻找真正的异常序列,具体步骤是:在G_B中选择一个度最大且至少为1的顶点度最大且至少为1的顶点v,将其标注为异常,然后删除与v相连的边.重复执行这一操作,直到所有顶点的度均为0,以此方法求得异常序列集合,将其加入AD(S)中.此外,在后面步骤中(第14-15行),我们去掉异常序列重新计算时序团的特征序列进行迭代的计算,保证加入AD(S)结果集合中的序列是真实的异常序列,尽可能地避免错判和漏判.

在时序相关团内计算后,我们进行时序相关团之间的计算,通过对G_A的计算,实现对整体发生异常而未能被计算得出的异常团进行识别,其计算流程与时序相关团内计算相似,此处不再赘述.

5 系统页面展示

(责任编辑:admin)