当前位置: 首页 > 专利查询>深圳大学专利>正文

一种基于多支撑点索引的离群检测方法及其系统技术方案

技术编号:13768263 阅读:60 留言:0更新日期:2016-09-29 02:50
本发明专利技术提供了一种基于多支撑点索引的离群检测方法,包括:选取支撑点步骤:读入数据集,在所述数据集中选取多个支撑点以形成支撑点集;建立索引步骤:通过数据集中每个对象与所选取的多个支撑点计算距离并将距离作为坐标,形成多维数据空间,利用所述多维数据空间建立索引;离群检测步骤:划分索引为数据块,并对所述数据块进行逐块检测离群点。本发明专利技术还提供一种基于多支撑点索引的离群检测系统。本发明专利技术提供的技术方案通过选取多个支撑点与全局数据集计算距离来建立索引,避免单支撑点导致的数据空间扭曲,对数据集中的所有稀疏区域优先检测,能更快地提升离群度阈值,提高离群检测速度。

【技术实现步骤摘要】

本专利技术涉及计算机领域,尤其涉及一种基于多支撑点索引的离群检测方法及其系统
技术介绍
离群点是数据集中与众不同的数据点,其表现与其它点如此不同,以至于使人怀疑这些数据并非随机的偏差,而是由另外一种完全不同的机制所产生的。离群点也称异常点或者异常对象。离群点检测也称为异常检测、偏差检测或离群点挖掘,它就是按照一定的算法把数据集中的离群点检测出来,例如检测出TOP-n离群点,或者所有符合要求的离群点。换言之,离群点检测就是挖掘海量数据中极少数与主流数据显著不同的点。目前,针对离群点的检测算法主要包括ORCA算法以及iORCA算法。其中,ORCA算法采用随机打乱数据集顺序的方法,以便获得平均近似线性的时间复杂度。然而,在最坏情况下,时间复杂度仍然高达O(n2)!即使在平均情况下,由于离群度阀值上升速度较慢,导致剪枝效率不够理想。在数据集规模较大的情况下,所需检测时间仍然太长。iORCA算法的缺点包括:首先,仅仅使用一个支撑点,在节省建索引时间的同时,却导致了数据空间的扭曲,降低了索引质量,不能很好地发挥剪枝效率;其次,iORCA算法为尽快提升离群度阈值,优先检测距离支撑点较远的区域,但忽略了其它稀疏区域,但离群度阈值的提升速度具有局限性;再次,iORCA算法并未提供支撑点选取算法,而支撑点的好坏与算法性能密切相关,换言之,iORCA算法采用的支撑点选取方法仅仅是随机选取,效果不稳定;最后,iORCA算法只用一个终止规则来判断是否停止检测离群点,未能充分发挥度量空间“三角不等性”作用来进一步减少距离计算次数。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种基于多支撑点索引的离群检测方法及其系统,旨在解决现有技术中采用的单支撑点导致数据空间扭曲以及离群检测速度不高的问题。本专利技术提出一种基于多支撑点索引的离群检测方法,所述方法包括:选取支撑点步骤:读入数据集,在所述数据集中选取多个支撑点以形成支撑点集;建立索引步骤:通过数据集中每个对象与所选取的多个支撑点计算距离并将距离作为坐标,形成多维数据空间,利用所述多维数据空间建立索引;离群检测步骤:划分索引为数据块,并对所述数据块进行逐块检测离群点。优选的,所述选取支撑点步骤具体包括:在读入数据集之后,随机选取初始参考点,并选取与所述初始参考点距离最远的点为基准点;计算所述数据集中的各个对象与所述基准点的距离;按照距离的从小到大的顺序排序;将所述数据集划分为等距离的多段;将所述多段按照所含对象数量的大小进行排序;判断各个分段所含对象数量是否相等;如果各个分段所含对象数量不相等,则将各分段的数量中点按序加入支撑点集;如果各个分段所含对象数量相等,则优先将离所述初始参考点较近的分段的数量中点加入支撑点集。优选的,所述建立索引步骤具体包括:按照拟转换的多维数据维数,选择所述支撑点集中的对应数量的支撑点;将所述数据集中每个对象映射为与各个支撑点的距离值,以形成多维数据空间;将多维数据空间映射为整数坐标值;使用Hilbert索引映射算法直接计算每对整数坐标值的Hilbert编码数值;将得到的多个Hilbert编码数值进行排序,以建立Hilbert索引。优选的,所述离群检测步骤具体包括:划分所述Hilbert索引为数据块,按编码值从稀疏到密集为这些数据块排序以作为离群检测顺序;设置离群度阈值初始化为0,按检测顺序逐个数据块读取所述数据集;如果当前数据块中的所有对象都不可能为离群点,则直接进入下一个数据块;如果当前数据块中有对象可能为离群点,则从所述当前数据块中位的对象开始以螺旋式的顺序搜索最近邻,并将判断不可能是离群点的对象从被检测的当前数据块里移除,直到当前数据块中的所有对象都处理完后更新TOP n离群点和离群度阈值,并进入下一个数据块;当所有数据块都处理完时,输出TOP n离群点。另一方面,本专利技术还提供一种基于多支撑点索引的离群检测系统,所述系统包括:选取支撑点模块,用于读入数据集,在所述数据集中选取多个支撑点以形成支撑点集;建立索引模块,用于通过数据集中每个对象与所选取的多个支撑点计算距离并将距离作为坐标,形成多维数据空间,利用所述多维数据空间建立索引;离群检测模块,用于划分索引为数据块,并对所述数据块进行逐块检测离群点。优选的,所述选取支撑点模块具体用于:在读入数据集之后,随机选取初始参考点,并选取与所述初始参考点距离最远的点为基准点;计算所述数据集中的各个对象与所述基准点的距离;按照距离的从小到大的顺序排序;将所述数据集划分为等距离的多段;将所述多段按照所含对象数量的大小进行排序;判断各个分段所含对象数量是否相等;如果各个分段所含对象数量不相等,则将各分段的数量中点按序加入支撑点集;如果各个分段所含对象数量相等,则将离所述初始参考点较近的分段的数量中点加入支撑点集。优选的,所述建立索引模块具体用于:按照拟转换的多维数据维数,选择所述支撑点集中的对应数量的支撑点;将所述数据集中每个对象映射为与各个支撑点的距离值,以形成多维数据空间;将多维数据空间映射为整数坐标值;使用Hilbert索引映射算法直接计算每对整数坐标值的Hilbert编码数值;将得到的多个Hilbert编码数值进行排序,以建立Hilbert索引。优选的,所述离群检测模块具体用于:划分所述Hilbert索引为数据块,按编码值从稀疏到密集为这些数据块排序以作为离群检测顺序;设置离群度阈值初始化为0,按检测顺序逐个数据块读取所述数据集;如果当前数据块中的所有对象都不可能为离群点,则直接进入下一个数据块;如果当前数据块中有对象可能为离群点,则从所述当前数据块中位的对象开始以螺旋式的顺序搜索最近邻,并将判断不可能是离群点的对象从被检测的当前数据块里移除,直到当前数据块中的所有对象都处理完后更新TOP n离群点和离群度阈值,并进入下一个数据块;当所有数据块都处理完时,输出TOP n离群点。本专利技术提供的技术方案为减少数据空间扭曲,在数据集中选取多个支撑点,建立索引,同时确保建立索引时间开销极小(相对于离群检测总时间而言);为更快提升离群度阈值,优先检测数据集中的所有稀疏区域,包括较远区域和其它稀疏区域;为提高算法性能的稳定性,提出近似密集区域支撑点选取算法,在极短的时间内选取到质量相对较好的支撑点;为进一步减少距离计算次数,加快离群检测速度,使用多个剪枝规则,更大幅度地排除非离群点和非k最近邻对象。本专利技术提供的技术方案通过选取多个支撑点与全局数据集计算距离来建立索引,避免单支撑点导致的数据空间扭曲,对数据集中的所有稀疏区域优先检测,能更快地提升离群度阈值,提高离群检测速度。附图说明图1为本专利技术一实施方式中基于多支撑点索引的离群检测方法流程图;图2为本专利技术一实施方式中图1所示的步骤S11的详细流程图;图3为本专利技术一实施方式中图1所示的步骤S12的详细流程图;图4为本专利技术一实施方式中图1所示的步骤S13的详细流程图;图5为本专利技术一实施方式中基于多支撑点索引的离群检测系统10的内部结构示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术技术方案中出现的名词及其解释如下所示:离本文档来自技高网...

【技术保护点】
一种基于多支撑点索引的离群检测方法,其特征在于,所述方法包括:选取支撑点步骤:读入数据集,在所述数据集中选取多个支撑点以形成支撑点集;建立索引步骤:通过数据集中每个对象与所选取的多个支撑点计算距离并将距离作为坐标,形成多维数据空间,利用所述多维数据空间建立索引;离群检测步骤:划分索引为数据块,并对所述数据块进行逐块检测离群点。

【技术特征摘要】
1.一种基于多支撑点索引的离群检测方法,其特征在于,所述方法包括:选取支撑点步骤:读入数据集,在所述数据集中选取多个支撑点以形成支撑点集;建立索引步骤:通过数据集中每个对象与所选取的多个支撑点计算距离并将距离作为坐标,形成多维数据空间,利用所述多维数据空间建立索引;离群检测步骤:划分索引为数据块,并对所述数据块进行逐块检测离群点。2.如权利要求1所述的基于多支撑点索引的离群检测方法,其特征在于,所述选取支撑点步骤具体包括:在读入数据集之后,随机选取初始参考点,并选取与所述初始参考点距离最远的点为基准点;计算所述数据集中的各个对象与所述基准点的距离;按照距离的从小到大的顺序排序;将所述数据集划分为等距离的多段;将所述多段按照所含对象数量的大小进行排序;判断各个分段所含对象数量是否相等;如果各个分段所含对象数量不相等,则将各分段的数量中点按序加入支撑点集;如果各个分段所含对象数量相等,则优先将离所述初始参考点较近的分段的数量中点加入支撑点集。3.如权利要求2所述的基于多支撑点索引的离群检测方法,其特征在于,所述建立索引步骤具体包括:按照拟转换的多维数据维数,选择所述支撑点集中的对应数量的支撑点;将所述数据集中每个对象映射为与各个支撑点的距离值,以形成多维数据空间;将多维数据空间映射为整数坐标值;使用Hilbert索引映射算法直接计算每对整数坐标值的Hilbert编码数值;将得到的多个Hilbert编码数值进行排序,以建立Hilbert索引。4.如权利要求3所述的基于多支撑点索引的离群检测方法,其特征在于,所述离群检测步骤具体包括:划分所述Hilbert索引为数据块,按编码值从稀疏到密集为这些数据块排序以作为离群检测顺序;设置离群度阈值初始化为0,按检测顺序逐个数据块读取所述数据集;如果当前数据块中的所有对象都不可能为离群点,则直接进入下一个数据块;如果当前数据块中有对象可能为离群点,则从所述当前数据块中位的对象开始以螺旋式的顺序搜索最近邻,并将判断不可能是离群点的对象从被检测的当前数据块里移除,直到当前数据块中的所有对象都处理完后更新TOP n离群点和离群度阈值,并进入下一个数据块;当所有数据块都处理完时,输出TOP n离群点。5.一种基...

【专利技术属性】
技术研发人员:许红龙毛睿陆敏华廖好李荣华王毅刘刚
申请(专利权)人:深圳大学
类型:发明
国别省市:广东;44

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

1