箱线图
一、直观理解:用五根钉子概括一整列数,并标出“箱子够不着”的点
箱线图(Box Plot,箱须图)把一列数压缩成五个关键位置:最小值侧须端、下四分位数 、中位数 、上四分位数 、最大值侧须端,再用单独的点标出须外的离群候选。
可以把它想成看一组成绩:
- 箱子中间的线是“一半人在这之上、一半人在这之下”的中位数;
- 箱子的上下边是 25% 与 75% 分位,箱子高度是中间那一半人的成绩跨度(IQR);
- 须线像箱子向两侧伸出的触角,通常伸到“还算正常”的最远那个点;
- 触角够不着的点,单独画出来,提示你:这人是不是抄错了,或者是超级学霸 / 需要帮扶的对象。
与 3σ 相比,箱线图的骨架建立在分位数上,不依赖均值和标准差,因此对偏态和极端值更稳健,也特别适合多组并排比较(不同年份、不同地区、不同方案)。
需要分清:
- 箱线图里的“离群点”是按分位数规则标记的候选,不是自动判定的错误;
- 须线一般不是样本的全局最小 / 最大值(全局最值若在篱笆外,会以离群点形式出现)。
二、适用场景与优缺点
| 类型 | 说明 |
|---|---|
| 适用场景 | 单变量分布的快速探索;偏态、有潜在极端值的连续数据;多组样本并排比较中心、离散与尾部;为异常复核提供比 3σ 更稳健的名单;论文中展示处理前后分布变化。 |
| 核心优点 | 基于分位数,抗极端值;信息密度高,一张图同时给中心、离散、偏态、离群;规则(1.5 IQR)广泛通行,便于交流;对非正态数据仍有意义。 |
| 局限与缺点 | 仍是单变量边缘方法;样本量很小时分位数不稳;多峰分布会被箱子“平均掉”而看不出来;1.5 倍 IQR 是经验系数,不是最优统计决策;大型数据离群点可能过多,图面拥挤。 |
使用箱线图前通常需要完成以下检查:
- 变量是否连续或至少有序且分位有意义;
- 是否应按类别分组画图,避免混合总体;
- 样本量是否足以估计四分位数(过小则解读要保守);
- 离群规则用 1.5 IQR(常见)还是 3 IQR(极端离群);
- 明确检出后的处置流程,与业务上下界对照。
三、核心原理:四分位数、IQR 与篱笆
1. 五数概括
对有序样本,定义:
- :第 25 百分位数(下四分位);
- :第 50 百分位数(中位数);
- :第 75 百分位数(上四分位)。
四分位距:
IQR 描述中间 50% 数据的展布,比全距稳健。
2. Tukey 篱笆(fence)与离群规则
常用内篱笆:
落在区间外的观测标为离群候选。更严的外篱笆使用 ,其外点有时称为“极端离群点”。
3. 须线实际画到哪里
绘图时,须线通常延伸至篱笆以内的最远观测,而不是画到 这个理论端点(理论端点上可能没有样本)。因此:
- 须端 = 仍属“非离群”的最小 / 最大数据点;
- 篱笆外的点 = 单独标记的离群候选。
4. 如何从箱子读偏态
- 中位数靠近箱子下沿、上须更长:右偏常见形态;
- 中位数靠近箱子上沿、下须更长:左偏;
- 箱子很短而须很长:中间集中、尾部拉长。
5. 与 3σ 的对比
| 项目 | 箱线图(1.5 IQR) | 3σ 法则 |
|---|---|---|
| 中心 | 中位数 | 均值 |
| 尺度 | IQR | 标准差 |
| 正态假设 | 不需要 | 强烈依赖 |
| 抗异常污染 | 较强 | 较弱 |
| 多组可视化 | 极直观 | 需额外画图 |
近似正态时,IQR , 篱笆大约在 量级,与 3σ 接近但不相同。
四、关键决策 / 如何选参数
1. 1.5 还是 3?
- 1.5 IQR:探索性分析默认,敏感度较高;
- 3 IQR:只标记更极端的点,适合噪声大、不想名单过长时。
论文可同时给出两种阈值下的个数。
2. 分位数算法
不同软件对样本分位数的插值定义略有差异(MATLAB quantile 有多种 method)。小样本上 可能差一个“台阶”。应固定软件与方法,并在附录说明。
3. 分组策略
比较城市 A/B 的房价,应 boxchart(group, y) 分组绘制。把两市合并再画一个箱子,会把城市差误判成离群。
4. 对数坐标
跨多个数量级的正值数据(收入、流量),可对原变量取对数后再画箱线图,或对坐标轴用对数刻度,否则箱子被极大值“压扁”。
5. 大量并列箱线
变量很多时,可只展示关键变量,或用小提琴图 / 脊线图补充分布形态;箱线图不显示多峰。
6. 与建模管道的关系
若用篱笆规则清理训练数据,阈值应在训练折上计算;对测试集是“用训练篱笆硬套”还是“只做描述不删”,要事先规定。
五、MATLAB 示例
rng(3);
% 主群体 + 右侧异常
groupA = [50 + 8 * randn(80, 1); 120; 135];
groupB = [55 + 6 * randn(80, 1); 20]; % 一个左侧异常
x = [groupA; groupB];
g = [repmat("方案A", numel(groupA), 1); repmat("方案B", numel(groupB), 1)];
% ----- 单变量:计算 Tukey 篱笆 -----
q = quantile(groupA, [0.25, 0.5, 0.75]);
Q1 = q(1); Q2 = q(2); Q3 = q(3);
IQR = Q3 - Q1;
fenceLow = Q1 - 1.5 * IQR;
fenceHigh = Q3 + 1.5 * IQR;
isOut = groupA < fenceLow | groupA > fenceHigh;
fprintf("Q1=%.2f, Q2=%.2f, Q3=%.2f, IQR=%.2f\n", Q1, Q2, Q3, IQR);
fprintf("篱笆: [%.2f, %.2f], 离群候选 %d 个\n", fenceLow, fenceHigh, sum(isOut));
disp("离群候选值:");
disp(groupA(isOut)');
% 须端:篱笆内最远观测
whiskerLow = min(groupA(~isOut));
whiskerHigh = max(groupA(~isOut));
fprintf("须线实际端点: [%.2f, %.2f]\n", whiskerLow, whiskerHigh);
% ----- 绘图:分组箱线图 -----
figure;
boxchart(g, x);
ylabel("指标值");
title("两种方案的箱线图比较");
grid on;
% 单组箱线 + 原始点叠加,便于复核
figure;
boxchart(ones(size(groupA)), groupA);
hold on;
swarmchart(ones(size(groupA)), groupA, 20, "filled", "MarkerFaceAlpha", 0.4);
% 标出离群候选
scatter(ones(sum(isOut), 1), groupA(isOut), 60, "r", "filled");
xticks([]);
ylabel("方案A");
title("箱线图与离群候选");
grid on;
% 1.5 IQR vs 3 IQR
isOutExtreme = groupA < Q1 - 3*IQR | groupA > Q3 + 3*IQR;
fprintf("1.5IQR 检出 %d,3IQR 检出 %d\n", sum(isOut), sum(isOutExtreme));
批量对数据矩阵各列标记:
X = [groupA(1:50), groupB(1:50)];
isOutCols = false(size(X));
for j = 1:size(X, 2)
qj = quantile(X(:, j), [0.25, 0.75]);
iqrj = qj(2) - qj(1);
isOutCols(:, j) = X(:, j) < qj(1) - 1.5*iqrj | X(:, j) > qj(2) + 1.5*iqrj;
end
disp("各列离群候选个数:");
disp(sum(isOutCols, 1));
六、如何解释结果
读图时按“中心 → 离散 → 形态 → 离群”四步:
- 中心:中位线的高低比较各组典型水平;
- 离散:箱子高度(IQR)比较中间群体的稳定程度;
- 形态:中位线是否居中、上下须是否对称,判断偏态;
- 离群:点的位置、数量、是否成簇(成簇可能是另一子总体,而非单个错误)。
报告建议写明:
- 样本来源与分组定义;
- 四分位数与 IQR 的计算方式;
- 篱笆系数(1.5 或 3)及检出名单;
- 须线端点与理论篱笆的区别(避免误读);
- 对离群点的业务核查结论与处置;
- 处理前后箱子形态或下游指标变化。
若方案 A 的箱子整体高于方案 B,且离群点不影响中位次序,结论通常比“被两三个极端均值带走”的 检验叙述更稳健——这也是箱线图常与非参数比较一起出现的原因。
七、常见误区
1. 看见离群点就删
箱子外的点可能是真实的高端客户、故障时刻或政策突变。先核对采集与定义,再决定。
2. 把须线当成全局最小 / 最大值
须外还有点时,全局最值是离群点,不是须端。
3. 混合不同总体只画一个箱子
组间差异伪装成离群,或掩盖组内异常。
4. 小样本上过度解读
时 抖动大,“检出 1 个离群”可能只是分位估计的运气。
5. 以为箱线图能揭示多峰
双峰分布可能画出一个“正常”的宽箱子。需要直方图或核密度补充。
八、小结
箱线图用中位数和四分位数搭建稳健的五数骨架,并用 篱笆标出离群候选,是探索性分析和异常初筛的标准工具。
它的核心思想可以概括为:
不让极端值决定“中心”和“尺度”,先看中间一半人的格局,再单独点名箱子够不着的观察。
它比 3σ 更适应偏态数据,也更擅长多组比较,但仍然只是单变量描述与候选生成器。写论文时要交代规则、名单与处置理由,并把箱线图与直方图、业务边界一起使用,而不是只贴一张图就宣称“异常已处理完毕”。