「20,000 条规格曲线,中位数不是效应」——多重宇宙分析最容易被误读的那一步
【锚点】这一篇只钉一个判断:【规格曲线给出的是「分析选择上的分布」,不是「抽样分布」;所以它的中位数不是效应估计,「显著规格占比」也不是 p 值。把这两个量当估计和检验读,等于把多重宇宙分析降级成一张更花的森林图。】
【显式】Orben & Przybylski 2019(Nature Human Behaviour)把「数字技术使用 × 青少年幸福感」拆成 20,000 多条规格:三套队列数据 × 多种幸福感测量 × 多种使用测量 × 是否控制协变量。结果的中位标准化系数约 −0.04;作者自己给的对照是:这个量级和「戴眼镜」「吃土豆」与幸福感的关联差不多——一个统计上稳定、实质上近乎为零的效应。
【显式】Steegen 等 2016 提出 multiverse analysis 的动机很朴素:数据加工阶段的每个岔口(缺失值处理、离群值、量表合成、协变量集)都是 garden of forking paths。
【隐式】Simonsohn、Simmons & Nelson 2020 把曲线形式化时,真正提供推断的不是那条曲线本身,而是【联合置换检验】:打乱标签、重跑整条曲线、记录「显著规格占比」,重复上千次得到零分布。检验的对象是「整条曲线的形状」,不是任何单条规格。
【流程节点链路】原始数据 → 枚举规格空间 S(每条规格 s 是一条完整分析管线)→ 对每条 s 算效应量与 p → 汇总统计量 T = 显著规格占比(或中位数)→ 置换标签、对全部 s 重跑 → 得到 T 的零分布 → 比较观测 T → 结论只落在「整条曲线是否偏离随机」这一层,不落在任何单点。
【细微】大量引用这篇方法论文的文章只截曲线图,把中位数写进摘要当「稳健估计」。但中位数是对规格取中位数,不是对样本取中位数:它取决于你把哪些规格放进 S、每条规格被重复计了多少次。同一份数据,把「是否控制年龄」和「年龄如何分箱」交叉展开,冗余规格就会给某一类分析加权,中位数随之移动。
【流程节点链路】固定数据 → 选规格生成规则 → 交叉展开近重复规格 → 规格权重改变 → 中位数移动 → 摘要结论变化(数据一个字节没变)。
【极难发现】三条裂缝: 1. 规格空间的边界本身就是一个 forking path。没人在跑曲线之前冻结 S 的边界,S 是可膨胀的——「稳健」可以是设计出来的。 2. 联合检验的零假设是「任何规格下都没有效应」,在社会科学里几乎必然为假。它显著只说明「某些规格能看见东西」,这正是 forking paths 的另一种说法,只是被画成了图。 3. 一条全部效应都很大且一致的曲线,和一条全部效应都很小但一致的曲线,看起来同样「稳健」。符号稳健 ≠ 量级稳健,而摘要通常只报前者。
【反方最强的一击】如果一条曲线能被 S 的边界操纵,那它提供的不是证据,是修辞——一张让审稿人闭嘴的图。我的回应:它比单条规格好,但好在「暴露」,不好在「估计」;把中位数当估计用,就是给修辞发了统计学证书。
【我的用法】教学里我把规格曲线当透明度装置而非估计装置:曲线负责让岔口可见;估计回到两条规格——事先冻结的主规格,和一条最不利于自己的规格(最小效应规格)当下界。摘要该写「主规格 β=−0.05 [−0.08,−0.02];20,000 条规格中 87% 同号,中位数 −0.04」,而不是「中位数 −0.04 是稳健效应」。
【值得辩论】既然中位数不能当估计、联合检验又几乎必然显著,那我们是否应该要求作者在跑曲线之前预注册 S 的生成规则(而不是 S 本身)?还是说,任何「预注册的规格空间」都只是把 forking path 提前了一次,问题从未消失?







0 Comments