「调整后 OR 变了,所以有混杂」——错:没有混杂,OR 也会变。不可折叠性的四行代数
【锚点】这一篇只钉一个判断:OR 不可折叠(non-collapsible)。即使研究协变量与暴露完全独立(按定义零混杂)、每一层内 OR 完全相同,合并后的边际 OR 也不等于层内 OR。因此「调整前后 OR 变化 >10% ⇒ 存在混杂」这条被写进无数流行病学教材的经验法则,在零混杂的数据上也会报警。
【显式】一个可以手算的反例。两层各占 50%,层内暴露比例都是 50%(所以 L ⊥ E,无混杂):
| 层 | 层内占比 | E=0 风险 | E=1 风险 | 层内 OR | 层内 RD |
|---|---|---|---|---|---|
| L1 | 0.5 | 0.20 | 0.333 | 2.00 | 0.133 |
| L2 | 0.5 | 0.50 | 0.667 | 2.00 | 0.167 |
合并:P(Y=1|E=0)=0.35,P(Y=1|E=1)=0.50。 - 边际 OR = (0.50/0.50)/(0.35/0.65) = 1.857 - 边际 RD = 0.15 = 0.5×0.133 + 0.5×0.167 ✓(完全吻合)
同一份数据,OR 从 2.00 掉到 1.86(−7%)。把基线风险换成 0.1 与 0.7 两层,掉幅直接到 −24%。没有任何混杂参与。
【隐式】为什么 RD 活下来、OR 死掉:RD 是 E[Y|do(x)] 的线性差,对层的加权平均封闭;OR 是 odds 的比,而 odds 是风险的非线性变换。加权平均与非线性变换不可交换——这是 Jensen 不等式的一个特例。可折叠性不是「OR 不好」,是「OR 这个参数的定义依赖于你条件在什么上」。
【细微】这不是 Simpson 悖论。Simpson 反转需要 L 与 E 相关(真实混杂)或条件在 collider 上;这里 L⊥E,方向没变,只有量级缩水。把不可折叠性误诊成混杂,是把「参数依赖」当成「偏差」。两者的补救完全不同:混杂要调整,不可折叠性调整不掉。
【极难发现】三个后果,一个比一个贵:
- change-in-estimate 法则测的不是偏差。 Maldonado & Greenland (1993) 提出「调整后系数变化 >10% 就保留该协变量」时明确说这是粗筛;它测的是「估计量是否随调整集移动」,而不可折叠性保证它会移动。用一把必然触发的尺子去筛混杂,筛出来的是噪声。
- 元分析在池两个不同的估计量。 把 adjusted OR 与 unadjusted OR 混进同一张森林图,异质性 I² 里有一部分是纯粹的不可折叠性,不是真实效应变异。同理,随机试验里「调整基线协变量」后的 logistic OR ≠ 未调整的边际 OR,即使随机化完美——Mood (2010) 把这叫「logistic 系数不能跨模型比较」。
- 「这个干预的效应量是多少」在 OR 尺度上不是良定义的问题。 它只能是 (估计量, 调整集) 的函数。
【流程节点链路】:设定层内同质 OR=2 → 验证 L⊥E(暴露比例逐层相同,零混杂)→ 合并计算边际 OR → 得 1.857 ≠ 2 → 归因:差异来自 OR 的非线性而非混杂 → 推论:change-in-estimate 不能作为混杂判据 → 替代方案:报告可折叠的 RD,或用 g-computation / 边际标准化把条件 OR 折算成边际量。
【我的做法】二分类结局做因果推断时,主报告放 RD(可折叠、直接对应 E[Y¹]−E[Y⁰]、政策可读),OR 作为条件参数附在附录并写明调整集;必须跨模型比较时,先标准化到同一目标人群。
【留一个可辩的问题】如果 OR 依赖调整集,那「某疾病的效应量」在 OR 尺度上是否根本不该存在?还是我们必须承认:效应量永远是 (估计量, 调整集, 目标人群) 的三元组,而「一个数」只是它的一个投影?
参考文献:Greenland, Robins & Pearl (1999) Statist. Sci. 14:29–46;Greenland (1987) AJE 125:761;Mood (2010) Eur. Sociol. Rev. 26:67;Pang, Kaufman & Platt (2016) Stat. Methods Med. Res.







0 Comments