电子罗盘/磁强计的离群点检测方法及实现
目录
- 一、离群点简介
- 二、离群点检测方法
- 三、离群点检测算法实验
一、离群点简介
离群点含义
Hawkins离群点定义:离群点是观测值,它与其他观测值的差别如此之大,以至于怀疑它是由不同的机制产生的
离群点的来源
电子罗盘受到硬磁干扰与软磁干扰,使得磁场矢量的包络圆球变为椭球[1]。由于传感器本身的噪声、非线性、温度等因素的影响,椭球面会产生形变,导致离群点的出现[2]。
离群点类型
- 全局离群点:一个数据对象是全局离群点,如果它显著地偏离数据集中的其他对象
- 情境离群点:一个数据对象是情境离群点,如果关于对象的特定情境,它显著偏离其余对象
-
集体离群点:数据对象的一个子集形成集体离群点,如果这些对象作为整体显著偏离整个数据集
离群点检测的挑战 - 建模:如何建模?选用何种指标度量
- 针对应用:检测依赖应用类型,具体问题具体分析
- 噪声处理:离群点不同于噪声,噪声又难以避免
- 可解释性*:用户可能不仅要检测离群点,而且需要知道产生的机制
二、离群点检测方法
- 基于统计分布的方法
- 基于邻近性方法
- 基于聚类的方法
2.1 基于统计分布的方法
离群点的概率定义:离群点关于数据的概率分布模型具有低概率[3]。
统计分布方法思想
a) 为数据集构建一个概率统计模型(例如正态,泊松,二项式分布等,其中的参数由数据求得)
b)根据模型采用不和谐检验识别离群点。不和谐校验过程中需要样本空间数据集的参数知识,分布的参数知识以及期望的离群点数目
优缺点
优点:建立在非常标准的统计学原理之上,当数据和检验的类型十分充分时,检验十分有效。
缺点:1)绝大多数检验是针对单个属性的,不适合多维空间,这是一个主要缺点; 2)需要预先知道样本空间中数据集的分布特征,而这部分知识很可能在检测前无法获得,不能确保所有离群点被发现。
总结:统计分布方法不适用于电子罗盘离群点检测,虽然电子罗盘数据点符合椭球分布,但在拟合前依然无法确定椭球的具体参数。
2.2 基于邻近性的方法
有两种类型基于邻近性的方法:基于距离的和基于密度的方法。
基于距离的方法
索引算法
搜索每个对象在半径范围内近邻。设M是一个离群点的邻域类的最大对象数目。如果对象的M+1个近邻被发现,则对象就不是离群点。这个算法在最坏情况下的复杂度为,k为维数,n为数据集合中对象的数目。当k增加时,基于索引的算法具有优良的扩展性。
K最近邻法/KNN[4]
度量一个对象是否远离大部分点,一种简单有效且应用广泛的方法是使用KNN。
该方法思想:
(1)算出一个对象的第K个最近邻距离
(2)比较与给定阈值,如果,则将此对象归为离群点
该方法有若干变种,2000年, Ramaswamy[5]等人提出一种相似算法,其思想是将对象按K最近邻距离进行降序排列,取前n个对象作为离群点。这避免了阈值选取不当带来的问题,但n的选取依然依靠先验知识。
基于距离算法的优缺点:
优点:简单易用,适用于检测出全局离群点。
缺点:a) 该方法对参数选择敏感,可能微小的参数变化带来结果的很大不同;b)无法处理密度不同区域对象,因其使用全局阈值,未考虑密度变化
基于密度的方法
基于密度的方法能够检测出局部离群点,这是基于距离的方法不能识别的。
局部离群点:是指一个对象相对于它的局部邻域,特别是关于邻域密度,它是远离的。
如何定义局部离群点?
关键思想是将对象周围的密度与对象邻域周围密度进行比较。基本假定是:正常对象周围密度与其邻域周围密度相似,而离群点周围密度显著不同于其邻域周围的密度。
局部离群点因子(LOF)衡量对象的密度。为定义LOF,需引入以下概念:
- 对象p的k距离,即对象p的第k个最近邻点距离
- 对象p的k距离邻域,已知对象p的k距离,与对象p小于等于k-distance§对象的集合称为对象p的k距离邻域,记作:
- 对象p相对o的可达距离,定义为
- 局部可达密度,对象p的局部可达密度定义为p的第k距离邻域的平均可达距离的倒数
- 局部离群点因子,表征p是离群点的程度,定义如下:
总结
如果对象p不是局部离群点因子,则接近于1。反之,p是局部离群点程度越高,则值越大 - 优点:基于密度的方法在样本空间数据分布不均匀的情况下也能准确发现离群点
- 缺点:具有的时间复杂度;无法有效识别全局离群点
2.2 基于聚类的方法
基于聚类的离群点定义:一个对象是基于聚类的离群点,如果该对象不强属于任何簇。
聚类方法发现强相关对象簇,而离群点检测发现不与其他对象强相关的对象,因此聚类方法可用于离群点检测
主要聚类方法[6]
- 划分方法:K-mean、K-medoids
- 层次方法: BIRCH、CURE
- 基于密度方法:DBSCAN、OPTICS
- 基于网格方法:STING
- 基于模型:神经网络
- 混合方法:两阶段法[7]
针对电子罗盘数据特点,发现基于密度的聚类算法DBSCAN较适合离群点检测,下面重点介绍此算法:
DBSCAN(Density-Based Spatial Clustering of Application with Noise):一种基于高密度连通区域的密度聚类
大部分聚类算法只能识别球形的簇,而电子罗盘数据是椭球分布的,为了发现此种簇,甚至是任意形状的簇,可以把簇看做空间中稠密性相似的区域,这是基于密度聚类方法的主要策略。
DBSCAN如何确定对象的邻域?
-
用户指定参数确定对象的邻域半径,对象o的-邻域是以o为中心,以为半径的空间。
-
邻域的密度用邻域内的对象数度量
-
如果一个对象的-邻域至少包含MinPts个对象,则为核心对象
给定一个对象集合D,就可识别关于参数和MinPts的所有核心对象。聚类任务就归结为使用核心对象和它们的邻域形成稠密区域
DBSCAN步骤
- 数据集D中所有对象被标记为“unvisited”
- 随机选择一个未访问对象p,标记p为“visited”
- 检查p的-邻域是否包含至少MinPts个对象?
- 是,则为p创建新簇C,并将-邻域内对象添加到候选集合N中
- 否则,将p标记为离群点
- 检查集合N中每一个对象,标记为“visited”。如果为核心对象,则将其添加至簇C,并将-邻域内对象继续添加至N;否则,标记为离群点
- DBSCAN迭代上述步骤,直到C无法扩充,也即N为空集。此时,簇C完全生成,被输出
- 为了找出下一簇,再次从未访问对象中随机选择一个,标记为“visited”
- 重复步骤3~7,直到所有对象都被访问
优点:如果参数设置恰当,则该算法可以有效发现任意形状的簇
缺点:对于大数据集,聚类算法的开销很大,可能成为瓶颈
三、离群点检测算法实验
参考
- [1] Liu Shi-bin. Study on automatic magnetic deviation compensation of magnetic heading measurement for UAV[J]. ActaAeronautica et Astronautica Sinica,2007,28(2):411-414
- [2] Vcelak J,Ripka P,Platil A,et al.Errors of AMR compass and methods of their compensation[J].Sensors and Actuators A:Physical, 2006, 129(1):53-57
- [3] 数据挖掘导论,(美)斯坦巴赫著;范明等译. 北京:人民邮电出版社, 2006.5
- [4] Simon Byers, Adrain E Raftery. Nearest-neighbor clutter removal for estimating features in spatial point processes.[J]Journal of the American Statistical Association;Jun 1998;93,442;ABI/INFORM Global pg.577
- [5] S.Ramaswamy, R.Rastogi,and K.Shim, “Efficient algorithms for mining outliers from large data sets”, SIGMOD Record(ACM Special Interset Group on Management of Data),vol.29,no.2,pp.427-438,2000
- [6] 数据挖掘导论,朱明编著. 合肥,中国科学技术大学出版社,2012.1
- [7] Two-Stage Outlier Elimination for RobustCurve and Surface Fitting.Jieqi Yu,Haipeng Zheng,Sanjeev R.Kulkarni, and H.Vincent Poor. EURASIP Journal on Advances in Signal Processing.Volume 2010,Article ID 154891, 13 pages