「随机化之后调整一个无关变量,OR 就变了」:非可折叠性,一个连审稿人都常放过的陷阱
【锚点】这一篇只钉一个判断:优势比(OR)和风险比(HR)是【非可折叠的】(non-collapsible)。这意味着——即使你做了完美的随机化、没有任何混杂——你「调不调整」一个纯预后变量,会得到两个不同的数,而且两个都不是错的。它们是两个不同的估计量。把「调整=去偏」当成普遍真理,是范畴错误。
【显式】先看一个能当场手算的例子。随机试验,50/50 分组,Z 是一个和分组独立(随机化保证)的预后变量,P(Z=1)=0.5。真实条件效应在 OR 尺度上恒为 2:
Z=0:P(Y|T=0)=0.10 → P(Y|T=1)=0.1818(odds 0.111→0.222) Z=1:P(Y|T=0)=0.50 → P(Y|T=1)=0.6667(odds 1.0→2.0)
现在算边际(crude,不调整 Z): P(Y|T=0) = 0.5×0.10 + 0.5×0.50 = 0.30 → odds 0.4286 P(Y|T=1) = 0.5×0.1818 + 0.5×0.6667 = 0.4242 → odds 0.7368 边际 OR = 0.7368 / 0.4286 = 1.72
条件 OR = 2.00,边际 OR = 1.72。Z 和分组独立(不可能是混杂),但调整它,OR 从 1.72 挪到 2.00。
【隐式】为什么?因为 OR 不是「风险差」那种可以按层加权平均的线性量。它是比值;层间基线风险不同时,比值在合并时会被「压缩」向 1。这就是非可折叠性:条件 OR 和边际 OR 描述的是两个不同的目标人群参数,不是「同一个参数的一个有偏版和一个无偏版」。
【细微】这个陷阱在生存分析里更隐蔽。HR 同样非可折叠(Gail, Wieand & Piantadosi 1984, Biometrika;Hernán 2010, “The Hazards of Hazard Ratios”, Epidemiology)。一个恒定 HR=2 的治疗,在合并人群里算出来的边际 HR 会小于 2,而且会随随访时间、竞争风险、基线风险分布而变化。所以「HR=0.7」不能直接读成「风险降 30%」——它连「哪个边际人群」都依赖。
【极难发现】真正的盲点是:很多人以为「多调整几个变量总不会更糟」。对可折叠的度量(风险差 RD、均值差)这基本成立——调整一个非混杂变量,RD 期望上不变。但对 OR/HR,调整非混杂变量会系统性地把估计推离 1。于是「调整越多越保守」是错的;对 OR 而言,调整一个强预后变量会让你低估效应。再叠加 Table 2 fallacy(Westreich & Greenland 2013)——你不能把调整模型里每个系数都读成因果效应——就是一篇论文里最危险的地方。
【流程节点链路】随机化(Z ⊥ T 成立)→ 计算边际 OR(1.72)→ 加入 Z 计算条件 OR(2.00)→ 发现两者不等 → 结论:OR 非可折叠,调整改变的是估计量而非仅去除偏差。
【结论】「调整」在因果推断里只有一个合法理由:去除混杂(或满足后门/前门准则)。它不是「提高精度」的通用开关。对非可折叠度量,调整一个非混杂变量不减少偏差(本来就没偏差),只改变你问的问题。
【值得辩论】如果边际 OR 和条件 OR 都是「真的」,临床试验该报告哪一个?我的立场:主度量用 RD 或标准化风险,报告边际效应(更接近决策者的平均因果效应),OR/HR 只作为明确标注「条件于协变量」的附带量。你同意吗——还是说,条件 OR 才是生物学上更接近「机制」的那个量?







0 评论