CN110287238A - 一种基于先验知识的异常水质检测方法及系统 - Google Patents
一种基于先验知识的异常水质检测方法及系统 Download PDFInfo
- Publication number
- CN110287238A CN110287238A CN201910560024.5A CN201910560024A CN110287238A CN 110287238 A CN110287238 A CN 110287238A CN 201910560024 A CN201910560024 A CN 201910560024A CN 110287238 A CN110287238 A CN 110287238A
- Authority
- CN
- China
- Prior art keywords
- data
- water quality
- degree
- peeling
- outlier
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N33/00—Investigating or analysing materials by specific methods not covered by groups G01N1/00 - G01N31/00
- G01N33/18—Water
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A20/00—Water conservation; Efficient water supply; Efficient water use
- Y02A20/152—Water filtration
Abstract
本公开公开了一种基于先验知识的异常水质检测方法及系统,所述检测方法主要分为三部分:计算初始离群度阈值、检测潜在离群点、检测其它数据、输出TOP N异常水质数据,从2个方面入手,使用已知的异常水质数据加快异常检测速度:第1个方面,将已知水质异常点纳入检测过程中的当前TOP N水质异常点,从而在一定程度上提高离群度阈值;第2个方面,优先检测已知水质异常点周围的水质样本。异常点周围的数据往往也可能异常,在已知某些水质异常点的情况下,优先检测其周围数据,有利于提高离群度阈值,最终提高检测速度。
Description
技术领域
本公开涉及数据挖掘技术领域,具体涉及一种基于先验知识的异常水质检测方法及系统。
背景技术
现有的异常水质检测方法通常可以分为两类,即基于已知异常模式的异常水质检测方法(以下简称异常模式法)和面向未知异常模式的异常水质检测方法(以下简称非模式法)。异常模式法首先人工设定水质指标的异常阈值,一旦超过该阈值,就给出异常报警。非模式法则适用未知拟检测数据分布和异常模式的情况。
随着科学技术和经济社会的发展,各种类型的环保检测仪器纷纷涌现,所检测到的水质数据集类型繁多,分布各异,而异常模式的建立往往滞后于水质检测需求。面向异常水质检测的度量空间离群检测算法因此应运而生,这种算法适用于大多数数据类型,包括图像、音视频、蛋白质等复杂数据类型,且不需要假定数据分布和异常模式就能很好地运行,很好地契合了新时期异常水质检测的需求。
现有的方法未能使用已知的异常水质数据加快异常检测速度。已知的异常水质数据就是先验知识。实际应用场景中,河涌、湖泊等水质的检测人员往往已知若干水质异常点,但由于处理设备有限等原因,无法实现只处理异常程度最大的N个水质异常点,以更好地发挥设备价值。
发明内容
本公开提供一种基于先验知识的异常水质检测方法及系统,本发明从2个方面入手,使用已知的异常水质数据加快异常检测速度:第1个方面,将已知水质异常点纳入检测过程中的“当前TOP N水质异常点”(即在检测过程中,截止目前,异常程度最大的N个水质异常点,水质异常点是获取水质数据集的采样点位置),从而在一定程度上提高离群度阈值(将TOP N水质异常点按异常程度从大到小排序,最小者的离群度即为离群度阈值)。第2个方面,优先检测已知水质异常点周围的水质样本。异常点周围的数据往往也可能异常,在已知某些水质异常点的情况下,优先检测其周围数据,有利于提高离群度阈值,最终提高检测速度。
为了实现上述目的,根据本公开的一方面,提供一种基于先验知识的异常水质检测方法,所述方法包括以下步骤:
步骤1,计算水质数据集的初始离群度阈值;
步骤2,检测潜在离群点;
步骤3,检测其它数据;
步骤4,输出TOP N异常水质数据。
进一步地,在步骤1中,计算水质数据集的初始离群度阈值的方法包括以下步骤,
所述水质数据集为根据标准号GB/T 34666.1-2017、GB/T 34666.2-2017采集的水质基准数据,包括污染物含量和水生生物毒性等水质数据,以下称为水质数据集或简称为数据集;
已知异常水质数据为水质数据中的氨氮,高锰酸盐指数,溶解氧,总磷。
按照水质数据集中已知异常水质数据的数量M与水质异常点的数量N的关系(水质异常点是获取水质数据集的采样点位置,N为TOP N的参数),离群度阈值可以分为以下2种情况计算:
情况1,M<N的情况:
如果M+5(N-M)≤|B|,则从剔除了已知异常水质数据的水质数据集中随机抽取5(N-M)个数据,连同M个已知异常水质数据,合计M+5(N-M)个数据,面向全局数据集搜索k最近邻,进而得到每个被检数据的离群度(即其与第k最近邻的距离)。按照离群度对该M+5(N-M)个数据按从大到小排序,取最大的N个,即TOP N离群点,第N个数据的离群度即为当前离群度阈值(在本阶段称为初始离群度阈值)。(|B|为数据块大小,所述数据块定义为离群检测的一个单位,由数据集中的若干个对象组成,例如常用1000个对象作为一个数据块)
如果M+5(N-M)>|B|,则只从水质数据集(剔除已知异常水质数据)随机抽取|B|-M个数据,连同M个已知异常水质数据,合计|B|个数据,面向全局数据集搜索k最近邻,进而获得初始离群度阈值。
无论M+5(N-M)≤|B|还是M+5(N-M)>|B|,在面向全局数据集搜索k最近邻之后,均保存M个已知异常水质数据的k最近邻信息,并将这些作为最近邻且未被检测过的水质数据,作为潜在离群点。
说明:在上述方法中,即使把M个已知异常水质数据纳入当前TOP N水质异常点队列,但数量不够,该队列仍有N-M个为空,这些位置的离群度只能初始化为0,因此当前离群度为0,导致在接下来的一轮检测中,已知异常水质数据并未起到提高离群度阈值的作用。因此,在M<N的情况下,必须增加提前计算的数据来计算初始离群度阈值。增加的数据为,令所有水质数据的离群度呈现均匀分布,并且离群度区间为0-1(单位化以便于分析),需要增加检测的数据量为s(随机抽取),将这s个数据按照离群度从大到小排序,并假设第t个数据的离群度为x,则有t-1个数据的离群度在x~1的范围内,另有s-t个数据的离群度在0~x的范围内,这样的抽取概率Ps,为:
其中s≥t≥1,
将x的值从0~1的范围内积分,可得其期望值E(xs,t)为:
结合Beta函数(贝塔函数)与Gamma函数(伽玛函数)的关系,最终可推算得:
根据帕累托法则,可设置当前离群度阈值处于从大到小约20%位置,则有则可推算出大约需要增加提前数据量为s=5t-1=5(N-M)-1≈5(N-M)。
“被检测过”的意义为:例如如果M+5(N-M)≤|B|,对M+5(N-M)个数据面向全局数据集搜索k最近邻且计算离群度,这M+5(N-M)个数据就是被检测过了。而其中M个已知异常水质数据的k最近邻之中,可能包含了M+5(N-M)个被检数据的一部分,而这部分既然被检测过了,没必要再次检测,因此不必作为潜在离群点。
情况2,M≥N的情况:
从M个已知异常水质数据中,随机N个,面向全局数据集搜索k最近邻,进而获得初始离群度阈值。余下的M-N个已知异常水质数据,连同M个已知异常水质数据的k最近邻且未被检测过的水质数据,作为潜在离群点。
进一步地,在步骤2中,检测潜在离群点的方法包括以下步骤:
步骤2.1,如果潜在离群点数量L<|B|,则从未检测过的水质数据中随机抽取|B|-L,连同L个潜在离群点,合计|B|个数据,即一个数据块大小,面向全局数据集搜索k最近邻并计算离群度;
步骤2.2,如果潜在离群点数量L≥|B|,则随机取其中|B|个数据,即一个数据块大小,面向全局数据集搜索k最近邻并计算离群度;
步骤2.3,在情况2余下的L-|B|个潜在离群点,仍判断其与|B|的大小关系,如果小于|B|转到步骤2.1,大于等于|B|转到步骤2.2,以此类推,直到所有潜在离群点均已被检测;
步骤2.4,需要注意的是,在对每个被检测数据搜索k最近邻时,只要其最近邻被更新(搜索到比其第k个最近邻更近的对象了),则同时更新其离群度,如果离群度小于当前离群度阈值,则将该数据标记为非离群点,本步骤称为剔除非离群点。每检测完一个数据块,该数据块中剩下的未被标记为非离群点的数据,与当前TOP N离群点合并,取其中离群度最大的N个数据,重新组成当前TOP N离群点,本步骤称为更新TOP N离群点;
步骤2.5,上述被检数据合计为其中符号为向上取整,被检数据在面向全局数据集(包含所有未检数据)搜索k最近邻的过程中,未检数据也相当于面向被检数据搜索了局部的k最近邻,由此可得未检数据的局部离群度(即只面向部分数据搜索k最近邻而获得的离群度数值,所述离群度数值不小于面向全局数据集搜索k最近邻获得的离群度数值,因为k最近邻只可能不变或者搜索到更近的,更近的即距离最短的)。进而,如果局部离群度小于当前离群度阈值,则提前作为非离群点排除,排除的概率为:
(该问题可视作次独立重复的伯努利试验,且设每次落入当前离群度阈值范围内的概率为ρ,则每个未检数据成功作为非离群点排除的概率为S(ρ)。)
进一步地,在步骤3中,检测其它数据的方法包括以下步骤:
以当前TOP N离群点的第一个离群点作为最大离群点为中心,数据集里余下的未检测过并且无法作为非离群点排除(概率为1-(ρ))的水质数据(其它数据)与最大离群点计算距离,并按升序排序建立索引,按照该索引,以数据块大小|B|为单位,继续检测剩下的未检数据,即面向全局数据集搜索k最近邻并计算离群度,直到检测完成;检测过程中,仍然执行“剔除非离群点”与“更新TOP N离群点”操作。
说明:步骤2和步骤3的依据都在于离群点的周围很可能也存在离群点,优先检测离群点周围的数据,有望更快地提升离群度阈值,加快检测速度。当前TOP N离群点或当前的最大离群点,虽然不一定是最终检测结果,但其相对来说处理数据比较稀疏的位置,同样很可能其周围会出现离群点。
进一步地,在步骤4中,TOP N异常水质数据为最异常(离群度最大)的N个水质异常点采集的水质数据。
本公开还提供了一种基于先验知识的异常水质检测系统,所述系统包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在以下系统的单元中:
初始阈值计算单元,用于计算水质数据集的初始离群度阈值;
潜在离群点检测单元,用于检测潜在离群点;
其它数据检测单元,用于检测其它数据;
结果输出单元,用于输出TOP N异常水质数据。
本公开的有益效果为:本公开提供一种基于先验知识的异常水质检测方法及系统,本发明是完全基于距离的异常水质检测方法,对不同的水质数据类型具有很强的通用性。但与现有技术相比(现有技术包括但不限于iORCA、ORCA算法),本发明能够利用已知的异常水质数据加快异常检测速度。具体而言,本发明具有以下2个有益效果:(1)本发明可有效计算初始离群度阈值,从而在后续检测过程中更有效地排除非离群点,加快检测速度。(2)本发明设置“潜在离群点”并予以优先检测,有利于更快地检测到离群点,更快地提高离群度阈值,最终加快检测速度。
附图说明
通过对结合附图所示出的实施方式进行详细说明,本公开的上述以及其他特征将更加明显,本公开附图中相同的参考标号表示相同或相似的元素,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还能够根据这些附图获得其他的附图,在附图中:
图1所示为基于先验知识的异常水质检测过程;
图2所示为一种基于先验知识的异常水质检测系统图。
具体实施方式
以下将结合实施例和附图对本公开的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本公开的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征能够相互组合。
如图1所示为根据本公开的基于自适应密度峰值支撑点的度量空间离群检测方法过程,下面结合图1来阐述根据本公开的实施方式的一种基于先验知识的异常水质检测方法。
本公开实施例提出一种基于先验知识的异常水质检测方法,具体包括以下步骤:
步骤1,计算水质数据集的初始离群度阈值;
步骤2,检测潜在离群点;
步骤3,检测其它数据;
步骤4,输出TOP N异常水质数据。
进一步地,在步骤1中,计算水质数据集的初始离群度阈值的方法包括以下步骤,
所述水质数据集为根据标准号GB/T 34666.1-2017、GB/T 34666.2-2017采集的水质基准数据,包括污染物含量和水生生物毒性等水质数据,以下称为水质数据集或简称为数据集;
已知异常水质数据为水质数据中的氨氮,高锰酸盐指数,溶解氧,总磷。
按照水质数据集中已知异常水质数据的数量M与水质异常点的数量N的关系(水质异常点是获取水质数据集的采样点位置,N为TOP N的参数),离群度阈值可以分为以下2种情况计算:
情况1,M<N的情况:
如果M+5(N-M)≤|B|,则从剔除了已知异常水质数据的水质数据集中随机抽取5(N-M)个数据,连同M个已知异常水质数据,合计M+5(N-M)个数据,面向全局数据集搜索k最近邻,进而得到每个被检数据的离群度(即其与第k最近邻的距离)。按照离群度对该M+5(N-M)个数据按从大到小排序,取最大的N个,即TOP N离群点,第N个数据的离群度即为当前离群度阈值(在本阶段称为初始离群度阈值)。(|B|为数据块大小,所述数据块定义为离群检测的一个单位,由数据集中的若干个对象组成,例如常用1000个对象作为一个数据块)
如果M+5(N-M)>|B|,则只从水质数据集(剔除已知异常水质数据)随机抽取|B|-M个数据,连同M个已知异常水质数据,合计|B|个数据,面向全局数据集搜索k最近邻,进而获得初始离群度阈值。
无论M+5(N-M)≤|B|还是M+5(N-M)>|B|,在面向全局数据集搜索k最近邻之后,均保存M个已知异常水质数据的k最近邻信息,并将这些作为最近邻且未被检测过的水质数据,作为潜在离群点。
说明:在上述方法中,即使把M个已知异常水质数据纳入当前TOP N水质异常点队列,但数量不够,该队列仍有N-M个为空,这些位置的离群度只能初始化为0,因此当前离群度为0,导致在接下来的一轮检测中,已知异常水质数据并未起到提高离群度阈值的作用。因此,在M<N的情况下,必须增加提前计算的数据来计算初始离群度阈值。增加的数据为,令所有水质数据的离群度呈现均匀分布,并且离群度区间为0-1(单位化以便于分析),需要增加检测的数据量为s(随机抽取),将这s个数据按照离群度从大到小排序,并假设第t个数据的离群度为x,则有t-1个数据的离群度在x~1的范围内,另有s-t个数据的离群度在0~x的范围内,这样的抽取概率Ps,为:
其中s≥t≥1,
将x的值从0~1的范围内积分,可得其期望值E(xs,t)为:
结合Beta函数(贝塔函数)与Gamma函数(伽玛函数)的关系,最终可推算得:
根据帕累托法则,可设置当前离群度阈值处于从大到小约20%位置,则有则可推算出大约需要增加提前数据量为s=5t-1=5(N-M)-1≈5(N-M)。
“被检测过”的意义为:例如如果M+5(N-M)≤|B|,对M+5(N-M)个数据面向全局数据集搜索k最近邻且计算离群度,这M+5(N-M)个数据就是被检测过了。而其中M个已知异常水质数据的k最近邻之中,可能包含了M+5(N-M)个被检数据的一部分,而这部分既然被检测过了,没必要再次检测,因此不必作为潜在离群点。
情况2,M≥N的情况:
从M个已知异常水质数据中,随机N个,面向全局数据集搜索k最近邻,进而获得初始离群度阈值。余下的M-N个已知异常水质数据,连同M个已知异常水质数据的k最近邻且未被检测过的水质数据,作为潜在离群点。
进一步地,在步骤2中,检测潜在离群点的方法包括以下步骤:
步骤2.1,如果潜在离群点数量L<|B|,则从未检测过的水质数据中随机抽取|B|-L,连同L个潜在离群点,合计|B|个数据,即一个数据块大小,面向全局数据集搜索k最近邻并计算离群度;
步骤2.2,如果潜在离群点数量L≥|B|,则随机取其中|B|个数据,即一个数据块大小,面向全局数据集搜索k最近邻并计算离群度;
步骤2.3,在情况2余下的L-|B|个潜在离群点,仍判断其与|B|的大小关系,如果小于|B|转到步骤2.1,大于等于|B|转到步骤2.2,以此类推,直到所有潜在离群点均已被检测;
步骤2.4,需要注意的是,在对每个被检测数据搜索k最近邻时,只要其最近邻被更新(搜索到比其第k个最近邻更近的对象了),则同时更新其离群度,如果离群度小于当前离群度阈值,则将该数据标记为非离群点,本步骤称为剔除非离群点。每检测完一个数据块,该数据块中剩下的未被标记为非离群点的数据,与当前TOP N离群点合并,取其中离群度最大的N个数据,重新组成当前TOP N离群点,本步骤称为更新TOP N离群点;
步骤2.5,上述被检数据合计为其中符号为向上取整,被检数据在面向全局数据集(包含所有未检数据)搜索k最近邻的过程中,未检数据也相当于面向被检数据搜索了局部的k最近邻,由此可得未检数据的局部离群度(即只面向部分数据搜索k最近邻而获得的离群度数值,所述离群度数值不小于面向全局数据集搜索k最近邻获得的离群度数值,因为k最近邻只可能不变或者搜索到更近的)。进而,如果局部离群度小于当前离群度阈值,则提前作为非离群点排除,排除的概率为:
(该问题可视作次独立重复的伯努利试验,且设每次落入当前离群度阈值范围内的概率为ρ,则每个未检数据成功作为非离群点排除的概率为S(ρ)。)
进一步地,在步骤3中,检测其它数据的方法包括以下步骤:
以当前TOP N离群点的第一个离群点作为最大离群点为中心,数据集里余下的未检测过并且无法作为非离群点排除(概率为1-(ρ))的水质数据(其它数据)与最大离群点计算距离,并按升序排序建立索引,按照该索引,以数据块大小|B|为单位,继续检测剩下的未检数据,即面向全局数据集搜索k最近邻并计算离群度,直到检测完成;检测过程中,仍然执行“剔除非离群点”与“更新TOP N离群点”操作。
说明:步骤2和步骤3的依据都在于离群点的周围很可能也存在离群点,优先检测离群点周围的数据,有望更快地提升离群度阈值,加快检测速度。当前TOP N离群点或当前的最大离群点,虽然不一定是最终检测结果,但其相对来说处理数据比较稀疏的位置,同样很可能其周围会出现离群点。
进一步地,在步骤4中,TOP N异常水质数据为最异常(离群度最大)的N个水质异常点采集的水质数据。
其中,本公开中涉及的名词及其解释如下所示:
离群度:一个对象的离群度表示其离群的程度,本发明采用该对象与其第k个最近邻的距离值作为离群度。
数据块:离群检测的一个单位,由数据集中的若干个对象组成,例如常用1000个对象作为一个数据块。
TOP N离群点(TOP N):整个数据集之中,离群度最大的N个对象(点)。
离群度阈值:TOP N离群点的第N个离群点的离群度。
本公开的实施例提供的一种基于先验知识的异常水质检测系统,如图2所示为本公开的一种基于先验知识的异常水质检测系统图,该实施例的一种基于先验知识的异常水质检测系统包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种基于先验知识的异常水质检测系统实施例中的步骤。
所述系统包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在以下系统的单元中:
初始阈值计算单元,用于计算水质数据集的初始离群度阈值;
潜在离群点检测单元,用于检测潜在离群点;
其它数据检测单元,用于检测其它数据;
结果输出单元,用于输出TOP N异常水质数据。
所述一种基于先验知识的异常水质检测系统能够运行于桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备中。所述一种基于先验知识的异常水质检测系统,可运行的系统可包括,但不仅限于,处理器、存储器。本领域技术人员能够理解,所述例子仅仅是一种基于先验知识的异常水质检测系统的示例,并不构成对一种基于先验知识的异常水质检测系统的限定,能够包括比例子更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述一种基于先验知识的异常水质检测系统还能够包括输入输出设备、网络接入设备、总线等。
所称处理器能够是中央处理单元(Central Processing Unit,CPU),还能够是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器能够是微处理器或者该处理器也能够是任何常规的处理器等,所述处理器是所述一种基于先验知识的异常水质检测系统运行系统的控制中心,利用各种接口和线路连接整个一种基于先验知识的异常水质检测系统可运行系统的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述一种基于先验知识的异常水质检测系统的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器能够包括高速随机存取存储器,还能够包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
尽管本公开的描述已经相当详尽且特别对几个所述实施例进行了描述,但其并非旨在局限于任何这些细节或实施例或任何特殊实施例,而是应当将其视作是通过参考所附权利要求考虑到现有技术为这些权利要求提供广义的可能性解释,从而有效地涵盖本公开的预定范围。此外,上文以发明人可预见的实施例对本公开进行描述,其目的是为了提供有用的描述,而那些目前尚未预见的对本公开的非实质性改动仍可代表本公开的等效改动。
本公开提供的方法适用于科研领域,能够作为基于距离的离群点检测速度对比方法,应用方式是编程实现并导入拟检测数据集运行;也适用于工业(环保)领域,可应用于异常水质检测的场景,应用方式是编程实现并导入拟检测数据集运行。
Claims (7)
1.一种基于先验知识的异常水质检测方法,其特征在于,所述方法包括以下步骤:
步骤1,计算水质数据集的初始离群度阈值;
步骤2,检测潜在离群点;
步骤3,检测其它数据;
步骤4,输出TOP N异常水质数据。
2.根据权利要求1所述的一种基于先验知识的异常水质检测方法,其特征在于,在步骤1中,计算水质数据集的初始离群度阈值的方法包括以下步骤:
按照水质数据集中已知异常水质数据的数量M与水质异常点的数量N的关系,离群度阈值的可以分为以下2种情况计算:
情况1,M<N的情况:如果M+5(N-M)≤|B|,则从剔除了已知异常水质数据的水质数据集中随机抽取5(N-M)个数据,连同M个已知异常水质数据,合计M+5(N-M)个数据,面向全局数据集搜索k最近邻,进而得到每个被检数据的离群度,即其与第k最近邻的距离;
按照离群度对该M+5(N-M)个数据按从大到小排序,取最大的N个,即TOP N离群点,第N个数据的离群度即为当前离群度阈值,当前离群度阈值在本阶段称为初始离群度阈值;
如果M+5(N-M)>|B|,则只从剔除已知异常水质数据的水质数据集中随机抽取|B|-M个数据,连同M个已知异常水质数据,合计|B|个数据,面向全局数据集搜索k最近邻,进而获得初始离群度阈值;
无论M+5(N-M)≤|B|还是M+5(N-M)>|B|,在面向全局数据集搜索k最近邻之后,均保存M个已知异常水质数据的k最近邻信息,并将这些作为最近邻且未被检测过的水质数据,作为潜在离群点;
情况2,M≥N的情况:从M个已知异常水质数据中,随机N个,面向全局数据集搜索k最近邻,进而获得初始离群度阈值,余下的M-N个已知异常水质数据,连同M个已知异常水质数据的k最近邻且未被检测过的水质数据,作为潜在离群点。
3.根据权利要求2所述的一种基于先验知识的异常水质检测方法,其特征在于,在情况1中:其中,若将M个已知异常水质数据纳入当前TOP N水质异常点队列,但数量不够,当前TOP N水质异常点队列仍有N-M个为空,这些位置的离群度只能初始化为0,因此当前离群度为0,导致在接下来的一轮检测中,已知异常水质数据并未起到提高离群度阈值的作用,因此,在M<N的情况下,必须增加提前计算的数据来计算初始离群度阈值,增加的数据为,令所有水质数据的离群度呈现均匀分布,并且离群度区间为0-1,需要增加检测的随机抽取的数据量为s,将这s个数据按照离群度从大到小排序,并假设第t个数据的离群度为x,则有t-1个数据的离群度在x~1的范围内,另有s-t个数据的离群度在0~x的范围内,这样的抽取概率Ps,t为:
其中s≥t≥1,
将x的值从0~1的范围内积分,可得其期望值E(xs,t)为:
结合Beta函数与Gamma函数的关系,最终可推算得:
根据帕累托法则,可设置当前离群度阈值处于从大到小约20%位置,则有则可推算出需要增加提前数据量为s=5t-1=5(N-M)-1≈5(N-M)。
4.根据权利要求2所述的一种基于先验知识的异常水质检测方法,其特征在于,在步骤1中,所述水质数据集为根据标准号GB/T 34666.1-2017、GB/T 34666.2-2017采集的水质基准数据,包括污染物含量和水生生物毒性等水质数据,以下称为水质数据集或简称为数据集;
已知异常水质数据为水质数据中的氨氮,高锰酸盐指数,溶解氧,总磷。
5.根据权利要求3所述的一种基于先验知识的异常水质检测方法,其特征在于,在步骤2中,检测潜在离群点的方法包括以下步骤:
步骤2.1,如果潜在离群点数量L<|B|,则从未检测过的水质数据中随机抽取|B|-L,连同L个潜在离群点,合计|B|个数据,即一个数据块大小,面向全局数据集搜索k最近邻并计算离群度;
步骤2.2,如果潜在离群点数量L≥|B|,则随机取其中|B|个数据,即一个数据块大小,面向全局数据集搜索k最近邻并计算离群度;
步骤2.3,在情况2余下的L-|B|个潜在离群点,仍判断其与|B|的大小关系,如果小于|B|转到步骤2.1,大于等于|B|转到步骤2.2,以此类推,直到所有潜在离群点均已被检测;
步骤2.4,在对每个被检测数据搜索k最近邻时,只要其最近邻被更新,则同时更新其离群度,如果离群度小于当前离群度阈值,则将该数据标记为非离群点,本步骤称为剔除非离群点,每检测完一个数据块,该数据块中剩下的未被标记为非离群点的数据,与当前TOP N离群点合并,取其中离群度最大的N个数据,重新组成当前TOP N离群点,本步骤称为更新TOP N离群点;
步骤2.5,上述被检数据合计为其中符号为向上取整,被检数据在面向全局数据集包含所有未检数据,搜索k最近邻的过程中,未检数据也相当于面向被检数据搜索了局部的k最近邻,由此可得未检数据的局部离群度,即只面向部分数据搜索k最近邻而获得的离群度数值,所述离群度数值不小于面向全局数据集搜索k最近邻获得的离群度数值,因为k最近邻只可能不变或者搜索到更近的;进而,如果局部离群度小于当前离群度阈值,则提前作为非离群点排除,排除的概率为:
6.根据权利要求1所述的一种基于先验知识的异常水质检测方法,其特征在于,在步骤3中,检测其它数据的方法包括以下步骤:
以当前TOP N离群点的第一个离群点作为最大离群点为中心,数据集里余下的未检测过并且无法作为非离群点排除(概率为1-S(ρ))的水质数据即其它数据,与最大离群点计算距离,并按升序排序建立索引,按照该索引,以数据块大小|B|为单位,继续检测剩下的未检数据,即面向全局数据集搜索k最近邻并计算离群度,直到检测完成;检测过程中,仍然执行剔除非离群点与更新TOP N离群点操作。
7.一种基于先验知识的异常水质检测系统,其特征在于,所述系统包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在以下系统的单元中:
初始阈值计算单元,用于计算水质数据集的初始离群度阈值;
潜在离群点检测单元,用于检测潜在离群点;
其它数据检测单元,用于检测其它数据;
结果输出单元,用于输出TOP N异常水质数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910560024.5A CN110287238B (zh) | 2019-06-26 | 2019-06-26 | 一种基于先验知识的异常水质检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910560024.5A CN110287238B (zh) | 2019-06-26 | 2019-06-26 | 一种基于先验知识的异常水质检测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110287238A true CN110287238A (zh) | 2019-09-27 |
CN110287238B CN110287238B (zh) | 2022-11-29 |
Family
ID=68005923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910560024.5A Active CN110287238B (zh) | 2019-06-26 | 2019-06-26 | 一种基于先验知识的异常水质检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110287238B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112328424A (zh) * | 2020-12-03 | 2021-02-05 | 之江实验室 | 一种用于数值型数据的智能异常检测方法及装置 |
CN112733904A (zh) * | 2020-12-30 | 2021-04-30 | 佛山科学技术学院 | 一种水质异常检测方法及电子设备 |
CN116561689A (zh) * | 2023-05-10 | 2023-08-08 | 盐城工学院 | 一种高维数据异常检测方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462379A (zh) * | 2014-12-10 | 2015-03-25 | 深圳大学 | 一种基于距离的高准确率全局离群点检测算法 |
CN104777115A (zh) * | 2015-04-13 | 2015-07-15 | 浙江大学 | 基于光谱统计特征提取的水质异常事件检测方法 |
CN105117485A (zh) * | 2015-09-17 | 2015-12-02 | 深圳大学 | 一种基于k甚近邻的高准确率全局离群点检测算法 |
CN107402547A (zh) * | 2017-08-29 | 2017-11-28 | 北京易沃特科技有限公司 | 基于离群点分析的设备异常检测方法及系统 |
CN109508349A (zh) * | 2018-10-29 | 2019-03-22 | 广东奥博信息产业股份有限公司 | 一种度量空间离群检测方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105975519A (zh) * | 2016-04-28 | 2016-09-28 | 深圳大学 | 一种基于多支撑点索引的离群检测方法及其系统 |
-
2019
- 2019-06-26 CN CN201910560024.5A patent/CN110287238B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462379A (zh) * | 2014-12-10 | 2015-03-25 | 深圳大学 | 一种基于距离的高准确率全局离群点检测算法 |
CN104777115A (zh) * | 2015-04-13 | 2015-07-15 | 浙江大学 | 基于光谱统计特征提取的水质异常事件检测方法 |
CN105117485A (zh) * | 2015-09-17 | 2015-12-02 | 深圳大学 | 一种基于k甚近邻的高准确率全局离群点检测算法 |
CN107402547A (zh) * | 2017-08-29 | 2017-11-28 | 北京易沃特科技有限公司 | 基于离群点分析的设备异常检测方法及系统 |
CN109508349A (zh) * | 2018-10-29 | 2019-03-22 | 广东奥博信息产业股份有限公司 | 一种度量空间离群检测方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112328424A (zh) * | 2020-12-03 | 2021-02-05 | 之江实验室 | 一种用于数值型数据的智能异常检测方法及装置 |
CN112733904A (zh) * | 2020-12-30 | 2021-04-30 | 佛山科学技术学院 | 一种水质异常检测方法及电子设备 |
CN112733904B (zh) * | 2020-12-30 | 2022-03-25 | 佛山科学技术学院 | 一种水质异常检测方法及电子设备 |
WO2022141746A1 (zh) * | 2020-12-30 | 2022-07-07 | 佛山科学技术学院 | 一种水质异常检测方法及电子设备 |
CN116561689A (zh) * | 2023-05-10 | 2023-08-08 | 盐城工学院 | 一种高维数据异常检测方法 |
CN116561689B (zh) * | 2023-05-10 | 2023-11-14 | 盐城工学院 | 一种高维数据异常检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110287238B (zh) | 2022-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110287238A (zh) | 一种基于先验知识的异常水质检测方法及系统 | |
CN108777873A (zh) | 基于加权混合孤立森林的无线传感网络异常数据检测方法 | |
CN104699755B (zh) | 一种基于数据挖掘的智能化多目标综合识别方法 | |
CN109657697A (zh) | 基于半监督学习和细粒度特征学习的分类优化方法 | |
CN102831442A (zh) | 异常行为检测设备和方法及生成该检测设备的设备和方法 | |
CN108834077A (zh) | 基于用户移动特性的跟踪区划分方法、装置及电子设备 | |
CN109508349A (zh) | 一种度量空间离群检测方法及装置 | |
CN108536739B (zh) | 元数据敏感信息字段识别方法、装置、设备及存储介质 | |
CN108881947A (zh) | 一种直播流的侵权检测方法及装置 | |
CN103617163B (zh) | 基于聚类分析的目标快速关联方法 | |
US20240036841A1 (en) | Method and Apparatus for Compatibility Detection, Device and Non-transitory computer-readable storage medium | |
CN104252616A (zh) | 人脸标注方法、装置及设备 | |
US7760135B2 (en) | Robust pulse deinterleaving | |
CN107346020A (zh) | 一种用于异步多基地雷达系统的分布式批估计融合方法 | |
CN103870563B (zh) | 确定给定文本的主题分布的方法和装置 | |
CN110807159B (zh) | 数据标记方法、装置、存储介质及电子设备 | |
CN113315650A (zh) | 一种节点布局方法及装置 | |
CN109657060B (zh) | 安全生产事故案例推送方法及系统 | |
CN104133836A (zh) | 一种实现变更数据检测的方法及装置 | |
CN116401719A (zh) | 基于机器学习的门级网表中硬件木马定位方法 | |
CN112529112B (zh) | 一种矿物识别的方法和装置 | |
CN112633299B (zh) | 一种目标检测方法、网络、装置、终端设备及存储介质 | |
JP2000200814A (ja) | 不良分布解析システム、方法及び記録媒体 | |
CN108304467A (zh) | 用于文本间匹配的方法 | |
CN107908654B (zh) | 一种基于知识库的推荐方法、系统及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |