把 AI 客服的提示词改了一版,线上点击率从 3.1% 变成 3.4%。团队里立刻有两种声音:一拨人说涨了就是有效,另一拨人说这点波动天天都有。假设检验就是为这种争吵准备的裁判,它不告诉你哪个版本更好,只回答一件事——如果两个版本其实一模一样,出现眼下这种差距的可能性有多大。这篇讲清原假设怎么设、p 值在算什么、两类错误如何权衡,以及为什么连着测二十个指标几乎必然测出显著。
它把问题倒过来问
直接问「新版本更好吗」很难,要证明一件事成立,得排除所有其他可能。假设检验换了个方向:先假定两者没有差别,把这个世界叫原假设,再计算「在这个世界里看到当前数据或更极端数据的概率」。这个概率小到一定程度,我们就说原假设撑不住了。逻辑上它接近反证法,只是反证法能推出矛盾,而这里只能给出「不太可能是巧合」的强度判断,永远到不了已证明。它天生是排除工具,不是确认工具。
四个概念,四种误读
| 概念 | 准确含义 | 常见误读 | 误读的后果 |
|---|---|---|---|
| p 值 | 原假设成立时,出现当前或更极端数据的概率 | 当成结论正确的概率 | 把 0.03 理解成 97% 靠谱,过度自信 |
| 显著性水平 α | 事前愿意承担的误判上限,常取 0.05 | 当成效果的及格线 | 以为 p 小于 α 就说明效果大 |
| 统计功效 | 真有差异时能把它测出来的概率 | 设计阶段从不计算 | 样本太少,真有效果也测不出 |
| 效应量 | 差异本身有多大,比如 0.3 个百分点 | 被 p 值遮住 | 大样本下微小提升也显著,却没有业务价值 |
统计功效这一行最容易被跳过。很多实验只算了要多少样本才能显著,没算现有样本能不能测出真实效果,做完得到不显著,团队误以为改版没用,其实只是样本不够。效应量则决定结论值不值得行动:样本足够大时任何微小差别都会显著,显著性只回答是不是噪声。
两类错误,此消彼长
把没差别判成有差别,是第一类错误,也叫假阳性,代价是把没用的改动推上线;把有差别判成没差别,是第二类错误,代价是错过一个真有效的方案。两者互相拉扯:把 α 从 0.05 收紧到 0.01,假阳性少了,但要测出同样的效果就需要更多样本,否则更容易漏掉真效果。没有一组参数能同时压到零,只能按代价权衡。推错一个改动的损失通常小于错过一次增长,所以产品实验可以宽松些;涉及资金或权限的判定反过来,宁可漏也不可错。
为什么不能边跑边看
实验跑到第三天看到 p 等于 0.04 就宣布胜利,是最常见的失误。每多看一次数据,就多一次碰巧越过阈值的机会;反复查看再在显著时停下,实际误判率会远高于名义上的 5%。正确做法是事前定好样本量和观察窗口,中途只看有没有严重异常。这和 交叉验证 里先划好数据再评估是同一条纪律:规则必须在看到结果之前定下来。
测二十个指标,总有一个显著
每做一次检验,就有 5% 的概率误报;独立地做二十次,至少出现一次误报的概率接近三分之二。团队同时盯点击率、停留时长、转化率、退款率十几个指标,几乎必然能挑出一个显著提升。应对办法有两类:事前指定唯一的核心指标,其余只作参考;或者做多重比较校正,把阈值按检验次数收紧。看到一份报告里十几个指标全是绿的,先怀疑方法。
这类问题在模型评测里同样存在。同一批测试题上比较多个模型、多个指标,挑出表现好的去汇报,等于自己给自己发奖。评测集本身被污染时,显著性更是毫无意义,可看 评估污染。
它证明不了的事情
假设检验的边界很硬。它无法证明原假设为真,不显著只意味着证据不足;它不告诉你差异有多大,显著性回答的是噪声问题;它依赖前提,多数检验默认样本独立、分布近似正态,时间序列或分层抽样数据直接套用会失真;它还可能被滥用,换指标、换分组、剔除所谓异常样本,总能凑出一个漂亮的 p 值。更根本的一条是,它只处理随机误差,埋点本身算错了,p 值再小结论也是错的。
看一份实验报告时先问什么
拿到结论先看四件事:核心指标是不是事前定的;样本量怎么算出来的;有没有给出效果的范围;实验期间有没有顺手改过别的变量。这四条能挡掉大部分看起来很美的结论。模型评测同理,两个模型在榜单上差 1 分,没有误差范围的话,这 1 分很可能只是测试集的波动,怎么看可参考 模型评估指标 与 置信区间。
速查:假设检验
- 原假设是两者无差别,p 值是这个世界里出现当前数据的概率
- p 小只说明不像运气,不说明差异大、更不说明重要
- 先定样本量再开跑,中途反复偷看会抬高误判率
- 测的指标越多,越需要事前指定核心指标或做校正
- 不显著不等于没效果,可能只是样本不够


