箱线图
箱线图(box plot,又称箱须图)用一个箱体、中位数线和两端的须概括一批数值的位置与分散程度,适合在相同尺度上比较多组数据。箱体两端通常对应第一、第三四分位数;须的画法有不同约定。本文采用明确的线性插值四分位数,以及“延伸到 1.5 倍四分位距围栏以内的最远实际观测”的须。
从十二次等候开始
下面十二个数表示十二次等候时间,单位为分钟。它们是为了演示计算而构造的合成数据,已按从小到大排列:
最短为 2 分钟,最长为 25 分钟,但只报这两个数,会把大部分观察集中在 4 到 10 分钟附近的事实隐藏掉。先找排序后的中间位置:十二个数的中间是第六个 6 和第七个 7,因此中位数为
它表示中间的分界,而不是所有时间相加后的平均。这里六个值在 6.5 以下,六个值在 6.5 以上。样本量为奇数时,中位数直接取正中间的观察;有重复值时,中位数两侧不一定各有严格一半不同的值。
只用中位数仍不知道这些观察挤得紧不紧。把排序位置继续分到四分之一和四分之三,就得到第一四分位数 与第三四分位数 。它们划出数据中部的一段范围。有限样本的“四分之一位置”常落在两个观察之间,因此需要说明插值规则。
四分位数怎样算:固定一种可复算的规则
本文所有图采用 R 的 quantile(..., type = 7) 所对应的线性插值规则。它把排好序的 个观察记为 ;括号下标表示排序位置,而不是某个观察的原始编号。要找比例位置 的分位数,先算
如果 是整数,就取第 个观察;如果 ,其中 是整数部分、,就取
这表示从第 个值向下一个值走完差距的 部分。端点 分别取最小值与最大值;仅有一个观察时,各分位数都等于那个值。这个算法并非唯一的样本分位数定义。R 官方文档列出九种方法,并明确其默认值为 type 7。R:Sample Quantiles,Type 7
对本例 ,第一四分位数的比例位置为 ,于是
第 3 个值为 4,第 4 个值为 5,在它们之间走四分之三的距离,得到
第三四分位数取 ,位置为 。第 9、10 个值为 9、10,因此
把 代入也会得到位置 6.5,插值得出前面的中位数 6.5。这样,最小值、第一四分位数、中位数、第三四分位数、最大值组成的五数概括为
另一种常见课堂约定是把偶数样本分成上下两半,分别取这两半的中位数。对同一组十二个数,它给出 、。差别来自约定,不能靠把小数四舍五入消除。尤其要注意,R 默认箱线图使用的上下“铰链”(hinges)也不总等于其默认 quantile 的四分位数;R 的箱线统计文档专门说明了偶数样本下的差异。R:Box Plot Statistics,Details
箱、围栏和须分别画在哪里
先画从 到 的箱体,再在 处画一条中位数线。箱体沿数轴方向的长度为四分位距:
本例在箱体两端之间有 5、5、6、7、8、9,共六个观察,恰好占一半。一般说箱体概括“中间约一半”数据更妥当:四分位数是位置摘要,有插值或大量重复值时,落在闭区间 内的观察比例不一定正好是 50%。
接着计算两道围栏。围栏用于决定哪些点单独标出,它们的距离是箱体长度的 1.5 倍:
这里下围栏为负数不表示有人等候了负的时间;它只是按给定规则计算的界限。十二个观察里,2 到 12 都在 内,25 在外。因此下须伸到 2,上须伸到 12,25 另画一个点。
图中最值得核对的是 12 和 16:上须止于实际观察 12,而不是算出的围栏 16。 类似地,下须止于实际观察 2,而不是下围栏 −2。若恰有观察等于围栏,本文把它算在围栏以内。这与 R 文档中“不超过指定倍数”的须规则一致。五数概括里的最大值仍是 25;使用围栏以后,图上须的两个端点就不再总是样本最小值和最大值。
具体地,在数据里找出所有满足 的观察,以其中最小者和最大者为须的终点;满足 或 的点另行标出。有些箱线图直接把须伸到最小值、最大值,有些使用指定百分位数。NIST 也分别介绍了极值须与带围栏的变式,所以读图时应先查看须的定义。NIST:Box Plot
一个离群点告诉了我们什么
25 被单独画出,准确含义是“按照当前四分位数与 1.5 IQR 规则,它超出了围栏”。它可能是一次真实的长等候,也可能来自不同服务情境、录入错误或测量问题;仅凭这个符号无法决定原因,更不能据此自动删除数据。应回查这次观察的单位、采集记录和发生条件,再决定怎样处理。NIST 的离群值章节也把识别、调查与处理区分开来。NIST:What are outliers in the data?
这个例子还能说明箱线图对极端大小的敏感程度。把最后的 25 改成 250,排序的前十一个位置都不变, 也都不变,须仍在 2 和 12;单独标出的点移到了 250。平均数则会增加
平均数上升了 18.75 分钟。箱体较稳定,是因为这些分位数只依赖特定排序位置附近的值;这并不意味着更大的末端观察不重要。若关心最坏等待或总等待成本,那个远处的点恰恰不能被箱体代替。
1.5 是常用的描述规则,不是“出错概率为 5%”的阈值,也不保证所有总体有相同的离群点比例。对于 ,按本文规则 ,四分位距为零,箱体缩成一条线,两道围栏也都在 0,10 会被标出。四个零可以是四次真实的零等待;这幅图既没有否定它们,也没有证明 10 是错误。它提示我们在这种重复值很多的数据里同时查看原始点列。
相同箱线图为什么可能来自不同分布
再比较两组合成数据,每组 17 个数,单位可以仍取分钟。A 组均匀地从 0 递增到 8,每次增加 0.5;B 组则在少数位置重复:
因为 ,四分位数的位置分别是
在两组中,第 5、9、13 个值都为 2、4、6,所以五数概括都为 。四分位距均为 4,围栏为 −4 与 12,全部观察在围栏内,两组须都伸到 0 与 8。按本文规则画出的箱线图完全相同。
看图中的点列,A 在 0 到 8 之间分散铺开;B 在 0、2、6、8 各堆了四个点,其余只有中间的 4。箱体保留了排序中的几个位置,却没有保留这些位置之间怎样分布。这个具体例子说明了为什么直方图或原始点图能补充箱线图:它们展示的是被五数摘要压缩掉的内部形状。
甚至箱体对称、两根须一样长,也不足以认定原始点列对称。把 A 中的 0.5 改成 0.2,第 5、9、13 个观察以及两端仍不变,箱线图原封不动;但 7.5 关于中位数 4 的对称位置 0.5 已经没有观察。仅凭箱线图的外形,也就不能认定数据来自正态分布。
用来比较多组时怎样读
若比较两家服务点的等待,先保持时间单位与数轴尺度相同,再比较中位数线的位置。中位数更靠右,说明这组的中间等待较长;箱体更长,说明从第一到第三四分位数之间更分散。须和单独的点补充两端的情况。
箱体垂直于数轴的厚度通常只是排版选择,本篇各图也是如此。它没有编码样本量,因此不能因为某个箱子画得粗一些,就说这一组人数更多。实际比较应把 标在组名旁,并说明缺失记录与分组标准。一组只有五次观察、另一组有五百次观察,即使箱体碰巧相似,摘要的稳定程度也不同。
箱体是否重叠并不是通用的显著性检验。若要判断服务差异能否推广到总体,或是否由服务措施造成,还要使用统计推断并检查采样与研究设计。箱线图可以把值得追问的差异显出来,但图上两条中位数线的位置本身不提供随机化或因果证据。
探索性数据分析中的发展
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
这些变式针对不同的比较任务;增加符号并不会让所有箱线图具有相同含义。普通箱线图先把中位数、四分位数、须和单独标出的点解释清楚,再按分析目的选择变式,便能保留这种摘要的简洁性。其他统计图的选择见统计图。
参考资料
- R Core Team,quantile:Sample Quantiles,Types 中的 Type 7:本文四分位数的计算规则。
- R Core Team,boxplot.stats:Box Plot Statistics:须、铰链与默认分位数的差别,以及相关原始文献。
- NIST/SEMATECH,e-Handbook of Statistical Methods,§1.3.3.7 Box Plot:基本箱线图与围栏变式。
- NIST/SEMATECH,§7.1.6 What are outliers in the data?:离群观察的识别和调查。
- Tukey, J. W.(1977),Exploratory Data Analysis,Addison-Wesley,§2C,ISBN 9780201076165;书目信息见上述 R 官方文档。
- McGill, R., Tukey, J. W., Larsen, W. A.(1978),Variations of Box Plots,The American Statistician,32(1),12–16;犹他大学论文目录。