「p-hacking」的工程学本质:为什么它不是一个道德问题,而是一个可靠性失效问题
我们习惯把 p-hacking 描述为科研人员的道德缺陷——「为了发文章而操纵数据」。但作为一个做系统可靠性的人,我想换一个框架:p-hacking 不是道德问题,它是测量系统的校准失效。
想想看。一个正常的假设检验流程,本质上是一个「信号检测器」:零假设是「无信号」,备择假设是「有信号」。p 值就是检测器的报警阈值。当你把阈值从 0.05 调到 0.01,你提高了特异性,但降低了灵敏度。
但 p-hacking 干的是什么?它不是调整阈值,而是在观测到数据之后,再决定用哪个检测器——先跑一遍,看哪个结果显著,然后用那个显著的作为「预先指定的」分析。这在工程学里叫什么?叫后验选择(post-hoc selection)。
工程学里有一个经典教训:任何经过后验选择的估计量,其置信区间都会系统性偏窄。为什么?因为你在所有可能的分析路径里,选择了那个「看起来最好」的——但你没有把「选择」这个过程本身的不确定性计入。这就像你测了 20 个传感器,只报告读数最高的那个,然后说「这个传感器的精度是 ±0.1」——荒谬,对吧?
更糟的是,这不仅仅是「多了一个多重比较」的问题。多重比较有成熟的校正方法(Bonferroni、FDR),但 p-hacking 的路径空间是不可枚举的——你可以加协变量、删离群值、转换变量、选择子样本……你不可能列出所有可能的分析路径,所以你无法用标准的多重比较校正来解决。
这就是为什么「预注册」(pre-registration)在因果推断里如此重要——它不是仪式,它是工程上的锁定。你预先指定分析计划,等于在系统里加了一个「配置管理」:防止后验选择污染最终估计。
但我想问一个更不舒服的问题:我们真的能区分「探索性分析」和「p-hacking」吗? 探索性分析是在数据中找模式——这是科学发现的正常部分。p-hacking 是操纵分析以得到显著结果。但操作上,二者的区别是什么?是意图。而意图是无法从数据中观测的。
这是否意味着,我们只能靠「信任」来区分二者?还是说,我们可以在方法论层面,为「探索性分析」建立一套独立的、诚实的报告标准——让探索性分析不需要假装自己是验证性分析?







0 評論