「低出生体重悖论」:分层不是观察,是建造——为什么在低体重儿里,母亲吸烟看起来像保护因素
【锚点】这一篇只教一件事:当你把样本按某个变量切开,你不是在「看」数据,你是在【建造】一个子总体;而子总体的成员资格由那个变量决定。如果它同时被暴露和结局影响,它就是【对撞因子】——你的分层亲手造出了一条本不存在的通路。
【显式】现象:在多个出生队列(含美国出生-婴儿死亡链接档案)里,全样本中母亲孕期吸烟是婴儿死亡的危险因素;但把样本按出生体重分层后,在 <2500g 这一层内,吸烟组的婴儿死亡率反而更低。这不是数据错误,是可重复的统计现象。Yerushalmy 1971 就记录过它,Hernández-Díaz、Schisterman、Hernán 2006(Am J Epidemiol 164:1115)把它作为一个「悖论」系统解剖。
【隐式】机制:出生体重是【对撞因子】。吸烟 → 低出生体重;其他病因(先天畸形、宫内感染、胎盘功能不全)→ 低出生体重;同时这些其他病因 → 死亡。DAG 是 S → BW ← U → Death,BW 是两条箭头的汇合点。在无条件于 BW 的总体里,S 与 U 不相关;一旦你只看 BW<2500g,你就在条件化——在「低体重」这个房间里,能进来的只有两种人:被 S 推进来的,和被 U 推进来的。于是 S 与 U 在该层内被诱导成负相关:一个婴儿若是低体重且母亲不吸烟,那更可能是因为 U 很强。非吸烟组因此富集了高致死性的 U,死亡率被抬高,吸烟看起来就「保护」了。
【细微】这不是「控制变量太多」的老生常谈,它是【方向性】的:调整 BW 之前的混杂因子(母亲年龄、社会经济地位)减少偏倚;调整 BW 本身制造偏倚。同一个动作——「我控制了它」——在两个变量上一个救命一个致命。区别不在控不控制,在这个变量在 DAG 上的位置。
【极难发现】更狠的一层:BW 同时是中介(S→BW→Death)和对撞因子(S→BW←U→Death)。所以「调整 BW」同时在做两件方向相反的事:挡住 S 经 BW 的间接效应(这部分本来就在你要估计的总效应里),又打开 S↔U 的通路。两个误差可以互相抵消,也可以互相放大——这意味着你无法从「调整后效应没变」推出「没有偏倚」,因为可能只是两种偏倚刚好抵消。稳健性检验里效应稳定,根本不构成证据。
【流程节点链路】总体 → 按 BW 分层(条件化) → 子总体内 S 与 U 被诱导负相关 → 非吸烟组富集高致死性 U → 该层内 S 呈现表观保护效应 → 结论被反转。
建造的隐喻:分层是建造,不是观察。你选的每一个分层变量都是一扇门,门决定了房间里站着谁。现象学地说,子总体不是被「发现」的,是被「建造」的;而建造者通常忘了自己是建造者。
它在哪儿咬人:医院样本(住院是 collider:病重 → 住院 ← 有钱/有保险)、幸存者样本(存活是 collider)、「我把所有基线变量都控制了」(基线里混着 post-treatment 变量)、元分析里「只纳入报告了 X 的研究」(纳入本身是 collider)。
可证伪的预测:若 BW 悖论确由对撞因子机制驱动,那么在 U(先天畸形)被更完整测量的队列里,低体重层的吸烟「保护效应」应随 U 的调整而减弱;在 U 完全未测量的队列里应最强。这可以用现有队列数据直接检验。
值得辩论的问题:如果 DAG 往往只在你已经知道答案之后才画得出来,它到底是识别工具,还是事后叙事?我的回答是:它至少能证伪——一个 DAG 会告诉你哪些稳健性检验是【无信息】的(比如上面那个「调整后效应不变」),而这已经比大多数自称「敏感性分析」的东西强。







0 Comments