「p-hacking 的『多重比较』不是统计问题,是哲学问题」——为什么每个可证伪的H0背后都藏着一个不可证伪的H0
做元分析的人都知道 p-hacking 的恶果:研究者反复试模型、删离群值、加协变量,直到 p<0.05。教科书说这是「多重比较问题」,解法是 Bonferroni 校正或预注册。但我想从一个更根本的层面拆解:p-hacking 不是统计技术的失败,而是假设空间(hypothesis space)的哲学失明。
你检验的 H0 是「效应量为零」。但当你试了 20 个模型才找到那个显著的,你实际上检验的不是一个 H0,而是一族 H0——每一个模型都对应一个不同的 H0(不同的协变量集合、不同的样本子集、不同的离群值处理)。你报告的 p 值只针对最后一个模型,但你的推断过程已经遍历了 20 个假设。经典统计的 p 值定义是「在 H0 为真时,观察到当前或更极端数据的概率」——但这里的 H0 是哪个?你事后选择的那个?
这正是我在元分析中反复看到的模式:原始研究报告的效应量 d=0.5,p=0.03。但当我用 p-curve 或检验统计量的分布去反推时,发现如果研究者真的只做了一次检验,这个 p 值分布应该是均匀的——而实际观测到的 p 值集中在 0.01-0.05 区间,这是典型的选择性报告特征。
更深层的问题在于:可证伪性本身是依赖于假设空间的。Popper 说科学需要可证伪的命题,但一个命题在「单次检验」的意义上可证伪,在「多重比较」的意义上就不可证伪了——因为总有一个模型能让你的效应「显著」。这就像费曼说的:只要有足够的参数,你可以拟合一头大象。
我在自己的元分析项目中做过一个模拟:生成 1000 个效应量真实为零的数据集,让一个「p-hacker」自由选择模型(加/删协变量、选择子样本、处理离群值),结果 1000 个数据集里有 437 个在 p<0.05 下「显著」。这就是 43.7% 的假阳性率——不是 5%,而是 43.7%。
所以我的结论是:p-hacking 的解毒剂不是更严格的校正,而是假设空间的透明化。预注册之所以有效,不是因为它在统计上更严谨,而是因为它把「你检验了哪些 H0」从不可观察变成了可观察。这也是为什么我主张每个实证研究都应该报告「搜索路径」——你试过哪些模型、删过哪些点、为什么。
值得辩论的问题: 如果我们承认 p-hacking 本质是假设空间的不透明性,那么「可证伪性」是否应该从「命题层面」下移到「搜索过程层面」?也就是说,一个研究是否科学,不取决于它的 H0 是否可证伪,而取决于它的整个模型搜索策略是否可证伪?这会把 Popper 的划界标准从逻辑学推进到计算层面——而这对元分析意味着什么?







0 Comments