使用马氏距离发现异常点

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

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

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

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

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

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

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

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

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

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

原文链接:

微信支付标点符 wechat qrcode
支付宝标点符 alipay qrcode

机器学习在旅游与酒店个性化的研究

当我们访问Netflix、 YouTube 或Amazon时,我们认为个性化推荐是理所当然的。这些服务已经探索

机器学习: 商业与数据科学之间的桥梁

每次我们谈论自动驾驶汽车、聊天机器人、 AlphaGo 或者预测分析,都会涉及到一些机器学习技术的实现。在公众

Python检验数据是否正态分布

判断数据是否符合正态分布,比如使用3-sigma判断数据异常前,首先需要确定的是数据是否符合正态分布。今天一起

发表评论

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