跳到主要内容

箱线图

一、直观理解:用五根钉子概括一整列数,并标出“箱子够不着”的点​

箱线图(Box Plot,箱须图)把一列数压缩成五个关键位置:最小值侧须端、下四分位数 Q1Q_1、中位数 Q2Q_2、上四分位数 Q3Q_3、最大值侧须端,再用单独的点标出须外的离群候选。

可以把它想成看一组成绩:

  • 箱子中间的线是“一半人在这之上、一半人在这之下”的中位数;
  • 箱子的上下边是 25% 与 75% 分位,箱子高度是中间那一半人的成绩跨度(IQR);
  • 须线像箱子向两侧伸出的触角,通常伸到“还算正常”的最远那个点;
  • 触角够不着的点,单独画出来,提示你:这人是不是抄错了,或者是超级学霸 / 需要帮扶的对象。

与 3σ 相比,箱线图的骨架建立在分位数上,不依赖均值和标准差,因此对偏态和极端值更稳健,也特别适合多组并排比较(不同年份、不同地区、不同方案)。

需要分清:

  • 箱线图里的“离群点”是按分位数规则标记的候选,不是自动判定的错误;
  • 须线一般不是样本的全局最小 / 最大值(全局最值若在篱笆外,会以离群点形式出现)。

二、适用场景与优缺点​

类型说明
适用场景单变量分布的快速探索;偏态、有潜在极端值的连续数据;多组样本并排比较中心、离散与尾部;为异常复核提供比 3σ 更稳健的名单;论文中展示处理前后分布变化。
核心优点基于分位数,抗极端值;信息密度高,一张图同时给中心、离散、偏态、离群;规则(1.5 IQR)广泛通行,便于交流;对非正态数据仍有意义。
局限与缺点仍是单变量边缘方法;样本量很小时分位数不稳;多峰分布会被箱子“平均掉”而看不出来;1.5 倍 IQR 是经验系数,不是最优统计决策;大型数据离群点可能过多,图面拥挤。

使用箱线图前通常需要完成以下检查:

  1. 变量是否连续或至少有序且分位有意义;
  2. 是否应按类别分组画图,避免混合总体;
  3. 样本量是否足以估计四分位数(过小则解读要保守);
  4. 离群规则用 1.5 IQR(常见)还是 3 IQR(极端离群);
  5. 明确检出后的处置流程,与业务上下界对照。

三、核心原理:四分位数、IQR 与篱笆​

1. 五数概括​

对有序样本,定义:

  • Q1Q_1:第 25 百分位数(下四分位);
  • Q2Q_2:第 50 百分位数(中位数);
  • Q3Q_3:第 75 百分位数(上四分位)。

四分位距:

IQR=Q3−Q1\mathrm{IQR}=Q_3-Q_1

IQR 描述中间 50% 数据的展布,比全距稳健。

2. Tukey 篱笆(fence)与离群规则​

常用内篱笆:

[Q1−1.5 IQR,  Q3+1.5 IQR]\big[Q_1-1.5\,\mathrm{IQR},\; Q_3+1.5\,\mathrm{IQR}\big]

落在区间外的观测标为离群候选。更严的外篱笆使用 3 IQR3\,\mathrm{IQR},其外点有时称为“极端离群点”。

3. 须线实际画到哪里​

绘图时,须线通常延伸至篱笆以内的最远观测,而不是画到 Q1−1.5 IQRQ_1-1.5\,\mathrm{IQR} 这个理论端点(理论端点上可能没有样本)。因此:

  • 须端 = 仍属“非离群”的最小 / 最大数据点;
  • 篱笆外的点 = 单独标记的离群候选。

4. 如何从箱子读偏态​

  • 中位数靠近箱子下沿、上须更长:右偏常见形态;
  • 中位数靠近箱子上沿、下须更长:左偏;
  • 箱子很短而须很长:中间集中、尾部拉长。

5. 与 3σ 的对比​

项目箱线图(1.5 IQR)3σ 法则
中心中位数均值
尺度IQR标准差
正态假设不需要强烈依赖
抗异常污染较强较弱
多组可视化极直观需额外画图

近似正态时,IQR ≈1.35σ\approx 1.35\sigma,1.5 IQR1.5\,\mathrm{IQR} 篱笆大约在 ±2.7σ\pm 2.7\sigma 量级,与 3σ 接近但不相同。

四、关键决策 / 如何选参数​

1. 1.5 还是 3?​

  • 1.5 IQR:探索性分析默认,敏感度较高;
  • 3 IQR:只标记更极端的点,适合噪声大、不想名单过长时。

论文可同时给出两种阈值下的个数。

2. 分位数算法​

不同软件对样本分位数的插值定义略有差异(MATLAB quantile 有多种 method)。小样本上 Q1,Q3Q_1,Q_3 可能差一个“台阶”。应固定软件与方法,并在附录说明。

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));

六、如何解释结果​

读图时按“中心 → 离散 → 形态 → 离群”四步:

  1. 中心:中位线的高低比较各组典型水平;
  2. 离散:箱子高度(IQR)比较中间群体的稳定程度;
  3. 形态:中位线是否居中、上下须是否对称,判断偏态;
  4. 离群:点的位置、数量、是否成簇(成簇可能是另一子总体,而非单个错误)。

报告建议写明:

  1. 样本来源与分组定义;
  2. 四分位数与 IQR 的计算方式;
  3. 篱笆系数(1.5 或 3)及检出名单;
  4. 须线端点与理论篱笆的区别(避免误读);
  5. 对离群点的业务核查结论与处置;
  6. 处理前后箱子形态或下游指标变化。

若方案 A 的箱子整体高于方案 B,且离群点不影响中位次序,结论通常比“被两三个极端均值带走”的 tt 检验叙述更稳健——这也是箱线图常与非参数比较一起出现的原因。

七、常见误区​

1. 看见离群点就删​

箱子外的点可能是真实的高端客户、故障时刻或政策突变。先核对采集与定义,再决定。

2. 把须线当成全局最小 / 最大值​

须外还有点时,全局最值是离群点,不是须端。

3. 混合不同总体只画一个箱子​

组间差异伪装成离群,或掩盖组内异常。

4. 小样本上过度解读​

n=8n=8 时 Q1,Q3Q_1,Q_3 抖动大,“检出 1 个离群”可能只是分位估计的运气。

5. 以为箱线图能揭示多峰​

双峰分布可能画出一个“正常”的宽箱子。需要直方图或核密度补充。

八、小结​

箱线图用中位数和四分位数搭建稳健的五数骨架,并用 1.5 IQR1.5\,\mathrm{IQR} 篱笆标出离群候选,是探索性分析和异常初筛的标准工具。

它的核心思想可以概括为:

不让极端值决定“中心”和“尺度”,先看中间一半人的格局,再单独点名箱子够不着的观察。

它比 3σ 更适应偏态数据,也更擅长多组比较,但仍然只是单变量描述与候选生成器。写论文时要交代规则、名单与处置理由,并把箱线图与直方图、业务边界一起使用,而不是只贴一张图就宣称“异常已处理完毕”。