假设检验与 p 值:它到底回答了哪个问题
p 值回答的是「如果原假设为真,看到这么极端的数据有多罕见」,不是「原假设为真的概率」。把这两句分开,读 A/B 实验结果就不会再被数字牵着走。
9 分钟
这一片为什么存在
上线复盘会上有人念结果:p = 0.03,所以新版更好的概率是 97%。没人反驳,因为这句话听上去太顺了。可它把一个条件概率的两头调了个个儿——p 值算的是「假设两版没差别,数据会极端成这样」,不是「数据成了这样,两版就有差别」。这一片要做的事很小:把这两句话拆开,摆在一起看,再看清它们各自能支撑什么结论。
内容
先把 A/B 实验放一放,看一枚硬币。
朋友掏出一枚硬币,说它是公平的。你抛了 10 次,10 次全是正面。你不会张口就说「它有问题」,但你心里已经做了一步计算:假设他说得对,硬币真的公平,那连出 10 次正面的可能性有多大?是 1/1024,约 0.001。这个 0.001 就是 p 值的原型。
请盯住这句话的方向。你算的是「在公平这个前提下,看到这么极端结果的概率」。你没有算「这枚硬币是公平的概率」。后者要算,你还得先回答一个额外的问题——朋友随手掏出的硬币,本来有多大比例是灌了铅的?这条信息,10 次抛掷根本没提供。两个数字的条件方向相反,谁也变不成谁。
假设检验就是把上面这套动作制度化。先立一个「什么都没发生」的说法当靶子,叫原假设:两版转化率一样、新药和安慰剂一样、这枚硬币公平。然后问:如果靶子是真的,我手上这批数据会有多不像话?不像话到什么程度算罕见,事先划一条线,通常是 0.05。低于线,就说「数据和靶子处不来」,把靶子推倒。
它长得像反证法,但软了一档。反证法从假设出发推出矛盾,矛盾一出现,假设必死。这里推不出矛盾,只推出「很别扭」。所以结论也必须软一档,而软下来的部分恰好是两处分岔。
p 很小的时候,摆在面前的是两种情况。要么原假设确实为真,只是你正好撞上了那批罕见样本;要么原假设是假的。检验让你挑第二种,但第一种从来没被排除,它只是被你按概率放弃了。
p 很大的时候,同样是两种情况。要么真的没有差别;要么差别真实存在,但你的样本量太小、噪声太大,这批数据看不出来。「看不出来」和「不存在」是两件事。所以 p = 0.4 只能说成「没有找到足够证据」,不能说成「证明了两组一样」——后一句把第二种情况整个抹掉了。
这两处分岔,就是这一片全部的内容。剩下的符号,只是把它们写清楚。
记原假设为 H₀,就是那个「什么都没发生」的说法;备择假设 H₁ 是它的反面。
从数据里造一个数,叫检验统计量 T。它的作用是把整批数据压成一个「离 H₀ 有多远」的刻度。这批实际数据算出来的那个值记作 t_obs。
p 值的定义是:p = P(T 至少和 t_obs 一样极端 | H₀ 为真)。
竖线右边是条件,左边是事件。右边是 H₀,说明整个概率是在「H₀ 成立」这个假想世界里算的。左边是数据,不是假设。所以 p 衡量的是数据在 H₀ 下的罕见程度。而 P(H₀ | 数据) 是另一个东西,两者要靠贝叶斯公式换算,还得额外提供 H₀ 的先验概率。检验里没有这个先验,所以那一步换算做不了。
显著性水平 α 是你事先划的线,通常取 0.05。规则是:p < α 就拒绝 H₀,否则「不拒绝」。注意措辞是「不拒绝」而不是「接受」。α 本身也有含义:它是 H₀ 为真时你误判的概率上限,也就是上一节第一处分岔的发生率。
还有一条常被漏掉:p 的定义依赖于「你事先决定了要看哪个 T」。同一批数据换 5 个指标各算一次 p,只要有一个小于 0.05 就宣布成功,那么「至少一个小于 0.05」的概率不是 0.05,而是 1 − 0.95⁵ ≈ 0.23。
跟着做一遍
一次 A/B 实验:老版展示给 1000 人,100 人转化;新版展示给 1000 人,124 人转化。转化率从 10.0% 涨到 12.4%。请算出双侧 p 值,并回答两个问题:能不能说新版更好?如果样本量翻到 4 倍、比例不变,p 会怎么变?
- 写下 H₀:两版真实转化率相同,即 p₁ = p₂。备择假设是二者不等,做双侧检验。
- 把两组合起来估一个共同转化率:p̂ = (100 + 124) / (1000 + 1000) = 224 / 2000 = 0.112。
- 算标准误:SE = √(0.112 × 0.888 × (1/1000 + 1/1000)) = √0.000199 ≈ 0.0141。
- 算检验统计量:观测差是 0.124 − 0.100 = 0.024,于是 z = 0.024 / 0.0141 ≈ 1.70。
- 查正态表:单侧尾部概率约 0.045,双侧 p ≈ 2 × 0.045 = 0.089。
- 对照 α = 0.05:0.089 > 0.05,不拒绝 H₀。用分岔那一节的话说,此刻你分不清「真的没差别」和「有差别但 1000 人不够看」。所以只能说没找到足够证据,不能说两版一样。
- 换 4 倍样本重算:每组 4000 人、400 与 496 转化,p̂ 仍是 0.112,SE = √(0.099456 × 2/4000) ≈ 0.00705,z = 0.024 / 0.00705 ≈ 3.40,双侧 p ≈ 0.0007。
- 比较两次:效应大小从头到尾都是 2.4 个百分点,一点没动;p 却从 0.089 掉到 0.0007。可见 p 小说明的是「不像巧合」,不是「效应大」。
结果
p ≈ 0.089,在 α = 0.05 下不拒绝原假设。这不是「新版没用」的证据,只是这 2000 个样本还不足以把「没差别」这个解释排除掉。同一个 2.4 个百分点的差距,样本翻 4 倍后 p ≈ 0.0007,说明 p 值同时被效应大小和样本量驱动,单看它读不出效应有多大。要读效应,去看差值的置信区间:这次是 0.024 ± 1.96 × 0.0141 ≈ [−0.004, 0.052],它跨过了 0,和 p > 0.05 说的是同一件事。