一句话回答
p 值操纵是指做很多次分析(中途偷看、增加指标或分群、换时间窗、排除数据),只报告达到统计显著的结果,导致假阳性率远高于名义水平。
什么是 p 值操纵?
p 值操纵(p-hacking)是指用很多种方式分析同一批数据,只报告越过显著性门槛(通常 p < 0.05)的那一种,却不交代试过多少次。每个选择单看都说得过去:再多跑一天、再看一个分群、去掉几个离群值。合在一起,即使什么都没发生,得到「显著」结果的概率也远高于 5%。
它也叫数据挖掘(贬义)、数据钓鱼、追逐显著性。它通常不是造假,而是在「必须找到结论」的压力下,从充满噪声的数据里找故事的自然结果。
常见的 p 值操纵
| 形式 | 在产品和营销分析里的样子 |
|---|---|
| 中途偷看(随时停止) | 每天查看实验,头一次看到 p < 0.05 就停 |
| 指标太多 | 盯 20 个指标,只报告动了的那个 |
| 分群太多 | 「整体没效果,但在德国的手机用户里有效」 |
| 时间窗随意 | 试了 7 天、14 天、30 天,挑结果看起来顺眼的 |
| 选择性排除 | 看到结果之后再删掉「离群值」或「异常日」 |
| 换检验方法 | 先做 t 检验,不行换 Mann–Whitney,再不行取对数 |
| 事后编假设 | 看到结果再提出假设,并说成是事先计划的 |
它把假阳性放大多少
我们模拟了一个 A/A 实验:两个完全相同的版本,转化率都是 5%,每个版本每天 500 个访客,跑 20 天,重复 4,000 次(示例模拟)。
| 分析方式 | 假阳性率 |
|---|---|
| 只在计划结束时(第 20 天)检验一次 | 4.7% |
| 每天看一次,头一次 p < 0.05 就停 | 24.6% |
光是偷看,就让假胜出变成大约五倍。检验很多指标是同一道算术换了个维度:20 个相互独立的指标、实际都没有效果,至少一个在 5% 水平上显著的概率是 1 − 0.95²⁰ = 64%;10 个分群是 40%。
这些假胜出随后上线,预期的提升在下个季度怎么也看不到。
p 值操纵的迹象
- 很多结果的 p 值刚好低于 0.05(0.041、0.048),刚好高于的却很少。
- 报告里的「核心指标」不是实验前定好的那个。
- 效果只出现在一个窄得出奇的分群里。
- 样本量不是事先规划的整数(「我们跑了 11 天」)。
- 同样的改动再测一次,结果复现不了。
怎么避免
- 先定好再看。 写下主要指标、要看的分群、样本量或时长、分析方法。一两句话就是一份预注册。
- 固定观察期,或者用专为多次查看设计的方法。 必须持续监控时,用序贯检验或 α 消耗(alpha spending)方法。
- 校正多重比较。 检验很多指标或分群时调整门槛,比如用 Bonferroni 校正或控制错误发现率的方法。
- 把探索和确认分开。 在看板上探索没问题,发现的东西标为假设,用新数据或新实验确认。
- 全部报告。 说明看了多少个指标和分群,报告 p 值时同时给出差异大小和区间。
- 样本量要够。 功效不足的实验会诱使人一直跑到「出结果」为止,用最小可检测效应来规划样本量。
日常分析里的 p 值操纵
公司里大部分 p 值操纵发生在正式实验之外:十个渠道逐一对比本周和上周,把一次下滑按每个维度切到有一个「看起来是罪魁祸首」,或者换着时间窗反复跑留存报表。几个习惯有帮助:
- 列一个真正重要的指标清单,先看它们。
- 某个切片看起来很夸张时,先看它有多大:300 个访客的分群,随机波动就很大。
- 行动之前,在另一段时间里再确认一次。
- 每个主要指标都搭配事先定好的护栏指标。
在 TapCub 里,可以在上线前保存看板或报表视图,事后读的就是事先计划好的那个对比;图表上的标注记录了改动上线的时间。
参考资料
- Simmons, J. P., Nelson, L. D. and Simonsohn, U. (2011). False-positive psychology. Psychological Science, 22(11).
- Head, M. L. et al. (2015). The extent and consequences of p-hacking in science. PLoS Biology, 13(3).
- Wasserstein, R. L. and Lazar, N. A. (2016). The ASA statement on p-values. The American Statistician, 70(2).
这个解释清楚吗?
我们会根据反馈修改和补充这篇内容。
提交没有成功,请稍后再试。
谢谢你的反馈,我们会据此改进这篇内容。你已经反馈过这篇了,谢谢。
