箱型图(Box plot)是数据分析里面经常会使用的一种统计图,因形状如箱子而的名,有时也称为盒须图、盒式图、盒状图等。该图有以下的优势:

  • 不需要任何参数输入;
  • 对原始数据的分布没有任何假设;
  • 可以非常方便的识别出异常值。

箱型图中表示的一个重要的点就是四分位数,所以先简单介绍一下四分位数。

1 四分位数

1.1 概念

四分位数(Quartile)是统计学中分位数的一种,即把所有数值由小到大分成四等份,处于三个分割点位置的数值就是四分位数。

  • 第一四分位数($Q_1$):也称下四分位数(Lower Quartile),等于该样本中所有数值由小到大排列后第25%的数字。
  • 第二四分位数($Q_2$):也称中位数(Middle Quartile or Median),等于该样本中所有数值由小到大排列后第50%的数字。
  • 第三四分位数($Q_3$):也称上四分位数(Upper Quartile),等于该样本中所有数值由小到大排列后第75%的数字。

$Q_3$和$Q_1$的差距称为四分位距(InterQuartile Range, IQR)

$$ {\Delta}Q = Q3-Q1 $$

1.2 计算

计算分位数时先计算分位数的位置(以下公式中$n$表示样本总量):

$$ Q_1的位置 = \frac{n+1}{4} $$

$$ Q_2的位置 = \frac{2(n+1)}{4} = \frac{n+1}{2} $$

$$ Q_3的位置 = \frac{3(n+1)}{4} $$

比如有一份样本数据如下($n=11$):

6, 47, 49, 15, 42, 41, 7, 39, 43, 40, 36

先由小到大排列:

6, 7, 15, 36, 39, 40, 41, 42, 43, 47, 49

$$ Q_1的位置 = \frac{n+1}{4} = \frac{11+1}{4} = 3 $$

$$ Q_2的位置 = \frac{2(n+1)}{4} = \frac{n+1}{2} = \frac{11+1}{2} = 6 $$

$$ Q_3的位置 = \frac{3(n+1)}{4} = \frac{3*(11+1)}{4} = 9 $$

所以:$Q_1 = 15, Q_2 = 40, Q_3 = 43, {\Delta}Q = Q_3 - Q_1 = 28$

注:如果位置计算出来不是整数(即$n+1$不是4的倍数),一般取该位置两边数的加权平均值(也有直接取平均值的),位置离得越近的数值权重越高,一般权重为:$1-小数位$。比如对于以下样本:

1,2,3,4

$Q_1的位置=\frac{5}{4}=1.25$,介于1和2之间,且离1近,

如果加权平均的话:$Q_1 = 1*(1-0.25) + 2*0.25 = 1.25$

如果直接取平均值的话:$Q_1=\frac{1+2}{2} = 1.5$

2 箱型图

2.1 概念

一个典型的箱型图样子如下图所示:

箱型图

如标注所示,从下往上依次代表如下含义:

  • Lower Whisker/最小值
  • 下四分位数$Q_1$
  • 中位数$Q_2$
  • 上四分位数$Q_3$
  • Upper Whisker/最大值
  • 离群值(mild outlier)
  • 极端值(extreme outlier)

注意:

  • 很多地方也把Lower Whisker位置说为最小值,Upper Whisker说为最大值,这样容易引起误解,因为它们并非数据集里面的最大值,而是去除所有离群值和极端值之后的最小值和最大值。它们定义和计算方式如下:

    $$ Lower Whisker/最小值 = Q_1 - 1.5{\Delta}Q $$

    $$ Upper Whisker/最大值 = Q_3 + 1.5{\Delta}Q $$

  • 离群值和极端值有时统称为离群值或异常值(outlier)。

有很多方式可以绘制箱型图,比如Python的matplotlib库:

import matplotlib.pyplot as plt

data = (1, 20, 50, 55, 59, 64, 70, 73, 76, 80, 120, 250)
plt.boxplot(data)
plt.show()

图像如下:

箱型图示例

2.2 解读箱型图

得到数据的箱型图后,我们能从图上获取哪些信息呢?有一些通用的解读方法。比如下面的图中包含了四种不同形状和位置的箱型图:

不同形状和位置的箱型图

假设上面的图的数据是学生们对于某件事情的意见,从图上我们可以得出以下一些结论:

  • 箱型图比较短(指高度)说明数据整体比较集中,比如图(2),可能就暗示大家的意见整体比较统一。
  • 箱型图比较长说明数据范围比较大,比如图(1)和(3),可能就暗示大家的意见非常不统一。
  • 一个图的位置比别的图高或者低,比如图(3)比(4)位置高,这可能就暗示不同组之间的意见不同,比如可能男生的意见与女生的意见差异比较大。
  • 图的形状差异比较大,这四个箱型图都不一样,而且有些差异还比较明显,这说明可能有多个不同组持有不同的意见,需要再去调查分析。
  • 图中各个区域大小差异较大,比如图(1),$Q_3$和$Q_2$的距离显然小于$Q_2$和$Q_1$,这说明在$Q_3$和$Q_2$的区域中,大家意见整体比较一致,而在$Q_2$和$Q_1$区域内大家意见差异比较大。另外,$Q_3$到Upper Whisker之间距离比较长,说明在这个区域内大家的意见大多数趋近于$Q_3$。
  • 中值相同,分布不同。比如图(1)(2)(3)中值基本相同,但图形差异比较大,这说明他们对应的数据分布也不同。

上面最后一条提到了数据分布,一般查看数据分布我们更多的使用的是直方图(Histogram)或核密度估计图(kernel density estimate, KDE),但其实箱型图也可以查看数据分布,只是不是非常的直观。比如下图是标准正态分布的概率密度函数图和箱型图:

标准正态分布的箱型图和概率密度函数图

References

  1. BoxPlot, Wikipedia
  2. Quartile, Wikipedia
  3. Understanding and interpreting box plots