原文: https://machinelearningmastery.com/how-to-identify-outliers-in-your-data/
Bojan Miletic 在使用机器学习算法时询问了有关数据集中异常值检测的问题。这篇文章是对他的问题的回答。
如果您对机器学习有疑问,请注册时事通讯并回复电子邮件或使用联系表格并询问,我会回答您的问题,甚至可能将其变成博客文章。
许多机器学习算法对输入数据中属性值的范围和分布敏感。输入数据中的异常值可能会扭曲和误导机器学习算法的训练过程,从而导致更长的训练时间,更不准确的模型以及最终的较差结果。
异常 摄影: Robert S. Donovan ,保留一些权利
即使在针对训练数据准备预测模型之前,异常值也可能导致误导性表示,进而导致对收集数据的误导性解释。异常值可以在描述性统计中偏离属性值的摘要分布,如平均值和标准差,以及直方图和散点图等图形,压缩数据体。
最后,异常值可以表示与问题相关的数据实例的示例,例如欺诈检测和计算机安全性中的异常。
异常值是极端值,远远超出其他观察值。例如,在正态分布中,异常值可以是分布尾部的值。
识别异常值的过程在数据挖掘和机器学习中有许多名称,例如异常值挖掘,异常值建模和新颖性检测以及异常检测。
在他的书异常分析(联盟链接)中,Aggarwal 提供了一个有用的离群检测方法分类,如下:
- 极值分析:确定数据底层分布的统计尾部。例如,统计方法,如单变量数据的 z 分数。
- 概率和统计模型:从数据的概率模型中确定不太可能的实例。例如,使用期望最大化优化的高斯混合模型。
- 线性模型:使用线性相关将数据建模到较低维度的投影方法。例如,主成分分析和具有大残差的数据可能是异常值。
- 基于邻近度的模型:与群集,密度或最近邻分析确定的数据质量隔离的数据实例。
- 信息理论模型:异常值被检测为数据实例,增加了数据集的复杂性(最小代码长度)。
- 高维异常值检测:搜索子空间中异常值的方法可以在更高维度(维数的诅咒)中分解基于距离的度量。
Aggarwal 评论说,异常模型的可解释性至关重要。对于特定数据实例为何或不是异常值的决策,需要上下文或基本原理。
在他对数据挖掘和知识发现手册(会员链接)的贡献篇章中,Irad Ben-Gal 提出了异常模型的分类,如单变量或多变量,参数和非参数。这是基于已知数据来构造方法的有用方法。例如:
- 您是否考虑过一个或多个属性中的异常值(单变量或多变量方法)?
- 您能否假设一个统计分布,从中采集或不采样(参数或非参数)?
有许多方法和很多研究都用于异常检测。首先进行一些假设和设计实验,您可以清楚地观察这些假设对某些表现或准确度测量的影响。
我建议通过极值分析,接近方法和投影方法的步进过程。
您无需了解高级统计方法即可查找,分析和过滤数据中的异常值。通过极值分析开始简单。
- 专注于单变量方法
- 使用散点图,直方图和框和胡须图可视化数据并查找极值
- 假设分布(高斯分布)并寻找与平均值相比超过 2 或 3 个标准差的值或从第一个或第三个四分位数开始的 1.5 倍的值
- 从训练数据集中筛选出异常值候选者并评估您的模型表现
一旦探索了更简单的极值方法,请考虑转向基于邻近度的方法。
- 使用聚类方法识别数据中的自然聚类(例如 k 均值算法)
- 识别并标记聚类质心
- 识别与集群质心具有固定距离或百分比距离的数据实例
- 从训练数据集中筛选出异常值候选者并评估您的模型表现
投影方法应用起来相对简单,并且可以快速突出显示无关的值。
- 使用投影方法将数据汇总为两个维度(例如 PCA,SOM 或 Sammon 的映射)
- 可视化映射并手动识别异常值
- 使用来自投影值或码本向量的邻近度量来识别异常值
- 从训练数据集中筛选出异常值候选者并评估您的模型表现
另一种策略是转向对异常值具有鲁棒性的模型。有强大的回归形式可以最小化中位数最小二乘误差而不是均值(所谓的稳健回归),但计算量更大。还有一些方法,如决策树,对异常值很强。
您可以检查一些对异常值有效的方法。如果存在显着的模型准确率优势,则可能有机会对训练数据中的异常值进行建模和过滤。
有很多网页讨论异常值检测,但我建议阅读一本关于这个主题的好书,更具权威性。即使查看机器学习和数据挖掘的入门书籍也不会对您有用。有关统计学家对异常值的经典处理,请查看:
- Rousseeuw 和 Leroy 于 2003 年发布的鲁棒回归和异常检测(会员链接)
- Barnett 和 Lewis 于 1994 年出版的统计量(会员链接)中的异常值
- 异常值的识别(会员链接)霍金斯出版于 1980 年的专着
有关数据挖掘社区对异常值的现代处理,请参阅:
- 异常分析(会员链接)由 Aggarwal 于 2013 年出版
- 第 7 章,Irad Ben-Gal 在数据挖掘与知识发现手册(会员链接)中编辑,由 Maimon 和 Rokach 编辑,于 2010 年出版