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

【发明授权】大数据环境下的分布式跨维度异常数据检测方法_浙江工商大学_201611254170.8 

申请/专利权人:浙江工商大学

申请日:2016-12-30

公开(公告)日:2019-11-29

公开(公告)号:CN106708647B

主分类号:G06F11/07(20060101)

分类号:G06F11/07(20060101)

优先权:

专利状态码:有效-授权

法律状态:2019.11.29#授权;2017.06.16#实质审查的生效;2017.05.24#公开

摘要:本发明提供一种大数据环境下的分布式跨维度异常数据检测方法,包括:数据切分,基于输入数据集的维度对输入数据集进行切分,形成多个数据桶;根据每一维度上切分出来的数据桶形成非平衡二叉编码树;基于非平衡二叉编码树将切分出来的多个数据桶分配到各运算节点上;在各个运算节点上计算执行每个数据点的相对离群量;筛选出相对离群量大于或等于设定阈值的数据点,形成异常点集合。

主权项:1.一种大数据环境下的分布式跨维度异常数据检测方法,其特征在于,包括:数据切分,基于输入数据集的维度对输入数据集进行切分,形成多个数据桶;根据每一维度上切分出来的数据桶形成非平衡二叉编码树;基于非平衡二叉编码树将切分出来的多个数据桶分配到各运算节点上;在各个运算节点上计算执行每个数据点的相对离群量;筛选出相对离群量大于或等于设定阈值的数据点,形成异常点集合。

全文数据:大数据环境下的分布式跨维度异常数据检测方法技术领域[0001]本发明涉及大数据处理技术领域,且特别涉及一种大数据环境下的分布式跨维度异常数据检测方法。背景技术[0002]随着大数据分析和数据挖掘技术的不断发展,数据的体量正变得越来越大,在这大量的数据中,异常数据的数量也随着数据体量的增大而增多,异常数据不同于数据集中的常规数据,其特性偏离常规数据,使得数据分析方法会因为这些数据的存在而使分析结果存在较明显的误差。传统的数据挖掘活动前,数据是经过精心挑选的,保证的数据的完整性和一致性。但大数据环境下的海量数据,无法进行人工的挑选,因此异常数据检测就有十分重要的作用。同时,异常数据,也有其价值,如在信用卡欺骗、网络入侵检测、灾害预警、故障诊断、图像处理分析等领域都是很有价值的数据依据。[0003]现有的异常数据检测技术主要有集中式异常数据点检测和分布式异常数据点检测两种。其中集中式异常数据点检测技术属于传统的数据挖掘领域的技术,主要有基于统计的数据集概率分布或模型来筛出严重偏离分布或模型的数据点的检测算法,基于距离的将无足够多相邻数据点的数据点看作异常数据的异常数据点检测算法,基于一定范围内数据点个数及各数据点间的距离来判断异常数据点的数据密度方法,以及基于序列异常的偏差挖掘算法。但这些算法存在可移植性差,对局部数据的异常数据点无能为力,参数设置繁琐,人为因素影响较大和无法应用于多维数据集的缺点和问题。而现有的分布式异常数据点检测技术对异构分布式并行计算环境的适配均存在一定程度的问题,很大程度上存在数据切分不合理,数据分配不倒塌,磁盘IO和网络IO较高,开销过大的不足。发明内容[0004]本发明为了克服现有技术的不足,提供一种大数据环境下的分布式跨维度异常数据检测方法。[0005]为了实现上述目的,本发明提供一种大数据环境下的分布式跨维度异常数据检测方法,包括:[0006]数据切分,基于输入数据集的维度对输入数据集进行切分,形成多个数据桶;[0007]根据每一维度上切分出来的数据桶形成非平衡二叉编码树;[0008]基于非平衡二叉编码树将切分出来的多个数据桶分配到各运算节点上;[0009]在各个运算节点上计算执行每个数据点的相对离群量;[0010]筛选出相对离群量大于或等于设定阈值的数据点,形成异常点集合。[0011]于本发明一实施例中,数据切分的方法包括:[0012]获取待切分的数据桶或输入数据集在某一维度上的中值;[0013]以该中值对待切分的数据桶或输入数据集沿所述某一维度进行切分,形成两个子数据桶;[0014]当形成的子数据桶中数据点的数量大于或等于平均运算节点数量时,对形成的子数据桶在另一维度上进行再次切分,直到形成的子数据桶中数据点的数量小于平均运算节点数量。[0015]于本发明一实施例中,基于非平衡二叉编码树将切分出来的多个数据桶分配到各运算节点上的方法包括:[0016]以分布式计算环境中运算节点集合Mset为输入,对切分后的数据桶集合Bset进行降序排列得到巧丨广";[0017]取5:广7中前COUNTMncide个数据桶分别分配给Mset中的每一个节点,COUNTMnode为分布式计算环境中运算节点的数量;[0018]计算运算节点集合Mset中的每一个节点现已分配的数据桶中所有数据点dP_t的数量的均值,记为^,初始化空结点集合MtmP,将运算节点集合Mset中所有分配到数据点dpoint的数量小于的节点加入Mtmp;[0019]对空结点集合Mtmp中的节点按其包含的数据点dP_^数量升序排列,得到风=,确定与未被分配的数据桶邻接的数据桶,将未被分配的数据桶匕1^11%分配给和它邻接的数据桶最多的节点nu。于本发明一实施例中,确定一个数据桶的邻接数据桶的方法为:[0020]获取每一个数据桶在非平衡二叉编码树中的编码;[0021]根据获取到的编码计算每一个数据桶在每一维度上的十进制值;[0022]将每一维度上的十进制值进行组合形成这个数据桶的坐标;[0023]根据每个数据桶的坐标确定其邻接数据桶。[0024]于本发明一实施例中,在各个运算节点上计算执行每个数据点的相对离群量的具体步骤为:[0025]在各个运算节点上计算执行每个数据点的离群度;[0026]根据离群度计算数据点的局部离群量;[0027]根据数据点的局部离群量计算执行每个数据点的相对离群量。[0028]于本发明一实施例中,采用以下公式计算执行每个数据点的离群度:[0032]其中,劣和4丨分别为维度1上第i个数据点和第j个数据点,⑶UNTdpoint为参与运算的数据点的总数。[0029][0030][0031][0033]于本发明一实施例中,采用以下公式计算数据点的局部离群量:[0034][0035]其中,为数据点的局部离群量。[0036]于本发明一实施例中,采用以下公式计算执行每个数据点的相对离群量:[0037][0038]其中,为执行每个数据点的相对离群量。[0039]综上所述本发明提供的大数据环境下的分布式跨维度异常数据检测方法,提出一种高效的数据切分算法,并结合编码方式将数据的分配过程进行优化,减少系统开销,加速集群的运算,从而保证了异常点检测过程在分布式并行计算环境中的高效进行,对于解决大数据环境下的海量数据中的异常数据检测这样的复杂问题具有较好的效果。[0040]为让本发明的上述和其它目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合附图,作详细说明如下。附图说明[0041]图1所示为本发明一实施例提供的大数据环境下的分布式跨维度异常数据检测方法的流图。[0042]图2所示为本发明一实施例提供的大数据环境下的分布式跨维度异常数据检测方法中给出的非平衡二叉编码树的结构图。[0043]图3所示为确定一个数据桶的邻接数据桶的方法图。具体实施方式[0044]如图1所示,本实施例提供的大数据环境下的分布式跨维度异常数据检测方法包括:数据切分,基于输入数据集的维度对输入数据集进行切分,形成多个数据桶步骤S1。根据每一维度上切分出来的数据桶形成非平衡二叉编码树步骤S2。基于非平衡二叉编码树将切分出来的多个数据桶分配到各运算节点上步骤S3。在各个运算节点上计算执行每个数据点的相对离群量步骤S4。筛选出相对离群量大于或等于设定阈值的数据点,形成异常点集合步骤S5。[0045]该方法始于步骤S1,在对高维度大数据的处理中为保证分布式环境下的运算效率,需要对输入的数据集进行切分。于本实施例中,基于输入数据集的维度对输入数据集贫!?"进行切分,形成bcoimt个数据桶(Bucket,Bucket集合为Bset={bi,b2,‘",bbc〇unt},在Bucket集合中各个Bucket内的数据点dpoint的个数不等,其中^ainteD丨。[0046]具体的切分方法为,首先对输入的数据集进行切分,接着对切分出来的子数据桶再进行切分,数据集和数据桶的切分方法相同,以下以Bucketb在第1维度上的切分为例进行说明。[0047]首先,获取Bucketb在第1维度上的中值[0048]接着,以该中值M对Bucketb沿第1维度进行切分,形成两个子Bucket,分别ijbleft矛口bright〇[0049]判断blrft中的数据点的数量是否大于或等于平均运算节点数量,当blrft中的数据点的数量大于或等于平均运算节点数量时,对bleft在另一维度上再次采用上述方法进行切分,直到形成的子Bucket上的数据点的数量小于平均运算节点数量。同样的,采用相同的方法对bright进行切分。中值和平均运算节点数量AVGdpciint分别采用以下公式计算:[0050][0051][0052]其中,‘和(_分别为Bucketb在第1维度上的上下界,C0UNTdP〇intbleft为匕也中数据点的数量,COUNTdpointbright为bright中数据点的数量~输入数据集中数据点的数量,C0UNTMncide为分布式计算环境中运算节点的数量,1GL,L为维度数量。[0053]当数据切分出来后执行步骤S2、根据每一维度上切分出来的Bucket形成非平衡二叉编码树。本实施例以二维的数据集切分所形成的非平衡二叉编码树为例进行说明,对于三维以上的数据集采用相同的切分方法来形成非平衡二叉编码树。在图2中,根结点代表输入数据集,其编码记为〇;对输入数据集进行切分后形成位于左右两边的两个子Bucket,对子Bucket继续进行切分,每一次的切分都会产生bleft和bright,bleft的编码为⑶DEleft=C0DEparent+"T,C0DEparent为父Bucket的节点编码;bright的编码为C0DEright=C0DEparent+"1",CODEparent为父Bucket的节点编码。根据父Bucket和子Bucket之间的关系,形成如图2所示的非平衡二叉编码树。[0054]当形成非平衡二叉编码树后,执行步骤S3,基于非平衡二叉编码树将切分出来的多个数据桶分配到各运算节点上。具体的方法包括:[0055]首先,以分布式计算环境中运算节点集合Mset为输入,对切分后的数据桶集合Bset进行降序排列得到。[0056]接着,取中前COUNTMncide个数据桶分别分配给运算节点集合Mset中的每一个节点,COUNTMnc„g为分布式计算环境中运算节点的数量。[0057]进一步的,计算运算节点集合Mset中的每一个节点现已分配的数据桶中所有数据点dp_t的数量的均值,记为初始化空结点集合Mtmp,将运算节点集合Mse冲所有分配至撒据点dpoint的数量小于C的节点加入空结点集合Mtmp;[0058]最后,对空结点集合Mtmp中的节点按其包含的数据点dp。int的数量升序排列,得到氧:",确定与未被分配的数据桶b^11%邻接的数据桶,将未被分配的数据桶匕1^11%分配给和它邻接的数据桶最多的结点HU。在该步骤中,采用以下方法来确定未被分配的数据桶的邻接数据桶:[0059]获取每一个数据桶在非平衡二叉编码树中的编码。以Bucketbs为例进行说明,在图2中Bucketbs的编码为1001,对应非平衡二叉编码树可得其第0维为编码为1和0,合起来为二进制10,对应十进制为2,其第1维的编码为0和1,合起来为二进制01,对应的十进制表示为1,因此Bucketbs的坐标为(2,1。以同样的方法计算每一个Bucket的坐标,最后根据每个Bucket的坐标确定与其邻接的Bucket。在图2中,在0维度方向上与Bucketbs邻接的Bucket的坐标为(1,1和(3,1;在1维度方向上与Bucketbs邻接的Bucket的坐标为(2,2和2,0〇[0060]当步骤S3完成后执行步骤S4,在各个运算节点上计算执行每个数据点的相对离群量。具体的计算方法为:[0061]首先,在各个运算节点上计算执行每个数据点的离群度^^^,_,具体的计算公式为:[0062][0063][0064][0065]其中,和《分别为维度1上第i个数据点和第j个数据点,COUNTdpoint为参与运算的数据点的总数。[0066]接着,根据离群度计算数据点的局部离群量,具体计算公式为:[0067][0068]最后,根据数据点的局部离群量计算执行每个数据点的相对离群量\具体的计算公式为:[0069][0070]在得到相对离群量,执行步骤S5、筛选出相对离群量大于或等于设定阈值n的数据点,形成异常点集合。常n取值在[0.8,1]之间能取得较好的结果。[0071]综上所述本发明提供的大数据环境下的分布式跨维度异常数据检测方法,提出一种高效的数据切分算法,并结合编码方式将数据的分配过程进行优化,减少系统开销,加速集群的运算,从而保证了异常点检测过程在分布式并行计算环境中的高效进行,对于解决大数据环境下的海量数据中的异常数据检测这样的复杂问题具有较好的效果。[0072]虽然本发明已由较佳实施例揭露如上,然而并非用以限定本发明,任何熟知此技艺者,在不脱离本发明的精神和范围内,可作些许的更动与润饰,因此本发明的保护范围当视权利要求书所要求保护的范围为准。

权利要求:1.一种大数据环境下的分布式跨维度异常数据检测方法,其特征在于,包括:数据切分,基于输入数据集的维度对输入数据集进行切分,形成多个数据桶;根据每一维度上切分出来的数据桶形成非平衡二叉编码树;基于非平衡二叉编码树将切分出来的多个数据桶分配到各运算节点上;在各个运算节点上计算执行每个数据点的相对离群量;筛选出相对离群量大于或等于设定阈值的数据点,形成异常点集合。2.根据权利要求1所述的大数据环境下的分布式跨维度异常数据检测方法,其特征在于,数据切分的方法包括:获取待切分的数据桶或输入数据集在某一维度上的中值;以该中值对待切分的数据桶或输入数据集沿所述某一维度进行切分,形成两个子数据桶;当形成的子数据桶中数据点的数量大于或等于平均运算节点数量时,对形成的子数据桶在另一维度上进行再次切分,直到形成的子数据桶上数据点的数量小于平均运算节点数量。3.根据权利要求1所述的大数据环境下的分布式跨维度异常数据检测方法,其特征在于,基于非平衡二叉编码树将切分出来的多个数据桶分配到各运算节点上的方法包括:以分布式计算环境中运算节点集合Mset为输入,对切分后的数据桶集合Bset进行降序排列得到CTrf;取尤°广z中前COUNTMncide个数据桶分别分配给Mset中的每一个节点,COUNTMncide为分布式计算环境中运算节点的数量;计算运算节点集合Mset中的每一个节点现已分配的数据桶中所有数据点dP_t的数量的均值,记为^,初始化空结点集合Mtmp,将运算节点集合Mse冲所有分配到数据点‘^的数量小于i丨=t的节点加入空结点集合Mtmp;对空结点集合Mtmp中的节点按其包含的数据点dP_t的数量升序排列,得到,确定与未被分配的数据桶Mnalkle邻接的数据桶,将未被分配的数据桶匕^^分配给和它邻接的数据桶最多的节点mi。4.根据权利要求3所述的大数据环境下的分布式跨维度异常数据检测方法,其特征在于,确定一个数据桶的邻接数据桶的方法为:获取每一个数据桶在非平衡二叉编码树中的编码;根据获取到的编码计算每一个数据桶在每一维度上的十进制值;将每一维度上的十进制值进行组合形成这个数据桶的坐标;根据每个数据桶的坐标确定其邻接数据桶。5.根据权利要求1所述的大数据环境下的分布式跨维度异常数据检测方法,其特征在于,在各个运算节点上计算执行每个数据点的相对离群量的具体步骤为:在各个运算节点上计算执行每个数据点的离群度;根据离群度计算数据点的局部离群量;根据数据点的局部离群量计算执行每个数据点的相对离群量。6.根据权利要求5所述的大数据环境下的分布式跨维度异常数据检测方法,其特征在于,采用以下公式计算执行每个数据点的离群度;其中,#和^分别为维度1上第i个数据点和第j个数据点,COUNTClpciint为参与运算的数据点的总数。7.根据权利要求6所述的大数据环境下的分布式跨维度异常数据检测方法,其特征在于,采用以下公式计算数据点的局部离群量:其中,为数据点的局部离群量。8.根据权利要求7所述的大数据环境下的分布式跨维度异常数据检测方法,其特征在于,采用以下公式计算执行每个数据点的相对离群量:其中,为执行每个数据点的相对离群量。

百度查询: 浙江工商大学 大数据环境下的分布式跨维度异常数据检测方法

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