跳到正文
格致开物MATHWIKI

箱线图

箱线图(box plot,又称箱须图)用一个箱体、中位数线和两端的须概括一批数值的位置与分散程度,适合在相同尺度上比较多组数据。箱体两端通常对应第一、第三四分位数;须的画法有不同约定。本文采用明确的线性插值四分位数,以及“延伸到 1.5 倍四分位距围栏以内的最远实际观测”的须。

从十二次等候开始

下面十二个数表示十二次等候时间,单位为分钟。它们是为了演示计算而构造的合成数据,已按从小到大排列:

2,3,4,5,5,6,7,8,9,10,12,25.

最短为 2 分钟,最长为 25 分钟,但只报这两个数,会把大部分观察集中在 4 到 10 分钟附近的事实隐藏掉。先找排序后的中间位置:十二个数的中间是第六个 6 和第七个 7,因此中位数

Q2=6+72=6.5.

它表示中间的分界,而不是所有时间相加后的平均。这里六个值在 6.5 以下,六个值在 6.5 以上。样本量为奇数时,中位数直接取正中间的观察;有重复值时,中位数两侧不一定各有严格一半不同的值。

只用中位数仍不知道这些观察挤得紧不紧。把排序位置继续分到四分之一和四分之三,就得到第一四分位数 Q1第三四分位数 Q3。它们划出数据中部的一段范围。有限样本的“四分之一位置”常落在两个观察之间,因此需要说明插值规则。

四分位数怎样算:固定一种可复算的规则

本文所有图采用 R 的 quantile(..., type = 7) 所对应的线性插值规则。它把排好序的 n 个观察记为 x(1)x(n);括号下标表示排序位置,而不是某个观察的原始编号。要找比例位置 p[0,1] 的分位数,先算

h=1+(n1)p.

如果 h 是整数,就取第 h 个观察;如果 h=j+g,其中 j 是整数部分、0<g<1,就取

Q(p)=x(j)+g(x(j+1)x(j)).

这表示从第 j 个值向下一个值走完差距的 g 部分。端点 p=0,1 分别取最小值与最大值;仅有一个观察时,各分位数都等于那个值。这个算法并非唯一的样本分位数定义。R 官方文档列出九种方法,并明确其默认值为 type 7。R:Sample Quantiles,Type 7

对本例 n=12,第一四分位数的比例位置为 p=0.25,于是

h=1+11×0.25=3.75.

第 3 个值为 4,第 4 个值为 5,在它们之间走四分之三的距离,得到

Q1=4+0.75(54)=4.75.

第三四分位数取 p=0.75,位置为 1+11×0.75=9.25。第 9、10 个值为 9、10,因此

Q3=9+0.25(109)=9.25.

p=0.5 代入也会得到位置 6.5,插值得出前面的中位数 6.5。这样,最小值、第一四分位数、中位数、第三四分位数、最大值组成的五数概括

(2, 4.75, 6.5, 9.25, 25).

另一种常见课堂约定是把偶数样本分成上下两半,分别取这两半的中位数。对同一组十二个数,它给出 Q1=(4+5)/2=4.5Q3=(9+10)/2=9.5。差别来自约定,不能靠把小数四舍五入消除。尤其要注意,R 默认箱线图使用的上下“铰链”(hinges)也不总等于其默认 quantile 的四分位数;R 的箱线统计文档专门说明了偶数样本下的差异。R:Box Plot Statistics,Details

箱、围栏和须分别画在哪里

先画从 Q1=4.75Q3=9.25 的箱体,再在 Q2=6.5 处画一条中位数线。箱体沿数轴方向的长度为四分位距

IQR=Q3Q1=9.254.75=4.5.

本例在箱体两端之间有 5、5、6、7、8、9,共六个观察,恰好占一半。一般说箱体概括“中间约一半”数据更妥当:四分位数是位置摘要,有插值或大量重复值时,落在闭区间 [Q1,Q3] 内的观察比例不一定正好是 50%。

接着计算两道围栏。围栏用于决定哪些点单独标出,它们的距离是箱体长度的 1.5 倍:

1.5IQR=1.5×4.5=6.75, L=Q11.5IQR=4.756.75=2, U=Q3+1.5IQR=9.25+6.75=16.

这里下围栏为负数不表示有人等候了负的时间;它只是按给定规则计算的界限。十二个观察里,2 到 12 都在 [2,16] 内,25 在外。因此下须伸到 2,上须伸到 12,25 另画一个点。

十二个等候时间的箱线图,箱体从四点七五到九点二五,中位数六点五,须到实际观察二和十二;虚线围栏位于负二与十六,二十五在上围栏外单独画点
箱体、围栏与实际观察分开标示。虚线只帮助解释计算;通常成图可以不画围栏。下方点列保留全部十二次观察。

图中最值得核对的是 12 和 16:上须止于实际观察 12,而不是算出的围栏 16。 类似地,下须止于实际观察 2,而不是下围栏 −2。若恰有观察等于围栏,本文把它算在围栏以内。这与 R 文档中“不超过指定倍数”的须规则一致。五数概括里的最大值仍是 25;使用围栏以后,图上须的两个端点就不再总是样本最小值和最大值。

具体地,在数据里找出所有满足 LxiU 的观察,以其中最小者和最大者为须的终点;满足 xi<Lxi>U 的点另行标出。有些箱线图直接把须伸到最小值、最大值,有些使用指定百分位数。NIST 也分别介绍了极值须与带围栏的变式,所以读图时应先查看须的定义。NIST:Box Plot

一个离群点告诉了我们什么

25 被单独画出,准确含义是“按照当前四分位数与 1.5 IQR 规则,它超出了围栏”。它可能是一次真实的长等候,也可能来自不同服务情境、录入错误或测量问题;仅凭这个符号无法决定原因,更不能据此自动删除数据。应回查这次观察的单位、采集记录和发生条件,再决定怎样处理。NIST 的离群值章节也把识别、调查与处理区分开来。NIST:What are outliers in the data?

这个例子还能说明箱线图对极端大小的敏感程度。把最后的 25 改成 250,排序的前十一个位置都不变,Q1,Q2,Q3 也都不变,须仍在 2 和 12;单独标出的点移到了 250。平均数则会增加

2502512=18.75.

平均数上升了 18.75 分钟。箱体较稳定,是因为这些分位数只依赖特定排序位置附近的值;这并不意味着更大的末端观察不重要。若关心最坏等待或总等待成本,那个远处的点恰恰不能被箱体代替。

1.5 是常用的描述规则,不是“出错概率为 5%”的阈值,也不保证所有总体有相同的离群点比例。对于 0,0,0,0,10,按本文规则 Q1=Q2=Q3=0,四分位距为零,箱体缩成一条线,两道围栏也都在 0,10 会被标出。四个零可以是四次真实的零等待;这幅图既没有否定它们,也没有证明 10 是错误。它提示我们在这种重复值很多的数据里同时查看原始点列。

相同箱线图为什么可能来自不同分布

再比较两组合成数据,每组 17 个数,单位可以仍取分钟。A 组均匀地从 0 递增到 8,每次增加 0.5;B 组则在少数位置重复:

A:0,0.5,1,1.5,2,2.5,3,3.5,4,4.5,5,5.5,6,6.5,7,7.5,8, B:0,0,0,0,2,2,2,2,4,6,6,6,6,8,8,8,8.

因为 n=17,四分位数的位置分别是

1+16×0.25=5,1+16×0.5=9,1+16×0.75=13.

在两组中,第 5、9、13 个值都为 2、4、6,所以五数概括都为 (0,2,4,6,8)。四分位距均为 4,围栏为 −4 与 12,全部观察在围栏内,两组须都伸到 0 与 8。按本文规则画出的箱线图完全相同。

A组十七个值从零到八每半个单位一个,B组在零二六八各有四个重复值且在四有一个值;两组都得到零二四六八的相同五数概括与相同箱线图
每一组的点列与箱线图放在一起。重复观测竖向堆叠,竖向位置只为避免重叠,不代表第二个变量。

看图中的点列,A 在 0 到 8 之间分散铺开;B 在 0、2、6、8 各堆了四个点,其余只有中间的 4。箱体保留了排序中的几个位置,却没有保留这些位置之间怎样分布。这个具体例子说明了为什么直方图或原始点图能补充箱线图:它们展示的是被五数摘要压缩掉的内部形状。

甚至箱体对称、两根须一样长,也不足以认定原始点列对称。把 A 中的 0.5 改成 0.2,第 5、9、13 个观察以及两端仍不变,箱线图原封不动;但 7.5 关于中位数 4 的对称位置 0.5 已经没有观察。仅凭箱线图的外形,也就不能认定数据来自正态分布。

用来比较多组时怎样读

若比较两家服务点的等待,先保持时间单位与数轴尺度相同,再比较中位数线的位置。中位数更靠右,说明这组的中间等待较长;箱体更长,说明从第一到第三四分位数之间更分散。须和单独的点补充两端的情况。

箱体垂直于数轴的厚度通常只是排版选择,本篇各图也是如此。它没有编码样本量,因此不能因为某个箱子画得粗一些,就说这一组人数更多。实际比较应把 n 标在组名旁,并说明缺失记录与分组标准。一组只有五次观察、另一组有五百次观察,即使箱体碰巧相似,摘要的稳定程度也不同。

箱体是否重叠并不是通用的显著性检验。若要判断服务差异能否推广到总体,或是否由服务措施造成,还要使用统计推断并检查采样与研究设计。箱线图可以把值得追问的差异显出来,但图上两条中位数线的位置本身不提供随机化或因果证据。

探索性数据分析中的发展

John W. Tukey 在 1977 年的 Exploratory Data Analysis 第 2C 节系统介绍了箱线图这一数据摘要;R 的箱线统计官方文档把该书列为直接来源。1978 年,Robert McGill、Tukey 与 Wayne A. Larsen 在 The American Statistician 发表 Variations of Box Plots,讨论用箱宽体现组规模、用缺口辅助比较中位数等变式。R 官方参考书目McGill、Tukey、Larsen,1978,32(1):12–16

这些变式针对不同的比较任务;增加符号并不会让所有箱线图具有相同含义。普通箱线图先把中位数、四分位数、须和单独标出的点解释清楚,再按分析目的选择变式,便能保留这种摘要的简洁性。其他统计图的选择见统计图

参考资料