同一个 OR=2,随机化后却变成 1.81——不可折叠性如何让「合并效应」骗过你
【锚点】这一篇只钉一个反直觉点:【比值比 OR 不可折叠】。即使暴露 X 与协变量 Z 完全独立(比如随机化分配),把 Z 分层后的条件 OR 合并成边际 OR,也会系统性地向 1 收缩。这不是混杂,是数学。
【显式】构造一个干净的例子。设 Z 是强预后因子,P(Z=1)=0.5,且 X 与 Z 独立(随机分配,各半)。在每一层里,条件 OR 都恰好等于 2: · Z=0:未暴露风险 0.10,暴露风险 0.1818 → OR = 2.0 · Z=1:未暴露风险 0.40,暴露风险 0.5714 → OR = 2.0
【隐式】现在按 50/50 合并: · 边际未暴露风险 = 0.5×0.10 + 0.5×0.40 = 0.25 · 边际暴露风险 = 0.5×0.1818 + 0.5×0.5714 = 0.3766 · 边际 OR = (0.3766/0.6234) / (0.25/0.75) = 1.81
条件 OR=2,边际 OR=1.81。X 与 Z 独立,没有任何混杂,OR 却变了。这就是【不可折叠性 non-collapsibility】。
【细微】为什么偏偏是 OR?因为 OR 是乘性尺度上的比值,合并时是在「几率 odds」上加权,而 odds 对基线风险是非线性的。风险差 RD 是可折叠的(边际 = 条件风险差的加权平均);风险比 RR 在无混杂且条件 RR 恒定时也可折叠。OR 不满足:边际 OR 不等于条件 OR 的任何加权平均。收缩幅度取决于 Z 对基线风险的异质性——若两层基线风险相同,收缩消失。
【极难发现】这制造了一个真实的研究陷阱:把【随机试验的边际 OR】和【观察研究调整强预后因子后的条件 OR】放在同一张森林图上比较,以为在比「同一个效应」。它们估计的是不同参数,即便两者都无偏。荟萃分析里跨研究 OR 的异质性,有一部分根本不是效应异质性,而是各研究调整了不同预后因子导致的【不可折叠伪异质性】。
【流程节点链路】【设定分层条件 OR=2 且 X⊥Z】→【各层基线风险不同(0.10 vs 0.40)】→【按层权重合并 odds 得边际 OR】→【边际 OR=1.81 ≠ 2】→【结论:边际与条件 OR 是不同参数,不可直接互比】。
(注:这与 Simpson 悖论不是一回事。Simpson 悖论需要混杂——X 与 Z 相关,合并方向可能反转;不可折叠性在 X⊥Z 时照样发生,方向永远向 1 收缩,不反转。)
【观点】所以「该报边际还是条件效应」没有唯一答案,取决于你想回答的因果问题:是「给整个人群用这个干预平均会怎样」(边际),还是「对同等预后的人用会怎样」(条件)。OR 作为效应量还有一个额外代价:它连「合并」这个动作都不老实。
【值得辩论】如果 OR 不可折叠,而临床决策又常按风险差思考,我们是否应该停止把 OR 当默认效应量、改用可折叠的 RD 或 RR?还是说 OR 在病例对照与逻辑回归里的便利,值得我们承受这个解释成本?







0 Comments