买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种基于增强型角度异常因子的数据流异常检测及多重验证的方法_桂林电子科技大学;桂林宇辉信息科技有限责任公司_201710823063.0 

申请/专利权人:桂林电子科技大学;桂林宇辉信息科技有限责任公司

申请日:2017-09-13

公开(公告)日:2020-07-03

公开(公告)号:CN107682319B

主分类号:H04L29/06(20060101)

分类号:H04L29/06(20060101);G06F16/2458(20190101);G06F16/906(20190101)

优先权:

专利状态码:有效-授权

法律状态:2020.07.03#授权;2018.03.09#实质审查的生效;2018.02.09#公开

摘要:公开了一种基于增强型角度异常因子的数据流异常检测及多重验证的方法,其特征是,包括如下步骤:1对实时数据流进行处理;2设置滑动窗口中数据集S;3初始化参数k、r、ξ;4获取距离矩阵dist;5得到r邻域点集合;6得到r邻域点集合的角度因子和局部密度7获取相异度;8获取各数据点的簇心因子;9获取归属矩阵;10确定簇心并聚类;11对聚类后的各簇分别进行异常检测;12多重验证。这种方法运用了滑动窗口和基本窗口技术,构造了高效的数据流处理模型,降低了内存的占用率、实时性好、异常检测准确率高、时间复杂度低。

主权项:1.一种基于增强型角度异常因子的数据流异常检测及多重验证的方法,其特征是,包括如下步骤:1对实时数据流进行处理:对数据采集终端采集的各式各样的实时数据流按照构成数据的最小单位和采集时的时间顺序,将一个时间段获得的数据组成数据块,将几个数据块构成滑动窗口处理的数据集S;2对所述步骤1处理后得到的结果进行设置得到当前滑动窗口中数据集S,设S={X1,X2,...,Xn},其中包含n个数据点,每个数据点根据其属性表示为其中表示数据点xi有d个属性,用于后续聚类和异常检测;3初始化参数k、r、ξ:设定初始化参数,其中k表示数据点的k个最近邻点的个数,r为数据点的空间邻域半径,ξ为异常判决阈值调整系数,异常判决阈值θ=μ+ξ·δ,其中μ和δ对应所有数据点增强型角度异常因子的均值及标准差;4获取距离矩阵dist:结合步骤2中的数据集S,计算所有数据点之间的距离,得到n×n的距离矩阵dist,dist=[dij]n×n,计算公式为公式1: 其中Xi和Yj都是集合S中的数据点,并且xik表示数据点xi有k个属性,yjk表示数据点yj有k个属性;5得到r邻域点集合:根据空间邻域半径r,得到每个数据点的r邻域点集合即该点处以邻域半径r为半径,圈住的所有数据点的集合;6得到r邻域点集合的角度因子和局部密度结合距离矩阵dist得到r邻域点集合的角度因子和r邻域点集合的局部密度其中Nr数据点xi的r邻域;7获取相异度δxi:根据步骤6中得到的r邻域点集合的局部密度进行排序后,计算对应的相异度δxi;8获取各数据点的簇心因子τxi:结合步骤6和步骤7获取簇心因子τxi为公式5:簇心因子τxi用来度量数据点处于簇心的程度;9获取归属矩阵:对步骤8中得到的所有数据点簇心因子,进行降序排序得τp1≥τp2≥…≥τpn,其中pn表示对应数据点的原始序号,从而得到用于聚类的归属矩阵F=[f1,f2,...,fn];10确定簇心并聚类:利用簇心因子和归属矩阵对数据集S进行簇心确定及聚类,将所有类标号相同的数据点组成集合,即簇,得到m=Ccenter_id个簇C1,C2,...,Cm,其中Ccenter_id为簇心序号,完成对数据集S的聚类;11对聚类后的各簇分别进行异常检测:步骤10中得到各个簇Cii=1,2,…,m,先对聚类后的数据集S中的各个簇C1,C2,...,Cm,分别进行异常检测,得到各簇异常点集合Oi,最终得到数据集S中所有异常点集合O={O1,...,Om},异常检测所涉及的公式有:簇内角度因子为公式7: 其中A、B、C是数据集中的数据点,阿表示第个i簇且簇中每个数据点均有d维属性,是数据点q邻域内的数据点个数,局部增量值HXj为公式8:k个最近邻点的距离和LXj为公式9: 其中,表示数据点Xj在其所属簇中的k个最近邻点组成的k邻域;增强型角度异常因子EAOFXj为公式10: 其中,o是数据点Xj所属簇的簇心,disto,Xj为数据点Xj与其簇心的距离,表示Cii=1,2,…,m簇内每个数据点相对于该簇的角度因子,HXj是局部增量值;12多重验证:对所有候选异常点进行多次验证,并将经过有限次验证仍表现为异常的候选异常点判决为确定异常点并输出保存,若在验证过程中表现为正常点,则将该异常点直接丢弃。

全文数据:一种基于増强型角度异常因子的数据流异常检测及多重验证的方法技术领域[0001]本发明涉及数据流异常检测和数据聚类,尤其涉及一种基于增强型角度异常因子的数据流异常检测及多重验证的方法。背景技术[0002]网络技术的飞速发展和社会信息化的不断提高,引发了信息量的爆炸式增长,使得各行各业产生了海量、高速、动态的流数据,如网络入侵监测、商业交易管理和分析、视频监控、传感网络监控等。由于动态数据流的实时无限等特点,传统的静态数据异常检测方法已不能准确有效的分析和处理如此大规模动态增长的流数据,因此构建一种适用于数据流的实时有效异常检测方法变得尤其重要。[0003]针对不同阶段面临的实际问题,科技工作者提出了不同的数据流异常检测方法。现有的数据流异常检测方法大致可分为基于密度的数据流异常检测方法、基于角度的数据流异常检测方法、基于聚类的数据流异常检测方法。基于密度的数据流异常检测方法运用密度作为最基本的异常度量方式,并构造出能动态更新的用于度量数据异常程度的异常因子,Pokrajac等人将静态数据异常检测方法LOF引用到数据流中,研究出一种能运用到动态数据流中的增量式局部异常检测方法INCL0F,随着新数据的插入,INCLOF删除历史数据并动态更新各数据点的异常因子;KeGao等人对INCLOF方法进行了改进,引入滑动窗口的思想,提出了n-INCLOF方法,n-INCLOF方法仅更新当前时刻滑动窗口内各数据对象的异常因子;在有些情况下,有的数据点在某一时刻表现为异常,但在下一时刻并不表现异常,基于这个问题,KarimianSH等人提出了I-IncLOF方法,I-IncLOF方法引入了多重验证的思想,I-IncLOF方法将那些在窗口的整个滑动过程中始终表现为异常的数据对象判定为确定异常点,I-IncLOF方法大大降低了误判率,但I-IncLOF方法在多维情况下有效性较差;XinjieLu等人提出了INCL0CI方法,INCL0CI引入多粒度异常因子MDEF,INCL0CI方法不仅能检测出分散的异常点,而且能检测出异常簇。为了解决距离、密度等相似度度量方式在高维数据空间中有效性降低的问题,一些科研工作者提出了角度的度量方式,角度的相似度度量的基本思想就是异常点与其它点所成的角度普遍偏小且波动范围小、常规点与其它点所成的角度有大有小且波动范围大,HPKriegel等人提出了基于角度的异常检测方法AB0D,AB㈤方法将角度的方差作为度量数据点异常程度的异常因子ABOF,ABOD方法在高维空间中仍然有很高的检测准确率;YeH提出了基于角度的数据流异常检测方法DSAB0D,随着数据流数据点不断流入内存,DSABOD方法动态更新每个数据点相对于其邻域点的异常因子,DSABOD方法为高维数据流中的异常检测提出了一种新的思路,但传统的基于角度的数据流异常检测方法存在异常检测率较低的问题。基于聚类的数据流异常检测方法分为对数据点进行聚类和对每个簇中数据点进行异常检测这两个阶段,ElahiM等人提出了一种基于聚类的数据流异常检测方法,将K-Means和LOF相结合的方法,该方法分区域定义异常因子,提高了方法对异常检测的准确率;ThakranY等人又提出了将DBSCAN方法与W-K-Means方法相结合的方法,该方法对当前时刻的数据块运用DBSCAN方法进行聚类并得到候选异常点和初始簇,该方法结合前一时刻得到的待多重验证的候选异常点,运用W-K-Means方法再次进行聚类,得到当前时刻的候选异常点和常规点簇,同时该方法对候选异常点采用多重验证删除误判的异常点释放内存,该方法在整个过程中动态调整DBSCAN方法所需要的参量MinPts、EpsiIon、W-K-Means方法的属性权重,该方法对异常检测的准确度较高,但需要的人为设定参量过多,人工干预严重,方法的复杂度较高,且该方法在多维空间中的有效性较差。[0004]数据流异常检测是现今数据挖掘领域中的研究热点和难点,主要目标是从动态变化的复杂数据环境中实时准确的检测出与常规模式不相符的信息。发明内容[0005]针对传统方法的时间复杂度高、内存占用大且使用效率低、人为参数干预过多以及多维数据环境下有效性低等问题,本发明提供了一种基于增强型角度异常因子的数据流异常检测及多重验证的方法。这种方法能降低内存的占用率,实时性好、异常检测准确率高、时间复杂度低。[0006]实现本发明目的的技术方案是:[0007]—种基于增强型角度异常因子的数据流异常检测及多重验证的方法,包括如下步骤:[0008]1对实时数据流进行处理:对数据采集终端采集的各式各样的实时数据流进行处理;[0009]2设置滑动窗口中数据集S:步骤1处理得到当前滑动窗口中数据集S,设S=X1,X2,,其中包含η个数据点,每个数据点根据其属性表示为,用于后续聚类和异常检测;[0010]3初始化参数k、r、|:设定初始化参数,其中k表示数据点的k个最近邻个数,:r为数据点的空间邻域半径,ξ为异常判决阈值调整系数,异常判决阈值θ=μ+ξ·δ,其中μ和δ对应所有数据点增强型角度异常因子的均值及标准差;[0011]4获取距离矩阵dist:结合步骤2中的数据集S,计算所有数据点之间的距离,得至1JnXn的距离矩阵dist,dist=[dij]nxn,计算公式为公式1:[0013]5得到4卩域点集合:根据空间邻域半径r,得到每个数据点的4卩域点集合即该点处以邻域半径r为半径,圈住的所有数据点的集合;[0014]6得到r邻域点集合的角度因子印局部密度:结合距离矩阵dist得到r邻域点集合的角度因子和r邻域点集合的局部密度[0015]7获取相异度δXl:根据步骤6中得到的r邻域点集合的局部密度,进行排序后,计算对应的相异度SX1;[0016]8获取各数据点的簇心因子τXl:结合步骤6和步骤7获取簇心因子τXl,计算公式为公式5,簇心因子τX1用来度量数据点处于簇心的程度;[0017]9获取归属矩阵:对步骤8中得到的所有数据点簇心因子,进行降序排序得TP1彡τΡ2彡…ρη,从而得到用于聚类的归属矩阵F=[fl,f2,···,;^];[0018]10确定簇心并聚类:利用簇心因子和归属矩阵对数据集S进行簇心确定及聚类,将所有类标号相同的数据点组成集合,即簇,得至l」mm=C_ter_ld个簇,:2,···,^,完成对数据集S的聚类;[0019]11对聚类后的各簇分别进行异常检测:步骤10中得到各个簇C1Q=I,2,L,m,先对聚类后的数据集S中的各个簇CllC2,···,:》,分别进行异常检测,得到各簇异常点集合O1,最终得到数据集S中所有异常点集合O=IOir^OmK异常检测所涉及的公式有:簇内角度因汙为公式⑺:[0021]局部增量值HXj为公式⑻:[0022]k个最近邻点的距离和LXj为公式⑼:[0024]其中,表示数据点心在其所属簇中的k个最近邻点组成的k邻域;[0025]增强型角度异常因子EAOFXj为公式(10:[0027]其中,〇是数据点Xj所属簇的簇心,distο,Xj为数据点Xj与其簇心的距离,丨表示簇Cii=1,2,L,m内每个数据点相对于该簇的角度因子,HXj是局部增量值;[0028]12多重验证:对所有候选异常点进行多次验证,并将经过有限次验证仍表现为异常的候选异常点判决为确定异常点并输出保存,若在验证过程中表现为正常点,则将该异常点直接丢弃,这样做能增加异常检测准确率。[0029]步骤1中所述的处理是指数据采集终端采集的数据以流的形式缓存,并将缓存的数据划分成Eo,E1,E2,……数据块,每一个数据块代表一个基础窗口,每个滑动窗口W包含εε=2个基本窗口,采用基础窗口和滑动窗口相结合,实现数据的插入和删除,基础窗口和滑动窗口相结合的过程为:在Ti时刻过渡到Ti+1时刻,滑动窗口由Wi滑至ljWi+1,伴随着新基础窗口Ei+^并入和历史基础窗口Eh的移除,同时,将Ti时亥IjWi检测的候选异常点并入至lJWi+1中进行多重验证。[0030]步骤6中所述的r邻域点集合的角度因子计算公式为公式⑵:[0032]步骤6中所述的r邻域点集合的局部密度计算公式为公式⑶:[0034]局部密度与邻域数据点数以及所处的位置有关,邻域数据点数越多、越处于数据集的中心,局部密度就越大。[0035]步骤7中所述的相异度δXl是对所有数据点的局部密度进行降序排序后得到,相异度SX1的计算公式为公式⑷:[0037]步骤9中所述的归属矩阵F=Lfhf2r^fn],是用于记录数据点之间归属关系,各元素的表示公式为公式6:[0039]其中,{Pl}表示簇心因子τXl降序排序后的原始下标序号。[0040]这种数据流异常检测方法,分为2个过程,即数据流处理过程和数据流异常检测过程。数据流处理过程是将动态的数据流转化为静态数据块,方便后续异常检测,同时又要保证整个检测的实时性和高效性;数据流异常检测过程是对经数据流处理过程处理好之后的静态数据集进行异常检测,为了提高异常检测的准确率,采用了先聚类后异常检测的方法。在本技术方案中,滑动窗口和基础窗口结合的实时数据流处理方法,是数据流处理过程的核心,其在减少内存占用率的同时,提高了后续异常检测的质量,簇心因子和归属矩阵是本技术方案中新引进用于确定簇心和聚类的两个参数,能快速有效的确定多维数据空间的簇心,并根据确定的簇心准确聚类;增强型角度异常因子是本技术方案中另一个重要的参数,其弥补了传统异常因子的部分缺陷,保留了角度度量方式在多维空间中的有效性,是异常检测部分的核心。[0041]这种方法运用了滑动窗口和基本窗口技术,构造了高效的数据流处理模型,降低了内存的占用率、实时性好、异常检测准确率高、时间复杂度低。附图说明[0042]图1为实施例中方法流程示意图;[0043]图2为实施例中ti时刻滑动窗口中数据点分布图的不意图;[0044]图3为实施例中t2时刻滑动窗口中数据点分布图的不意图;[0045]图4为实施例中滑动窗口和基础窗口结合处理实时数据流及多重验证过程示意图;[0046]图5为实施例中数据点角度度量示意图;[0047]图6为实施例中U型簇数据基于传统角度度量方法误判数据点分布示意图;[0048]图7为实施例中多簇数据基于传统角度度量方法误判数据点分布示意图;[0049]图8为实施例中数据集原始坐标分布示意图;[0050]图9为实施例中局部密度-相异度分布示意图;[0051]图10为实施例中簇心因子排序分布示意图;[0052]图Ila为实施例中数据集1分布不意图;[0053]图Ilb为实施例中数据集1异常点分布示意图;[0054]图Ilc为实施例中数据集1异常检测检测出的异常点标识示意图;[0055]图Ild为实施例中数据集1异常检测将正常点误检为异常点标识示意图;[0056]图12a为实施例中数据集2分布示意图;[0057]图12b为实施例中数据集2实际异常分布示意图;[0058]图12c为实施例中数据集2异常检测检测出的异常点标识示意图;[0059]图12d为实施例中数据集2异常检测将异常点检测为正常点标识示意图。具体实施方式[0060]下面结合附图和实施例对本发明内容作进一步的阐述,但不是对本发明的限定。[0061]参照图1,一种基于增强型角度异常因子的数据流异常检测及多重验证的方法,包括如下步骤:[0062]1对实时数据流进行处理:对数据采集终端采集的各式各样的实时数据流进行处理,实时数据流具有动态多变特征,有的数据对象在当前滑动窗口中表现为异常,但在下一时刻的滑动窗口中却表现为正常点,如图2和图3所示,图2为七时刻滑动窗口数据点的分布图,此时的p点表现为异常,但随着数据点持续地流入,p点周围积累了越来越多的数据点,图3为〖2时刻滑动窗口数据点的分布图,可以看出此时p点表现为正常;[0063]2设置滑动窗口中数据集S:步骤1处理得到当前滑动窗口中数据集S:设S=X1,χ2,…,Xn},其中包含η个数据点,每个数据点根据其属性表示为,用于后续聚类和异常检测;[0064]3初始化参数k、r、ξ:设定初始化参数,其中k表示数据点的k个最近邻个数,:r为数据点的空间邻域半径,ξ为异常判决阈值调整系数,异常判决阈值θ=μ+ξΧδ,其中μ和δ对应所有数据点增强型角度异常因子的均值及标准差;[0065]4获取距离矩阵dist:结合步骤2中的数据集S,计算所有数据点之间的距离,得至1JnXn的距离矩阵dist,dist=[dij]nxn,计算公式为公式1:[0067]5得到r邻域点集合:根据空间邻域半径r,得到每个数据点的r邻域点集合即该点处以邻域半径r为半径,圈住的所有数据点的集合;[0068]6得到r邻域点集合的角度因子i和局部密度,:结合距离矩阵dist得到r邻域点集合的角度因子和r邻域点集合的局部密度:如图5所示,是基于角度的度量思想,计算该数据点与其它每一对数据点所成的角度,再取方差,对于核心区域点A1,它与其它点对所成的角度变化范围很大,故方差大;对于异常点A3,它与其它点对所成的角度变化范围很小,故方差小;而对于边界点A2,它与其它点对所成的角度变化范围介于A1和A3变化范围之间,故方差也介于核心区域点与异常点之间,但这样存在一些缺陷,如图6和图7所示,图6中的异常点B1位于U形簇的中心,它与周围点对所成的角度变化范围大,即方差较大,而边缘点B2与其它点对所成的角度变化范围小,即方差较小;同样的,图7中的异常点D1位于两个簇的中间,该点与两簇间的点对所成的角度变化范围大,而边缘点D2与其它点对所成的角度变化范围较小;这将使得到的结果与实际结果刚好相反,出现漏、误判;[0069]7获取相异度δXl:根据步骤6中得到的r邻域点集合的局部密度进行排序后,计算对应的相异度SX1;[0070]8获取各数据点的簇心因子τXl:结合步骤6和步骤7获取簇心因子τXl,计算公式为公式5;簇心因子τX1用来度量数据点处于簇心的程度,簇心因子是实施例方法中,用于快速有效确定多维数据空间簇心的改进参数因子,是聚类中至关重要的一步,实现过程如图8、图9、图10所示,可以看出该数据集由两个簇构成,其中点13和点25分别为两个簇的簇心;图9为通过公式3和公式⑷所得到的该数据集中各点的P-S局部密度-相异度)分布示意图,可以看出点13和点25的局部密度和相异度都较大;图10为通过公式⑸所得到的各点的簇心因子降序排序后的分布示意图,可以看出点13和点25的族心因子最大,因此最有可能为族心;[0071]9获取归属矩阵:对步骤8中得到的所有数据点簇心因子,进行降序排序得τPl彡τΡ2彡…ρη,从而得到用于聚类的归属矩阵F=[fl,f2,···,;^];[0072]10确定簇心并聚类:利用簇心因子和归属矩阵对数据集S进行簇心确定及聚类,将所有类标号相同的数据点组成集合,即簇,得至l」mm=C_ter_ld个簇,:2,···,^,完成对数据集S的聚类;[0073]11对聚类后的各簇分别进行异常检测:步骤10中得到各个簇C1Q=I,2,L,m,先对聚类后的数据集S中的各个簇CllC2,···,:》,分别进行异常检测,得到各簇异常点集合O1,最终得到数据集S中所有异常点集合O=IOir^OmK异常检测所涉及的公式有:簇内角度因子为公式7:[0075]局部增量值HXj为公式8[0076]k个最近邻点的距离和LXj为公式⑼:[0078]其中,,表示数据点心在其所属簇中的k个最近邻点组成的k邻域;[0079]增强型角度异常因子EAOFXj为公式(10:[0081]其中,〇是数据点Xj所属簇的簇心,disto,Xj为数据点Xj与其簇心的距离,表示Cii=1,2,L,m簇内每个数据点相对于该簇的角度因子,HXj是局部增量值;[0082]12多重验证:对所有候选异常点进行多次验证,并将经过有限次验证仍表现为异常的候选异常点判决为确定异常点并输出保存,若在验证过程中表现为正常点,则将该异常点直接丢弃,这样做能增加异常检测准确率的效果。[0083]步骤1中所述的处理是指数据采集终端采集的数据以流的形式缓存,并将缓存的数据划分成Eo,E1,E2,……数据块,每一个数据块代表一个基础窗口,每个滑动窗口W包含εε=2个基本窗口,采用基础窗口和滑动窗口相结合,实现数据的插入和删除,基础窗口和滑动窗口相结合的过程如图4所示:在1\时刻过渡到T1+1时刻,滑动窗口由W1滑到W1+1,伴随着新基础窗口Ei+^并入和历史基础窗口Eh的移除,同时,将Ti时亥IjWi检测的候选异常点并入到Wi+冲进行多重验证。[0084]步骤6中所述的r邻域点集合的角度因子计算公式为公式⑵:[0086]步骤6中所述的r邻域点集合的局部密度计算公式为公式⑶:[0088]局部密度与邻域数据点数以及所处的位置有关,邻域数据点数越多、越处于数据集的中心,局部密度就越大。[0089]步骤7中所述的相异度δXl是对所有数据点的局部密度进行降序排序后得到,相异度SX1的计算公式为公式(4:相异度是数据点间属于不同簇的可能性大小的度量,由给定的数据集S,根据步骤6得到的局部密度,经降序排序后得到,其中,{pi}表示局部密度¾的一个降序后原始下标序号,dDi.Di表示数据点Di与Di间的欧氐距离,则某一数据点Pi的相异度可定义如下:[0091]步骤9中所述的归属矩阵F=Lfhf2r^fn],是用于记录数据点之间归属关系,各元素的表示公式为公式6:[0093]其中,{Pl}表示簇心因子τXl降序排序后的原始下标序号。[0094]步骤10中所述的确定簇心并聚类是指先定义簇心序号为Cc^ter_ld,数据点的类标^jCclusterlabelj并初始化簇心序号为I,即Cc^te3r_id=I;同时将步骤8中获取的簇心因子最大的数据点的类标号为I,即;再根据步骤8中得到的降序下标序号{Pl},对整个数据集S进行条件遍历,若^听有点的距离均满足〔其中,r是初始参数值邻域半径),则将该点重新定义为一个新的簇心,该点类标号增加1,据此得到所有的簇心;然后根据得到的簇心,再利用步骤9中的归属矩阵F=,fn],对隶属于同一簇心的点贴上同一标签即类标号),方法如下:通过步骤9中得到的降序下标序号{Pl},对整个数据集S进行条件遍历,如果Pl非簇心,根据归属矩阵将ft对应的标签赋给?1,否则P1的标签就是其本身,最终将所有类标号相同的数据点组成集合,即簇,得至1Vm=Cc^nter+id个簇Cl,C2,…,Cm,完成对数据集S的聚类。[0095]步骤11中所述是对聚类后的各个簇分别进行异常检测,异常检测的具体步骤如下:[0096]①对于任意簇C1Q=I,2,L,m,计算该簇内每个数据点相对于该簇的角度因子[0097]为公式⑺:[0099]其中,Cii=1,2,L,m表示聚类后任意簇;[0100]②计算簇中每个数据点相对于其空间r邻域内的局部增量值HXj为公式⑻:[0102]局部增量是为了反映数据点在其所属簇空间邻域内数据点的密集程度,其中,表示了数据点在其所属簇的r邻域'内的数据点数[0103]③根据步骤10中确认的簇心,计算各数据点到所属簇的簇心之间的距离dist〇,Xj;[0104]④计算每个数据点与其k个最近邻点的距离和LXj为公式⑼:[0106]其中,,表示数据点心在其所属簇中的k个最近邻点组成的k邻域,k个最近邻点的距离和LXj反映了数据点与周围数据点远近程度,这样是为了避免基于角度的异常因子出现类似于图6中存在的缺陷;[0107]⑤计算每个数据点的增强型角度异常因子EAOFXj为公式10:[0109]其中,O是数据点Xj所属簇的簇心,disto,Xj为数据点Xj与其簇心的距离,VciXj表示C1Q=I,2,L,m簇内每个数据点相对于该簇的角度因子,HXj是局部增量值;增强型角度异常因子EAOF不仅具备角度度量方式在多维空间中优越的度量性能,而且引入了距离和密度的思想,弥补了传统的基于角度异常因子的缺陷;[0110]⑥由⑤中得到的所有数据点增强型角度异常因子,计算其均值μ及标准差δ,并用均值和标准差计算异常判决阈值θ,θ=μ+ξ·S,其中ξ为初始设定的异常判决阈值调整系数;[0111]⑦将⑤中得到的各点增强型角度异常因子EAOFXj与⑥中得到判决阈值Θ进行比较,若满足EAOF¾θ,则将该点标记为该簇中的候选异常对象,并存入本簇的候选异常点集合Oi中。[0112]本实施例提供了一种基于增强型角度异常因子的数据流异常检测及多重验证的方法,该方法采用了滑动窗口和基本窗口相结合的技术,构建了高效的实时数据流处理技术,同时引入了增强型角度异常因子,在解决传统方法内存占用率高,处理数据效率低的同时,又保证了方法的实时性好,异常检测准确率高及时间复杂度较低的优点。[0113]为了验证本实施例方法的有效性,将通过仿真结果对比进一步说明:[0114]本实施例在人工生成的数据集和真实数据集中均进行了验证,并与传统方法I-IncLOF和Thakran等人提出的基于加权聚类的数据流非监督异常检测方法简记为方法I进行了对比,实验数据集信息如表1所示,表1为实验数据集信息,三个数据集分别是具有不同维度、不同数据量、不同数据特性的数据集。[0115]人工数据集1的数据分布如图Ila所示,共有1615个数据点,由5个簇和15个离散点组成,其中簇1是由高斯分布N1m,Σ!生成的500个数据点组成,簇2是由高斯分布N2U2,Σ2生成的500个数据点组成,簇3是由高斯分布N3U3J3生成的500个数据点组成,簇4和簇5分别是由高斯分布N4U4,Σ4和地u5,Σ5生成的50个数据点组成,且由于NjPN5数据点数极少,因此被视作异常簇。同时,根据数据集的分布特性,随机生成了15个离散的异常点,因此该数据集共包含115个异常点,分布情况见图11b,异常点用圆圈标出,在实验过程中,异常簇和离散异常点随机混入正常簇中,以下是高斯分布生成数据集1所使用的参数:[0118]人工数据集2的数据分布如图12a所示,共有860个数据点,由3个正常簇和1个异常簇以及48个离散异常点组成,其中异常簇由21个异常点组成。因此该数据集共有69个异常点,异常点的分布情况如图12b所示。[0119]真实数据集BreastCancer如表1所示,该数据集来源于UCI机器学习库,包含699个数据点,有两个正常簇组成,其中,为了验证方法的有效性,本实施例根据均值、方差等统计特性向真实数据集中添加了34个异常点,用于异常检测的对比验证。[0120]在本实施例方法的验证实验中,设置基础窗口的长度为20,两个基础窗口组成一个滑动窗口,且最近邻点数k=3,空间邻域半径定为当前时刻滑动窗口中数据点间距离值降序排列的前20%距离值的均值,异常判决阈值调整系数定为2.5,多重验证的次数定为3次,同时,选取最能体现异常检测方法有效性的检测率和误判率进行比较,如图Ila-IlcU图12a-12d所示,为数据集1和数据集2的可视化实验结果。[0121]对于人工数据集1,从图Ila-Ild可以看出,运用该方法,2个异常簇和15个离散异常点都能被有效地检测出来,达到了零漏检的效果,从图Ild可知,有3个正常点被错检为异常点,原因是这些正常点虽然是由正常的高斯分布生成的,但偏离正常簇稍远,在连续3次的多重验证中均表现为异常,因此被判定为异常点;[0122]对于人工数据集2,从图12a_12d可以看出,在三维数据空间中,该方法仍然能保持很好的有效性,从图12b、12c、12d可以看出,异常簇中的点均能被检测出来,而在48个离散异常点中有47个被检测出来,有一个离散异常点漏检,漏检的原因是该漏检点离正常簇距离较近,使得在多重验证中某次表现为正常,因此被判定为正常点。[0123]在验证本实施例方法有效性的同时,还将本实施例方法与传统方法进行了对比,进一步验证了本实施例方法的优势,如表2所示,表2为实验结果统计信息,三个数据集上对三种方法进行对比实验的详细统计结果。从表2可以看出,本实施例提出的方法检测率高,误判率低,有效性明显优于另外两种方法,而且当数据集的维数越高时该方法的优越性越明显,方法I结合了W-K-Means与DBSCAN方法,并动态更新DBSCAN所需的参量和每一维的权重,因此方法I对动态数据流有很好的适应性,但由于其运用的是传统的基于距离和密度的异常度量方式,因此当维数增加时,有效性会降低;而I-IncLOF方法运用的是基于局部密度的思想,同样会受到维度灾难的影响,数据维数较低时其表现较好,但维数增多时,有效性较差。[0124]通过以上对不同数据集的验证及与传统方法的对比分析,可见,本实施例提出的基于增强型角度异常因子的数据流异常检测及多重验证的方法具有更好的有效性和可行性。[0125]表1

权利要求:1.一种基于增强型角度异常因子的数据流异常检测及多重验证的方法,其特征是,包括如下步骤:1对实时数据流进行处理:对数据采集终端采集的各式各样的实时数据流进行处理;2设置滑动窗口中数据集S:步骤1处理得到当前滑动窗口中数据集S:设S=U1,X2,...,xn},其中包含η个数据点,每个数据点根据其属性表示为A=,…,气),用于后续聚类和异常检测;3初始化参数k、r、ξ:设定初始化参数,其中k表示数据点的k个最近邻个数,:r为数据点的空间邻域半径,ξ为异常判决阈值调整系数,异常判决阈值θ=μ+ξ·δ,其中μ和δ对应所有数据点增强型角度异常因子的均值及标准差;4获取距离矩阵dist:结合步骤2中的数据集S,计算所有数据点之间的距离,得到ηΧη的距离矩阵dist,dist=[dij]nxn,计算公式为公式(1:5得到r邻域点集合:根据空间邻域半径r,得到每个数据点的r邻域点集合即该点处以邻域半径r为半径,圈住的所有数据点的集合;6得到r邻域点集合的角度因子和局部密度;结合距离矩阵dist得到r邻域点集合的角度因子和r邻域点集合的局部密度7获取相异度δXl:根据步骤6中得到的r邻域点集合的局部密度进行排序后,计算对应的相异度δX1;8获取各数据点的簇心因子τXl:结合步骤6和步骤7获取簇心因子τX1为公式55;簇心因子τXl用来度量数据点处于簇心的程度;9获取归属矩阵:对步骤8中得到的所有数据点簇心因子,进行降序排序得τP1多τΡ2彡...彡τPn,从而得到用于聚类的归属矩阵F=[fl,f2,...,fn];10确定簇心并聚类:利用簇心因子和归属矩阵对数据集S进行簇心确定及聚类,将所有类标号相同的数据点组成集合,即簇,得至l」mm=Ccenter」d个簇CllC2,...,Cm,完成对数据集S的聚类;11对聚类后的各簇分别进行异常检测:步骤10中得到各个簇C1i=1,2,L,m,先对聚类后的数据集S中的各个簇C1,C2,...,Cm,分别进行异常检测,得到各簇异常点集合O1,最终得到数据集S中所有异常点集合0=IO1,...,0m},异常检测所涉及的公式有:簇内角度因子为公式7:局部增量值HXj为公式8:k个最近邻点的距离和LXj为公式9:其中,,_表示数据点心在其所属簇中的k个最近邻点组成的k邻域;增强型角度异常因子EAOF¾为公式(10:其中,〇是数据点Xj所属簇的簇心,disto,Xj为数据点Xj与其簇心的距离,表示Cii=1,2,L,m簇内每个数据点相对于该簇的角度因子,HXj是局部增量值;12多重验证:对所有候选异常点进行多次验证,并将经过有限次验证仍表现为异常的候选异常点判决为确定异常点并输出保存,若在验证过程中表现为正常点,则将该异常点直接丢弃。这样做增加异常检测准确率的效果。2.根据权利要求1所述的基于增强型角度异常因子的数据流异常检测及多重验证的方法,其特征是,步骤1中所述的处理是指数据采集终端采集的数据以流的形式缓存,并将缓存的数据划分成Eo,E1,E2,......数据块,每一个数据块代表一个基础窗口,每个滑动窗口W包含εε=2个基本窗口,采用基础窗口和滑动窗口相结合,实现数据的插入和删除,基础窗口和滑动窗口相结合的过程如图4所示:在Ti时刻过渡到Ti+1时刻,滑动窗口由Wi滑到Wi+1,伴随着新基础窗口Ei+j^并入和历史基础窗口Eh的移除,同时,将Ti时刻Wi检测的候选异常点并入到Wi+1中进行多重验证。3.根据权利要求1所述的基于增强型角度异常因子的数据流异常检测及多重验证的方法,其特征是,步骤6中所述的r邻域点集合的角度因子计算公式为公式2:4.根据权利要求1所述的基于增强型角度异常因子的数据流异常检测及多重验证的方法,其特征是,步骤6中所述的r邻域点集合的局部密度计算公式为公式3:局部密度与邻域数据点数以及所处的位置有关,邻域数据点数越多、越处于数据集的中心,局部密度就越大。5.根据权利要求1所述的基于增强型角度异常因子的数据流异常检测及多重验证的方法,其特征是,步骤7中所述的相异度δXl是对所有数据点的局部密度进行降序排序后得至IJ,相异度SX1的计算公式为公式⑷:6.根据权利要求1所述的基于增强型角度异常因子的数据流异常检测及多重验证的方法,其特征是,步骤9中所述的归属矩阵F=[f^fs,...,fn],是用于记录数据点之间归属关系,各元素的表示公式为公式6:其中,{Pl}表示簇心因子τX1降序排序后的原始下标序号。

百度查询: 桂林电子科技大学;桂林宇辉信息科技有限责任公司 一种基于增强型角度异常因子的数据流异常检测及多重验证的方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。