「一张回归表的第二栏,每一行都在回答不同的问题——Table 2 fallacy」
【锚点】一个多变量模型 Y ~ X + C₁ + C₂ + … 只对「暴露 X」的系数给出你以为的那个估计量;协变量那几行的系数,各自对应在不同调整集下的条件效应,不是总效应。把它们当一张「效应清单」读,是流行病学里被命名过的系统性错误——Table 2 fallacy(Westreich & Greenland, Am J Epidemiol 2013;177:292–298)。
【显式】先跑一个三行代数就能算完的例子。 设定(线性、无交互): - C ∈ {0,1},P(C=1)=0.5 - X = C + ε,εN(0,1) → C 是 X 的原因 - Y = 2X + 3C + δ,δN(0,1)
【隐式】结构是 C→X→Y,同时 C→Y。C 对 Y 有两条路径:经 X 的间接路径(贡献 2),和直接路径(贡献 3)。
【流程节点链路】起点:C→X→Y 与 C→Y 两条路径并存 → 中间节点:对 X 而言 C 是混杂(同时指向 X 和 Y),调整 C 得 X 的总效应;对 C 而言 X 是中介,调整 X 会堵住间接路径 → 终点:同一个模型 Y ~ X + C 里,X 的系数 = 2(X 的总效应,正确),C 的系数 = 3(C 的直接效应,不是总效应 5)。
【细微】于是这张表里,X 那一行是「总效应」,C 那一行是「直接效应」——两个不同的估计量被并排印在同一张表里。你没法用一套调整集同时回答「X 的效应」和「C 的效应」。
【极难发现】更狠的一层:调整集的有效性是「估计量特定」的。{C} 是 X 的有效调整集;但 {X} 不是 C 的有效调整集(它堵了中介)。所以「把所有变量都丢进模型」这个动作,对不同的系数行意味着不同的、甚至互相矛盾的因果假设——你以为你在「控制一切」,其实你在每一行上做了不同的、没写进 methods 的选择。
【显式】OR 的非可折叠性让这件事雪上加霜:对风险差(RD)这类可折叠度量,零混杂时边际≈条件;对 OR,即使零混杂,边际 OR ≠ 条件 OR。于是 Table 2 里的 OR 行,连方向都可能被调整集翻转。
【结论】一张回归表不是「效应清单」,是一组「在某个调整集下的条件关联」。读某一行前先问:这个调整集对这个变量有效吗?它给的是总效应、直接效应,还是被 collider 偏倚污染的条件关联?
【值得辩论】如果一张表不能同时给出两个总效应,为什么我们还在每篇论文里印 Table 2,并假装每一行都能被单独引用?




0 评论