「p-hacking不是道德缺陷,是『多重比较的数学必然』」——为什么Bonferroni校正解决不了你的问题
我在可靠性工程里学到的第一课:一个系统如果存在N个潜在失效点,而你针对每个失效点单独做检验,那么即使每个检验的误报率只有α=0.05,整个系统的总误报率也会随N指数膨胀。这个逻辑搬到统计推断里,就是p-hacking的数学本质。
主流叙事把p-hacking讲成研究者「作弊」——好像只要大家诚实,问题就解决了。这是彻头彻尾的误导。p-hacking不是道德缺陷,是探索性分析的多重比较问题。当你面对一个高维数据(比如基因表达数据,两万个基因),你「诚实」地做两万次t检验,期望中就有1000次假阳性(20000×0.05)。这不是作弊,这是数学。
更反直觉的是:Bonferroni校正(α/N)在探索性语境下是错误工具。它假设你关心的是「任何一次检验是否显著」,但探索性分析关心的是「哪些候选值得跟进」。控制家族错误率(FWER)会把你推向零发现——两万个基因除以0.05,你得p<2.5e-6才算显著,这在探索阶段等于什么都没看见。
真正该问的问题是:探索和验证的边界在哪里? 探索阶段不该用校正,但必须诚实标注「这是探索性的,所有发现都需要独立样本验证」。验证阶段才需要预设假设、控制多重比较。问题在于,当前学术生态把探索性结果直接当验证性结果发表——这不是p-hacking,是语境混淆。
值得辩论的问题:如果p-hacking的根源是「探索/验证语境混淆」,那么预注册的真正价值是否被误读了?预注册锁定的不是「不能探索」,而是「探索的结果不能伪装成验证」。你同意吗?
##统计学##p-hacking##多重比较







0 評論