使用马氏距离发现异常点

6 sec read

先前学习了很对的距离计算方法,今天从网上学习到了一篇使用马氏距离发现异常数据的文章,摘录下来,供以后复习。

假设有一个关于身高和体重的数据:

将这些点画成散点图,你就可以直观的看到异常点,例如,我们假设与数据中心偏离大于2的即为异常值,则:

身高为175cm的这个数据点(图中右下角)并没有被标记为异常点,它与数据中心的标准偏差低于2,但是从图中直观的发现的它偏离身高、体重的线性关系,可以说它才是真正的离群点。

下面我们使用马氏距离求解:

上面的代码根据马氏距离检测离群值得两个极端点。这个技术在高维也是如此,下面我们举一个3维中的例子:

你也可以通过这种方式移除掉5%的最有可能是异常点的数据:

这种方法通常可以快速地检查你的分析结果是否受到异常值的影响。你可以先在整个数据集上运行,然后再通过该方法去掉异常值后再分析一遍,若两次有较大的差距,那你就该考虑使用一个更健壮的分析方法了。

注意,当你的数据表现出非线性关系时,你可要谨慎使用该方法了,马氏距离仅仅把他们作为线性关系处理。例如下面的例子:

由于数据集的变量之间的关系是非线性的,位于中间的最明显的离群值没有被检测到。

原文链接:

打赏作者
微信支付标点符 wechat qrcode
支付宝标点符 alipay qrcode

Pandas学习之差分函数diff

在上一篇的文章中,我们学习了Pandas的shift函数,今天要来学习的是diff函数,shift函数与dif
55 sec read

Pandas Shift函数学习笔记

在使用Pandas的过程中,有时会遇到shift函数,今天就一起来彻底学习下。先来看看帮助文档是怎么说的: &
1 min read

使用Python进行相关性分析

在数据分析时,经常会针对两个变量进行相关性分析。在Python中主要用到的方法是pandas中的corr()方
42 sec read

发表评论

电子邮件地址不会被公开。 必填项已用*标注