CN110070100A - 一种多因子集成的农业气象离群检测方法及装置 - Google Patents

一种多因子集成的农业气象离群检测方法及装置 Download PDF

Info

Publication number
CN110070100A
CN110070100A CN201910154358.2A CN201910154358A CN110070100A CN 110070100 A CN110070100 A CN 110070100A CN 201910154358 A CN201910154358 A CN 201910154358A CN 110070100 A CN110070100 A CN 110070100A
Authority
CN
China
Prior art keywords
supporting point
distance
factor
data
point
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.)
Pending
Application number
CN201910154358.2A
Other languages
English (en)
Inventor
许红龙
谭力江
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Aobo Chengdu Westone Information Industry Inc
Original Assignee
Guangdong Aobo Chengdu Westone Information Industry Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Aobo Chengdu Westone Information Industry Inc filed Critical Guangdong Aobo Chengdu Westone Information Industry Inc
Priority to CN201910154358.2A priority Critical patent/CN110070100A/zh
Publication of CN110070100A publication Critical patent/CN110070100A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24147Distances to closest patterns, e.g. nearest neighbour classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2433Single-class perspective, e.g. one-against-all classification; Novelty detection; Outlier detection

Abstract

本发明公开了一种多因子集成的农业气象离群检测方法及装置,由于离群点在数据集中占的比较非常小,因此被随机选中的概率非常低。故而该算法随机选取数据集一个对象作为支撑点,然后计算所有对象与其距离,再按降序排序,从而建立简单索引,基于该索引,相当于按照与支撑点的距离,从远到近检测离群点,解决了如何确保候选支撑点之间相互距离较远,以便以它们为中心在一定半径范围内能囊括更多对象,更好地提前排除非离群点,构建前置密集簇整体过滤规则,在对每个数据块进行检测之前提前过滤掉部分非离群点,过滤规则应用在对每个数据块进行检测之前,避免了更多距离计算开销。

Description

一种多因子集成的农业气象离群检测方法及装置
技术领域
本公开涉及农业信息与数据挖掘技术领域,具体涉及一种多因子集成的农业气象离群检测方法及装置。
背景技术
农业气象与普通的气象相比,有着显著不同的特点,因承灾体、孕灾环境等不同,它们造成灾害也大不相同。农业气象灾害比普通气象灾害增加一些指标如干旱指标、低温冷害指标、寒害指标等,数据类型较多,在自动检测灾害气象的时候,传统的面向多维数据的离群检测算法力不从心。度量空间离群检测算法适用于大多数数据类型,对于普通气象数据和农业气象特有数据均可有效应对,特别适合应用于多因子集成的农业气象灾害检测。但传统度量空间离群检测算法存在着索引效率低下、离群检测速度较慢等问题。下面以与本发明最为接近的iORCA算法为例介绍度量空间离群检测算法。
iORCA算法是本领域代表性算法,iORCA算法的缺点
①随机选取的支撑点不稳定,可能处于密集处,但也可能处于稀疏处,从而不利于提前结束离群检测过程。即使随机选取多个支撑点来取其中最密集者,由于它们之间可能较为靠近,也不利于使用其它规则排除非离群点或非k最近邻(k nearest neighbors,kNN)。
②在对每个数据块进行检测之前未能提前排除部分非离群点,缩小检测范围。
发明内容
本公开提供一种多因子集成的农业气象离群检测方法及装置,由于离群点在数据集中占的比较非常小,因此被随机选中的概率非常低。故而该算法随机选取数据集一个对象作为支撑点,然后计算所有对象与其距离,再按降序排序,从而建立简单索引,基于该索引,相当于按照与支撑点的距离,从远到近检测离群点,本公开解决了以下2个方面的技术问题:
①如何确保候选支撑点之间相互距离较远,以便以它们为中心在一定半径范围内能囊括更多对象,更好地提前排除非离群点。
说明:应用FFT算法能较好地实现这一点,且实现这个功能之后可在不增加距离计算开销的情况下,选取候选支撑点中的密集支撑点(因为这些候选支撑点都已与整个数据集计算距离,很容易计算其密度,进而选取得其中的最大密集支撑点)。
②构建前置密集簇整体过滤规则,在对每个数据块进行检测之前提前过滤掉部分非离群点。
为了实现上述目的,根据本公开的一方面,提供一种多因子集成的农业气象离群检测方法,所述方法包括以下步骤:
步骤1,用户确定农业气象因子和距离函数;
步骤2,支撑点选取;
步骤3,建立索引;
步骤4,离群检测。
进一步地,在步骤1中,用户确定农业气象因子和距离函数的方法为:用户根据自己的需要选择农业气象因子(指标),所述农业气象因子包括但不限于气温、日照时长、风力、风向、降雨量的数据集,并且随着经济社会的发展,这些因子也不是一成不变的。根据这些因子设计合适的距离函数,合适的距离函数即使之符合距离三特性(正定性、对称性、三角不等性),所述距离函数的设计根据参考文献(杨茂林.离群检测算法研究[D].武汉:华中科技大学,2012.)的处理方式,考虑到农业气象因子的数据集各属性量纲不一,可先对数据集进行预处理,所述预处理为将连续属性作归一化处理(min-max标准化方法),将数据映射至0~1区间,对离散属性无须作归一化处理;
预处理后,采用以下方法构造距离函数:
其中,x为拟检测数据集的任一对象,xi、xj即为数据集里的标号为i、j的数据对象,xik为第i对象的第k个属性,xjk为第j对象的第k个属性,d为维度(即属性的数量),例如,(气温,日照时长,风力,风向,降雨量)这个就是5维,d=5,i=0~N-1,j=0~N-1,即i和j取值范围为0到N-1,共N个,N为拟检测数据集中对象总数,δ为函数名,且该函数表达式为
其中,符号“?”为三目运算符,条件?结果1:结果2里面的“?”号是格式要求,也可以理解为条件是否成立,条件成立为结果1,否则为结果2。
显然,在只有连续属性时,上式实际上相当于欧几里德距离,而在只有离散属性时,该函数相当于海明距离,在连续属性和离散属性都存在时,就是两者欧几里德距离与海明距离结合使用。在本例中,气温、日照时长、风力、降雨量属于连续属性,风向属于离散属性。
进一步地,在步骤2中,支撑点选取包括以下步骤:
步骤2.1,使用FFT算法选取m个支撑点作为候选支撑点,候选支撑点组成候选支撑点集。其中,m通常可设置为5或根据数据集规模再作调整(例如数据集规模的0.01%-0.1%,例如某数据集为每天记录一次“气温、日照时长、风力、风向、降雨量”数据,并且总共记录了365天,即数据集规模为365,而数据集里每个对象都有“气温、日照时长、风力、风向、降雨量”5个属性)。
步骤2.2,对于候选支撑点集,每个候选支撑点(例如支撑点p1)都作此操作:与数据集所有对象(例如支撑点p2)的距离并存储距离信息d(p1,p2),计算完成之后,按照升序排序,最大距离值称为该候选支撑点的半径。取最小的候选支撑点半径的20%(依据二八定律)为基准距离。
步骤2.3,计算最密集支撑点:统计每个候选支撑点在基准距离范围内的近邻数量,取最多者作为最密集支撑点。
进一步地,在步骤3中,建立索引的方法为:不需要额外的距离计算,直接应用步骤2的结果即可,即把最密集支撑点与数据集所有对象的距离降序排序结果(升序的相反结果)作为索引,以作为下一步的离群检测顺序。
进一步地,在步骤4中,离群检测的方法为:
离群检测过程使用基于距离三角不等性的(终止规则、前置密集簇整体过滤规则和非k最近邻排除规则)三个定理作为剪枝规则,减少距离计算次数。
现介绍剪枝规则。
假设给定D为数据集,c为离群度阈值,P为最密集支撑点,x为离群检测方法正在检测的数据对象,d()为距离函数,nnk(P,D)表示对象P在数据集D中的第k最近邻。
定理1:终止规则:
如果d(x,P)+d(P,nnk(P,D))<c,那么离群检测过程可以终止并得到正确的结果。
定理2:(前置密集簇整体过滤规则):在对每个数据块进行检测之前提前过滤掉部分非离群点。
对于任意一个候选支撑点p,如果与它距离小于0.5c(即0.5乘离群度阈值,离群度阈值的一半)的范围内近邻数量大于或等于k个,那么这些近邻及候选支撑点p都可作为非离群点排除。
说明:定理2在实际执行的时候,考虑到候选支撑点p的近邻已作升序排序,且通常以数组保存,因此可看在元素值(p与其近邻的距离值)恰好不大于0.5c处的数组下标是否大于或等于k-1(因数组下标从0开始,当下标等于k-1时,就已经有k个了),如果是,则定理2成立,否则不成立。定理2在算法对每个数据块检测之前进行过滤,故称为“前置”,即定理2提前排除非离群点。
定理3:(非k最近邻排除规则):排除非k近邻的对象,
对于任意一个候选支撑点p,如果
||d(x,p)-d(xj,p)||>d(x,nnk(x,D)),
那么xj不可能为x的k最近邻。
x为拟检测的数据集中的任一对象,xj为数据集里的标号为j的数据对象,j=0~N-1,即j取值范围为0到N-1,共N个,N为拟检测的数据集中对象总数。
排除非离群点后,得到离群点;
以伪代码描述离群检测算法流程如下:
输入:最近邻数量k,离群点数量n,数据集D
输出:离群点集
S1,读取索引,将离群点集初始化为空;
S2,划分索引序列为数据块,得到离群检测顺序;
S3,离群点集初始化为空;
S4,按检测顺序逐数据块读取数据集;
S5,对每个候选支撑点使用定理2确定哪些对象为非离群点,按照它们的对象ID,从未检测的数据块中找到并剔除之;
S6,如果所有数据块都已检测,输出离群点检测结果,即离群点集;
S7,如果定理1成立,输出离群点集;
S8,数据块每个对象相对全局数据集以螺旋顺序搜索k最近邻(如果定理3成立,不必计算距离,直接排除),一旦发现离群度小于c,则将对象x从当前数据块B移除;
S9,按上述步骤检测完数据块B之后,将数据块B剩余的所有对象与当前的离群点集合并,取离群度最大的n个对象作为离群点集;
S10,所有数据块检测完,输出离群点集;
离群检测算法说明:
离群检测算法在初始化离群点集和数据块之后,使用FFT算法选取候选支撑点,每个候选支撑点与数据集所有对象计算距离并按从小到大排序。依据二八定律取最小半径的20%为基准距离,计算出最密集支撑点。随后以最密集支撑点的近邻排序结果的相反(即降序)作为离群检测索引。如同iORCA算法,按照索引顺序(即与最密集支撑点距离从大到小)逐数据块检测离群点。在检测之前,对每个候选支撑点使用定理2确定哪些对象为非离群点,按照它们的对象ID,从未检测的数据块中找到并剔除之。在检测过程中,首先判断每个数据块的每个对象是否使定理1成立,若成立,则终止整个离群检测过程,输出离群点检测结果。若不成立,则从索引序列上该数据块的中点对象开始,按照螺旋顺序搜索该数据块所有对象的k最近邻。在搜索k最近邻时,先计算定理3是否成立,若成立,则该对象不可能成为被检对象的k最近邻,不需要计算其真实距离。实时计算被检对象的当前离群度,如果小于离群度阈值c,从数据块移除对象x。每检测完一个数据块,将该数据块剩下的所有对象与当前离群点集合并,然后只取离群度最大的n个对象作为离群点集。当所有数据块都检测完或者定理1成立时,结束检测过程,输出离群点集,作为离群检测结果。该离群检测结果即为异常的农业气象,很可能是灾害性农业气象。
本发明还提供了一种多因子集成的农业气象离群检测装置,所述装置包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在以下装置的单元中:
气象因子确定单元,用于用户确定农业气象因子和距离函数;
支撑点选取单元,用于支撑点选取;
建立索引单元,用于建立索引;
离群检测单元,用于离群检测。
本公开的有益效果为:实验表明该算法较ORCA算法检测速度有了很大的提升,现有的方法的过滤规则应用在对每个数据块进行检测的时候,而本公开提前至数据块检测之前,避免了更多距离计算开销,本公开是完全基于距离的离群点检测算法,对农业气象的不同因子不同数据类型具有很强的通用性,用户可以根据经济社会的发展情况及自身需求等,设置农业气象因子,并自定义距离函数,算法皆能保证其能正常运行,得到正常检测结果。但与现有技术相比(包括但不限于iORCA算法),本发明在保持基于距离的通用性的同时,具有较高的检测效率。
具体而言,本发明具有以下3个有益效果:
1.本发明可快速选取到质量较好的最密集支撑点。
2.本发明可提前排除大量非离群点,有利于缩短程序运行时间。
3.本发明可由农业气象用户自定义农业气象因子和距离函数,具有较大的应用灵活性。
附图说明
通过对结合附图所示出的实施方式进行详细说明,本公开的上述以及其他特征将更加明显,本公开附图中相同的参考标号表示相同或相似的元素,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,在附图中:
图1所示为一种多因子集成的农业气象离群检测方法的步骤框图;
图2所示为一种多因子集成的农业气象离群检测方法的流程图;
图3所示为一种多因子集成的农业气象离群检测装置结构图;
图4所示为FFT算法流程。
具体实施方式
以下将结合实施例和附图对本公开的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本公开的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1所示为一种多因子集成的农业气象离群检测方法的步骤框图,下面结合图1来阐述根据本公开的实施方式的一种多因子集成的农业气象离群检测方法。
本公开提出一种多因子集成的农业气象离群检测方法,检测方法在实现对各类农业气象因子通用,因此具体使用什么因子,由用户自行确定,根据这些因子计算不同数据的距离所需要用到的距离函数,也由用户确定。本发明的特点之一是确保不管用户采用哪些因子,只要其设计的距离函数符合距离三特性(正定性、对称性、三角不等性),就一定可使用本发明的技术方案实施。
如图1所示,本公开所指离群检测方法过程主要分为四部分:用户确定农业气象因子和距离函数、支撑点选取、建立索引、离群检测,具体包括以下步骤:
步骤1,用户确定农业气象因子和距离函数;
步骤2,支撑点选取;
步骤3,建立索引;
步骤4,离群检测。
进一步地,在步骤1中,用户确定农业气象因子和距离函数的方法为:用户根据自己的需要选择农业气象因子(指标),所述农业气象因子包括但不限于气温、日照时长、风力、风向、降雨量的数据集,并且随着经济社会的发展,这些因子也不是一成不变的。根据这些因子设计合适的距离函数,合适的距离函数即使之符合距离三特性(正定性、对称性、三角不等性),所述距离函数的设计根据参考文献(杨茂林.离群检测算法研究[D].武汉:华中科技大学,2012.)的处理方式,考虑到农业气象因子的数据集各属性量纲不一,可先对数据集进行预处理,所述预处理为将连续属性作归一化处理(min-max标准化方法),将数据映射至0~1区间,对离散属性无须作归一化处理;
预处理后,采用以下方法构造距离函数:
其中,x为拟检测数据集的任一对象,xi、xj即为数据集里的标号为i、j的数据对象,xik为第i对象的第k个属性,xjk为第j对象的第k个属性,d为维度(即属性的数量),例如,(气温,日照时长,风力,风向,降雨量)这个就是5维,d=5,
δ为函数名,且该函数表达式为
其中,符号“?”为三目运算符,条件?结果1:结果2里面的“?”号是格式要求,也可以理解为条件是否成立,条件成立为结果1,否则为结果2。
显然,在只有连续属性时,上式实际上相当于欧几里德距离,而在只有离散属性时,该函数相当于海明距离,在连续属性和离散属性都存在时,就是两者欧几里德距离与海明距离结合使用。在本例中,气温、日照时长、风力、降雨量属于连续属性,风向属于离散属性。
进一步地,在步骤2中,支撑点选取包括以下步骤:
步骤2.1,使用FFT算法选取m个支撑点作为候选支撑点,候选支撑点组成候选支撑点集。其中,m通常可设置为5或根据数据集规模再作调整(例如数据集规模的0.01%-0.1%,例如某数据集为每天记录一次“气温、日照时长、风力、风向、降雨量”数据,并且总共记录了365天,即数据集规模为365,而数据集里每个对象都有“气温、日照时长、风力、风向、降雨量”5个属性)。
步骤2.2,对于候选支撑点集,每个候选支撑点(例如支撑点p1)都作此操作:与数据集所有对象(例如支撑点p2)的距离并存储距离信息d(p1,p2),计算完成之后,按照升序排序,最大距离值称为该候选支撑点的半径。取最小的候选支撑点半径的20%(依据二八定律)为基准距离。
步骤2.3,计算最密集支撑点:统计每个候选支撑点在基准距离范围内的近邻数量,取最多者作为最密集支撑点。
进一步地,在步骤3中,建立索引的方法为:不需要额外的距离计算,直接应用步骤2的结果即可,即把最密集支撑点与数据集所有对象的距离降序排序结果(升序的相反结果)作为索引,以作为下一步的离群检测顺序。
进一步地,在步骤4中,离群检测的方法为:
离群检测过程使用基于距离三角不等性的(终止规则、前置密集簇整体过滤规则和非k最近邻排除规则)三个定理作为剪枝规则,减少距离计算次数。
现介绍剪枝规则。
假设给定D为数据集,c为离群度阈值,P为最密集支撑点,x为离群检测方法正在检测的数据对象,d()为距离函数,nnk(P,D)表示对象P在数据集D中的第k最近邻。
定理1:终止规则:
如果d(x,P)+d(P,nnk(P,D))<c,那么离群检测过程可以终止并得到正确的结果。
定理2:(前置密集簇整体过滤规则):在对每个数据块进行检测之前提前过滤掉部分非离群点。
对于任意一个候选支撑点p,如果与它距离小于0.5c(即0.5乘离群度阈值,离群度阈值的一半)的范围内近邻数量大于或等于k个,那么这些近邻及候选支撑点p都可作为非离群点排除。
说明:定理2在实际执行的时候,考虑到候选支撑点p的近邻已作升序排序,且通常以数组保存,因此可看在元素值(p与其近邻的距离值)恰好不大于0.5c处的数组下标是否大于或等于k-1(因数组下标从0开始,当下标等于k-1时,就已经有k个了),如果是,则定理2成立,否则不成立。定理2在算法对每个数据块检测之前进行过滤,故称为“前置”,即定理2提前排除非离群点。
定理3:(非k最近邻排除规则):排除非k近邻的对象。
对于任意一个候选支撑点p,如果
||d(x,p)-d(xj,p)||>d(x,nnk(x,D)),
那么xj不可能为x的k最近邻。
x为拟检测的数据集中的任一对象,xj为数据集里的标号为j的数据对象,j=0~N-1,即j取值范围为0到N-1,共N个,N为拟检测的数据集中对象总数。
排除非离群点后,得到离群点;
图2所示为一种多因子集成的农业气象离群检测方法的流程图,如图2所示,以伪代码描述离群检测算法流程如下:
输入:最近邻数量k,离群点数量n,数据集D
输出:离群点集
S1,读取索引,将离群点集初始化为空;
S2,划分索引序列为数据块,得到离群检测顺序;
S3,离群点集初始化为空;
S4,按检测顺序逐数据块读取数据集;
S5,对每个候选支撑点使用定理2确定哪些对象为非离群点,按照它们的对象ID,从未检测的数据块中找到并剔除之;
S6,如果所有数据块都已检测,输出离群点检测结果,即离群点集;
S7,如果定理1成立,输出离群点集;
S8,数据块每个对象相对全局数据集以螺旋顺序搜索k最近邻(如果定理3成立,不必计算距离,直接排除),一旦发现离群度小于c,则将对象x从当前数据块B移除;
S9,按上述步骤检测完数据块B之后,将数据块B剩余的所有对象与当前的离群点集合并,取离群度最大的n个对象作为离群点集;
S10,所有数据块检测完,输出离群点集;
离群检测算法说明:
所述离群检测顺序即划分索引序列为数据块的顺序,离群检测算法在初始化离群点集和数据块之后,使用FFT算法选取候选支撑点,每个候选支撑点与数据集所有对象计算距离并按从小到大排序。依据二八定律取最小半径的20%为基准距离,计算出最密集支撑点。随后以最密集支撑点的近邻排序结果的相反(即降序)作为离群检测索引。如同iORCA算法,按照索引顺序(即与最密集支撑点距离从大到小)逐数据块检测离群点。在检测之前,对每个候选支撑点使用定理2确定哪些对象为非离群点,按照它们的对象ID,从未检测的数据块中找到并剔除之。在检测过程中,首先判断每个数据块的每个对象是否使定理1成立,若成立,则终止整个离群检测过程,输出离群点检测结果。若不成立,则从索引序列上该数据块的中点对象开始,按照螺旋顺序搜索该数据块所有对象的k最近邻。在搜索k最近邻时,先计算定理3是否成立,若成立,则该对象不可能成为被检对象的k最近邻,不需要计算其真实距离。实时计算被检对象的当前离群度,如果小于离群度阈值c,从数据块移除对象x。每检测完一个数据块,将该数据块剩下的所有对象与当前离群点集合并,然后只取离群度最大的n个对象作为离群点集。当所有数据块都检测完或者定理1成立时,结束检测过程,输出离群点集,作为离群检测结果。该离群检测结果即为异常的农业气象,很可能是灾害性农业气象。
进一步地,上述离群检测方法的整个检测过程可以采用其它算法来获得一样的检测结果,例如不建立索引,直接搜索每个对象的k最近邻,但这样计算开销比较大。
本公开的实施例提供的一种多因子集成的农业气象离群检测装置,如图3所示为本公开的一种多因子集成的农业气象离群检测装置图,该实施例的一种多因子集成的农业气象离群检测装置包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述一种多因子集成的农业气象离群检测装置实施例中的步骤。
所述装置包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在以下装置的单元中:
气象因子确定单元,用于用户确定农业气象因子和距离函数;
支撑点选取单元,用于支撑点选取;
建立索引单元,用于建立索引;
离群检测单元,用于离群检测。
所述一种多因子集成的农业气象离群检测装置也可以理解为所述一种多因子集成的农业气象离群检测系统,并不构成对硬件装置的限定,也包括软件的系统。
所述一种多因子集成的农业气象离群检测装置可以运行于桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备中。所述一种多因子集成的农业气象离群检测装置,可运行的装置可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述例子仅仅是一种多因子集成的农业气象离群检测装置的示例,并不构成对一种多因子集成的农业气象离群检测装置的限定,可以包括比例子更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述一种多因子集成的农业气象离群检测装置还可以包括输入输出设备、网络接入设备、总线等。
所称处理器可以是中央处理单元(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)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本公开可以应用于数据科学领域,可以作为基于距离的离群点检测速度对比算法,应用方式是编程实现并导入拟检测数据集运行。
本公开可以应用于农业气象领域,可应用于灾害性农业气象检测预报等,应用方式是自定义农业气象因子和距离函数,编程实现本发明并导入拟检测农业气象数据集运行。
本公开涉及名词:
离群度:一个对象的离群度表示其离群的程度,本公开以其与第k个最近邻的距离值作为离群度。
FFT算法:FFT(Farthest-First Traversal)算法(参考论文Hochbaum D S,ShmoysDB.A Best Possible Heuristic for the k-Center Problem.Mathematics of0perations Research,1985,10(2):180-184.)为经典的支撑点选取算法,其核心思想是让支撑点之间的距离尽可能远,从而使数据映射到支撑点空间之后的各个坐标尽可能不同,以充分利用多个支撑点的优势,应用FFT算法能较好地实现这一点,且实现这个功能之后可在不增加距离计算开销的情况下,选取候选支撑点中的密集支撑点(因为这些候选支撑点都已与整个数据集计算距离,很容易计算其密度,进而选取得其中的最大密集支撑点)。
如图4所示,为FFT算法流程。FFT首先从数据集中随机选取一个对象作为支撑点,并将其加入支撑点集P,然后计算数据集中除支撑点外所有对象x到P的距离,
dist(x,P)=min{d|d=dist(x,pi),pi∈P},
pi为支撑点,i=0~N-1,即i取值范围为0到N-1,共N个,N为数据集中对象总数,d为距离;并取该距离值最大的对象作为下一个支撑点,依此类推,直到选取足够数量的支撑点。
数据块:离群检测的一个单位,由数据集中的若干个对象组成,例如常用1000个对象作为一个数据块。
TOP n离群点:整个数据集之中,离群度最大的n个对象(点)。
离群度阈值:TOP n离群点的第n个离群点的离群度。
螺旋顺序:例如有一个索引序列1、2、3、4、5、6、7、8、9、10,如果以5为起点,它的螺旋顺序就是5、4、6、3、7、2、8……,或者5、6、4、7、3、8、2……,就是一前一后、依此类推的意思。
尽管本公开的描述已经相当详尽且特别对几个所述实施例进行了描述,但其并非旨在局限于任何这些细节或实施例或任何特殊实施例,而是应当将其视作是通过参考所附权利要求考虑到现有技术为这些权利要求提供广义的可能性解释,从而有效地涵盖本公开的预定范围。此外,上文以发明人可预见的实施例对本公开进行描述,其目的是为了提供有用的描述,而那些目前尚未预见的对本公开的非实质性改动仍可代表本公开的等效改动。

Claims (6)

1.一种多因子集成的农业气象离群检测方法,其特征在于,所述方法包括以下步骤:
步骤1,用户确定农业气象因子和距离函数;
步骤2,支撑点选取;
步骤3,建立索引;
步骤4,离群检测。
2.根据权利要求1所述的一种多因子集成的农业气象离群检测方法,其特征在于,在步骤1中,用户确定农业气象因子和距离函数的方法为:用户根据自己的需要选择农业气象因子,根据这些因子设计合适的距离函数,合适的距离函数即使之符合距离三特性,距离三特性即正定性、对称性、三角不等性。
3.根据权利要求1所述的一种多因子集成的农业气象离群检测方法,其特征在于,在步骤2中,支撑点选取包括以下步骤:
步骤2.1,使用FFT算法选取m个支撑点作为候选支撑点,候选支撑点组成候选支撑点集;
步骤2.2,对于候选支撑点集,每个候选支撑点都作此操作:与数据集所有对象的距离并存储距离信息d(p1,p2),计算完成之后,按照升序排序,最大距离值称为该候选支撑点的半径,取最小的候选支撑点半径的20%为基准距离;
步骤2.3,计算最密集支撑点:统计每个候选支撑点在基准距离范围内的近邻数量,取最多者作为最密集支撑点。
4.根据权利要求1所述的一种多因子集成的农业气象离群检测方法,其特征在于,在步骤3中,建立索引的方法为:将最密集支撑点与数据集所有对象的距离降序排序结果作为索引。
5.根据权利要求1所述的一种多因子集成的农业气象离群检测方法,其特征在于,在步骤4中,离群检测的方法为:
定义剪枝规则为:假设给定D为数据集,c为离群度阈值,P为最密集支撑点,x为离群检测方法正在检测的数据对象,d()为距离函数,nnk(P,D)表示对象P在数据集D中的第k最近邻;
定理1,终止规则,如果d(x,P)+d(P,nnk(P,D))<,那么离群检测过程可以终止并得到正确的结果;
定理2,前置密集簇整体过滤规则,在对每个数据块进行检测之前提前过滤掉部分非离群点;
对于任意一个候选支撑点p,如果与它距离小于0.5c的范围内近邻数量大于或等于k个,那么这些近邻及候选支撑点p都可作为非离群点排除;
定理3,非k最近邻排除规则:排除非k近邻的对象,
对于任意一个候选支撑点p,如果
||d(x,p)-d(xj,p)||>d(x,nnk(x,D)),
那么xj不可能为x的k最近邻;
以伪代码描述离群检测算法流程如下:
输入:最近邻数量k,离群点数量n,数据集D
输出:离群点集
S1,读取索引,将离群点集初始化为空;
S2,划分索引序列为数据块,得到离群检测顺序;
S3,离群点集初始化为空;
S4,按检测顺序逐数据块读取数据集;
S5,对每个候选支撑点使用定理2确定哪些对象为非离群点,按照它们的对象ID,从未检测的数据块中找到并剔除之;
S6,如果所有数据块都已检测,输出离群点检测结果,即离群点集;
S7,如果定理1成立,输出离群点集;
S8,数据块每个对象相对全局数据集以螺旋顺序搜索k最近邻,如果定理3成立,不必计算距离,直接排除,一旦发现离群度小于c,则将对象x从当前数据块B移除;
S9,按上述步骤检测完数据块B之后,将数据块B剩余的所有对象与当前的离群点集合并,取离群度最大的n个对象作为离群点集;
S10,所有数据块检测完,输出离群点集。
6.一种多因子集成的农业气象离群检测装置,其特征在于,所述装置包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序运行在以下装置的单元中:
气象因子确定单元,用于用户确定农业气象因子和距离函数;
支撑点选取单元,用于支撑点选取;
建立索引单元,用于建立索引;
离群检测单元,用于离群检测。
CN201910154358.2A 2019-03-01 2019-03-01 一种多因子集成的农业气象离群检测方法及装置 Pending CN110070100A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910154358.2A CN110070100A (zh) 2019-03-01 2019-03-01 一种多因子集成的农业气象离群检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910154358.2A CN110070100A (zh) 2019-03-01 2019-03-01 一种多因子集成的农业气象离群检测方法及装置

Publications (1)

Publication Number Publication Date
CN110070100A true CN110070100A (zh) 2019-07-30

Family

ID=67365971

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910154358.2A Pending CN110070100A (zh) 2019-03-01 2019-03-01 一种多因子集成的农业气象离群检测方法及装置

Country Status (1)

Country Link
CN (1) CN110070100A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113065036A (zh) * 2021-04-14 2021-07-02 深圳大学 一种度量空间支撑点性能衡量方法、装置及相关组件
CN113407786A (zh) * 2021-06-22 2021-09-17 深圳大学 基于欧氏距离的度量空间索引构建方法、装置及相关设备
WO2022141746A1 (zh) * 2020-12-30 2022-07-07 佛山科学技术学院 一种水质异常检测方法及电子设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
许红龙: "基于多种支撑点的度量空间离群检测算法", 《计算机学报》 *
马晓娟: "离群点检测算法的研究与应用", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022141746A1 (zh) * 2020-12-30 2022-07-07 佛山科学技术学院 一种水质异常检测方法及电子设备
CN113065036A (zh) * 2021-04-14 2021-07-02 深圳大学 一种度量空间支撑点性能衡量方法、装置及相关组件
CN113065036B (zh) * 2021-04-14 2021-11-16 深圳大学 一种度量空间支撑点性能衡量方法、装置及相关组件
CN113407786A (zh) * 2021-06-22 2021-09-17 深圳大学 基于欧氏距离的度量空间索引构建方法、装置及相关设备

Similar Documents

Publication Publication Date Title
CN110070100A (zh) 一种多因子集成的农业气象离群检测方法及装置
CN102693266B (zh) 搜索数据库的方法、生成索引结构的导航设备和方法
CN106874292A (zh) 话题处理方法及装置
CN103914463B (zh) 一种图片信息的相似性检索方法和装置
CN109508349A (zh) 一种度量空间离群检测方法及装置
CN109885688A (zh) 文本分类方法、装置、计算机可读存储介质和电子设备
CN105787126B (zh) k-d树生成方法和k-d树生成装置
CN108549690A (zh) 基于空间距离约束的空间关键字查询方法及系统
CN104517052B (zh) 一种入侵检测方法及装置
CN107291539B (zh) 基于资源重要程度的集群程序调度方法
Kucuktunc et al. λ-diverse nearest neighbors browsing for multidimensional data
CN111159184A (zh) 元数据追溯方法、装置及服务器
CN106503196A (zh) 云环境下可扩展存储索引结构的构建和查询方法
Wang et al. Remote-sensing image retrieval by combining image visual and semantic features
CN108304851A (zh) 一种高维数据流异常点识别方法
CN106843803B (zh) 一种基于归并树的全排序加速器及应用
CN112906865A (zh) 神经网络架构搜索方法、装置、电子设备及存储介质
CN116401417A (zh) 一种基于海量农产品数据的分级存储方法
WO2017095413A1 (en) Incremental automatic update of ranked neighbor lists based on k-th nearest neighbors
CN108562867A (zh) 一种基于聚类的指纹定位方法及装置
CN101339568B (zh) 一种构建数据树的方法和装置
CN109657060B (zh) 安全生产事故案例推送方法及系统
CN107807793A (zh) 分布式计算机存储系统中数据副本异构存储与访问方法
CN107203554A (zh) 一种分布式检索方法及装置
Yan et al. Probabilistic convex hull queries over uncertain data

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