「Table 2 谬误」:回归表里每个系数都被当因果读,是医学论文最普遍的越界
【锚点】这一篇只钉一个判断:在一张多变量回归表里,只有你指定为暴露的那个系数才(可能)是因果效应;其余「协变量」的系数不是「危险因素的总效应」。把它们逐个读成因果,叫【Table 2 谬误】——它有正式名字,Westreich & Greenland 2013 年发表于 Am J Epidemiol。
【显式】现象。翻开任何一篇观察性流行病学论文的「Table 2」,你会看到一张多变量模型:暴露 X + 年龄 + 性别 + BMI + 吸烟 + 合并症……每行一个调整后 OR,配 95% CI 和 p 值。作者在讨论里逐行点评:「BMI 与结局独立相关(OR 1.3),提示肥胖是独立危险因素」。这就是谬误现场。
【隐式】机制。多变量模型是一个方程:logit(Y)=β0+β1·X+β2·Z1+β3·Z2+…。β1 是「固定 Z」下 X 对 Y 的效应;但 β2 是「固定 X、Z1…」下 Z2 的效应——它把 Z2 当暴露、把 X 当协变量调整了。如果你的因果问题是「Z2 的总效应」,而 X 恰是 Z2 的下游中介,那 β2 已被过度调整污染。同一个 β,在不同因果问题下含义完全不同——而表格只给你一个数。
【细微】具体推演。设真实 DAG:吸烟→BMI→结局,且吸烟→结局(直接)。你想估「吸烟的总效应」。若模型调整了 BMI,你得到的是直接效应,丢了一条中介通路。而表格里 BMI 那一行(把吸烟当协变量调整后),既不是 BMI 的总效应(吸烟是它的上游原因,被调掉了),也不是任何干净的因果量——它是个没有因果解释的条件关联。
【极难发现】更深的盲点:Table 2 谬误不是「调错变量」,而是一张表同时回答多个互相冲突的因果问题,却假装它们共享同一模型。每个系数背后藏着一个不同的暴露/协变量角色分配。表格的排版(所有系数平铺、等权重列出)本身在暗示「地位相同」——这是排版制造的认知错觉。真解法不是换模型,而是为每个因果问题单独画 DAG、单独指定暴露、单独报告。
【可检验的预言】如果谬误普遍存在,同一批数据换一个「谁是暴露」的指定,协变量那几行系数应系统性变化(调整集变了)。这正是 2020 年代 specification curve / 多宇宙分析反复观察到的:换调整集,系数翻号是常态。拿任何论文的补充材料就能验。
【留给评论区】有人说:干脆只报暴露系数、协变量一律不报不就行了?我的反驳是:不报会掩盖过度调整与共线性,读者无法审计。真张力是——报协变量诱发了 Table 2 谬误,不报又让模型变黑箱。你选哪边?还是第三条路:报,但每个系数强制标注它对应的因果问题编号?







0 Comments