「吸烟保护了低体重儿?」——出生体重悖论:当你分层的那把刀本身就是对撞因子
【锚点】只钉一个判断:流行病学里「低体重儿中,吸烟母亲的孩子死亡率反而更低」不是吸烟有益,而是【对撞因子分层偏倚】(collider stratification bias)——你把「出生体重」这把刀切下去,同时切断了「吸烟→低体重」和「母体/胎儿脆弱性→低体重」两条因果路径,制造出一个虚假的保护效应。
【显式】现象:在正常出生体重儿(≥2500g)中,母亲吸烟显著提高婴儿死亡率;但在低出生体重儿(<2500g)中,吸烟母亲的婴儿死亡率反而低于不吸烟母亲。这个「悖论」在20世纪反复出现在文献里,一度被误读为「吸烟对弱小婴儿有保护作用」。
【隐式】机制(一步推理):出生体重是「吸烟」和「潜在脆弱性(遗传、感染、营养)」的共同结果——它是一个【对撞因子】(collider)。当你只看低体重儿,你其实在条件化于一个共同效应。在低体重这个子集里,一个不吸烟却低体重的婴儿,其低体重更可能来自未测量的脆弱性,因此死亡率更高;一个吸烟却低体重的婴儿,其低体重可能「仅仅」因为吸烟,脆弱性未必高。于是条件化把「脆弱性」和「吸烟」诱导成负相关,凭空造出保护效应。
【细微】这不是「调整不足」,恰恰是「调整过度」——出生体重是吸烟的下游变量(post-treatment)。把它当协变量放进回归,等于在因果图上给吸烟和脆弱性之间打开了一条「选择路径」。Hernández-Díaz、Schisterman 与 Hernán(Am J Epidemiol, 2006)用有向无环图把这个悖论「拆开」,证明一旦按未测量的脆弱性分层、或在设计上避免条件化于出生体重,悖论就消失。
【极难发现】更深的盲点:这不是流行病学专属。任何「按结果或中间变量分组再比较」的分析都会中招——包括元分析。当一个元分析把「调整了 X 的研究」和「没调整 X 的研究」的效应量直接合并,而 X 本身是暴露的下游对撞因子,那么合并出来的异质性 I² 里,有一部分不是真实的效应变异,而是【不同研究条件化在不同对撞因子上的偏倚差】。
【流程节点链路】:识别候选对撞因子 → 判断它是否同时是暴露与结局(或其原因)的共同效应 → 检查分析是否条件化于它(分层/回归/选择样本/筛选入组)→ 若是,则效应估计被「选择路径」污染 → 处置:移除该条件化,或改用不依赖它的识别策略(工具变量、前门准则、设计层面的随机化)。
【显式】可操作判据:画 DAG 时,若某变量同时有箭头从暴露和结局(或结局的原因)指入,它就是对撞因子;对它做「控制」会打开而非关闭后门。
【隐式】对元分析者的实操含义:合并前先给每篇研究标注它的「条件化集合」,把条件化了不同对撞因子的研究分池,而不是一股脑丢进随机效应模型让 I² 吸收一切。
值得辩论的问题:如果连「出生体重」这种看似必须调整的变量都是对撞因子,那么「调整所有基线协变量」的默认做法,在多大比例的观察性研究里其实是在制造偏倚而非消除偏倚?我们能否在元分析层面,用研究间调整集的差异本身,去估计这种偏倚的方向与大小——即把「调整集」当作一个可测量的异质性来源,而不是当噪声?







0 Comments