CN103400152B - 基于分层聚类的滑动窗口多数据流异常检测方法 - Google Patents

基于分层聚类的滑动窗口多数据流异常检测方法 Download PDF

Info

Publication number
CN103400152B
CN103400152B CN201310364401.0A CN201310364401A CN103400152B CN 103400152 B CN103400152 B CN 103400152B CN 201310364401 A CN201310364401 A CN 201310364401A CN 103400152 B CN103400152 B CN 103400152B
Authority
CN
China
Prior art keywords
data
cluster
feature index
data stream
rectangular histogram
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
Application number
CN201310364401.0A
Other languages
English (en)
Other versions
CN103400152A (zh
Inventor
刘大同
庞景月
彭宇
罗清华
彭喜元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Institute of Technology
Original Assignee
Harbin Institute of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Harbin Institute of Technology filed Critical Harbin Institute of Technology
Priority to CN201310364401.0A priority Critical patent/CN103400152B/zh
Publication of CN103400152A publication Critical patent/CN103400152A/zh
Application granted granted Critical
Publication of CN103400152B publication Critical patent/CN103400152B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

基于分层聚类的滑动窗口多数据流异常检测方法,本发明涉及基于分层聚类的滑动窗口多数据流异常检测方法。它为了解决由于过期数据和历史数据的影响使数据流异常检测结果的精度降低问题。本发明通过分层聚类算法在线做聚时可以不必考虑最终的聚类结果,以较高的速率对到达的数据进行处理,而离线层由于只利用在线做聚结构响应用户查询结果,其数据量大大小于原始数据个数,可以实现数据的有效存储,得到较精确的聚类结果。针对滑动窗口模型,采用聚类特征指数直方图的结构,可以更好的完成新数据的插入和过期数据的删除。通过余弦系数作为度量函数,可以取得很好的聚类和异常检测结果。本发明适用于传感器、网络点击流和股票交易等领域。

Description

基于分层聚类的滑动窗口多数据流异常检测方法
技术领域
本发明涉及一种多数据流异常检测方法,具体涉及基于分层聚类的滑动窗口多数据流异常检测方法。
背景技术
随着网络技术、信息采集、传感技术的发展与广泛应用,数据流模型大量出现,其潜在无限、到达快速、持续有序的特点,为传统的数据异常检测方法带来巨大挑战,尤其是信息量的迅速膨胀使得很多应用中产生大量的多数据流,如传感器网络、股票交易信息以及网络入侵数据等。在卫星遥测领域,不同子系统及同一子系统中部分布了大量的传感器,传感器采集的参数反应了子系统或系统中物理参数的变化,很多异常不是孤立存在的,而是同时体现在多个参数中,因此对多维参数之间潜在相关性的异常检测也是卫星遥测数据流异常检测的重要组成部分。但是在多维空间里,数据之间的距离不再具有直观的意义,无法通过设定具体的阈值来判断数据的异常情况。对多数据流的异常检测需同时考虑数据各维度之间的相关性,不合理的相关性度量会使得大量有用信息淹没在噪声中,而且对多数据流的分析处理,其算法复杂度提高,算法的实时性性能较低。所以多数据流异常检测问题已经成为数据流挖掘算法的重要挑战之一。现有的多数据流异常检测方法主要有:面向Time-series的特殊数据流模型的单维与多维离群点异常检测方法和FODDS及快速版的FODDS-S算法。
面向Time-series的特殊数据流模型的单维与多维离群点异常检测方法。在任意的时间t,同时观察1个函数,利用启发式方法找到大量时间序列数据流的异常。但是此种方法只适用于Time-Series模型的数据流异常检测。
一种快速的离群点异常检测技术-FODDS及快速版的FODDS-S算法。其主要基于动态网格技术对数据空间中的稠密区域与稀疏区域进行划分,其中稠密区域的数据被简单滤波,从而大大减少了算法应该计算的数据尺寸。而稀疏区域内的可能离群点,利用近似的方法计算其离群度,最后具有高离群度的数据将被视为异常点,但是该方法只适用于较低维的情况。
传统静态数据的聚类算法已经广泛应用于数据分析,而且还作为其他应用(如预测和异常检测)的前期处理过程。但是随着数据采集技术及硬件存储技术的发展,传感器、网络点击流、股票交易等领域部产生了连续、快速、数据量无限的数据流,这为传统的数据聚类挖掘算法提出了新的挑战。由于存储空间的有限性,使得在对大量数据进行处理时,不能够对其进行全部存储;而且由于数据流的快速性,数据聚类挖掘算法只能对其进行单次或者有限的几次扫描,;而数据流的实时性要求数据流中的数据只能按照时间顺序依次读取,这些特性对算法的处理速率和算法运行所占内存提出了更高的要求。
很多专家针对数据流的特点及应用,提出了多种聚类算法。其中,Guha提出了LOCALSEARCH算法对数据流进行聚类,其采用分而治之的思想,利用k-means的多步迭代,实现对数据流的聚类。0'CallaghanL提出了Stream算法,其主要采用分层聚类技术,依据k-means算法进行聚类,使得各个聚类元组的平方误差和最小,但是这两种算法部没有考虑到数据流的演化情况,即没有给予数据流中最近元素较大的权重,使得聚类结果受到过期数据的影响。之后Aggarwal提出了CluStream算法,此算法分为两部分:在线做聚和离线宏聚。其通过金字塔时间结构来保存实时的聚类结果,具有限好的聚类能力和很高的聚类质量。但是这种方法是基于界标模型的,在线做聚类过程只照顾到新数据元素的插入,而没有考虑到过期元素的删除,致使历史数据对于当前聚类结果产生很大影响。而且当对高维数据流进行聚类时,CluStream的性能较差。
综上所述现有的多数据流异常检测方法存在聚类结果受到过期数据的影响和历史数据对于当前聚类结果产生很大影响的问题。
发明内容
本发明为了解决由于过期数据和历史数据的影响使数据流异常检测结果的精度降低问题,从而提出了基于分层聚类的滑动窗口多数据流异常检测方法(High Sliding windowsstream方法,简称:HSWStream方法)。
基于分层聚类的滑动窗口多数据流异常检测方法包括下述步骤:
步骤一、设定滑动窗口尺寸N,通过传感器采集多数据流中第一个窗口的数据流元素作为离线数据进行初始K均值聚类,获得k个做聚结构,完成做聚结构的离线初始化,执行步骤二;
其中,N正整数,N大于等于1000,k为设定的在线做聚的聚类特征指数直方图的最大值,
步骤二、通过传感器采集多数据流中第T个数据流元素,根据步骤一获得的k个做聚结构,进行在线做聚,获得k’个聚类特征指数直方图,执行步骤三;
其中,T为正整数,T的初始值为1;k’≤k,k和k’均为正整数,
步骤三、判断是否接收到对步骤二获得的k’个聚类特征指数直方图发出的查询指令,若是执行步骤六;若否则执行步骤四;
步骤四:令T=T+1,通过传感器采集多数据流中第T个数据流元素,并根据步骤二获得的k’个聚类特征指数直方图进行在线做聚,获得更新的k’个聚类特征指数直方图,执行步骤五;
步骤五、判断是否接收到对步骤四获得的k’个聚类特征指数直方图发出查询指令,若是执行步骤六;若否则执行步骤七;
步骤六、根据k’个聚类特征指数直方图,提取每个聚类特征指数直方图的头节点中的均值项,从而获得k’个聚类特征指数直方图的k’个均值项,执行步骤八;
步骤七:令T=T+1,通过传感器采集多数据流中第T个数据流元素,根据上一个数据元素到达后获得的k’个聚类特征指数直方图进行在线做聚,所述的上一个数据元素为第T-1个数据元素,并获得更新的k’个聚类特征指数直方图,执行步骤五;
步骤八、设立离线聚类的类别数目macro_k,根据步骤七获得的k’个聚类特征指数直方图的k’个均值进行离线K均值聚类,通过余弦系数作为度量函数,获得macro_k个离线聚类类别,并执行步骤九;
步骤九、根据步骤八获得的macro_k个离线聚类类别,将macro_k个聚类类别中其中含有孤立点或者数据元素个数小于或等于窗口尺寸N的5%的聚类类别作为异常类别,从而获取数据异常检测结果。
步骤七所述的根据上一个数据元素到达后获得的k’个聚类特征指数直方图进行在线做聚,所述的上一个数据元素为第T-1个数据元素,并获得更新的k’个聚类特征指数直方图的具体过程为:
步骤1、获取数据流中第T个数据流元素,执行步骤2;
步骤2、判断滑动窗口内的数据量是否大于滑动窗口尺寸N,若大于执行步骤3,若小于或者等于则执行步骤5;
步骤3、删除k’个聚类特征指数直方图中具有最小数据编号的时间特征向量,执行步骤4;
步骤4、更新k’个聚类特征指数直方图的头节点,该头节点包括平均数据编号、均值、相关系数的边界值以及平均数据元素的个数,执行步骤5;
步骤5、分别计算多数据流中第T个数据流元素与k’个聚类特征指数直方图的头节点的均值项的相关系数,获得k’个相关系数的最大值,执行步骤6;
步骤6、分别判断步骤5中获得的每个相关系数的最大值是否大于或者相应的聚类特征指数直方图头节点中相关系数的边界值,若大于或者等于则执行步骤7,若小于则执行步骤9;
步骤7、将多数据流中第T个数据流元素加入与该相关系数对应的聚类特征指数直方图的数据编号最大的时间特征向量中,执行步骤8;
步骤8、更新步骤7所述的聚类特征指数直方图及该聚类特征指数直方图的头节点,且令T=T+1,执行步骤1;
步骤9、判断执行步骤6后聚类特征指数直方图个数k’是否小于或者等于设定的在线做聚的聚类数目k,若小于执行步骤12,若等于执行步骤10;
步骤10、设定两个参数Low_boundry,high_boundry,判断聚类特征指数直方图是否满足删除聚类特征指数直方图的条件,即
(min_mean_t-min_window_t)<
(max_window_t-min_window_t)*high_boundry (1)
TN>N*low_boundry (2)
其中,min_mean_t为所有聚类特征指数直方图中含有的时间特征向量中具有数据元素的最小数据编号;max_window_t为所有聚类特征指数直方图中含有的时间特征向量中具有数据元素的最大数据编号,min_window_t为聚类特征指数直方图中数据元素对应的数据编号平均值的最小值;
若同时满足公式(1)和公式(2)则执行步骤11,若否执行步骤14;
步骤11、删除含有最小平均数据编号的聚类特征指数直方图,执行步骤12;
步骤12、新建一个聚类特征指数直方图,执行步骤13;
步骤13、将多数据流中第T个数据流元素存储在步骤12所述的新建的聚类特征指数直方图中,且令T=T+1,执行步骤1;
步骤14、将聚类特征指数直方图中头节点的平均数据编号排列中排在最后的两个聚类特征指数直方图进行合并,更新合并后的聚类特征指数直方图及头节点,执行步骤12。
步骤八所述的离线K均值聚类为:
在多数据流中,在线聚类得到k’个聚类特征指数直方图,将其头节点中的均值作为离线聚类的数据,k’个节点的均值作为K均值聚类算法的输入,macro_k为离线聚类的类别个数,K均值聚类算法中的相似性度量函数分别取欧氏距离和夹角余弦。
本发明通过分层聚类算法在在线做聚时可以不必考虑最终的聚类结果,以较高的速率对到达的数据进行处理,而离线层由于只利用在线做聚结构响应用户查询结果,其数据量大大小于原始数据个数,可以实现数据的有效存储,得到较精确的聚类结果。本发明针对滑动窗口模型,采用聚类特征指数直方图的结构,可以更好的完成新数据的插入和过期数据的删除。通过余弦系数作为度量函数,可以取得很好的聚类和异常检测结果。分层聚类算法达到了数据流的快速、实时的特性,而且在在线层和离线层采用不同的聚类方法,达到了异常检测结果达到91.4%,即异常检测率平均达91.4%的目的。
附图说明
图1为本发明所述的基于分层聚类的滑动窗口多数据流异常检测方法的流程图;
图2为具体实施方式二所述的获得更新的k’个聚类特征指数直方图的流程图。
具体实施方式
具体实施方式一、结合图1具体说明本实施方式,本实施方式所述的基于分层聚类的滑动窗口多数据流异常检测方法包括下述步骤:
步骤一、设定滑动窗口尺寸N,通过传感器采集多数据流中第一个窗口的数据流元素作为离线数据进行初始K均值聚类(K-means聚类),获得k个做聚结构,完成做聚结构的离线初始化,执行步骤二;
其中,N正整数,N大于等于1000(用户可自拟定),k为设定的在线做聚的聚类特征指数直方图的最大值,
步骤二、通过传感器采集多数据流中第T个数据流元素,根据步骤一获得的k个做聚结构,进行在线做聚,获得k’个聚类特征指数直方图,执行步骤三;
其中,T为正整数,T的初始值为1;k’≤k,k和k’均为正整数,
步骤三、判断是否接收到对步骤二获得的k’个聚类特征指数直方图发出的查询指令,若是执行步骤六;若否则执行步骤四;
步骤四:令T=T+1,通过传感器采集多数据流中第T个数据流元素,并根据步骤二获得的k’个聚类特征指数直方图进行在线做聚,获得更新的k’个聚类特征指数直方图,执行步骤五;
步骤五、判断是否接收到对步骤四获得的k’个聚类特征指数直方图发出查询指令,若是执行步骤六;若否则执行步骤七;
步骤六、根据k’个聚类特征指数直方图,提取每个聚类特征指数直方图的头节点中的均值项,从而获得k’个聚类特征指数直方图的k’个均值项,执行步骤八;
步骤七:令T=T+1,通过传感器采集多数据流中第T个数据流元素,根据上一个数据元素到达后获得的k’个聚类特征指数直方图进行在线做聚,所述的上一个数据元素为第T-1个数据元素,并获得更新的k’个聚类特征指数直方图,执行步骤五;
步骤八、设立离线聚类的类别数目macro_k,根据步骤七获得的k’个聚类特征指数直方图的k’个均值进行离线K均值聚类,通过余弦系数作为度量函数,获得macro_k个离线聚类类别,并执行步骤九;
步骤九、根据步骤八获得的macro_k个离线聚类类别,将macro_k个聚类类别中其中含有孤立点或者数据元素个数小于或等于窗口尺寸N的5%的聚类类别作为异常类别,从而获取数据异常检测结果。
本实施方式所述的分层聚类算法采用在线做聚与离线宏聚结合的方式,在线做聚通过聚类特征指数直方图的形式更新,离线聚类算法则可以采用传统的聚类方法。
本实施方式中所述聚类特征指数直方图中对数据元素的数据流定义如下:假设数据流S是随时间持续到达的多维数据集合X1,X2,...,Xi,...。其中1,2,3,...i是数据依次到达的数据编号,对于任意的i(i≥1)值,Xi=(xi1,x2,...,xd),其表示数据流是d维数据。数据元素的滑动窗口数据流的窗口尺寸为N,即包括当前时刻数据在内的前N个数据是用户关注重点,超出这个范围的数据为过期数据。
其中,i和d均为正整数,
聚类特征指数直方图需要根据数据到达的先后顺序对数据进行聚类,将其分配到相应的桶中,首先描述在线做聚时各个桶中的做聚结构。
d维数据点X1,X2,...,Xi,...,其到达的数据编号分别为1,2,3,...,i...,若其位于指数直方图中的一个桶内,则该桶可以用时间聚类特征向量(Temporal Cluster Feature,TCF)进行表示,TCF为(2d+2)的元组(CF2X,CF1X,n,t),其中,n为当前桶所包含的数据元素数量,t为桶中所有数据元素中最晚到达的数据元素的编号,
CF2X为当前桶中所有数据对应维数的平方和(CF1X为d维),
CF 2 X = Σ j = 1 n X ij 2 - - - ( 3 )
CF1X为当前桶中所有数据对应维数数据的线性和(CF1X为d维),
CF 1 X = Σ j = 1 n X ij - - - ( 4 )
TCF为每一个桶的聚类特征向量,由于指数直方图的定义,每个桶的存储数据量是按照指数形式增长的。当新数据到达时,为了保证包含同样尺寸数据的桶的个数不超过(ε为用户设定的误差参数)需要对两个桶进行合并,则新生成桶的TCF需要实时更新,其具有以下性质:
性质1:如果B1,B2是同一直方图中两个不同的桶,在进行合并时,对于TCF(B1∪B2)中的前三项,(CF2X,CF1X,n),
TCF(B1∪B2)=TCF(B1)+TCF(B2) (5),
而对于TCF(B1∪B2)中的t项,
其为:
TCF(B1∪B2).t=max(TCF(B1).t,TCF(B2).t) (6)。
以此通过两个旧桶的TCF可以很容易地得到合并后新桶的TCF。
性质2:当数据流S持续到达时,指数直方图进行指数存储数据,建立了不同的桶(Bucket):B1,B2,B3,...,BK。则该直方图可以用如下的聚类指数直方图特征向量(Exponent Histogram Cluster Feature,EHCF)表示,EHCF为(d+3)维元组(m,sn,mt,b),其中,sn(sum number)为该直方图中包括的所有的桶的数据元素总和,
sn = Σ i = 1 k n i - - - ( 7 ) ,
mt(min time)为该直方图中所有数据元素中最近到达的元素的编号,mt=min(ti),i=1,...,k,m(mean)为该直方图中数据元素的平均值,
m = Σ i = 1 k CF 1 i X k - - - ( 8 ) ,
b(boundry)为当前直方图中所有桶的元素确定的聚类界限,假设第一个桶中与mt的相似性距离为di,则
b = Σ i = 1 k d i k - - - ( 9 ) .
通过以上描述,可以得到在聚类过程中数据结构。其中每一个直方图部是一个做聚类,而每一个直方图部是指数直方图,即每个直方图的桶中所存储的数据元素个数部是呈指数形式的。
对聚类特征指数直方图的更新与指数直方图的更新基本相同。
每一个EHCF部是多个TCF的集合。假设数据流S持续到达,数据序列为X1,X2,X3,Xi,...。共创建了B1,B2,...Bi...个桶,对于桶的更新满足以下条件:
对于两个桶Bi和Bj,当i<j时,Bi中的所有元素都会比Bj中的元素早到。
当新数据到达时,新建一个桶,其时间特征向量为TCF(0),表示该桶中只含有20=1个数据,称此时的桶为0级桶。根据指数直方图的更新策略,则需要扫描当前0级的桶的个数,如果当前0级桶的个数已经超过个,则需要将最早的两个0级桶合并为1级桶,并同时扫描1级桶的个数是否超过个,如果超过的话,则合并最早的两个1级桶,以此递推,使得最终该直方图中同一级别的桶的个数均不超过个,具体过程与指数直方图的更新策略相同。合并桶时,只需将TCF中的(CF2X,CF1X,n,t)项对应相加,而
TCF(B1∪B2).t=max(TCF(B1).t,TCF(B2).t) (10)。
当需要删除该桶中数据时,则寻找具有最小数据编号的桶,以此释放空间,即删除桶。
以上是在一个指数直方图内桶的更新性质,而当使用指数直方图进行在线做聚时,每个指数直方图作为一个聚类,随着新数据的到达,需要对指数直方图进行更新,包括合并和删除操作等。具体描述和性质如下:
当新数据到达,不满足任何一个指数直方图确定的聚类界限时,需要新建一个指数直方图EHCF。如果当前指数直方图的个数小于设定的极限指数直方图个数,则直接新建一个EHCF,并初始化其EHCF的特征向量结构。
如果当前指数直方图的个数已经等于设定的极限直方图个数时,则需要根据判断条件删除或者合并两个具有最小编号的指数直方图,以此来释放空间。
合并两个指数直方图生成一个新的直方图时,新的直方图内包含的桶中数据的存储形式仍然满足指数直方图的形式。因此其合并主要是通过以下方式完成:首先将含有数据元素个数较少的直方图中的桶插入到另一个桶中,插入时,要依据桶的数据编号,使得插入后的新直方图中桶的数据编号是按照由小到大的顺序。此时生成的直方图,其含有数据元素的个数不是按照指数形式增长的,而且不一定满足同一级别的桶的个数不超过个,所以需要按照指数直方图的要求调整顺序,并按照桶的更新方式进行更新,直到满足条件为止。
对于滑动窗口的数据流模型,意味着只有当前窗口内的数据是关注重点,除此之外的数据均视为过期数据,这就对聚类算法提出了更高的要求,要求其在对滑动窗口模型进行处理时,不但要考虑到新数据的插入,而且随着数据滤除窗口,存在明显的过期现象,这时就要及时将过期的数据进行删除。目前的分层聚类算法中CluStream算法不符合本文滑动窗口数据流模型的限定要求,其没有考虑到数据的删除,而HPStream算法虽然考虑到了高维数据流的投影聚类方式,但这为数据删除的效率带来很大的影响,也不太适合滑动窗口的数据流模型,而且考虑到滑动窗口内有效数据的异常情况时,窗口内的数据应该部具有有效性,衰减因子的引入使得有效数据对于聚类所起到的作用不同,为异常检测的结果带来不必要的影响。所以采用滑动窗口的数据概要生成方法---指数直方图实现在线层的做聚,并及时的删除直方图中过期的数据元素,通过合并和更新直方图来为新数据元素释放空间,而在离线层采用常规的K-means聚类方法,但是考虑到多维数据流的特点,将欧氏距离度量函数换为余弦系数,以此得到较好的异常检测结果。
在聚类算法中,需要通过相似性的衡量来决定数据点之间的距离,所以相似性度量是聚类算法中重要的组成部分。传统的距离函数有欧式距离、马氏距离、曼哈顿距离、余弦系数、方差加权距离等,其描述如下:
(1)欧式距离
欧式距离是最常使用的距离,其主要源于欧式空间中两点间的距离公式。对于k维向量a(x1,x2,...,xi,...,xk),b(y1,y2,...,yi,...yk),这两个向量间的欧式距离为:
d ( a , b ) = Σ i = 1 k ( x i - y i ) 2 - - - ( 11 )
欧式距离抽象为一般形式就是明可夫斯基距离,明可夫斯基距离在数学意义上也称为Lk-范数。
d ( a , b ) = ( Σ i = 1 k ( x i - y i ) m ) 1 m - - - ( 12 )
其中,m为可变的正整数,
从公式(11)可知,m取不同的值,其距离函数的值不同,当m=2,即为欧式距离,当m=1时,该距离公式变为曼哈顿距离,也称为城市街区距离,也就是绝对距离。而当m趋于无穷时,则该距离公式演变为切比雪夫距离。
d ( a , b ) = lim m → ∞ ( Σ i = 1 k ( x i - y i ) m ) 1 m - - - ( 13 )
Lk-范数虽然是传统的用于计算向量相似性的计算公式,但是欧式距离等只在低维具有限好的性能,用于高维相似性衡量时没有考虑到数据间的相关性,而且Aggarwal等学者也证明了,随着数据维度的增加,Lk-范数用于区别对象间相似性的性能受到严重影响。
(2)加权欧氏距离
欧式距离没有考虑到数据各维度间的差异,而加权欧式距离是对欧式距离的一种改进,即在进行距离计算之前将各维数据进行标准化,假设样本的均值为M,标准差为S,则样本第i维数据标准化后得到:
x * = x i - m s - - - ( 14 )
最终得到加权的欧式距离:
d ( a , b ) = Σ i = 1 k ( x i - y i s i ) 2 - - - ( 15 )
加权的欧式距离较好地体现了维度间的差异性,但是用于数据流时,由于数据流随着时间变化,而且数据不能得到全部存储,标准差只能通过已得到的部分数据确定,准确性下降。
(3)马氏距离
对于m个样本向量a1,a2,a3,...,am,其均值向量记为u,协方差矩阵记为S,则此时的样本向量a到均值向量u的马氏距离如下:
d ( a ) = ( a - u ) S - 1 ( a - u ) - - - ( 16 )
同理而言向量a(x1,x2,...,xi,...,xk)与向量b(y1,y2,...,yi,...yk)之间的马氏距离为:
d ( a , b ) = ( a - b ) S - 1 ( a - b ) - - - ( 17 )
由上式可以看出,若协方差矩阵为单位矩阵,则马氏距离演化为欧式距离。若协方差矩阵为对角矩阵,则马氏距离演化为加权欧式距离。马氏距离与量纲无关,主要具有三个不变性:平移不变性、反射不变性和旋转不变形,其性能比欧式距离好,但是由于协方差矩阵在计算过程中存在不稳定性,使得小的数据间的相似性很可能淹没在大的相似性距离之间,导致性能下降。
以上部是采用距离的形式来表示向量间的相似性,现在也有几种常用的相似系数作为相似性度量函数。
(4)余弦系数
对于两个向量a(x1,x2,...,xi,...,xk)和b(y1,y2,...,yi,...yk),其夹角余弦使用向量的形式表示:
cos ( θ ) = a · b | a | · | b | - - - ( 18 )
夹角余弦的优点在于不依赖于向量的幅值,而且在高维的情况下可以对空值进行处理,但是夹角余弦的计算复杂度高,影响聚类效率。
(5)相关系数
对于向量a(x1,x2,...,xi,...,xk)和向量b(y1,y2,...,yi,...yk),其相关系数为:
ρ xy = cov ( a , b ) D ( a ) · D ( b ) - - - ( 19 )
相关系数也需要对其均值和协方差进行计算,所以应用于数据流时也会有和马氏距离一样的缺陷。
以上是传统的用于相似性度量的函数,对于应用于高维数据流聚类的相似性度量,作者引入维度的概念,对于向量a(x1,x2,...,xi,...,xk)和向量b(y1,y2,...,yi,...yk),提出以下的高维相似性度量函数:
close ( a , b ) = Σ i = 1 d e - | x i - y i | d - - - ( 20 )
其中,e为自然数底,
该高维相似性度量函数用于衡量高维数据间相似性时,考虑其在空间中的接近程度,其最大值为1,值越大,表示两个向量的接近程度越高,而且可以在一定程度上削减维度数据元素差较大的项对于较小项的影响。
综上所述,相似性度量函数作为聚类的重要组成部分,在不同的应用背景下应该根据其度量函数的性质进行选择,本发明采用常用的余弦系数对于高维数据有较好效果的余弦系数和高维相似性度量函数来完成聚类实验和验证。
具体实施方式二、本实施方式与具体实施方式一所述的基于分层聚类的滑动窗口多数据流异常检测方法的区别在于,步骤七所述的根据上一个数据元素到达后获得的k’个聚类特征指数直方图进行在线做聚,所述的上一个数据元素为第T-1个数据元素,并获得更新的k’个聚类特征指数直方图的具体过程为:
步骤1、获取数据流中第T个数据流元素,执行步骤2;
步骤2、判断滑动窗口内的数据量是否大于滑动窗口尺寸N,若大于执行步骤3,若小于或者等于则执行步骤5;
步骤3、删除k’个聚类特征指数直方图中具有最小数据编号的时间特征向量(即具有最小数据编号的桶),执行步骤4;
步骤4、更新k’个聚类特征指数直方图的头节点,该头节点包括平均数据编号、均值、相关系数的边界值以及平均数据元素的个数,执行步骤5;
步骤5、分别计算多数据流中第T个数据流元素与k’个聚类特征指数直方图的头节点的均值项的相关系数,获得k’个相关系数的最大值,执行步骤6;
步骤6、分别判断步骤5中获得的每个相关系数的最大值是否大于或者相应的聚类特征指数直方图头节点中相关系数的边界值,若大于或者等于则执行步骤7,若小于则执行步骤9;
步骤7、将多数据流中第T个数据流元素加入与该相关系数对应的聚类特征指数直方图的数据编号最大的时间特征向量中,执行步骤8;
步骤8、更新步骤7所述的聚类特征指数直方图及该聚类特征指数直方图的头节点,且令T=T+1,执行步骤1;
步骤9、判断执行步骤6后聚类特征指数直方图个数k’是否小于或者等于设定的在线做聚的聚类数目k,若小于执行步骤12,若等于执行步骤10;
步骤10、设定两个参数Low_boundry,high_boundry,判断聚类特征指数直方图是否满足删除聚类特征指数直方图的条件,即
(min_mean_t-min_window_t)<
(max_window_t-min_window_t)*high_boundry (1)
TN>N*low_boundry (2)
其中,min_mean_t为所有聚类特征指数直方图中含有的时间特征向量(即为直方图中的桶)中具有数据元素的最小数据编号;max_window_t为所有聚类特征指数直方图中含有的时间特征向量(即为直方图中的桶)中具有数据元素的最大数据编号,min_window_t为聚类特征指数直方图中数据元素对应的数据编号平均值的最小值;
若同时满足公式(1)和公式(2)则执行步骤11,若否执行步骤14;
步骤11、删除含有最小平均数据编号的聚类特征指数直方图,执行步骤12;
步骤12、新建一个聚类特征指数直方图,执行步骤13;
步骤13、将多数据流中第T个数据流元素存储在步骤12所述的新建的聚类特征指数直方图中,且令T=T+1,执行步骤1;
步骤14、将聚类特征指数直方图中头节点的平均数据编号排列中排在最后的两个聚类特征指数直方图进行合并(即具有最小和次小平均数据编号的直方图进行合并),更新合并后的聚类特征指数直方图及头节点,执行步骤12。
本实施方式所述的在线做聚需设定极限的直方图个数,即在线做聚中最大的聚类个数,误差参数ε即可。在线做聚要求能以较好的时间性和空间性,对数据流的数据元素进行处理。
预先设定的在线做聚的聚类特征指数直方图的最大值为k,设定的误差参数为ε,即各个直方图中包含同一尺寸数据的桶的个数不能超过数据流为S,持续到达的有序的数据元素为X1,X2,X3,...,Xi,...,且Xi={xi1,xi2,...,xiw},滑动窗口尺寸为N,在线做聚过程得到的聚类特征指数直方图个数为k’,当前窗口内含有的数据个数为TN(TemporalNumber),第i个做聚含有的桶(即TCF)的个数为BN(the Number ofBuckets),当前到达的数据元素为Xt,Xt={xt1,xt2,...,xtw},步骤如下:
(1)判断窗口内的数据是否大于给定的窗口尺寸。这一步骤是滑动窗口数据流模型所特有的,只有最近的N个数据才是有效数据,在这之前的数据被视为过期数据。当前窗口内含有的数据元素个数为:
TN = Σ i = 1 k ′ Σ j = 1 BN T CF j . n - - - ( 21 )
其中i为做聚类别的编号,i=1,2,3,…,k’,而j为某一做聚类别对应的桶的编号,j=1,2,3,…,BN,BN为变量(对应的做聚类别不同,BN的数值也不同),如果TN大于设定的窗口大小N,则需要将所有做聚(即指数直方图)中具有最小数据编号的桶删除。具有最小编号的桶为:
B min = min 1 k ′ ( min 1 BN ( TCF . t ) ) - - - ( 22 )
由于最小桶中含有的数据个数很可能大于1,而TCF.t是当前桶中所有数据元素中数据编号最大值,所以会引起有效数据的删除,这时满足指数直方图的性质错误!未找到引用源。:误差最大为εN,相对误差最大为ε。
(2)如果TN小于设定的窗口大小N,则计算当前数据元素到各个做聚类别的距离,可根据不同的相似性度量函数得到不同的结果。其中采用欧氏距离作为距离函数,则:
d ( X t , EHCF i ) = Σ j = 1 w ( x tj - mean j ) 2 - - - ( 23 )
其中,w为多数据流中元素的维数,mean为第i个直方图的头节点的均值,其为W维。
如果采用夹角余弦,则:
cos ( X t , EHCF i ) = X t · mean | X t | · | mean | - - - ( 24 )
如果采用高维相似性函数,其度量为:
close ( X t , EHCF i ) = Σ j = 1 w e - | x tj - mean j | w - - - ( 25 )
通过不同的度量函数得到当前数据元素Xt与每个EHCF的距离。
(3)将计算得到的距离值中关系最近的一个与其做聚类别本身的边界进行比较,如果相似度大于EHCF.boundry,则将该数据元素存储在关系最近的EHCF中,并更新该直方图,使其存储数据的形式满足指数直方图的要求,包含同一数量数据的桶的个数不能超过如果该相似度小于EHCF.boundry,则进行直方图的删除和合并操作。
(4)采用删除直方图的策略进行空间的释放,但是如果做聚个数设定的比较少,且数据开始聚类时相似性比较小时,则在试验中大量的有效数据被删除,不满足滑动窗口对于有效数据的保存要求,所以将删除直方图和合并直方图的方法结合使用。引入两个参数Low_boundry,high_boundry来设定删除直方图的条件。
首先查找当前已保存所有直方图含有的TCF中具有的最大数据编号和最小数据编号,以及所有直方图中含有的数据编号平均值的最小值。
min _ window _ t = min 1 k ′ ( min 1 BN ( TCF . t ) ) - - - ( 26 )
max _ window _ t = max 1 k ′ ( max 1 BN ( TCF . t ) ) - - - ( 27 )
min _ mean _ t = min 1 k ′ ( Σ i = 1 BN TCF . t / Σ i = 1 BN TCF . n ) - - - ( 28 )
判定条件设为:
(min_mean_t-min_window_t)< (1)
(max_window_t-min_window_t)*high_boundry
TN>N*low_boundry (2)
只有以上两式同时满足时,才进行直方图的删除操作,表示其中存在较多的过期元素。这一条件的引入,可以在数据流变化较快时,较少的有效数据被删除。如果不满足这一条件时,则将具有平均数据编号排列中排在最后的两个直方图进行合并。
(5)如果新建的直方图个数还未超过设定的最大直方图个数时就可以直接新建一个直方图,无需删除或者合并原有的直方图。
以上就是HSWStream算法在线做聚的流程和步骤介绍,通过在线做聚作为进行数据的初处理,可以得到多个做聚,当用户发出查询指令时,则将在线做聚的头节点作为数据元素进行离线聚类。
具体实施方式三、本实施方式与具体实施方式一所述的基于分层聚类的滑动窗口多数据流异常检测方法的区别在于,步骤八所述的离线K均值聚类为:
在多数据流中,在线聚类得到k’个聚类特征指数直方图,将其头节点中的均值作为离线聚类的数据,k’个做聚结构的头节点的均值分别为{EHCF1.mean,EHCF2.meam,...,EHCFk’.mean},k’个节点的均值作为K均值聚类算法的输入,(即作为需要聚类的原始数据),macro_k为离线聚类的类别个数,K均值聚类算法中的相似性度量函数分别取欧氏距离和夹角余弦。
为了验证滑动窗口多数据流异常检测方法的检测性能。将其与基于滑动窗口的分层聚类算法Euclidean_cluster(其利用欧式距离作为相似性度量,且利用删除直方图的更新策略来为新数据释放内存空间,本文称其为Euclidean_cluster方法)以及HSWStream框架下的基于夹角余弦的分层聚类Cosine_cluster(由于夹角余弦也可以作为高维数据的相似性度量,因此将其应用于HSWStream的框架中得到的算法本文称为Cosine_cluster)进行实验对比。
实验数据集采用网络入侵数据集KDD CUP99dataset,KDD99数据是KDD竞赛在99年举行时采用的网络入侵数据集。在1998年美国国防部高级规划署在MIT林肯实验室进行了一项入侵检测评估项目,其模拟美国空军局域网的一个网络环境,用于仿真各种用户类型、各种不同的流量攻击手段,而后哥伦比亚大学的Sal Stolfo教授和罗莱纳州立大学的Wenke Lee教授将数据挖掘等技术对以上的数据集进行分析、特征处理,形成了新的数据集用于99年的竞赛使用,这就是KDD99数据的来源,KDD99数据集的具体形式如下:
2,tcp,smtp,SF,1684,363,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,1,0.00,0.00,0.00,0.00,1.00,0.00,0.00,104,66,0.63,0.03,0.01,0.00,0.00,0.00,0.00,0.00,normal.
该数据一共有42维属性,其中34维为连续属性值,7维为离散属性值,最后一位为标志字符,normal为正常情况,其他标志字符为异常模式,例如:
0,tcp,private,REJ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,1,0.00,0.00,1.00,1.00,0.03,0.55,0.00,208,1,0.00,0.11,0.18,0.00,0.01,0.00,0.42,1.00,portsweep.
以上数据中最后一位的标志字符为portsweep,表示其属于Probe攻击大类中的portsweep攻击小类。具体每一个维度所代表的具体含义。在KDD99中一共四大类,39小类攻击。
本文列出四大类攻击类型如下:
(1)DOS(denial-of-service):拒绝服务攻击,如apache2、back、mailbomb等。
(2)R2L(unauthorized accessfrom a remotemachineto alocalmachine):表示来自远程主机的未授权访问,如:imap、multihop、guess_passwd等。
(3)U2R(unauthorized accessto local superuser privileges by a local unprivileged user):表示未授权的本地超级用户访问。如:httptunnel、loadmodule等。
(4)PROBING(surveillance andprobing):表示端口监视或扫描,如:mscan,ipsweep,satan等。
本实验采用的评价指标分为三个方面,异常检测性能、算法异常检测的效率及算法准确度。算法准确度包括聚类准确度及有效数据个数两方面,由于分层聚类算法采用离线异常检测结果作为异常检测的衡量标准,且滑动窗口数据流重点关注最近窗口内的N个数据,因此提出一个新的衡量指标——离线概要结构中含有的有效数据数量,其由式(29)定义:
si=ni/n (29)
其中ni为第i个算法离线概要结构中包含的当前窗口的有效数据个数,而n为预先设定的滑动窗口尺寸。
另一种用来表示算法准确度的评价指标为聚类准确度,如下所示:
s i = Σ i = 1 kk n i ′ / n i k - - - ( 30 )
其中kk为预先设定的聚类类别数量,ni′为第i个类别中正确聚类的数据个数,ni为第i个类别中聚类数据总数。
网络异常检测实验具体实验设定如下:
随机抽取kddcup.data_10_percent训练集中的部分数据,最终得到5000个数据,其中含有2个U2R攻击、39个R2L攻击、35个PROBE攻击、271个DOS攻击,总攻击数据为347。其中前1000个数据作为离线数据进行初始聚类,完成做聚结构的初始化。
在第一个窗口(前1000个数据)中含有49个DOS(smurf)攻击、29个DOS(neptune)攻击、5个DOS(back)攻击、10个PROBE(portsweep)攻击、2个U2R(bufler_overflow)攻击。
在第二个滑动窗口中(索引为1000-2000)只有1中攻击类型出现,即DOS(neptune)攻击,共19个数据。
在第三个滑动窗口中(索引为2000-3000)含有38个DOS(neptune)攻击、21个R2L(guess_passwd)攻击。
在第四个滑动窗口中(索引为3000-4000)含有124个DOS(neptune)攻击、17个DOS(back)攻击、18个PROBE(satan)攻击。
在第五个滑动窗口中(索引为4000-5000)含有33个DOS(smurf)攻击、7个DOS(neptune)攻击、18个R2L(guess_passwd)攻击、17个PROBE(ipsweep)攻击。
三种算法的参数设定保持一致(只是Euclidea_cluster方法不需要设定low_boundry及high_boundry):滑动窗口尺寸N为1000,由于一共五大类数据分类情况,即正常和四类异常的设定,所以macro_k设定为5,误差参数ε设定为025,做聚结构的最大值k设定为20、low_boundry为4/5、high_boundry为1/5。
三种算法的异常检测性能对比如表4-1所示。
表4-1
表4-1中,Euclidean_cluster算法在不同的索引处(2000、3000、4000、5000),其误检率FPR部在10.0%以下,但漏检率FNR却达到100.0%,验证其对多数据流异常检测基本失效。而Cosine_cluster方法,在前两个窗口内漏检率为100.0%,即异常检测率基本为0.0%,但是与Euclidean_cluster方法不同,其并不是分类错误,而是由于其存储的离线概要结构中不含有异常数据,当第三、四个窗口的离线概要结构中含有异常数据时,其异常检测率提升到70.0%左右。HSWStream方法漏检率及误检率部较低,异常检测率平均达914%。主要原因是高维相似性度量函数较好地反应了维度之间的差异性,可以更好地应用于多数据流异常检测。以上结果证明了Euclidean_cluster方法对于高维数据聚类问题的失效性。而对于Cosine_cluster方法,其与HSWStream算法的区别主要在于在线做聚层Cosine_cluster采用夹角余弦来衡量数据相似性,而HSWStream算法采用高维相似性度量函数衡量数据相似性,采用Cosine_cluster方法时异常数据在在线层聚类过程中被删除,使得离线宏聚类时,不能有效地检测出异常数据。
对于数据流的异常检测,算法异常检测的效率也是算法需要提升的重要性能,因此算法运行时间作为聚类算法性能的另一评价指标,三种算法在数据流不同索引处的运行时间。如表4-2所示。表4-2表示三种算法的运行时间对比
表4-2
表4-2主要用于衡量算法的异常检测效率,在不同索引处,具有相似结论。Cosine_cluster算法中余弦系数用于度量高维数据之间的相关性时,运行时间最长,Euclidean_cluster中欧式距离作为相似性度量运行时间最短。相对于Cosine_cluster算法,HSWStream算法执行异常检测的效率平均提升了60.3%,相对于Euclidean_cluster算法,其异常检测效率平均降低了12.0%。算法的效率主要是由于相似性度量函数的计算方式不同导致。
而由于聚类方法本身的性质,聚类准确度是衡量其聚类结果的重要指标,且对于滑动窗口模型下的数据流离线宏聚类,其异常检测结果与概要结构能够保存的当前窗口内有效数据数量具有很大的关联性,保存的有效数据越多,为离线宏聚类提供的异常数据个数越多,可以为异常检测奠定数据基础。三种算法的聚类准确度及窗口内有效数据个数如表4-3所示。4-3表示三种算法的算法精度对比。
表4-3
表4-3中,Euclidean_cluster方法聚类准确度平均达45.6%,Cosine_cluster方法聚类准确度平均达68.3%,而HSWStream方法的聚类准确度较高,平均达到93.6%,其聚类准确度相对于Euclidean_cluster方法提升了1倍左右,相对于Cosine_cluster提升了50.4%,其结果验证了HSWStream算法对高维数据流聚类的有效性。
由于滑动窗口内的有效数据为1000,在不同的情况下,最后的离线概要结构中所含有的有效数据数量如表4-3所示,如:915/991中左侧数据表示概要结构中保存的数据中包含在当前有效窗口中的数据个数,而右侧数据表示概要结构中包含的数据总数,因此右侧数据与左侧数据的差值为概要结构中保存的过期数据数量。由表4-3可得不同算法的有效数据比例Si如表4-4所示。表4-4表示三种算法概要结构含有的有效数据比例。
表4-4
由表4-4分析可知,HSWStream方法在不同索引处含有的有效数据比例平均达93.4%,Euclidean_cluster方法含有的有效数据比例平均达92.9%,Cosine_cluster方法中在线聚类时部分数据被删除,窗口内存储的数据中有效数据数量平均达83.4%,证明了采用指数直方图结构进行在线做聚类时可以获得较好的原始数据近似,为离线聚类奠定基础,且HSWStream的概要结构中有效数据比例相对于Euclidean_cluster算法提高0.5%,相对于Cosine_cluster提高12.0%。
综合表4-1、表4-2、表4-3、表4-4的结果,由于HSWStream算法引入高维相似性度量函数,其较好地兼顾了多数据流中维度之间的差异性,而且采用了分层聚类算法的分层结构,引入了删除直方图的判断条件后,保证了当前有效数据窗口内的数据数量,为离线判断数据异常情况,保存了较多数据。实验验证了采用高维相似性度量函数的HSWStream方法在算法执行效率、算法精度及异常检测检测性能上均具有一定的优势。
本发明中的聚类方法采用欧式距离作为数据相似性度量,高维数据聚类的性能较差,不能很好地应用于多数据流异常检测,且对滑动窗口模型的适用性较差,本发明采用聚类特征指数直方图作为在线做聚结构,将高维相似性度量函数引入,根据滑动窗口的特殊性,提出了HSWStream算法,其可以更好地保留滑动窗口内的有效数据,并引入直方图删除的判定条件,以减少有效数据的删除,并保持较好的高维数据聚类特性。利用KDD99权威数据集进行HSWStreams算法的性能分析。从聚类结果、异常检测率以及运行时间等多方面对算法性能进行分析。HSWStream算法执行异常检测的效率相对于Euclidean_cluster方法平均下降12.0%,但是其聚类准确度平均达到了93.6%,比Euclidean_cluster算法聚类准确度提升1倍左右,且HSWStream离线异常检测的概要结构中平均保存了93.4%的有效数据,异常检测率平均达91.4%。

Claims (3)

1.基于分层聚类的滑动窗口多数据流异常检测方法,其特征在于:它包括下述步骤:
步骤一、设定滑动窗口尺寸N,通过传感器采集多数据流中第一个窗口的数据流元素作为离线数据进行初始K均值聚类,获得k个微聚结构,完成微聚结构的离线初始化,执行步骤二;
其中,N正整数,N大于等于1000,k为设定的在线微聚的聚类特征指数直方图的最大值,
步骤二、通过传感器采集多数据流中第T个数据流元素,根据步骤一获得的k个微聚结构,进行在线微聚,获得k’个聚类特征指数直方图,执行步骤三;
其中,T为正整数,T的初始值为1;k’≤k,k和k’均为正整数,
步骤三、判断是否接收到对步骤二获得的k’个聚类特征指数直方图发出的查询指令,若是执行步骤六;若否则执行步骤四;
步骤四:令T=T+1,通过传感器采集多数据流中第T个数据流元素,并根据步骤二获得的k’个聚类特征指数直方图进行在线微聚,获得更新的k’个聚类特征指数直方图,执行步骤五;
步骤五、判断是否接收到对步骤四获得的k’个聚类特征指数直方图发出查询指令,若是执行步骤六;若否则执行步骤七;
步骤六、根据k’个聚类特征指数直方图,提取每个聚类特征指数直方图的头节点中的均值项,从而获得k’个聚类特征指数直方图的k’个均值项,执行步骤八;
步骤七:令T=T+1,通过传感器采集多数据流中第T个数据流元素,根据上一个数据元素到达后获得的k’个聚类特征指数直方图进行在线微聚,所述的上一个数据元素为第T-1个数据元素,并获得更新的k’个聚类特征指数直方图,执行步骤五;
步骤八、设立离线聚类的类别数目macro_k,根据步骤七获得的k’个聚类特征指数直方图的k’个均值进行离线K均值聚类,通过余弦系数作为度量函数,获得macro_k个离线聚类类别,并执行步骤九;
步骤九、根据步骤八获得的macro_k个离线聚类类别,将macro_k个聚类类别中其中含有孤立点或者数据元素个数小于或等于窗口尺寸N的5%的聚类类别作为异常类别,从而获取数据异常检测结果。
2.根据权利要求1所述的基于分层聚类的滑动窗口多数据流异常检测方法,其特征在于:步骤七所述的根据上一个数据元素到达后获得的k’个聚类特征指数直方图进行在线微聚,所述的上一个数据元素为第T-1个数据元素,并获得更新的k’个聚类特征指数直方图的具体过程为:
步骤1、获取数据流中第T个数据流元素,执行步骤2;
步骤2、判断滑动窗口内的数据量是否大于滑动窗口尺寸N,若大于执行步骤3,若小于或者等于则执行步骤5;
步骤3、删除k’个聚类特征指数直方图中具有最小数据编号的时间特征向量,执行步骤4;
步骤4、更新k’个聚类特征指数直方图的头节点,该头节点包括平均数据编号、均值、相关系数的边界值以及平均数据元素的个数,执行步骤5;
步骤5、分别计算多数据流中第T个数据流元素与k’个聚类特征指数直方图的头节点的均值项的相关系数,获得k’个相关系数的最大值,执行步骤6;
步骤6、分别判断步骤5中获得的每个相关系数的最大值是否大于或者等于相应的聚类特征指数直方图头节点中相关系数的边界值,若大于或者等于则执行步骤7,若小于则执行步骤9;
步骤7、将多数据流中第T个数据流元素加入与该相关系数对应的聚类特征指数直方图的数据编号最大的时间特征向量中,执行步骤8;
步骤8、更新步骤7所述的聚类特征指数直方图及该聚类特征指数直方图的头节点,且令T=T+1,执行步骤1;
步骤9、判断执行步骤6后聚类特征指数直方图个数k’是否小于或者等于设定的在线微聚的聚类数目k,若小于执行步骤12,若等于执行步骤10;
步骤10、设定两个参数Low_boundry,high_boundry,判断聚类特征指数直方图是否满足删除聚类特征指数直方图的条件,即
( min _ m e a n _ t - min _ w i n d o w _ t ) < ( max _ w i n d o w _ t - min _ w i n d o w _ t ) * h i g h _ b o u n d r y - - - ( 1 )
TN>N*low_boundry (2)
其中,min_mean_t为所有聚类特征指数直方图中含有的时间特征向量中具有数据元素的最小数据编号;max_window_t为所有聚类特征指数直方图中含有的时间特征向量中具有数据元素的最大数据编号,min_window_t为聚类特征指数直方图中数据元素对应的数据编号平均值的最小值,TN为当前窗口内含有的数据个数;
若同时满足公式(1)和公式(2)则执行步骤11,若否执行步骤14;
步骤11、删除含有最小平均数据编号的聚类特征指数直方图,执行步骤12;
步骤12、新建一个聚类特征指数直方图,执行步骤13;
步骤13、将多数据流中第T个数据流元素存储在步骤12所述的新建的聚类特征指数直方图中,且令T=T+1,执行步骤1;
步骤14、将聚类特征指数直方图中头节点的平均数据编号排列中排在最后的两个聚类特征指数直方图进行合并,更新合并后的聚类特征指数直方图及头节点,执行步骤12。
3.根据权利要求1所述的基于分层聚类的滑动窗口多数据流异常检测方法其特征在于:步骤八所述的离线K均值聚类为:
在多数据流中,在线聚类得到k’个聚类特征指数直方图,将其头节点中的均值作为离线聚类的数据,k’个节点的均值作为K均值聚类算法的输入,macro_k为离线聚类的类别个数,K均值聚类算法中的相似性度量函数分别取欧氏距离和夹角余弦。
CN201310364401.0A 2013-08-20 2013-08-20 基于分层聚类的滑动窗口多数据流异常检测方法 Active CN103400152B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310364401.0A CN103400152B (zh) 2013-08-20 2013-08-20 基于分层聚类的滑动窗口多数据流异常检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310364401.0A CN103400152B (zh) 2013-08-20 2013-08-20 基于分层聚类的滑动窗口多数据流异常检测方法

Publications (2)

Publication Number Publication Date
CN103400152A CN103400152A (zh) 2013-11-20
CN103400152B true CN103400152B (zh) 2016-08-10

Family

ID=49563770

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310364401.0A Active CN103400152B (zh) 2013-08-20 2013-08-20 基于分层聚类的滑动窗口多数据流异常检测方法

Country Status (1)

Country Link
CN (1) CN103400152B (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103916860B (zh) * 2014-04-16 2017-12-22 东南大学 无线传感器簇形网络中基于时空关联的离群数据检测方法
CN103945439B (zh) * 2014-04-21 2017-05-24 清华大学 一种对无线传感器网络中感知数据的精确查询方法
CN104317666B (zh) * 2014-10-23 2018-08-10 百度在线网络技术(北京)有限公司 一种异常处理方法及装置
CN104809594B (zh) * 2015-05-13 2019-02-15 中国电力科学研究院 一种基于动态离群点检测的配电网数据在线清洗方法
CN105046203B (zh) * 2015-06-24 2018-03-30 哈尔滨工业大学 基于夹角dtw距离的卫星遥测数据自适应层次聚类方法
CN104899327B (zh) * 2015-06-24 2018-03-30 哈尔滨工业大学 一种无类别标签的时间序列异常检测方法
CN105512474B (zh) * 2015-12-02 2017-12-12 国网山东省电力公司电力科学研究院 一种变压器状态监测数据的异常检测方法
CN106060039B (zh) * 2016-05-27 2019-08-23 广东工业大学 一种面向网络异常数据流的分类检测方法
CN106528313B (zh) * 2016-10-24 2018-10-16 中国银联股份有限公司 一种主机变量异常检测方法及系统
CN108206813B (zh) * 2016-12-19 2021-08-06 中国移动通信集团山西有限公司 基于k均值聚类算法的安全审计方法、装置及服务器
CN108205570B (zh) * 2016-12-19 2021-06-29 华为技术有限公司 一种数据检测方法和装置
CN108345574B (zh) * 2017-01-23 2021-09-03 无锡市计量测试院 相关双数据流异常检测与修正的方法
CN107124329B (zh) * 2017-04-25 2020-05-05 济南大学 基于低水位滑动时间窗口的离群数据发现方法及系统
CN107276999B (zh) * 2017-06-08 2020-05-26 西安电子科技大学 一种无线传感器网络中的事件检测方法
CN109167708B (zh) * 2018-09-13 2020-06-26 中国人民解放军国防科技大学 一种基于滑动窗口的自适应在线异常检测方法
CN109508733A (zh) * 2018-10-23 2019-03-22 北京邮电大学 一种基于分布概率相似度度量的异常检测方法
CN109753797B (zh) * 2018-12-10 2020-11-03 中国科学院计算技术研究所 针对流式图的密集子图检测方法及系统
CN109783520A (zh) * 2018-12-26 2019-05-21 东华大学 基于滑动窗口的可伸缩的大规模流数据顺序特征维持方法
CN109616141B (zh) * 2019-01-03 2022-01-11 燕山大学 发音异常检测方法
CN110266728B (zh) * 2019-07-17 2022-03-08 杨鲲 基于mqtt消息队列的安全防御及异常检测方法、装置及系统
CN110378607B (zh) * 2019-07-24 2020-06-05 青岛鲁诺金融电子技术有限公司 一种基于算法的汽车金融服务系统
CN110795510B (zh) * 2019-10-22 2023-05-23 北京空间技术研制试验中心 基于高维数据关联挖掘的航天器系统健康状态评估方法
CN111107102A (zh) * 2019-12-31 2020-05-05 上海海事大学 基于大数据实时网络流量异常检测方法
CN111367901B (zh) * 2020-02-27 2024-04-02 智慧航海(青岛)科技有限公司 一种船舶数据去噪方法
CN111447193B (zh) * 2020-03-23 2022-11-04 网宿科技股份有限公司 一种针对实时数据流进行异常检测的方法及装置
CN112579581B (zh) * 2020-11-30 2023-04-14 贵州力创科技发展有限公司 一种数据分析引擎的数据接入方法及系统
CN115776449B (zh) * 2022-11-08 2023-10-03 中车工业研究院有限公司 列车以太网通信状态监测方法及系统
CN117251749B (zh) * 2023-11-17 2024-02-27 陕西通信规划设计研究院有限公司 一种基于增量分析的物联网数据处理方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030130996A1 (en) * 2001-12-21 2003-07-10 International Business Machines Corporation Interactive mining of time series data
US20040098412A1 (en) * 2002-11-19 2004-05-20 International Business Machines Corporation System and method for clustering a set of records
CN101561878B (zh) * 2009-05-31 2012-11-21 河海大学 基于改进cure聚类算法的无监督异常检测方法与系统

Also Published As

Publication number Publication date
CN103400152A (zh) 2013-11-20

Similar Documents

Publication Publication Date Title
CN103400152B (zh) 基于分层聚类的滑动窗口多数据流异常检测方法
Metzler et al. The effect of the cosmic web on cluster weak lensing mass estimates
CN104539484B (zh) 一种动态评估网络连接可信度的方法及系统
CN108540451A (zh) 一种用机器学习技术对网络攻击行为进行分类检测的方法
Li et al. A supervised clustering and classification algorithm for mining data with mixed variables
CN107454108A (zh) 一种基于攻防对抗效用的网络安全评估方法
CN107070867A (zh) 基于多层局部敏感哈希表的网络流量异常快速检测方法
CN109558838A (zh) 一种物体识别方法及系统
CN106295674B (zh) 一种基于多粒子群算法的图像目标匹配检测方法及系统
WO2019200739A1 (zh) 数据欺诈识别方法、装置、计算机设备和存储介质
CN110191137A (zh) 一种网络系统量化安全评估方法与装置
CN102045357A (zh) 一种基于仿射聚类分析的入侵检测方法
CN110011976A (zh) 一种网络攻击破坏能力量化评估方法及系统
Deng et al. Combining self-organizing map and k-means clustering for detecting fraudulent financial statements
CN104537384B (zh) 一种结合似然比判决的sar目标鉴别方法
CN106972968A (zh) 一种基于交叉熵联合马氏距离的网络异常流量检测方法
CN106100870A (zh) 一种基于链路预测的社会网络事件检测方法
CN110598914B (zh) 一种多因素影响下矿井灾害气体浓度区间预测方法及系统
CN116962093A (zh) 基于云计算的信息传输安全性监测方法及系统
Jiang et al. Parameters calibration of traffic simulation model based on data mining
Casaer et al. Analysing space use patterns by Thiessen polygon and triangulated irregular network interpolation: a non-parametric method for processing telemetric animal fixes
CN116467159A (zh) 一种基于主模态神经元覆盖的图像卷积神经网络模型安全性测评方法
Adibi et al. Measuring confidence intervals in link discovery: a bootstrap approach
CN112217838A (zh) 一种基于云模型理论的网络攻击面评估方法
CN116340833B (zh) 基于改进领域对抗式迁移网络的故障诊断方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant