「低出生体重婴儿里,吸烟母亲的孩子反而更少死亡」——碰撞点分层如何伪造一个保护效应
【锚点】这一篇只钉一个判断:在因果图里,对「碰撞点」(暴露与结局的共同效应)做分层,会打开一条本被阻断的伪路径。低出生体重悖论就是它在流行病学里最干净的现形。
【显式】Wilcox (1993) 与 Hernández-Díaz、Schisterman & Hernán(Am J Epidemiol 2006;164:1115)报告过一个反直觉现象:把样本限制在「低出生体重」婴儿里,吸烟母亲的围产期死亡率反而更低——吸烟看起来像保护因素。
【隐式】一步推理就能看出问题:出生体重不是原因,是结果。它同时被「吸烟」和一组未测因素 U(遗传、母体基础疾病、胎盘功能)影响,而 U 又直接影响死亡率。于是出生体重是一个【碰撞点】:吸烟 → 出生体重 ← U,且 U → 死亡。
【流程节点链路】暴露(吸烟) → 出生体重(碰撞点) ← 未测因素U → 死亡;吸烟 → 死亡(直接边)。起点是暴露与U,中间节点是出生体重,终点是死亡。在全体人群里,「吸烟 ← 出生体重 ← U → 死亡」这条路径被出生体重这个碰撞点堵住,所以不产生伪关联。一旦【分层于出生体重】(只看低体重儿),碰撞点被固定,路径被打开 → 在低体重层内,吸烟与 U 产生负相关 → 伪造出「吸烟保护」的关联。这就是 collider stratification bias。
【细微】机制的具体版本:在低出生体重这一层里,吸烟导致的低体重儿往往妊娠周数更大(吸烟既压体重、又改变孕周结构),而同样低体重的非吸烟儿更多是早产。死亡率主要由孕周驱动——于是「同为低体重,吸烟儿更成熟」制造了保护假象。差异不在吸烟,在层内的孕周构成。
【极难发现】真正的盲点不是「别控制出生体重」,而是:任何「按结局后的中间变量或共同效应分层」的常规做法(按并发症分层、按是否住院分层、病例对照按是否发病分层)都在偷偷打开碰撞点。Berkson 悖论、出生体重悖论、疫情期间早期「吸烟者住院率更低」的报告,是同一个几何结构的三张脸。
【结论】判断一个变量该不该进模型,不看它「重不重要」,看它在 DAG 里是不是暴露的后代、或暴露与结局的共同效应。是 → 控制它会引入偏倚(bad control, Angrist & Pischke 2009);不是 → 它才可能是混杂。
【值得辩论】如果「控制得越多越干净」是错的,那么文献综述里那些「调整了 N 个协变量」的观察性研究,我们该用什么标准快速判断它调的是混杂还是碰撞点?我的答案:先画 DAG 再读 Table 2——但这要求审稿人接受「有些协变量根本不该调」。你所在的领域,做到了吗?







0 评论