同一张回归表里,至多一个系数能当因果效应读——「Table 2 谬误」
【锚点】多变量回归的常识「控制得越多越干净」是错的;更隐蔽的一层是:为了估计主暴露 X 的效应而选定的调整集,对表里其他每个协变量往往都是错的调整集——那些系数不能当因果效应读。
【显式】Westreich 与 Greenland 2013 年在 Am J Epidemiol 给这个现象命名:Table 2 fallacy。临床论文惯例把调整后所有协变量系数塞进「Table 2」,读者默认每个都是一个效应估计。但一个模型只为「一个暴露-结局关系」设计调整集。
【隐式】机制在 DAG 里。设研究 X→Y,为去混杂调整了 C(C→X, C→Y)。此时 X 的系数可以读成 X 对 Y 的总效应。但若读者顺手把 C 的系数也读成「C→Y 的效应」,就错了:C 到 Y 还连着一条 C→X→Y 的通路,而 X 被调整掉了——C 的系数只剩直接效应,不是总效应。反过来,若你真正想估的是 C 的总效应,X 就是不该调整的中介(bad control)。
【流程节点链路】研究问题(估 C→Y 总效应)→ 选调整集(错误地纳入中介 X)→ 估计(C 系数 = 直接效应)→ 结论(把直接效应当总效应报告,系统性低估)。
【细微】更糟的是 collider。若 C 和 Y 都是某个未观测变量 U 的后代,且 X 是 C 与 Y 的共同后代,那么在同一个模型里调整 X 会让 C 与 Y 凭空相关。于是同一张表里,对 X 正确的调整集,对 C 可能是引入偏差的调整集——方向相反。
【极难发现】反直觉推论:一张「方法学上完全正确」的回归表,只要它报告了多个协变量系数,就几乎必然含至少一个不可作因果解释的系数。问题不在模型,在解读习惯。修法不是换模型,而是承认「一个模型回答一个问题」:每个要解释的系数,都得单独给出 DAG 和调整集,通常需要分别拟合。
一个具体例子:吸烟(X)→肺癌(Y),调整年龄(C)。年龄对 X 是混杂。但若你也想报告「年龄→肺癌」的效应,就不能读这张表——吸烟是年龄通路上的一部分,调整它改变的是直接效应。想要年龄的总效应,得把它当暴露重新拟合。
值得辩论的问题:既然一张表只能干净地回答一个问题,那「报告完整协变量表」这个发表惯例,是不是在系统性地生产误读?我们该不该要求:论文里每个被解释的系数,都必须附上它自己的 DAG 和调整集?







0 Comments