什么是离群点?定义和如何在统计学中寻找离群点

725 阅读8分钟

离群值是数据集的一个重要部分。它们可以保存关于你的数据的有用信息。

离群值可以为你研究的数据提供有用的见解,而且它们可以对统计结果产生影响。这有可能帮助你发现不一致的地方,并发现统计过程中的任何错误。

因此,知道如何在数据集中找到离群值将有助于你更好地理解你的数据。

在统计学中,有几种不同的方法来发现异常值。

本文将解释如何通过计算四分位数范围来检测数字离群值。

我举了一个非常简单的数据集的例子,以及如何计算四分位数范围,如果你愿意,可以跟着做。

让我们开始吧!

什么是统计学中的离群点?A 定义

简单来说,离群点是指相对于最近的数据点和你正在处理的数据图或数据集中的其他相邻的共存值而言,一个极高或极低的数据点。

离群值是指在数据集或图表中的整体数值模式中非常突出的极端数值。

下面,在图表的最左边,有一个离群值。

1月份的数值明显低于其他月份的数值。

Screenshot-2021-08-24-at-3.07.05-PM

如何识别数据集中的离群点

好吧,你如何去寻找离群点?

一个离群点必须满足以下两个条件中的一个。

outlier < Q1 - 1.5(IQR)
outlier > Q3 + 1.5(IQR)

低离群点的规则是,数据集中的一个数据点必须小于Q1 - 1.5xIQR

这意味着一个数据点需要低于第一个四分位数1.5倍以上的四分位数范围才能被认为是低离群点。

高离群点的规则是,如果数据集中的任何数据点超过Q3 - 1.5xIQR ,它就是一个高离群点。

更具体地说,数据点需要落在第三四分位数以上的四分位数范围的1.5倍以上,才能被视为高离群点。

正如你所看到的,在一个数据集中,你需要首先计算某些单独的数值,比如IQR 。但是要找到IQR ,你需要找到所谓的第一和第三四分位数,分别是Q1Q3

因此,让我们来看看这些东西的作用,并分析如何在奇数和偶数数据集中找到它们的值。

如何在奇数数据集中找到上四分位数和下四分位数

首先,我们假设你有这个数据集。

25,14,6,5,5,30,11,11,13,4,2

第一步是将这些数值按照从小到大的数字顺序排序

2,4,5,5,6,11,11,13,14,25,30

最低值**(MIN**)是2 ,最高值**(MAX**)是30

如何在一个奇数数据集中计算Q2

下一步是找到中位数四分位数2(Q2)

这组特殊的数据有一个奇数的值,总共有11 分。

在一个数据集中找到中位数意味着你要找到中间值--这组数据中唯一的中间数字。

在奇数数据集中,只有一个中间数。

由于总共有11 ,一个简单的方法是将数据集分成两个相等的部分,每边都包含5

中位数的一边是5 ,另一边是5

(2,4,5,5,6), 11,(11,13,14,25,30)

中位数是11 ,因为它是将前一半和后一半分开的数字。

另一个仔细检查你是否正确的方法是这样做的。

(total_number_of_scores + 1) / 2.

这是(11 + 1) /2 = 6 ,这意味着你要的是这组数据中6th 地方的数字--这是11

所以Q2 = 11

如何在一个奇数数据集中计算Q1

接下来,为了找到下四分位数Q1 ,我们需要找到数据集前半部分的中位数,也就是左手边的数据。

作为提醒,初始数据集是。

(2,4,5,5,6), 11,(11,13,14,25,30)

数据集的前半部分,即下半部分,不包括中位数。

2,4,5,5,6

这一次,又出现了一组奇怪的分数--具体来说,有5

你要再次将这一半集分成另一半,每边的两个值数量相等。你会得到一个独特的数字,这将是5 值中间的数字。

挑选出中间那个突出的数值。

(2,4),5,(5,6)

在这个例子中,它是Q1 = 5

为了仔细检查,你也可以做total_number_of_values + 1 / 2 ,与前面的例子类似。

(5 + 1) /2 = 3.

这意味着你要的是第三位的数字,也就是5

如何在一个奇数数据集中计算Q3

要找到上四分位数Q3,其过程与上面的Q1 相同。但在这种情况下,你要取数据集右侧的后半部分,在中位数以上,不包括中位数本身。

(2,4,5,5,6), 11,(11,13,14,25,30)

11,13,14,25,30

你把这一半的奇数集分成另一半,以找到中位数,然后再找到Q3 的值。

你又要像对前半部分那样把数字放在第三位。

(11,13),14,(25,30)

所以Q3 = 14

如何在一个奇数数据集中计算IQR

现在,下一步是计算IQR,它代表四分位数范围。

这是你上面计算的下四分位数(Q1)和上四分位数(Q3)之间的差异/距离。

作为提醒,这样做的公式如下。

IQR = Q3 - Q1

要从上面找到数据集的IQR。

IQR= 14 - 5
IQR = 9

如何在一个奇怪的数据集中找到一个离群点

回顾一下,到目前为止,数据集是下面这个。

2,4,5,5,6,11,11,13,14,25,30

而到目前为止,你已经计算出了五个数字的总结。

MIN = 2
Q1 = 5
MED = 11
Q3 = 14
MAX = 30

最后,让我们找出数据集中是否有任何离群点。

作为提醒,一个离群点必须符合以下标准。

outlier < Q1 - 1.5(IQR)

或者

outlier > Q3 + 1.5(IQR)

要想知道是否有最低值的离群点,你需要计算第一部分,看看集合中是否有满足条件的数字。

Outlier < Q1 - 1.5(IQR)
Outlier < 5 - 1.5(9)
Outlier < 5 - 13.5 
outlier < - 8.5

没有较低的离群值,因为在数据集中没有一个小于-8.5 的数字。

接下来,看是否有更高的离群值。

Outlier > Q3  + 1.5(IQR)=
Outlier > 14 + 1.5(9)
Outlier > 14 + 13.5
Outlier > 27,5

而在数据集中有一个数字超过了27,5

2,4,5,5,6,11,11,13,14,25,30

在这种情况下,30 是现有数据集中的离群值。

如何在一个偶数数据集中找到上四分位数和下四分位数

当你有一个由偶数数据集组成的数据集时,会发生什么?

没有一个突出的中位数(Q2),也没有一个突出的上四分位数(Q1)或突出的下四分位数(Q3)。

因此,计算四分位数,然后寻找离群点的过程有点不同。

如何在一个偶数数据集中计算Q2

假设你有这样一个数据集,其中有8 个数字。

10,15,20,26,28,30,35,40

这一次,数字已经从最低值到最高值进行了排序。

为了找到偶数数据集中的中位数,你需要找到位于中间的两个数字之间的数值。你把它们加在一起,然后除以2 ,像这样。

10,15,20,26,28,30,35,40

26 + 28 = 54
54 / 2 = 27

如何在一个偶数数据集中计算Q1

为了计算偶数数据集中的上四分位数和下四分位数,你要保留数据集中的所有数字(而不是在奇数数据集中去除中位数)。

这一次,数据集被切成两半。

10,15,20,26 | 28,30,35,40

为了找到Q1 ,你把数据集的前一半分成另一半,剩下的是一个偶数集。

10,15 | 20,26

为了找到这一半的中位数,你把中间的两个数字除以2。

Q1 = (15 + 20)/2
Q1 =  35 / 2
Q1 = 17,5

如何在一个偶数数据集中计算Q3

要找到Q3 ,你需要关注数据集的后半部分,并将这一半分成另一半。

28,30,35,40 ->28,30 | 35,40

中间的两个数字是3035

你把它们相加再除以2,结果就是。

Q3 = (30 + 35)/2
Q3 =  65 / 2
Q3 = 32,5

如何计算偶数数据集中的IQR

计算IQR的公式与我们用于计算奇数数据集的公式完全相同。

IQR = Q3 - Q1
IQR = 32,5 - 17,5
IQR = 15

如何在偶数数据集中找到离群点

作为总结,到目前为止,五个数字的总结如下。

MIN = 10
Q1 = 17,5
MED = 27
Q3 = 32,5
MAX = 40

要计算数据集中的任何离群值。

outlier < Q1 - 1.5(IQR)

outlier > Q3 + 1.5(IQR)

为了找到任何较低的离群值,你计算Q1 - 1.5(IQR) ,看看是否有任何小于结果的值。

outlier < 17,5 - 1.5(15)=
outlier < 17,5 - 22,5
outlier < -5

在数据集中没有任何小于-5 的值。

最后,为了找到任何较高的离群值,你计算Q3 - 1.5(IQR) ,看看数据集中是否有高于结果的值

outlier > 32.5 + 1.5(15)=
outlier > 32.5 + 22.5
outlier > 55

没有任何高于55 的值,所以这个数据集没有任何离群值。

总结

在这篇文章中,你学到了如何在数据集中找到四分位数范围,并通过这种方式计算出任何离群值。

如果你有兴趣学习更多关于统计学和数据科学的基础知识,请在freeCodeCamp的YouTube频道上查看这个8小时的免费大学课程

感谢你的阅读,学习愉快。


Dionysia Lemonaki

Dionysia Lemonaki

每天学习新的东西并写下它


如果你读到这里,请发推特给作者,表示你的关心。鸣谢

免费学习代码。freeCodeCamp的开源课程已经帮助超过40,000人获得了作为开发者的工作。开始吧