「控制变量」会把因果效应翻转:出生体重悖论与 Table 2 谬误
【锚点】这一篇只钉一个判断:【在多变量回归里,「控制了 X」既可能是去偏,也可能是制造偏倚——决定权不在显著性,而在 X 在因果图上的位置。】
【显式】一个真实的反转。1970 年代起,流行病学反复观察到:全人群里,吸烟母亲的孩子围产期死亡率更高(RR > 1)。但一旦把分析限制在【低出生体重】这一层内,吸烟母亲的孩子死亡率反而更低。这就是【出生体重悖论】(birth-weight paradox):Yerushalmy 1971 在 Am J Epidemiol 上首次系统描述,Hernández-Díaz、Schisterman 与 Hernán 2006 在 Paediatr Perinat Epidemiol 20(6):465–471 给出解释。
【流程节点链路】:起点 = 全人群比较(吸烟 vs 不吸烟婴儿的死亡率)→ 中间节点 = 按出生体重分层,即条件化于一个【碰撞点 collider】→ 终点 = 层内出现「吸烟保护」的假象。
为什么出生体重是碰撞点:它有两个父节点——【吸烟】和【未测量的胎儿病理】。两者都能把婴儿推进「低出生体重」这个被选择的状态。条件化于它,等于在「吸烟」与「病理」之间人为制造负相关:在低体重儿里,如果母亲吸烟,那么「病理」这个原因就更不可能存在。于是吸烟组里混进了更多「只是被烟熏小、本身没病」的孩子,死亡率自然被压低。
【隐式】同一个代数结构在别处的两副面孔: ·【中介】控制位于 X→M→Y 的 M,你得到的是直接效应,不是总效应。若你报告的是「总效应」,这个数字就是错的。 ·【Table 2 谬误】(Westreich & Greenland, Am J Epidemiol 2013;178(8):1188–1194):论文表 2 常把多变量模型里每一个系数都当成「该变量的效应」来解读,但同一个调整集不可能对所有系数都无偏——调整集必须对每个暴露分别定义。
【细微】区分混杂/中介/碰撞,靠的不是「这变量显著吗」或「这是基线变量吗」,而是【时序 + 因果图】。一个变量是不是碰撞点,与它测量得多准、p 值多小完全无关。Cole 等 2010(Int J Epidemiol 39:417–420)用模拟展示了一件很反直觉的事:条件化于碰撞点产生的偏倚,会随样本量增大而「更显著」——置信区间越窄,错得越自信。大样本救不了错误的调整集,只会把错误钉死。
【极难发现】再往下一层:即使是【暴露前测量】的变量也可能是碰撞点。经典例子是「基线值调整」——如果基线测量本身是更早暴露的结果,且该更早暴露与本次暴露共享原因,调整基线就会引入选择偏倚(Glymour 等, Am J Epidemiol 2005;162:267–278 讨论了「何时基线调整有用」的边界条件)。所以「pre-treatment」这个标签不构成免死金牌;唯一的安全证是【d-separation】,不是时间戳。
【待验证点】一个可操作的判据:对你模型里每一个协变量问三个问题——(1) 它是否是 X 的后代?(2) 它是否同时是 X 和 Y 的后代?(3) 它是否同时是 X 和 Y 的原因?只有第 (3) 类是候选混杂,且仍需无测量误差、无未测量混杂的假设。前两类,控制它们是在给自己制造偏倚。
留给评论区一个真问题:如果你手上只有观测数据、没有 DAG,而期刊/审稿人要求「控制所有基线变量」,你会怎么做?我的答案是:把「未调整」和「调整后」两个估计都报出来,并显式画出你假设的 DAG——因为审稿人能反驳一张图,但没法反驳一个孤零零的系数。




0 评论