不知道你画箱线图的时候有没有遇到过这种情况:箱体、中位线、须子都挺正常,图上方却孤零零地飘着几个小圆点,怎么看怎么碍眼。不少人在Origin里做的第一反应是手动选中这些点按Delete,结果发现要么删不掉,要么把整条数据都删坏了。这篇文章就从Origin箱线图背后的异常值判定逻辑说起,把“去除异常值”这件事的几种做法、各自适用场景,以及我踩过的坑一次讲清楚。
很多人以为箱线图上的异常点是“画坏了”,其实这是统计学里箱线图的标准行为。异常点不是随机噪声,而是数据分布里超出合理范围的值。真正的问题在于,不同数据场景下,你想要的“合理范围”不一样。有时候你需要让这些点彻底消失,有时候你只是想临时隐藏,有时候你甚至应该在绘图之前就清理数据。这篇文章会覆盖这几种情况,并给出可复现的操作路径,希望能帮你少走一点弯路。
1. 为什么箱线图会多出那些“小圆点”:Origin的异常值判定逻辑
1.1 Origin到底怎么定义异常值
箱线图的核心逻辑是五数概括:最小值、下四分位数(Q1)、中位数、上四分位数(Q3)、最大值。但这里有个细节,传统的箱线图并不是把最大值和最小值直接作为须子的端点,而是先用Q1和Q3算出一个四分位距:
IQR = Q3 - Q1
然后把须子的上下边界设置为:
下边界 = Q1 - 1.5 × IQR
上边界 = Q3 + 1.5 × IQR
凡是超出这两个边界的数据点,就会被单独画出来,通常是小圆圈、小方块或星号。Origin默认的箱线图也是这样处理的。也就是说,异常值不是Origin自己“发明”的,而是数据里真实存在的极端点,只是箱线图的规则决定要把它单独标记出来。
你可能会问,为什么偏偏是1.5倍IQR?这个系数来自统计学家的经验选择。如果数据服从正态分布,1.5倍IQR对应的范围大约覆盖了99.3%的数据,也就是说正常情况下大约只有0.7%的点会被标记为异常值。这个阈值在多年实践中被证明对多数数据分布都比较“稳”,所以成了各种统计软件的事实标准。
1.2 四分位数的计算方法不同,异常值结论也会不同
这里有一个很容易被忽略的坑:Q1和Q3的计算方式并不是唯一的。Origin在绘制箱线图时,会按你指定的“百分位数类型”去计算四分位数。不同计算方式对同一份数据可能得到略微不同的IQR,最终就会影响哪些点被判定为异常值。
Origin里常见的百分位数类型有:
- 线性插值法:这是Origin的默认方式之一,根据数据位置做线性插值,适合连续型数据。
- 正态近似法:假设数据服从正态分布,用均值和标准差去推算分位数,适合大样本但偏态明显时不推荐。
- 经验分布法:直接按数据排名找位置,适合离散数据。
我实际测试过,一组包含20个样本的数据,切换不同百分位数类型后,箱线图上的异常点数量可能从2个变成0个。所以当你打算“去除异常值”之前,先确认一下自己用哪种四分位数定义,否则你删掉的可能是一批在另一种定义下根本不是异常值的点。
提示:在Origin的Box Chart设置界面中,一般可以在“Percentile Type”或“Quantiles”相关选项里调整四分位数算法。中文版可能会显示为“百分位数类型”。
1.3 须子类型也会影响异常点的呈现
除了百分位数计算方式,Origin的箱线图还允许你修改须子的延伸方式。常见的须子类型包括:
- 1.5 IQR:数据点超出这个范围即为异常值。
- 最小/最大值:须子直接延伸到数据的最小值和最大值,这种模式下通常不会出现“异常点”。
- 标准差倍数:以均值加减若干倍标准差定义边界,超出边界为异常值。
- 百分位数:如2%和98%分位数作为须子端点,超出即为异常。
这给了我一个很重要的启发:有时候你并不是真的想删除异常值,只是想图面上不出现那些分散注意力的小圆点。如果你选择“最小/最大值”这种须子类型,异常值就不会被单独标记出来,箱线图的须子会拉到实际数据的极值位置。但这样做等于放弃了1.5IQR的判断标准,在文章或报告里
