鲁棒离群值筛选:IQR fence 与鲁棒均值/方差(数学说明)
本文档聚焦于一种在统计物理/蒙特卡洛数据分析中非常常见的鲁棒统计策略:
- 用 Tukey 的 IQR fence(四分位距栅栏)剔除极端离群值;
- 在剩余样本上计算均值/标准差,得到对“极少数异常点”不敏感的统计量。
典型应用场景包括:
- binning 后的统计量仍残留偶发 spike;
- bootstrap/重采样的拟合参数分布中,极少数迭代落入不物理的局部极小值(例如临界点
Tc跑到远离数据范围的负数),导致普通 mean/std 被严重“污染”。
1. 问题:为什么普通 mean/std 会被极端离群值污染?
给定一组样本:
$
{xi}{i=1}^n\subset\mathbb{R}, $
普通样本均值与样本标准差为
$
\bar{x}=\frac{1}{n}\sum{i=1}^n xi,\qquad s=\sqrt{\frac{1}{n-1}\sum{i=1}^n (xi-\bar{x})^2}. $
当存在极少数 $|x_i|$ 极大的离群点时:
\[\bar{x}\]
会向离群点方向明显偏移;\[s\]
会被离群点的平方项放大,导致误差条失真。
这类“离群点”往往不是物理分布的真实尾部,而是算法层面的异常:例如某一次拟合收敛到不物理局部极小值。
2. IQR 与 Tukey fence(箱线图规则)
2.1 四分位数与 IQR
定义第一/第三四分位数(25% 与 75% 分位):
$
Q1 = \mathrm{Quantile}{0.25}({xi}),\qquad Q3 = \mathrm{Quantile}{0.75}({xi}). $
四分位距(interquartile range, IQR):
$
\mathrm{IQR} = Q3 - Q1. $
IQR 的特点:
- 仅由中间 50% 的样本决定,对极端尾部天然不敏感;
- 因此常被用来构建鲁棒的离群值判据。
2.2 Tukey fence
给定倍数 $k>0$,定义下/上栅栏(fence):
$
L = Q1 - k\,\mathrm{IQR},\qquad U = Q3 + k\,\mathrm{IQR}. $
保留位于区间 $[L,U]$ 内的样本集合:
$
S = {xi\mid L\le xi\le U}. $
把 $S$ 之外的点视为离群值并剔除。
3. “很宽松的 fence(k=10)”是什么意思?
经典箱线图中,常见的经验值是:
\[k=1.5\]
:mild outliers(温和离群)\[k=3\]
:extreme outliers(极端离群)
在 bootstrap 拟合参数分布中,我们通常不希望“清洗正常波动”,而只想去掉极少数极端不物理解。
因此可以选取一个非常大的 $k$(例如 $k=10$):
- 对正常统计波动而言,fence 会非常宽,几乎不会删点;
- 但对于像
Tc=-8.6这种远离主体分布的点,仍会被剔除。
3.1 正态分布量纲解释(近似)
若样本近似来自正态分布 $x\sim\mathcal{N}(\mu,\sigma^2)$,则
\[Q_1\approx \mu-0.674\sigma\]
\[Q_3\approx \mu+0.674\sigma\]
\[\mathrm{IQR}\approx 1.349\sigma\]
因此
$
L\approx \mu-(0.674+1.349k)\sigma,\qquad U\approx \mu+(0.674+1.349k)\sigma. $
当 $k=10$ 时,fence 大约覆盖
$
\mu\pm 14.16\sigma. $
这几乎不会删除正态分布的真实样本,但能有效屏蔽“算法性离群点”。
4. 鲁棒 mean/std(在过滤后集合上计算)
对过滤后的集合 $S$(样本数 $|S|$),定义鲁棒统计量:
$
\bar{x}{\mathrm{robust}}=\frac{1}{|S|}\sum{x\in S} x, \qquad s{\mathrm{robust}}=\sqrt{\frac{1}{|S|-1}\sum{x\in S}(x-\bar{x}_{\mathrm{robust}})^2}. $
这样做的关键点是:
- 过滤步骤用 IQR 构造边界(鲁棒);
- 均值/方差步骤在主体样本上计算(仍保持与传统误差条的直观对应)。
5. 边界条件与工程化细节
在实际代码中,通常会加入一些保护条件以避免“过度处理”:
- 忽略非有限值:先丢弃
NaN/Inf(以及可选的missing)。 - 样本数阈值:当 $n< n_{\min}$ 时不做 fence(例如 $n_{\min}=8$),因为分位数不稳定。
- IQR=0:若 $\mathrm{IQR}=0$,说明样本几乎退化为常数,此时 fence 无意义,跳过过滤。
- 过滤后为空则回退:若 fence 导致 $S=\varnothing$,回退到原样本(宁可不删,也不人为制造偏差)。
6. 与“dropmaxmin”剪裁的关系
另一种常见做法是排序后直接去掉最小/最大若干个值(trim):
dropmaxmin=1等价于删除最小值与最大值各 1 个。
它与 IQR fence 的区别:
- trim 的删除量固定(与分布形状无关);
- IQR fence 的删除量自适应(由分布主体的 IQR 决定)。
在“极少数极端离群点”的场景下,IQR fence 往往更合适:
- 不需要手动指定要删几个点;
- 如果没有明显离群点,通常不会删点。
7. 诊断指标:删了多少点?
实务上建议同时输出:
- 原始分布的
min, Q1, median, Q3, max - 过滤后的
mean_robust, std_robust N_removed = n - |S|
若你发现 N_removed 很大(例如远超过个位数),往往意味着:
- 分布严重多峰(拟合对初值很敏感),或
- jitter 半径过大导致大量跑偏,或
- 拟合窗口/模型假设与数据不匹配。
这时更应优先调整拟合策略(窗口/jitter/模型)而不是继续“更激进地删点”。