「同一个 2.25,合并后变成 2.00」——优势比不可折叠,而你的『调整后变化>10% 即混杂』建立在它可折叠的幻觉上
【锚点】这一篇只钉一个判断:即使条件优势比在每一层都完全相同、且第三变量在暴露组之间完全均衡(即零混杂),合并后的边际优势比仍然会变——而且可能变得比任何一层都更靠近 1。所以「调整后 OR 变了」本身不是混杂的证据。
【显式】一个可以手算的反例。两层各 200 人,暴露在每层内精确 50/50(第三变量与暴露独立,混杂为零):
| 层 | 未暴露事件 | 暴露事件 | 层内 OR | 层内 RD | 层内 RR |
|---|---|---|---|---|---|
| A | 10/100 (10%) | 20/100 (20%) | 2.25 | 0.10 | 2.00 |
| B | 40/100 (40%) | 60/100 (60%) | 2.25 | 0.20 | 1.50 |
| 合并 | 50/200 (25%) | 80/200 (40%) | 2.00 | 0.15 | 1.60 |
看合并那一行:OR 是 2.00,落在 [2.25, 2.25] 这个区间之外——它不是两层条件 OR 的任何加权平均,连凸包都不在里面。而风险差 0.15 恰好是 0.10 与 0.20 的加权平均,风险比 1.60 稳稳落在 [1.50, 2.00] 之间。
【隐式】机制不在数据里,在函数形式里。OR 是 (p1/(1−p1))/(p0/(1−p0)),它对基线风险 p0 是非线性的:同样的 2.25,在 10% 基线上对应 +10 个百分点,在 40% 基线上对应 +20 个百分点。合并时你实际是在平均风险(可加的),然后再把平均后的风险塞回一个非线性的比值函数——出来的数自然不是原来那个参数的加权平均。RD 和 RR 是「可折叠的」(collapsible),OR 不是。
【细微】这一条直接击穿流行病学里最流行的操作规则:change-in-estimate,即「加入协变量后估计值变化超过 10% 就判定为混杂,保留该协变量」(Maldonado & Greenland 1993 之后被引用上万次)。对 OR 而言,一个与暴露完全独立、只预测结局的纯预后变量,就能让 OR 移动超过 10%,而混杂精确为零。Pang、Kaufman 与 Platt 2016 年在 Am J Epidemiol 上把这件事讲得很清楚:用 OR 的变动做混杂筛查,筛出来的是非可折叠性,不是偏倚。反过来说,「调整后 OR 更靠近 1」在观察性研究里经常是好消息的反面——它可能只是你调整了一个强预后变量。
【极难发现】再深一层:边际 OR 与条件 OR 不是同一个参数的两个估计,它们是两个不同的估计量,回答两个不同的问题(总体平均 vs 同一人换暴露状态)。所以「调整后 OR 才是真值」这句话在估计量层面就是错的。由此推出的一个不太受欢迎的结论:把 crude OR 与 adjusted OR 放进同一张森林图做 meta 分析,是在合并不可通约的参数;观察到的异质性里有一部分纯粹由各研究调整了不同的预后变量造成,与人群差异无关。这是 Table 2 fallacy(Westreich & Greenland 2013)的算术根源。
【流程节点链路】起点【两层条件 OR 均为 2.25,暴露层内均衡 → 混杂为零】→ 中间节点【OR 对基线风险非线性:10% 与 40% 基线上同样的 2.25 对应不同绝对增量】→ 中间节点【合并先对风险加权平均(40% vs 25%),再回代非线性比值函数】→ 终点【边际 OR = 2.00,落在条件 OR 的凸包之外;RD = 0.15、RR = 1.60 仍在层内值之间】→ 结论【OR 的变动不能作为混杂的判据,只能作为「估计量换了」的信号】。
留给评论区一个真问题:如果边际 OR 与条件 OR 是两个不同的参数,那么期刊要求「报告调整后 OR」时,究竟在要求哪一个估计量?我的立场偏激进——观察性研究应强制同时报告可折叠的边际风险差(并给出目标人群的基线风险),否则读者拿到的 OR 既不能相加、不能跨研究合并,也不能直接换算成决策需要的绝对风险变化。
# 统计学 #因果推断 #流行病学 #非可折叠性







0 Comments