Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >五种常用异常检测方法

五种常用异常检测方法

作者头像
为为为什么
发布于 2023-07-20 12:57:47
发布于 2023-07-20 12:57:47
1.8K0
举报
文章被收录于专栏:又见苍岚又见苍岚

本文介绍了数据科学家必备的五种检测异常值的方法。

简介

在统计学中,异常值是指不属于某一特定群体的数据点。它是一个与其他数值大不相同的异常观测值,与良好构成的数据组相背离。

例如,你可以清楚地看到这个列表里的异常值:20, 24, 22, 19, 29, 18, 4300, 30, 18.

当观测值仅仅是一堆数字并且是一维时,很容易识别出异常值。但是,当你有成千上万的观测值或者是多维度时,你将需要更多巧妙的办法来检测出那些异常值。这就是本文要讨论的内容。

下面介绍 5 种常用的检测异常值的方法。

标准差

在统计学中,如果一个数据分布式近似正态分布,那么大约68%的数据值在平均值的前后一个标准差范围内,大约95%的数据值在平均值的前后两个标准差范围内,大约99.7%的数据值在前后三个标准差的范围内。

因此,如果你有任何出现在三个标准差范围外的数据点,那么那些点就极有可能是异常值。

箱线图

箱线图是指通过分位数对数值型数据的图形化描述。这是一种非常简单但有效的异常值可视化方法。把上下须触线看作数据分布的上下边界。任何出现在下须触线下面或上须触线上面的数据点可以被看作异常值。

四分位差是重要的,因为它用于定义异常值。它是第三个四分位数和第一个四分位数的差(IQR=Q3-Q1). 这种情况下的异常值被定义为低于(Q1-1.5IQR)或低于箱线图下须触线或高于(Q3+1.5IQR)或高于箱线图上须触线的观测值。

如果数据服从高斯分布,那么可以类比标准差的异常检测结果:

DBScan聚类

DBScan是一种用于将数据分组的集群算法。它也也可以用于基于密度的对于一维或多维数据的异常检测方法。

  • 核心点:为了理解核心点,我们需要访问一些用于定义DBScan工作的超参数。第一个超参数是最小值样本(min_samples)。这只是形成集聚的核心点的最小数量。第二重要的超参数eps,它是两个被视为在同一个簇中的样本之间的最大距离。
  • 边界点:是与核心点在同一集群的点,但是要离集群中心远得多。

可以用数据建立合理区域的区间,每个数据会产生一个合理范围,这个范围可以叠加,如果测试数据落在大量数据的合理区间内,那么我们基本上可以认为数据正常,如果测试数据落在所有数据或少量数据合理范围内,那么他在一定程度上可以被认为是异常的。

孤立森林

孤立森林是一种无监督学习的算法,属于集成决策树族。这种方法与前面的方法都不同。所有前面的方法是试图找到数据的正常区域,然后将所定义区域外的任何值视为异常值。

这种方法的工作原理不同。它是明确的孤立异常值,而不是通过给每个点分配一个分数来构造正常的点和区域。它充分利用了这样一个事实:异常值只占数据的小部分,并且它们有与正常值大不相同的属性。该算法适用于高维数据集,并且被证实是一种非常有效的检测异常值的方法。

  • 原始论文

Robust Random Cut Forest

Robust Random Cut Forest算法是亚马逊用于检测异常值的无监督算法。它也通过关联异常分数来工作。低的分数值表示数据点是“正常的”,高的值表示数据中存在异常。“低”和“高”的定义取决于应用,但是一般实践表明,超过平均值三个标准差的分数被认为是异常的。算法的细节可以在这篇文章中找到。

这个算法的最大优势是它可以处理非常高维的数据。它还可以处理实时数据流(内置AWS Kinesis Analytics)和离线数据。

该算法的论文给出了一些与孤立森林相比较的性能标准。论文结果表明,RCF比孤立森林更加准确和快速。

参考资料

文章链接: https://www.zywvvd.com/notes/study/data_analysis/abnormal-data-det/abnormal-data-det/

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023年7月13日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
独家 | 每个数据科学家应该知道的五种检测异常值的方法(附Python代码)
作者:Will Badr 翻译:顾伟嵩校对:欧阳锦 本文约1600字,建议阅读5分钟本文介绍了数据科学家必备的五种检测异常值的方法。
数据派THU
2021/07/16
7.2K0
学会五种常用异常值检测方法,亡羊补牢不如积谷防饥
在统计学中,是并不属于特定族群的数据点,是与其它值相距甚远的异常观测。离群点是一种与其它结构良好的数据不同的观测值。
统计学家
2019/07/15
2.4K0
学会五种常用异常值检测方法,亡羊补牢不如积谷防饥
学会五种常用异常值检测方法,亡羊补牢不如积谷防饥
在统计学中,离群点是并不属于特定族群的数据点,是与其它值相距甚远的异常观测。离群点是一种与其它结构良好的数据不同的观测值。
机器之心
2019/07/12
8640
学会五种常用异常值检测方法,亡羊补牢不如积谷防饥
一文读懂!异常检测全攻略!从统计方法到机器学习 ⛵
异常值是偏离数据集中大多数样本点的数据点。出现异常值的原因有很多,例如自然偏差、欺诈活动、人为或系统错误。不过,在我们进行任何统计分析或训练机器学习模型之前,对数据检测和识别异常值都是必不可少的,这个预处理的过程会影响最后的效果。
ShowMeAI
2022/11/29
4K0
一文读懂!异常检测全攻略!从统计方法到机器学习 ⛵
Pandas数据应用:异常检测
在数据分析中,异常检测是一项重要的任务。异常值(也称为离群点)是指与大多数观测值显著不同的数据点。这些异常值可能会影响分析结果的准确性,甚至导致错误结论。Pandas 是 Python 中用于数据分析的强大库,提供了多种方法来检测和处理异常值。本文将由浅入深地介绍常见的异常检测问题、常见报错及如何避免或解决这些问题,并通过代码案例进行解释。
Jimaks
2025/01/06
2650
检测和处理异常值的极简指南
来源:DeepHub IMBA本文约2300字,建议阅读5分钟本文为你介绍检测和处理数据集中的异常值。 本文是关于检测和处理数据集中的异常值,主要包含以下四部分内容: 什么是异常值? 为什么检测异常值很重要? 如何检测异常值? 如何处理异常值? 什么是异常值? 异常值是与其他观察结果显着不同的数据点。如下图所示,橙色数据点与一般分布相去甚远。我们将此点称为异常值。 为什么检测异常值很重要? 在数据科学项目、统计分析、机器学习应用中检测异常值非常重要: 异常值会导致分布偏斜。 异常值会严重影响数据集的
数据派THU
2022/05/09
5370
检测和处理异常值的极简指南
异常值检测!最佳统计方法实践(代码实现)!⛵
异常值是距离其他数据值太远的数据点,也被称为离群点。它可能是自然发生的,也可能是由于测量不准确、拼写错误或系统故障造成的。异常值也可能出现在倾斜数据中,这些类型的异常值被认为是自然异常值。
ShowMeAI
2022/11/23
1.9K4
异常值检测!最佳统计方法实践(代码实现)!⛵
四种检测异常值的常用技术简述
在训练机器学习算法或应用统计技术时,错误值或异常值可能是一个严重的问题,它们通常会造成测量误差或异常系统条件的结果,因此不具有描述底层系统的特征。实际上,最佳做法是在进行下一步分析之前,就应该进行异常值去除处理。 在某些情况下,异常值可以提供有关整个系统中局部异常的信息;因此,检测异常值是一个有价值的过程,因为在这个工程中,可以提供有关数据集的附加信息。 目前有许多技术可以检测异常值,并且可以自主选择是否从数据集中删除。在这篇博文中,将展示KNIME分析平台中四种最常用的异常值检测的技术。
用户3578099
2019/08/15
1.6K0
深入机器学习系列之异常检测
今天要给大家介绍的是异常检测(Anomaly Detection), 它是机器学习的一个重要分支,实际应用领域广泛,更与我们的生活息息相关。那么什么是异常检测?其主要方法和目前所面临的技术难题有哪些?本文或许能提供一些参考。
数据猿
2019/07/19
8750
深入机器学习系列之异常检测
使用可视化工具和统计方法检测异常值
来源:Deephub Imba 本文约2500字,建议阅读7分钟 如果我们在去除异常值之前和之后计算这些统计数据,我们会得到不同的结果。 异常值(离群值)是指距离其他数据值太远的数据值。数据异常值可能是自然产生的,也可能是由于测量不准确、或系统故障造成的。与缺失值类似,异常值会破坏数据科学项目并返回错误的结果或预测。异常值也可能出现在倾斜数据中,这些类型的异常值被认为是自然异常值。 异常值会影响数据的平均值、标准差和四分位范围。如果我们在去除异常值之前和之后计算这些统计数据,我们会得到不同的结果。 异
数据派THU
2022/10/09
8490
使用可视化工具和统计方法检测异常值
使用可视化工具和统计方法检测异常值
异常值(离群值)是指距离其他数据值太远的数据值。数据异常值可能是自然产生的,也可能是由于测量不准确、或系统故障造成的。与缺失值类似,异常值会破坏数据科学项目并返回错误的结果或预测。异常值也可能出现在倾斜数据中,这些类型的异常值被认为是自然异常值。
deephub
2022/11/11
3890
使用可视化工具和统计方法检测异常值
收藏!14 种异常检测方法总结
来源:宅码本文约7800字,建议阅读10分钟本文收集整理了公开网络上一些常见的异常检测方法(附资料来源和代码)。 本文收集整理了公开网络上一些常见的异常检测方法(附资料来源和代码)。不足之处,还望批评指正。 一、基于分布的方法 1. 3sigma 基于正态分布,3sigma准则认为超过3sigma的数据为异常点。 图1: 3sigma def three_sigma(s):     mu, std = np.mean(s), np.std(s)     lower, upper = mu-3*std
数据派THU
2022/06/29
1.2K0
收藏!14 种异常检测方法总结
数据异常值处理-下
大家好啊,今天承接上篇给大家介绍一下数据异常值相关知识,在原理这块需要点数学基础。
陈南GISer
2022/04/04
1.2K0
数据异常值处理-下
14种异常检测方法汇总(附代码)!
今天给大家分享一篇关于异常检测的文章,重点介绍了14种公开网络上一些常见的异常检测方法(附资料来源和代码)。
小白学视觉
2022/12/27
2.7K0
14种异常检测方法汇总(附代码)!
异常点检测算法
在进行机器学习建模之前,首先要对数据中存在的异常点样本进行过滤,异常点,也叫做离群点,对数据的归一化,以及后续建模的准确性都会造成影响。因此,必须先去除异常点,常用的有以下3种策略
生信修炼手册
2021/04/29
9330
异常点检测算法
10分钟掌握异常检测
你可能已经注意到,一些不平衡分类的问题也经常使用异常检测算法来解决。例如,垃圾邮件检测任务可以被认为是一个分类任务(垃圾邮件比普通电子邮件少得多),但是我们可以用异常检测的方法实现这个任务。
deephub
2021/10/09
6340
10分钟掌握异常检测
异常检测怎么做,试试孤立随机森林算法(附代码)
从银行欺诈到预防性的机器维护,异常检测是机器学习中非常有效且普遍的应用。在该任务中,孤立森林算法是简单而有效的选择。
机器之心
2020/03/25
2.6K0
总结了14种数据异常值检验的方法!
来源:宅码本文约7100字,建议阅读10+分钟本文收集整理了公开网络上一些常见的异常检测方法(附资料来源和代码)。 一、基于分布的方法 1. 3sigma 基于正态分布,3sigma准则认为超过3sigma的数据为异常点。 图1: 3sigma def three_sigma(s): mu, std = np.mean(s), np.std(s) lower, upper = mu-3*std, mu+3*std return lower, upper ‍ 2. Z-sco
数据派THU
2022/09/19
1K0
总结了14种数据异常值检验的方法!
图解数据分析 | 数据清洗与预处理
教程地址:http://www.showmeai.tech/tutorials/33
ShowMeAI
2022/02/25
1.2K0
图解数据分析 | 数据清洗与预处理
快速找到离群值的三种方法
离群值(Outliers)是指在数据集中与其他数据点明显不同或者异常的数据点。这些数据点可能比其他数据点要远离数据集的中心,或者具有异常的数值。离群值可能是由于数据采集错误、异常事件、测量误差或者其他未知因素引起的。
deephub
2023/09/24
2K0
快速找到离群值的三种方法
推荐阅读
相关推荐
独家 | 每个数据科学家应该知道的五种检测异常值的方法(附Python代码)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档