技术问询:2×2列联表下优势比、风险比、风险差异的适用性案例
Great question—this is a super common point of confusion when working with 2x2 contingency tables, since each of these measures has specific scenarios where they shine... or break down. Let’s walk through concrete examples for each case you asked about.
1. 优势比(OR)有效,但风险比(RR)失效的案例
The most common scenario here is 病例对照研究。这类研究中我们预先招募病例(患病者)和对照(未患病者),再回溯他们的暴露史。由于不是追踪人群观察发病概率,我们无法计算真实的发病风险(所以RR完全无法估计)——但OR可以正常计算,因为它只依赖病例和对照中的暴露比例关系。
示例病例对照列联表:
| 病例 | 对照 | |
|---|---|---|
| 暴露组 | 30 | 10 |
| 非暴露组 | 20 | 40 |
- RR:无法计算。我们不知道总体人群中暴露/非暴露者的真实数量,因此无法估算两组的发病风险。
- OR:计算得
(30/10)/(20/40) = 3 / 0.5 = 6,可以有效衡量暴露与疾病的关联强度。
另一种极端情况:某一组的事件发生率为0。比如疫苗试验中接种组无人感染:
| 感染 | 未感染 | |
|---|---|---|
| 接种组 | 0 | 100 |
| 未接种组 | 20 | 80 |
- RR:
0 / 0.2 = 0——虽然数学上正确,但这个估计没有统计推断意义(置信区间极不稳定,也不能仅凭一次试验就宣称“风险降低100%”)。 - OR:通过微小校正(给每个单元格加0.5避免除以0),可以得到
(0.5/100.5)/(20.5/80.5) ≈ 0.02,依然能合理反映疫苗的保护效果。
2. 风险比(RR)有效,但优势比(OR)失效的案例
OR很少在数学上完全失效,但当事件发生率极高(接近100%)时,它会严重误导或难以解释——因为发生率接近1时,优势比会放大关联的真实强度。
示例:
| 发病 | 未发病 | |
|---|---|---|
| 暴露组 | 95 | 5 |
| 非暴露组 | 80 | 20 |
- RR:
(95/100)/(80/100) = 1.19——解释直观:暴露组发病风险比非暴露组高19%。 - OR:
(95/5)/(80/20) = 19 / 4 = 4.75——这个数值会让人误以为关联强度是真实情况的4倍,对于临床或实际决策来说极具误导性。此时OR无法完成传递真实关联强度的核心作用,相当于“失效”。
极端数学失效场景:两组事件发生率均为100%:
| 发病 | 未发病 | |
|---|---|---|
| 暴露组 | 100 | 0 |
| 非暴露组 | 100 | 0 |
- RR:
1 / 1 = 1——有效,说明暴露与疾病无关联。 - OR:
(100/0)/(100/0)——除以0,完全无法计算。
3. 风险差异(RD)失效的案例
风险差异(暴露组风险 - 非暴露组风险)的失效场景和RR有很多重叠,也有一些独特情况:
病例对照研究
和RR一样,RD需要真实的发病风险数据,而病例对照研究无法提供。用之前的病例对照表举例:我们无法计算暴露对疾病绝对风险的改变量,只能得到相对优势比。
极端事件发生率
如果两组事件发生率完全相同(均为0或100%):
| 发病 | 未发病 | |
|---|---|---|
| 暴露组 | 0 | 50 |
| 非暴露组 | 0 | 50 |
RD为 0 - 0 = 0,但这个结果无法说明暴露与疾病的关系——我们没有证据排除真实效应的存在,只是没有事件可以测量。
风险估计不可靠
如果队列研究的失访率极高,我们无法准确估算两组的真实风险。比如暴露组有80%的人失访,我们计算出的风险仅基于一小部分可能有偏差的样本——此时RD完全不可靠,相当于失效。
内容的提问来源于stack exchange,提问作者user321627

