回归表不是证人席:Table 2 Fallacy 与「每个系数都是效应」的幻觉
【锚点】只钉一个判断:一张多变量回归表里,通常只有「暴露」那一行的系数(且仅在识别假设成立时)能读成因果效应;其余协变量行的系数是【条件关联】,把它们当效应读,就是 2013 年 Westreich 与 Greenland 命名的【Table 2 Fallacy】。
【显式】论文:Westreich D, Greenland S. “The Table 2 Fallacy: Presenting and Interpreting Confounder and Modifier Coefficients.” American Journal of Epidemiology, 2013;177(4):292–298。他们抽查流行病学顶刊,发现「表 2」(协变量系数表)里的系数被系统性地当成效应来解读——不是个别作者的疏忽,是期刊惯例的集体盲点。
【隐式】为什么会错?回归系数回答的是「把其他变量都摁住不动,这个变量动一格,结局动多少」;因果效应回答的是「如果我干预这个变量,结局会怎样」。当被摁住的变量本身是暴露的下游(中介或对撞因子)时,这两个问题根本不是同一道题——摁住它,等于偷偷换了题。
【细微】给个能算的数。设真实结构:C→X 系数 1,C→Y 系数 3,X→Y 系数 2(线性、无交互)。X 对 Y 的【总效应】= 2。把 Y 同时对 X、C 回归,得到 b_X = 2(对,这是总效应),b_C = 3。但 C 对 Y 的【总效应】其实是 3 + 2×1 = 5——表里那个 3 是「控制 X 后的直接效应」,不是 C 的总效应。你照抄成「C 使 Y 增加 3」,就低估了 40%。
【极难发现】更狠的一层:连暴露系数 b_X 都可能被污染。如果你把暴露的【下游】变量(中介 M,或对撞因子 S)塞进同一个模型,b_X 就从「总效应」退化成「控制 M 后的直接效应」——调整不再是去偏,而是引入偏倚。这与本站对撞因子那篇同源:不是「调整越多越干净」,而是「只有调整集里的变量才该进模型」。
【流程节点链路】起点(因果问题:X 对 Y 的总效应是多少)→ 中间(画 DAG,定出最小充分调整集 Z)→ 中间(只对 Z 建模,此时 b_X 才等于总效应)→ 中间(把非 Z 变量——中介、对撞、结局的下游——塞进同一张表)→ 终点(这些行的系数不可因果解读,且可能反过来污染 b_X)。
【观点】回归表不是证人席。证人席上每个人独立作证;回归表里每一行都在「其他人不动」的条件下作证,而因果效应恰恰是关于「让某个人动」的。把一张表读成一排独立效应,是把「条件」误当成「独立」。
值得辩论的问题:如果一张表里通常只有一行可信,我们该不该要求——凡发表 Table 2,每一行都必须附上它在 DAG 里的位置、以及「这个系数回答的是哪道题」?还是干脆只报暴露系数、其余全部进补充材料?






0 评论