基于top-k(σ)算法的异常数据检测方法_3

文档序号:8925758阅读:来源:国知局
常数据样本数与总的正常数据样 本数之比。
[005引验证参数0对算法top-k(0)性能的影响;
[0化9]为了比较参数0对top-k(〇 )算法性能的影响,本文针对50组数据、100组数据、 400组数据、800组数据W及1000组数据该五个不同规模的样本集进行实验。通过实验发 现,上述样本集随参数0取值的不同,其相应的检测率和误报率也随之发生变化,实验结 果如图6和图7所示,横坐标表示所选取的五个样本(分别用样本1、样本2、样本3、样本4 及样本5表示),纵坐标则表示算法所对应的检测率、误报率。
[0060] 本实验主要选取0 = 2, 0 = 2. 5, 0 = 3W及0 = 3. 5该四个参数值进行实 验,根据图5和图6不难发现,当0 =2时,其检测率维持在98%W上,但其所对应的误报 率也相对较高。该是因为0参数选取越小,top-k(o)算法进行异常情况判断的区域随之 变大(即,如果之前将0 >3区域判为异常值,现在需将0 >2区域判为异常值),该区域 内的异常数据通过算法可快速识别出来,但同时也容易将该区域内的部分正常数据误判为 异常值。此时,算法的检测率相对较高(维持在98%W上),但误报率也相对较高(平均达 到了 1.6% );
[0061] 当0 = 3. 5时,算法进行异常判断的区域缩小(即如果之前将0 > 3区域判为 异常值,现在需将0 >3.5区域判为异常值),故此区域内很多异常点难W通过该算法识别 出来,则其检测率就较低(维持在65%左右),但其误报率却很低,降到0. 5%W下。通过上 述分析可知,当0取在2. 5和3之间时,既能保证top-k(o)算法在维持较高检测率的同 时,也能最大程度地降低误报率;
[0062] 综上所述,所述阔值0的取值范围是2. 5~3。
[0063] 验证数据样本规模对算法性能的影响:
[0064] 根据上述实验中的参数0对top-k(0)算法性能的影响,该里取0= 3作为参 照,为了比较top-k与top-k(O)两种算法的检测效果,利用top-k算法与ttop-k(O)算 法分别对五组不同规模大小的实验样本进行多次实验。
[0065] 通过该实验发现,top-k算法与top-k(0)算法检测率的对比如图7所示,其误报 率对比如图8所示。横坐标表示所选取的五个样本(分别用样本1、样本2、样本3、样本4 及样本5表示),纵坐标则表示算法所对应的检测率、误报率,柱形图中空屯、柱形条表示的 是top-k算法,实屯、柱形条表示的是top-k(0)算法。
[0066] 当选用实验数据样本较少、数据分布较疏散(即样本1)时,top-k(0)算法的检 测率明显高于top-k算法,该是因为受样本数目及其数据分布的影响,top-k算法只能识 别某单元格邻域内的相应数据点,但不能判断各个单元格数据点间的相对距离是否在其异 常范围之外,而top-k(O)算法通过引进阔值0很好地弥补了该缺陷,故在该种情况下, top-k(0)算法的检测率高出top-k算法16. 66%,相应地误报率降低了 2. 08%。
[0067] 随着实验样本数目的不断变大,top-k算法的检测率逐步提高,误报率也相应降 低,该是因为样本数目的增多,正常数据点与异常数据点有了明显的区域差别(即两种数 据点的分布差异明显)。此时,异常区域范围内的数据点个数远少于正常数据点个数,故 top-k算法能容易识别大部分异常值。但top-k(O)算法的检测率始终高于top-k算法,W 及误报率低于top-k算法。其原因是top-k(0)算法是建立在top-k算法的基础上,通过 增设阔值0,使其算法的判断精度更精确,该样可W识别一些top-k算法无法识别的异常 值。
[0068] W上所述仅是本发明的优选实施方式,应当指出;对于本技术领域的技术人员来 说,在不脱离本发明原理的前提下,还可W做出若干改进和润饰,该些改进和润饰也应视为 本发明的保护范围。
【主权项】
1. 基于top-k(O)算法的异常数据检测方法,其特征在于:包括以下步骤: 51 :将传感器节点采集的数据进行数据标准化处理; 52 :根据处理后的数据的分布规律构造数据单元格,该数据单元格包括若干个小数据 单元格,小数据单元格表示为CiXj,其中i表示小数据单元格的行号以及j表示小数据单元 格的列号; 53 :构造PC列表,所述PC列表包括四列数据,第一列数据表示小数据单元格Cm的位 置,第二列数据表示该小数据单元格Ci>Q_中数据点的个数,第二列数据用N(C)表示,第三列 数据Nd (C)表示该小数据单元格Cixj的D领域内的数据点的个数,第三列数据用ND (C)表 示,第四列数据RD表示分布数据集到中心数据集的距离,第四列数据用RD表示; 54 :将小数据单元格Cm中数据点的个数填入所述PC列表中与该小数据单元格CiXj 对应的第二列数据中,将小数据单元格Ci&的D领域内的数据点的个数填入所述PC列表中 与该小数据单元格Cixj对应的第三列数据中,将分布数据集到中心数据集的距离填入所述 PC列表中与该小数据单元格Ci>Q_对应的第四列数据中。 55 :将所述PC列表中的第三列数据进行升序排列; 56 :将排列后的PC列表中位于上层位置的对应的小数据单元格Ci>Q_中的数据点作为 潜在异常数据点; 57 :将所述潜在异常数据点对应的小数据单元格Cm对应的第四列数据分别与阈值〇 进行比较,如果第四列数据大于阈值〇,则与该第四列数据对应的小数据单元格Ci>Q_内的 数据点为异常数据点,否则与该第四列数据对应的小数据单元格Ci>Q_内的数据点为正常数 据点。2. 根据权利要求1所述的基于top-k( 〇 )算法的异常数据检测方法,其特征在于:步 骤S3中所述小数据单元格Ci>Q_的D领域表示以点〇为中心,D为半径的领域,其中所述点 〇位于所述小数据单元格Cixj的正中心,所述半径D为正数。3. 根据权利要求1所述的基于top-k( 〇 )算法的异常数据检测方法,其特征在于:步 骤S3中计算分布数据集到中心数据集的距离包括以下步骤: 531 :设传感器节点采集的所有数据点的集合为样本集r,所述中心数据集是指所述 样本集r中正常数据点的集合,所述分布数据集是指所述样本集r中任一子集; 532 :设数据点〇1是所述中心数据集的中心数据点,设数据点〇2是所述分布数据集的中 心数据点; 533 :计算所述数据点〇1和所述数据点〇 2之间的欧式距离,则所述数据点〇 :和所述数 据点〇2之间的欧式距离为所述分布数据集到所述中心数据集的距离。4. 根据权利要求1所述的基于top-k( 〇 )算法的异常数据检测方法,其特征在于:步 骤S7中所述阈值〇的取值范围是2. 5~3。
【专利摘要】本发明公开了一种基于top-k(σ)算法的异常数据检测方法,通过构造PC列表,将潜在异常数据点对应的小数据单元格对应的第四列数据分别与阈值进行比较,如果大于阈值,则与该第四列数据对应的小数据单元格内的数据点为异常数据点,否则为正常数据点;有效避免了把异常值误判为正常值或者有效避免了将正常值误判为异常值,大大降低了本发明算法的误报率,通过具体仿真实验发现,本发明提出的算法的误报率比基于top-k算法降低了4.48%;本发明通过调整阈值的取值大大提高了本发明算法的检测率,通过具体仿真实验发现,本发明提出的算法检测率达到了93.7%,本发明的算法与基于top-k算法比较检测率提高了4.94%。
【IPC分类】H04W24/08, H04W84/18, G06F17/30
【公开号】CN104902509
【申请号】CN201510256798
【发明人】李光辉, 胡石, 冯海林
【申请人】浙江农林大学
【公开日】2015年9月9日
【申请日】2015年5月19日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1