Wilson 下界和它的全家:评测分数的统计地基——分数不是数,是分布

评测报告里"5/5 全对"的 95% 置信下界只有 56.6%。以 Wilson 下界为入口,把评测分数背后的整套统计生词(置信区间、配对检验、多重比较、判分者一致性、pass@k 无偏估计、功效分析)钉成四道关卡和一张生词总表,让你以后见到这类词不再发怵。

评测报告上写着:模型 A 在”退款纠纷”切片 5/5 全对,模型 B 90/100。选 A?——Wilson 下界就是拦住这句话的那只手:5/5 的 95% 置信下界只有 56.6%,而 90/100 的下界是 82.6%。按原始分排,A 赢;按下界排,A 输。这不是数学游戏,是评测覆盖地图十个格子里填的每一个数都要过的关。

你在评测语境里撞见”Wilson 下界”这个生词,说明你已经摸到了评测工程的统计地基层。好消息是:这一层的生词是有限的、成家族的——它们全都在回答同一条流水线上的四个问题。这篇把整个家族钉在一张图上,配一张生词总表。读完的目标不是让你变成统计学家,而是让你以后在评测代码、论文、平台文档里见到这些词时,能立刻说出”哦,它是第几关的工具”。

地基:分数不是数,是分布

先立一个视角,后面全部内容都从它长出来。Anthropic 的《给评测加误差条》(Evan Miller, Adding Error Bars to Evals, arXiv 2411.00640)开篇就是这个立场:评测是实验。你的评测集只是从一个看不见的”题目总体”(super-population)里抽出的样本——换一批题目重抽一次,分数就会变。所以”模型得了 87 分”这句话在统计上是不完整的,完整的说法是”87 ± 多少”。

对最常见的二元判分(对/错),这个”± 多少”有个极简公式——标准误(Standard Error, SE):

SE=sˉ(1sˉ)nSE = \sqrt{\frac{\bar{s}(1-\bar{s})}{n}}

其中 sˉ\bar{s} 是平均分、nn 是题数。它背后是中心极限定理(CLT):不管单题对错怎么分布,题数够多时平均分近似正态分布。代入感受一下(我验算过):n=200n=200sˉ=0.9\bar{s}=0.9SE2.1%SE \approx 2.1\%,95% 置信区间半宽 1.96×SE4.2%1.96 \times SE \approx 4.2\%——一个 200 题的评测集,报出来的 90 分实际是”90 ± 4.2”,它根本看不见 3 个点的改进。记住这个数字,第四关之后我们会把它升级成一条定律。

没有误差条的分数不是测量,是轶事。下面四道关卡,就是把轶事变成测量的流水线。

flowchart LR
    S["一个评测分数 k/n"] --> Q1["关卡一·区间<br>这个数有多不准"]
    Q1 --> Q2["关卡二·排序<br>不同 n 的分数怎么比"]
    Q2 --> Q3["关卡三·比较<br>差异是真的吗"]
    Q3 --> Q4["关卡四·判分者<br>给分的人可信吗"]
    Q4 --> D["才允许做决定<br>选型 / 上线 / 回滚"]

关卡一·区间:这个数到底有多不准

Wald 区间:教科书第一课,实战第一坑

最直觉的置信区间是 Wald 区间p^±zSE\hat{p} \pm z \cdot SE(95% 置信取 z=1.96z=1.96)。它在样本大、比例居中时够用,但在评测最常见的场景——小样本、高分段——会当场穿帮。手算一个(验算过):某安全切片 20 题全部拒答正确,p^=0/20\hat{p}=0/20 出错率为 0,Wald 区间是 [0,0][0, 0]——宽度为零,意思是”我以零样本外风险的置信度断定这模型永不出错”。荒谬。高分段同理:p^=1\hat{p}=1 时 Wald 区间也坍缩成一个点。

Wilson 区间:给狂妄的小样本掺沙子

Edwin B. Wilson 在 1927 年给出的修正(出处见 Evan Miller 的成名博文,下一关细讲):

p^±=p^+z22n±zp^(1p^)n+z24n21+z2n\hat p_{\pm} = \frac{\hat p + \frac{z^2}{2n} \pm z\sqrt{\frac{\hat p(1-\hat p)}{n} + \frac{z^2}{4n^2}}}{1 + \frac{z^2}{n}}

公式吓人,直觉极简:看区间中心 k+z2/2n+z2\frac{k + z^2/2}{n + z^2}——相当于往你的样本里免费掺入约 z23.84z^2 \approx 3.84 个”一半对一半”的虚拟样本,把小样本的狂妄往 50% 方向拽。nn 越大,掺的沙子相对越少,区间就越贴近原始比例。刚才的两个穿帮现场它都能救(验算过):0/200/20 的 Wilson 区间是 [0,16.1%][0, 16.1\%]——“没见过出错”变成”出错率不超过 16%“,诚实多了;5/55/5 的区间是 [56.6%,100%][56.6\%, 100\%]

Wilson 下界(lower bound)就是这个区间的左端点。它的语义值得背下来:“给定手头的数据,真实成功率有 95% 的把握至少是多少。“——一个悲观但公平的保底数。

同族亲戚,各安其位

这一关还有几个常见生词,一句话给每个安好位置:Clopper-Pearson 区间——不用正态近似、直接从二项分布反推的”精确”区间,保守(偏宽),审计、安全合规场景用它;Agresti-Coull 区间——Wilson 的粗胚简化版,“加 2 个成功 2 个失败再算 Wald”,手算友好;Jeffreys 区间——贝叶斯家的版本,用 Beta(½,½) 先验算后验分位数。

贝叶斯路线值得多说两句,因为它给出另一套你会撞见的生词。把先验取成均匀分布 Beta(1,1),观测 kknkn-k 错之后,后验就是 Beta 分布 Beta(k+1k{+}1, nk+1n{-}k{+}1)——这就是共轭先验(后验和先验同族,更新只是加数)。后验均值 k+1n+2\frac{k+1}{n+2} 正是拉普拉斯平滑(继承规则):5/55/5 的后验均值不是 100% 而是 6/785.7%6/7 \approx 85.7\%,后验 5% 分位数 60.7%\approx 60.7\%(Beta(6,1) 的 CDF 是 x6x^6,闭式可算,验算过)——和 Wilson 下界 56.6% 量级一致,殊途同归。频率派的”置信区间”和贝叶斯的”可信区间”是两套哲学(前者说”程序长期正确率 95%“,后者说”参数落在区间内的概率 95%”),但工程上你只需要知道:两家在评测场景给出的数字通常很接近,选一家用熟即可。

关卡二·排序:Wilson 下界的成名战

Wilson 下界从统计教材走进工程师词汇表,靠的是 Evan Miller 2009 年的博文《How Not To Sort By Average Rating》。文中点名两种错误排序:正减负(Urban Dictionary 用法:600 赞 400 踩的 60% 好评项,排在 5500 赞 4500 踩的 55% 项后面——纯粹被规模压死)和简单平均(Amazon 用法:2/2 好评压过 100/101——被小样本骗死)。正确做法就是按 Wilson 下界排序,Reddit、Yelp、Digg 都采用过(以上案例与采用名单来自该博文,我未逐一回查各平台源码)。

评测平台里的对应场景一模一样:按切片给模型排名。小切片(n 十几条)的满分模型和大切片(n 几百条)的 90 分模型放同一张榜单,按原始均值排序就是 Amazon 的错误。按 Wilson 下界排序的效果是对小样本自动降权——不是禁止小样本上榜,而是要求它拿出与其不确定性相称的成绩。导语里那组数字(验算过)就是机制本身:

模型原始分Wilson 95% 下界原始排名下界排名
A5/5 = 100%56.6%12
B90/100 = 90%82.6%21

这一关的两个亲戚生词:贝叶斯平均——排序界的拉普拉斯平滑,给每个条目掺入 m 个”全局平均分”的虚拟票再排,效果与 Wilson 下界同向;Bradley–Terry 模型 / Elo——当你的数据不是”对/错”而是”成对比较谁赢”时的排序工具,Chatbot Arena 用它把 24 万张人类投票聚合成带置信区间的榜单(见覆盖地图第⑩格,论文 arXiv 2403.04132)。BT 模型的核心一行:P(i 胜 j)=πiπi+πjP(i \text{ 胜 } j) = \frac{\pi_i}{\pi_i + \pi_j},Elo 是它的在线更新近似。

关卡三·比较:两个分数的差是真的吗

配对是免费的午餐

比较模型 A 和 B,最常见的错误是把两个独立区间目测一下”有没有重叠”。正确姿势是利用一个被白白浪费的事实:两个模型答的是同一批题。Anthropic 论文(2411.00640)把这写成显式公式——配对差值的标准误:

SEpaired=SEA2+SEB22SEASEBCorr(sA,sB)SE_{paired} = \sqrt{SE_A^2 + SE_B^2 - 2 \cdot SE_A SE_B \cdot \mathrm{Corr}(s_A, s_B)}

两个模型在题目难度上高度正相关(难题一起错,简单题一起对),那个减号项会大幅削减标准误——论文原话称配对差值是比较模型时”免费的方差缩减”。工程动作:评测报告里报”逐题差值 ± 配对标准误”,不要报两列独立分数让读者自己目测。

McNemar 检验:只看意见不合的题

配对二元判分有个专用检验,名字常在评测论文里出现——McNemar 检验。它的洞察漂亮:两模型都对、都错的题不含比较信息,只数意见不合的题。设 A 对 B 错的题有 bb 道、A 错 B 对的有 cc 道,检验统计量 χ2=(bc)2b+c\chi^2 = \frac{(b-c)^2}{b+c},超过 3.84 即在 0.05 水平显著。手算(验算过):200 题里 A 独对 15 题、B 独对 5 题,χ2=(155)220=5.0>3.84\chi^2 = \frac{(15-5)^2}{20} = 5.0 > 3.84,显著;用精确二项检验复核 p ≈ 0.041,结论一致。直觉版:意见不合的 20 题如果两家真的一样强,应该接近 10:10 分——15:5 偏得足够远。

这一关的配套生词:p 值(在”其实没差别”的假设下,看到当前这么大差距的概率)、显著性水平 α(你容忍的假阳性率,惯例 0.05)、效应量(差距本身的大小——p 值只说”差距是真的”,不说”差距值得在乎”,n 够大时 0.1 分的差距也能显著)、bootstrap(对题目重抽样几千次直接画出分数分布,不依赖公式,万能但费算力)、置换检验(把两模型的标签随机打乱看差距还剩多少,同样万能)。

多重比较:切片越多,鬼越多

评测平台一跑就是几十个切片,这里埋着最隐蔽的坑。在 α=0.05 下独立跑 20 个切片的显著性检验,至少出一个假阳性的概率是 10.952064%1 - 0.95^{20} \approx 64\%(验算过)。你在周报里看到的”模型 B 在东北方言切片显著回归!“,很可能只是掷了 20 次骰子后必然出现的那次六点。对策生词:Bonferroni 校正(把 α 除以检验个数,简单粗暴偏保守)、FDR / Benjamini-Hochberg(控制”假发现比例”而非”一个都不许错”,切片多时更实用)。最低限度的纪律:报告显著发现时,同时报告你一共做了多少次比较。

关卡四·判分者:给分数的人也要有分数

覆盖地图的第⑧格说过 LLM 判官需要人工抽检对齐率。这一关的生词回答”对齐率怎么算才不骗人”。

Cohen’s kappa:先扣掉瞎蒙的部分

两个判分者(人 vs LLM 判官)的”一致率 85%“听起来很高——但如果两家各自 90% 的时间都在给”通过”,闭着眼睛随机给分也会有 0.92+0.12=82%0.9^2 + 0.1^2 = 82\% 的一致率Cohen’s kappa 把这部分瞎蒙一致扣掉:

κ=pope1pe=0.850.8210.820.17\kappa = \frac{p_o - p_e}{1 - p_e} = \frac{0.85 - 0.82}{1 - 0.82} \approx 0.17

(验算过。)一致率 85% 的表象下,kappa 只有 0.17——按惯用解读连”及格的一致性”都算不上。在通过率偏斜的评测里(业务评测几乎都是),永远看 kappa 不看原始一致率,这是判官审计最容易踩的坑。亲戚生词:Fleiss’ kappa(三个及以上判分者)、Krippendorff’s alpha(能处理缺失值和多种数据类型的通用版)。

相关系数三兄弟:判官给的是连续分时

判官输出 1–10 分而不是对/错时,和人类分数的一致性用相关系数衡量:Pearson(线性相关)、Spearman(秩相关——只看排序对不对,抗离群值)、Kendall’s τ(成对顺序一致率,解释最直白)。评测论文惯用 Spearman:G-Eval 报的”与人类 0.514”就是 Spearman(见覆盖地图第⑧格)——顺便复习那一格的警告:判官分数还可能带位置、冗长、自我偏爱三种系统性偏差,相关系数高不等于无偏。

关外三件套:评测特有的进阶生词

三个不属于经典统计教材、但评测工程里高频出现的词,各给一段。

pass@k 的无偏估计HumanEval/Codex 论文定义 pass@k(k 次采样至少一次通过的概率)时特别给出无偏估计公式:生成 n>kn > k 个样本、其中 cc 个正确,则 pass@k=E[1(nck)/(nk)]\text{pass@}k = \mathbb{E}\left[1 - \binom{n-c}{k}/\binom{n}{k}\right]。为什么不用直觉公式 1(1p^)k1-(1-\hat{p})^k?论文明说它系统性低估。手算感受(验算过):n=10,c=3,k=5n=10, c=3, k=5 时无偏估计 91.7%,直觉公式只给 83.2%。如果你的平台在算 pass@k,查一下用的是哪个公式——这是能直接改变模型排名的实现细节。注意 pass@k(至少一次成功,乐观)和上一篇讲的 pass^k(k 次全部成功,悲观)是一对方向相反的指标,别混。

聚类标准误。评测题常常不独立:同一篇阅读材料出 5 道题、同一模板改写出 20 条变体。Anthropic 论文实测:这种场景下朴素标准误会低估最多 3 倍以上(DROP 数据集的例子),必须用聚类标准误——按”同源题簇”聚合后再算。你的评测集如果用模板批量造题(业务评测几乎必然),这个词就和你有关。

功效分析。反过来问:想可靠地检测出 Δ 的差距,需要多少题?公式的核心是 n1/Δ2n \propto 1/\Delta^2。Anthropic 论文给的基准数:想以 80% 功效检测 3% 的模型差距,需要至少约 1000 题。而”80% 功效”(power)的意思是:如果差距真的存在,你有 80% 的概率能测出显著——剩下 20% 是漏检(第二类错误,与假阳性的第一类错误相对)。

生词总表:见到就能对号入座

生词一句话人话哪一关
标准误 SE分数这个”平均值”自身的波动幅度地基
中心极限定理 CLT题够多时平均分近似正态,误差条因此可算地基
super-population你的评测集只是”所有可能题目”的一次抽样地基
置信区间”真值大概率在这个范围”的频率派表述
Wald 区间p̂±1.96·SE;小样本/高分段会坍缩穿帮
Wilson 区间/下界掺 ~4 个中性虚拟样本防狂妄;下界=95% 把握的保底成功率一、二
Clopper-Pearson不做近似的”精确”区间,保守,审计用
Agresti-Coull”加 2 成 2 败再算 Wald”,Wilson 的手算简化版
Jeffreys 区间贝叶斯版区间,Beta(½,½) 先验
Beta 分布/共轭先验二元判分的贝叶斯标配,更新=加数
可信区间”参数落在区间内的概率 95%“的贝叶斯表述
拉普拉斯平滑(k+1)/(n+2):5/5 读成 85.7% 而不是 100%
贝叶斯平均排序前给每个条目掺 m 票全局均分
Bradley–Terry / Elo成对胜负数据的排序模型;Arena 榜单的引擎
p 值”假设没差别,看到这么大差距”的概率
显著性水平 α你容忍的假阳性率,惯例 0.05
效应量差距本身多大——显著≠值得在乎
配对检验同题差值再检验;免费方差缩减
McNemar 检验配对二元分的专用检验:只数意见不合的题
bootstrap重抽样几千次硬算出分布,万能但费算力
置换检验打乱标签看差距是否消失,同样万能
多重比较问题20 个切片必出鬼:假阳性概率 64%
Bonferroni / FDR除以检验数(狠)/ 控假发现比例(实用)
第一/二类错误假阳性 / 漏检;α 管前者,功效管后者
Cohen’s kappa扣掉瞎蒙一致后的判分者一致性;偏斜分布必用
Fleiss κ / Krippendorff α多判分者版 / 带缺失值的通用版
Pearson/Spearman/Kendall线性 / 秩 / 成对顺序三种相关;判官审计用 Spearman 居多
pass@k 无偏估计组合数公式;直觉公式系统性低估关外
聚类标准误同源题簇不独立,朴素 SE 可低估 3 倍关外
功效分析 / MDEn ∝ 1/Δ²;3% 差距需约 1000 题关外

元规律:分辨率定律

把功效分析那行公式提炼成这篇的元规律(这是我的表述,不是文献原文):

评测集是显微镜,题数 n 是它的倍数:能看清的最小差距 Δ1/n\Delta \propto 1/\sqrt{n}。想看清 3 倍细的差异,就要付 9 倍大的评测集。

这条定律给了你两个方向的用法。正向(花钱前算账):产品说”我们要能感知 1 个点的质量回归”,你立刻知道这句话的价签是”3% 需 1000 题”的 9 倍——约万题级的评测集,做不起就砍精度要求。反向(读报告防身):任何”模型 X 比 Y 好 2 个点”的声明,先看 n——n=200 时误差条半宽就有 4 个点,2 个点的差距淹没在噪声里,这个声明连自己都测不见。这正是指标即定价在评测域的镜像:SLO 每收紧一个数量级架构成本上一档,评测分辨率每细一个数量级,题库成本上两档(平方律)。

Wilson 下界们在这条定律里的角色也清楚了:它们不能提高显微镜的倍数——它们是刻在镜筒上的倍数标尺,强迫每个分数自带”我只能看清这么细”的坦白。填覆盖地图十个格子的每个数,都该带着这把标尺。

诚实的提醒

  • 本文所有手算数字(Wilson 5/5→56.6%、90/100→82.6%、Wald 0/20 零宽区间、Beta(6,1) 分位数 60.7%、κ=0.17、McNemar χ²=5.0 与精确 p≈0.041、20 切片假阳性 64%、n=200 时半宽 4.2%、pass@5 无偏 91.7% vs 直觉 83.2%)均用脚本验算通过。
  • 论文数字(聚类 SE 可大 3 倍以上、3% 差距 80% 功效需约 1000 题、G-Eval 的 0.514)来自当日核实的论文原文,未亲手复现。Reddit/Yelp/Digg 采用 Wilson 排序、Urban Dictionary/Amazon 的错误示例,转述自 Evan Miller 博文,未回查各平台实现。
  • 历史归属(Wilson 1927 出自核实过的 Evan Miller 博文;McNemar 1947、Cohen 1960、Bradley–Terry 1952 系教科书通识)未逐一回查原始论文。“四道关卡”的流水线组织和”分辨率定律”的表述是我的整理,不是文献分类。
  • 成本最低的亲手验证实验:从你的评测平台导出任意一张”按切片排名”的榜单(含每格的 k 和 n),用 10 行 Python 给每格算 Wilson 95% 下界并重排序,数一数有多少个名次发生了变化——变化的每一行,都是原始均值排序曾经骗过你的地方。顺手把 κ 也算了:抽 20 条判官打分让人复核,先算原始一致率,再算 kappa,感受两个数字的落差。

参考来源

工程实践

arXiv 论文(均于 2026-08-11 检索核实):

本站相关文章