四分位数计算器
结果
四分位距(IQR)
- 第一四分位数(Q1)
- 4.0000
- 第二四分位数(Q2)
- 4.5000
- 第三四分位数(Q3)
- 5.5000
- 最小值
- 2.0000
- 最大值
- 9.0000
- 个数
- 8
四分位数把排好序的数据切成四段:约四分之一的数据在第一四分位数(Q1)及以下,一半在第二四分位数(Q2)及以下,四分之三在第三四分位数(Q3)及以下。再加上最小值和最大值,就得到五数概括——它不用把任何数加起来,就能说明一组数据的位置与离散程度。这个四分位数计算器把五个数都列出来,并且把四分位距(Q3 − Q1,也就是中间一半数据的宽度)放在结果最上面,因为那一个数才说明分布的中间是挤在一起还是被拉开了。旁边同时印出的 Q2 就是中位数,所以两页给出的数天然一致,而不是碰巧相同。
公式
Q1 = 位置 (n − 1) × 0.25 上的值,Q2 取 0.5,Q3 取 0.75(位置夹在两个观测值之间时插值);四分位距 = Q3 − Q1
- xᵢ
- 数据集里的一个值。四分位数用的是排序后的位置,所以起作用的是值的次序而不是大小——一个极端读数只会把外侧的两个标记挪动一点,中间一半几乎不动
- n
- 这组数有几个,本页最多 200 个。位置从 0 开始数,最后一个位置是 n − 1,三个四分位数的位置就分布在这段范围里
- Q1
- 第一四分位数,约有 25% 的数据在它及以下。它标记排序后最下面四分之一到哪里为止,而不一定是你数据里出现过的某个值
- Q2
- 第二四分位数,就是中位数:一半数据在它及以下。印在这里是为了对照,专门的中位数那一页用同一条规则算出同一个数
- Q3
- 第三四分位数,约有 75% 的数据在它及以下。它与 Q1 一起框出中间一半的数据——箱线图上那个盒子画的就是这一段
- IQR
- 四分位距,即 Q3 − Q1,中间一半数据的跨度。它与数据同单位,而且和标准差不同:它完全不管外侧的两个四分之一,所以几乎不受离群值影响
当数据偏态、有离群值,或者所用的尺度加总起来没有意义时,四分位数才是合适的概括——收入、房价、响应时间、考试分数都是这样。平均数与标准差描述的是对称的钟形分布,而五数概括不假定任何形状:中位数说中心在哪,Q1 与 Q3 说中间一半铺开多宽,最小值与最大值框住全部。四分位距是中位数的常规搭档,理由与标准差配平均数一样,而且想报一个不会被单个离谱读数抬高的离散程度时,人们报的就是它。它同时是箱线图与 1.5 × IQR 判据的基础——围栏在这里给出,判定离群点则是另一件事。能画直方图时就把两者放在一起看:四个切点看不出数据是不是有两个鼓包,而双峰的数据完全可以给出一份平平无奇的五数概括。
算例
八个数:Q1 = 4、Q3 = 5.5、四分位距 1.5
- 排序:2、4、4、4、5、5、7、9——8 个数,所以 n − 1 = 7
- Q1:位置 7 × 0.25 = 1.75,夹在位置 1 的 4 与位置 2 的 4 之间,所以 Q1 = 4
- Q2:位置 7 × 0.50 = 3.5,夹在 4 与 5 之间,所以 Q2 = 4.5——与中位数那一页报的同一个数
- Q3:位置 7 × 0.75 = 5.25,夹在位置 5 的 5 与位置 6 的 7 之间:5 + 0.25 × 2 = 5.5
- 四分位距:5.5 − 4 = 1.5,也就是中间一半数据跨度为 1.5
这里中间一半是 4 到 5.5 那四个值,四分位距就是这个带宽。注意 Q1 正好落在一个数据点上,而 Q3 没有:四分位数是否与观测值重合完全取决于数据个数,五数概括描述的是位置,不是数据里的某个子集。
四个数:三个四分位数全都靠插值
- 排序:1、2、3、4——4 个数,所以 n − 1 = 3
- Q1:位置 3 × 0.25 = 0.75,从 1 往 2 走四分之三,所以 Q1 = 1.75
- Q2:位置 3 × 0.50 = 1.5,在 2 与 3 正中,所以 Q2 = 2.5
- Q3:位置 3 × 0.75 = 2.25,从 3 往 4 走四分之一,所以 Q3 = 3.25
- 四分位距:3.25 − 1.75 = 1.5
这一组正是两种约定分道扬镳的地方,所以值得知道另一种算法给出什么。OpenStax 以及不少教材用的「对半法」把数据从中位数切开,各取一半的中间值:下半部分是 1 与 2,所以 Q1 = 1.5;上半部分是 3 与 4,所以 Q3 = 3.5,四分位距变成 2。这一页采用相邻观测值之间的插值,也就是 R 与 NumPy 的默认口径,并且把 Q1 与 Q3 印出来,用的是哪一套一眼可见。
教材自己那 14 个数,按另一套约定算是多少
- 排序:1、1、2、2、4、6、6.8、7.2、8、8.3、9、10、10、11.5——14 个数,所以 n − 1 = 13
- Q2:位置 13 × 0.50 = 6.5,在 6.8 与 7.2 正中,所以 Q2 = 7——与教材报的中位数完全相同
- Q1:位置 13 × 0.25 = 3.25,从位置 3 的 2 往位置 4 的 4 走四分之一,所以 Q1 = 2.5
- Q3:位置 13 × 0.75 = 9.75,从 8.3 往 9 走四分之三,所以 Q3 = 8.825
- 四分位距:8.825 − 2.5 = 6.325
同样这 14 个数出现在 OpenStax 讲数据位置的章节里,那一节用对半法,给出的是 Q1 = 2、Q3 = 9、四分位距 7。两个答案都来自有据可查、可以讲解的规则,差别只在于如何在同样的观测值之间插值。中位数则分毫不差——这一点让人安心:无论用哪套约定,一组数据的中间就是这组数据的中间。
局限
四个切点本身描述不了分布的形态。两组数据可以每一个四分位数都相同,样子却完全两样——一组紧紧挤在一起,一组有两个鼓包——所以形状要紧时,五数概括要配上直方图一起读。四分位数还是约定而不是事实:这一页按 Hyndman–Fan type 7 在相邻观测值之间插值,而许多教材用的对半法在数据个数不是 4 的倍数时都会给出不同的数。数据个数还有另一层影响:少于 4 个数时每一个四分位数都是插出来的,而只有一个数时五个数全都是它、四分位距为 0,因为根本没有可测的离散。列表上限 200 个数;像 1,500 这样的写法会被拒收而不是替读者猜,因为夹在数字中间的逗号在有些国家是小数点、在另一些国家是千分位。这一页不判定离群点:1.5 × IQR 是通行的围栏规则,套用它属于另一个工具的活。
常见问题
- 四分位数怎么算?
- 先排序,再读三个位置:(n − 1) × 0.25 是 Q1,(n − 1) × 0.50 是 Q2,(n − 1) × 0.75 是 Q3,位置夹在两个值之间时做插值。8 个数的三个位置分别是 1.75、3.5、5.25,得到 Q1 = 4、Q2 = 4.5、Q3 = 5.5。四分位距就是 Q3 − Q1,这里是 1.5。三个四分位数连同最小值、最大值都印在面板上,整份概括在一屏之内。
- 为什么我算的 Q1 与别的计算器不一样?
- 因为四分位数是约定而不是事实,而两种常见约定在数据个数不是 4 的倍数时都会给出不同的答案。这一页在相邻观测值之间插值,用的是 Hyndman–Fan type 7,也就是 R 与 NumPy 的默认口径。OpenStax 等不少教材先把数据从中位数切成两半、再各取一半的中间值:对着它自己那 14 个数,那样算出 Q1 = 2、Q3 = 9,而这一页给的是 2.5 与 8.825。两套规则都有出处。Q2(中位数)在两种算法下完全相同。
- 四分位距说明什么?
- 它是中间一半数据的宽度,也就是落在 Q1 与 Q3 之间的那 50% 数据跨了多远。它与你的数据同单位:四分位距是 1.5,就说明中间一半跨度是 1.5 个你正在测的东西。因为它丢掉了最高的和最低的四分之一,一个极端读数几乎推不动它,所以它常与中位数一起报。四分位距为 0 意味着中间一半是同一个重复的值——一半以上的数据完全相同——而不是哪里出错了。
- 五数概括指的是哪五个数?
- 最小值、Q1、中位数、Q3、最大值,通常就按这个顺序写,也就是这一页印出来的那五个。它是不假定任何分布形状就能描述一组数据的方式,而箱线图画的就是它:从 Q1 到 Q3 一个盒子、盒子里一条中位线,再往外引出两条须到极值。放在最上面的四分位距不属于这五个数,它是 Q3 − Q1,也就是盒子的宽度。
- 四分位数可以不是我数据里的值吗?
- 可以,而且数据少的时候往往不是。四分位数是数据刻度上的一个位置,所以 1、2、3、4 这四个数的第一四分位数是 1.75 很正常,尽管列表里没有 1.75。位置正好是整数时,四分位数才与某个观测值重合。两种情形旁边都印着数据个数,看的是哪一种一目了然。
- 这一页会判定离群点吗?
- 不会。它给出四分位距,而那正是通行判据的输入:某个值低于 Q1 达 1.5 × IQR 以上,或高于 Q3 达 1.5 × IQR 以上,就被当作可疑的离群点。把这道围栏单独交给另一个工具,是为了让这一页老老实实描述数据,而不是替读者决定该丢掉哪些点。对上面那八个数,1.5 × IQR 是 2.25,围栏从 1.75 到 7.75。
参考资料
- GB/T 3358.1-2009《统计学词汇及符号 第1部分:一般统计术语与用于概率的术语》(推荐性国家标准,现行:2009-10-15 发布 / 2010-02-01 实施,采标;该站注明因涉及国际版权不提供在线阅读,全文需另寻) — 国家市场监督管理总局 国家标准全文公开系统
- Measures of the Location of the Data — Introductory Statistics 2e, section 2.3(四分位数与四分位距「中间一半」的定义,并完整演算了那 14 个数;该节用的是对半法,与这一页的插值口径不同) — OpenStax(莱斯大学)
- quantile — R stats 包参考文档(列出九种分位数类型,type 7 是默认值,也是这一页三个四分位数共用的口径) — R 项目(The R Project for Statistical Computing)
- numpy.quantile — NumPy 参考文档(method 默认取 linear,插值方式与这一页相同) — NumPy