首页> 中国专利> 一种异常数据检测参数的确定方法及确定装置

一种异常数据检测参数的确定方法及确定装置

摘要

本发明提供一种异常数据检测参数的确定方法及确定装置,能够提升异常数据检测的性能。所述方法包括:获取待处理的数据集;设置多组异常数据检测参数,确定每组异常数据检测参数下所述待处理的数据集中异常点数量,得到异常点数量序列,其中,每组异常数据检测参数包括:区间数目和区间内数据数量阈值;对异常点数量序列进行差分,确定差分序列的第一个极小值,得到最优的区间数目和区间内数据数量阈值;根据得到的最优的区间数目和区间内数据数量阈值对待处理的数据集进行异常数据处理。本发明涉及数据处理领域。

著录项

  • 公开/公告号CN109918220A

    专利类型发明专利

  • 公开/公告日2019-06-21

    原文格式PDF

  • 申请/专利权人 北京科技大学;

    申请/专利号CN201910115413.7

  • 发明设计人 刘兰斌;张邯北;

    申请日2019-02-13

  • 分类号

  • 代理机构北京市广友专利事务所有限责任公司;

  • 代理人张仲波

  • 地址 100083 北京市海淀区学院路30号

  • 入库时间 2024-02-19 11:27:57

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-07-10

    授权

    授权

  • 2019-07-16

    实质审查的生效 IPC(主分类):G06F11/07 申请日:20190213

    实质审查的生效

  • 2019-06-21

    公开

    公开

说明书

技术领域

本发明涉及数据处理领域,特别是指一种异常数据检测参数的确定方法及确定装置。

背景技术

随着物联网和互联网技术的发展,在供热、空调、给水、排水等市政以及智能楼宇领域,市政系统中诸如压力、温度、流量、智能楼宇领域的诸如能源消耗、室内温度、湿度等参数的测量和采集都采用自动化仪表,测量数据自动采集,并实现数据远程传输。这种方式一方面使得数据能够实时采集,是系统实现自控的必要环节,另一方面实现了高频率的电子化数据,方便管理人员运行管理和故障的诊断、处理等功能,提高服务品质的同时大大降低了能源消耗。然而随着数据采集种类的越来越多,采集的频次越来越高,数据数量越来越大,异常数据的产生难以避免,从而影响服务质量、浪费能源甚至引起安全事故,因此在使用数据前必须进行异常数据的检测和剔除。

目前已经有一种基于距离的简单而又高效的异常数据检测方法,但是在实现该异常数据检测方法的过程中检测参数的选择存在一定困难,导致异常检测结果准确率低。

发明内容

本发明要解决的技术问题是提供一种异常数据检测参数的确定方法及确定装置,以解决现有技术所存在的难以准确确定检测参数的值,导致异常检测结果准确率低的问题。

为解决上述技术问题,本发明实施例提供一种异常数据检测参数的确定方法,包括:

获取待处理的数据集;

设置多组异常数据检测参数,确定每组异常数据检测参数下所述待处理的数据集中异常点数量,得到异常点数量序列,其中,每组异常数据检测参数包括:区间数目和区间内数据数量阈值;

对异常点数量序列进行差分,确定差分序列的第一个极小值,得到最优的区间数目和区间内数据数量阈值;

根据得到的最优的区间数目和区间内数据数量阈值对待处理的数据集进行异常数据处理;

其中,在优化区间数目参数时,不同组中的区间内数据数量阈值相同,区间数目不同;在优化区间内数据数量阈值参数时,不同组中的区间数目都为得到的最优区间数目,区间内数据数量阈值不同。

进一步地,所述确定每组异常数据检测参数下所述待处理的数据集中异常点数量包括:

S21,按照预先设置的区间数目N,将待处理的数据集等分成N个区间;

S22,统计落在每个区间范围上数据的数量;

S23,判断第一区间内的数据数量是否大于预先设置的区间内数据数量阈值k,若是,则第一区间为正常区间,否则,第一区间为异常点候选区间,其中,第一区间为任意区间;

S24,判断异常点候选区间内的任意数据是否满足预设的异常区间判断规则,若满足,则异常点候选区间为异常点区间;

S25,确定异常点区间中异常点数量。

进一步地,将待处理的数据集等分成N个区间,则区间间隔minD表示为:

其中,minValue和maxValue分别表示待处理的数据集中的最小数据和最大数据。

进一步地,第i个区间表示为:

Di=[minValue+(i-1)*minD,minValue+i*minD)

其中,i=1,……,N。

进一步地,所述判断异常点候选区间内的任意数据是否满足预设的异常区间判断规则,若满足,则异常点候选区间为异常点区间包括:

对于任意数据p∈S(k),若满足:

distance(p,q)=value(p)-value(q)>minD

q∈S(normal)

则异常点候选区间为异常点区间;

其中,S(k)表示异常点候选区间内所有数据的集合;S(normal)表示包含所有最初被标定为正常区间中的数据的集合;value(p)表示p的值;value(q)表示q的值;distance(p,q)表示p与q之间的距离。

进一步地,在优化区间数目时,设置多组异常数据检测参数,确定每组异常数据检测参数下所述待处理的数据集中异常点数量,得到异常点数量序列包括:

设置初始区间内数据数量阈值k0,分别设定区间数目参数N为固定步长的一系列数值:N1、N2...Ni...Nm,i=1,2…m,重复执行S21-S25,其中,在S21和S23中异常数据检测参数分别为N=Ni,k=k0,得到m个待优化的区间数目参数N对应的异常点数量,记为异常数据量序列NY。

进一步地,对异常点数量序列进行差分,确定差分序列的第一个极小值,得到最优的区间数目包括:

对异常数据量序列NY按公式dNYi=NYi-NYi-1进行差分,得到差分序列dNY,其中,NYi和dNYi分别表示Ni对应的异常数据量序列和差分序列;

确定差分序列dNY的第一个极小值点,并得到该极小值点的序列号i,该序列号i对应的N值即为最优的区间数目参数Nbest

进一步地,在优化区间内数据数量阈值参数时,设置多组异常数据检测参数,确定每组异常数据检测参数下所述待处理的数据集中异常点数量,得到异常点数量序列包括:

分别设定区间内数据数量阈值参数k为固定步长的一系列数值:k1、k2...kj...kw,j=1,2…w,重复执行S21-S25,其中,在S21和S23中待优化的异常数据检测参数分别为N=Nbest,k=kj,得到w个待优化的区间内数据数量阈值参数k对应的异常点数量,记为异常数据量序列KY;

所述对异常点数量序列进行差分,确定差分序列的第一个极小值,得到最优的区间内数据数量阈值包括:

对异常数据量序列KY按公式dKYj=KYj-KYj-1进行差分,得到差分序列dKY,其中,KYj和dKYj分别表示kj对应的异常数据量序列和差分序列;

确定差分序列dKY的第一个极小值点,并得到该极小值点的序列号j,该序列号j对应的k值即为最优的区间内数据数量阈值参数kbest

进一步地,所述根据得到的最优的区间数目和区间内数据数量阈值对待处理的数据集进行异常数据处理包括:

根据得到的最优的区间数目和区间内数据数量阈值对待处理的数据集进行异常数据检测、剔除和/或修正处理。

本发明实施例还提供一种异常数据检测参数的确定装置,包括:

采集模块,用于获取待处理的数据集;

参数优化模块,用于设置多组异常数据检测参数,确定每组异常数据检测参数下所述待处理的数据集中异常点数量,得到异常点数量序列,对异常点数量序列进行差分,确定差分序列的第一个极小值,得到最优的区间数目和区间内数据数量阈值;

异常检测模块,根据得到的最优的区间数目和区间内数据数量阈值对待处理的数据集进行异常数据检测、剔除和/或修正处理;

其中,每组异常数据检测参数包括:区间数目和区间内数据数量阈值;在优化区间数目参数时,不同组中的区间内数据数量阈值相同,区间数目不同;在优化区间内数据数量阈值参数时,不同组中的区间数目都为得到的最优区间数目,区间内数据数量阈值不同。

本发明的上述技术方案的有益效果如下:

上述方案中,获取待处理的数据集;设置多组异常数据检测参数,确定每组异常数据检测参数下所述待处理的数据集中异常点数量,得到异常点数量序列;对异常点数量序列进行差分,确定差分序列的第一个极小值,得到最优的区间数目和区间内数据数量阈值;这样,能够自动优化选择异常数据检测算法的两个参数:区间数目和区间内数据数量阈值,从而提升异常数据检测的性能,有助于识别并剔除数据集中存在的异常点,对于数据的有效利用具有重要的实际意义。

附图说明

图1为本发明实施例提供的异常数据检测参数的确定方法的流程示意图;

图2为本发明实施例提供的异常数据检测参数的确定装置的结构示意图。

具体实施方式

为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。

本发明针对现有的难以准确确定检测参数的值,导致异常检测结果准确率低的问题,提供一种异常数据检测参数的确定方法及确定装置。

实施例一

如图1所示,本发明实施例提供的异常数据检测参数的确定方法,包括:

S1,获取待处理的数据集;

S2,设置多组异常数据检测参数,确定每组异常数据检测参数下所述待处理的数据集中异常点数量,得到异常点数量序列,其中,每组异常数据检测参数包括:区间数目和区间内数据数量阈值;

S3,对异常点数量序列进行差分,确定差分序列的第一个极小值,得到最优的区间数目和区间内数据数量阈值;

S4,根据得到的最优的区间数目和区间内数据数量阈值对待处理的数据集进行异常数据处理;

其中,在优化区间数目参数时,不同组中的区间内数据数量阈值相同,区间数目不同;在优化区间内数据数量阈值参数时,不同组中的区间数目都为得到的最优区间数目,区间内数据数量阈值不同。

本发明实施例所述的异常数据检测参数的确定方法,获取待处理的数据集;设置多组异常数据检测参数,确定每组异常数据检测参数下所述待处理的数据集中异常点数量,得到异常点数量序列;对异常点数量序列进行差分,确定差分序列的第一个极小值,得到最优的区间数目和区间内数据数量阈值;这样,能够自动优化选择异常数据检测算法的两个参数:区间数目和区间内数据数量阈值,从而提升异常数据检测的性能,有助于识别并剔除数据集中存在的异常点,对于数据的有效利用具有重要的实际意义。

本发明实施例提供的异常数据检测参数的确定方法,具体可以包括以下步骤:

A11,获取待处理的数据集S。

本实施例中,获取的待处理的数据集S中的数据可以是数据库系统里的已经存在的数据,也可以是实时采集的数据,S中的元素数量大于1。即:可以在线实时对采集上来的数据进行异常数据检测参数优化,也可以将采集上来的数据先存储到数据库,然后在某个时间调出待处理的数据集进行异常数据检测参数优化选择。

A12,获取待处理的数据集S中的最小数据minValue和最大数据maxValue。

A13,按照取值范围(minValue,maxValue),将待处理的数据集S中的数据等分成N个区间,定义区间间隔minD为异常点与正常点的距离阈值,minD根据式(1)表示为:

则第i个区间表示为:

Di=[minValue+(i-1)*minD,minValue+i*minD)

其中,i=1,……,N。

A14,统计落在每个区间Di范围上数据的数量。

A15,根据预先设置的区间内数据数量阈值k,确定各个区间的类别。

本实施例中,判断区间Di内的数据数量是否大于预先设置的区间内数据数量阈值k,若是,则区间Di为正常区间,否则,区间Di为异常点候选区间。

A16,判断异常点候选区间内的任意数据是否满足预设的异常区间判断规则,若满足,则异常点候选区间为异常点区间。

本实施例中,对于任意数据p∈S(k),判断是否满足式(2)所述的下列规则:

若满足,则异常点候选区间为异常点区间;

式(2)中,S(k)表示异常点候选区间内所有数据的集合;S(normal)表示包含所有最初被标定为正常区间中的数据的集合;value(p)表示p的值;value(q)表示q的值;distance(p,q)表示p与q之间的距离。

A17,基于步骤A16的规则,则可以按照下述方式进行操作:

第一,若某异常点候选区间在两个正常区间之间,将其重新划分为正常区间;

第二,若某异常点候选区间与正常区间相邻,将其重新划分为正常区间。

剩余的异常点候选区间将作为异常点区间,包含在这些异常点区间内的点即为异常点,记录异常点数量。

A18,设置初始区间内数据数量阈值k0,分别设定区间数目N为固定步长的一系列数值,N1、N2...Ni...Nm,i=1,2…m,重复步骤A13-A17,其中,在步骤A13和步骤A15中异常数据检测参数分别为N=Ni(i=1,2…m),k=k0,得到m个待优化的区间数目参数N对应的异常点数量,记为异常数据量序列NY。

A19,对异常数据量序列NY按公式dNYi=NYi-NYi-1进行差分,得到差分序列dNY,其中,NYi和dNYi分别表示Ni对应的异常数据量序列和差分序列;

A20,确定差分序列dNY的第一个极小值点,并得到该极小值点的序列号i,该序列号i对应的N值即为最优的区间数目参数Nbest

A21,分别设定区间内数据数量阈值参数k为固定步长的一系列数值:k1、k2...kj...kw,j=1,2…w,重复执行A13-A17,其中,在步骤A13和步骤A15中待优化的异常数据检测参数分别为N=Nbest,k=kj,得到w个待优化的区间内数据数量阈值参数k对应的异常点数量,记为异常数据量序列KY;

A22,重复步骤A20、A21,得到差分序列dKY,其中,dKYj=KYj-KYj-1,其中,KYj和dKYj分别表示kj对应的异常数据量序列和差分序列;确定差分序列dKY的第一个极小值点,并得到该极小值点的序列号j,该序列号j对应的k值即为最优的区间内数据数量阈值参数kbest

本实施例中,执行步骤A11-A22,可以得到最优的区间数目参数Nbest和最优的区间内数据数量阈值参数kbest。根据得到的最优的区间数目参数Nbest和最优的区间内数据数量阈值参数kbest对待处理的数据集进行异常数据检测、剔除和/或修正处理。

本实施例中,为了更好地理解本发明实施例所述的异常数据检测参数的确定方法,以热力站一次侧流量数据为例,对流量进行异常点检测,所述异常数据检测参数的确定方法具体可以包括以下步骤:

B11,获取热力站一次侧流量数据为待处理的数据集。

本实施例中,获取某个热力站十天的一次侧逐分钟流量数据为待处理的数据集S。

B12,获取待处理的数据集S中的最低流量minG和最高流量maxG。

B13,按照取值范围(minG,maxG),将待处理的数据集S中的数据等分成N个区间,定义区间间隔minD为异常点与正常点的距离阈值,minD按照式(3)计算:

则第i个分隔区间为

Di=[minG+(i-1)*minD,minG+i*minD)

其中i=1,……,N。

B14,统计落在每个区间Di范围上数据的数量;

B15,根据预先设置的区间内数据数量阈值k,确定各个区间的类别。

本实施例中,判断区间Di内的数据数量是否大于预先设置的区间内数据数量阈值k,若是,则区间Di为正常区间,否则,区间Di为异常点候选区间。

B16,判断异常点候选区间内的任意数据是否满足预设的异常区间判断规则,若满足,则异常点候选区间为异常点区间。

本实施例中,对于任意数据p∈S(k),判断是否满足式(4)所述的下列规则:

若满足,则异常点候选区间为异常点区间;

式(4)中,S(k)表示异常点候选区间内所有数据的集合;S(normal)表示包含所有最初被标定为正常区间中的数据的集合;value(p)表示p的值;value(q)表示q的值;distance(p,q)表示p与q之间的距离。

B17,基于步骤B16的规则,则可以按照下述方式进行操作:

第一,若某异常点候选区间在两个正常区间之间,将其重新划分为正常区间;

第二,若某异常点候选区间与正常区间紧邻,将其重新划分为正常区间。

剩余的异常点候选区间将作为异常点区间,包含在这些异常点区间内的点即为异常点,记录异常点数量。

B18,设置初始区间内数据数量阈值k0,分别设定区间数目N为固定步长的一系列数值,N1、N2...Ni...Nm,i=1,2…m,重复步骤B13-B17,其中,在步骤B13和步骤B15中异常数据检测参数分别为N=Ni(i=1,2…m),k=k0,得到m个待优化的区间数目参数N对应的异常点数量,记为异常数据量序列NY。

B19,对异常数据量序列NY按公式dNYi=NYi-NYi-1进行差分,得到差分序列dNY,其中,NYi和dNYi分别表示Ni对应的异常数据量序列和差分序列;

B20,确定差分序列dNY的第一个极小值点,并得到该极小值点的序列号i,该序列号i对应的N值即为最优的区间数目参数Nbest

B21,分别设定区间内数据数量阈值参数k为固定步长的一系列数值:k1、k2...kj...kw,j=1,2…w,重复执行B13-B17,其中,在步骤B13和步骤B15中待优化的异常数据检测参数分别为N=Nbest,k=kj,得到w个待优化的区间内数据数量阈值参数k对应的异常点数量,记为异常数据量序列KY;

B22,重复步骤B20、B21,得到差分序列dKY,其中,dKYj=KYj-KYj-1,其中,KYj和dKYj分别表示kj对应的异常数据量序列和差分序列;确定差分序列dKY的第一个极小值点,并得到该极小值点的序列号j,该序列号j对应的k值即为最优的区间内数据数量阈值参数kbest

本实施例中,执行步骤B11-B22,可以得到最优的区间数目参数Nbest和最优的区间内数据数量阈值参数kbest。根据得到的最优的区间数目参数Nbest和最优的区间内数据数量阈值参数kbest对流量进行异常数据检测、剔除和/或修正处理。

实施例二

本发明还提供一种异常数据检测参数的确定装置的具体实施方式,由于本发明提供的异常数据检测参数的确定装置与前述异常数据检测参数的确定方法的具体实施方式相对应,该异常数据检测参数的确定装置可以通过执行上述方法具体实施方式中的流程步骤来实现本发明的目的,因此上述异常数据检测参数的确定方法具体实施方式中的解释说明,也适用于本发明提供的异常数据检测参数的确定装置的具体实施方式,在本发明以下的具体实施方式中将不再赘述。

如图2所示,本发明实施例还提供一种异常数据检测参数的确定装置,包括:

采集模块11,用于获取待处理的数据集;

参数优化模块12,用于设置多组异常数据检测参数,确定每组异常数据检测参数下所述待处理的数据集中异常点数量,得到异常点数量序列,对异常点数量序列进行差分,确定差分序列的第一个极小值,得到最优的区间数目和区间内数据数量阈值;

异常检测模块13,根据得到的最优的区间数目和区间内数据数量阈值对待处理的数据集进行异常数据检测、剔除和/或修正处理;

其中,每组异常数据检测参数包括:区间数目和区间内数据数量阈值;在优化区间数目参数时,不同组中的区间内数据数量阈值相同,区间数目不同;在优化区间内数据数量阈值参数时,不同组中的区间数目都为得到的最优区间数目,区间内数据数量阈值不同。

本发明实施例所述的异常数据检测参数的确定装置,获取待处理的数据集;设置多组异常数据检测参数,确定每组异常数据检测参数下所述待处理的数据集中异常点数量,得到异常点数量序列;对异常点数量序列进行差分,确定差分序列的第一个极小值,得到最优的区间数目和区间内数据数量阈值;这样,能够自动优化选择异常数据检测算法的两个参数:区间数目和区间内数据数量阈值,从而提升异常数据检测的性能,有助于识别并剔除数据集中存在的异常点,对于数据的有效利用具有重要的实际意义。

本实施例中,所述参数优化模块和异常检测模块内置在中央服务器里,所述采集模块用于采集待处理的数据,并将采集到数据上传到中央服务器中,内置在中央服务器里的参数优化模块根据本发明提供的方法进行异常数据检测参数优化,得到优化后的参数再通过异常检测模块进行异常数据检测和剔除或修正处理。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号