声明:
以下内容是书 Causal Inference: What If 的阅读笔记,作者主页miguelhernan.org可以下载对应的pdf
因果推断笔记-从个体因果效应(individual causal effects)到平均因果效应(average causal effects)
假设你需要知道是否治疗(treatment)对某个患者的效果(存活或者死亡)。比如患者正在考虑是否做心脏手术:
- 选择:
- 做手术(记作A=1)
- 不做手术(记作A=0)
- 结果:
- 死亡(记作Y=1)
- 存活(记作Y=0)
关键点:是否治疗A=1 OR A=0产生两种潜在的结果(potential outcomes)Y(1)和Y(0),也称为反事实结果(counterfactual outcomes)
- 做手术的结果Y(1)
- 不做手术的结果Y(0)
个人治疗效果ICE(individual causal effects) = 做手术的结果 - 不做手术的结果 = Y(1) - Y(0)
如果ICE 不等于0,说明两种结果有差异,意味着治疗有效果,说明了个体层面的因果效应。
然而我们只能观察到Y(1)或者Y(0)的其中一个结果,即反事实问题,另一个永远无法直接观察,毕竟同一个人不能同时 做 又 不做 手术,所以我们永远无法同时观测到这两种结果:
- 既做手术的结果Y(1)
- 又不做手术的结果Y(0)
所以引出了平均因果效应(average causal effects, ACE),即理想情况下,我们可以有非常类似的群体,将他们随机分两组:
- 手术组(A=1)
- 对照组(A=0)
这个分组必须满足两个原则:
- 可交换性:
- 两组人本质上没区别
- 就像抛硬币分组,保证公平
- 交换两组人,能保证 对于手术组,如果没做手术的结果 = 对照组,如果做手术的结果
- 一致性:
- 记录的结果就是真实发生的结果
- 没有测量误差或误报
这样通过去对比两组群体在结果上的差异,实现因果推断
平均因果效应(average causal effects, ACE) = 手术组死亡率 - 对照组死亡率
比如有下列两组数据
| 组别 | 总人数 | 死亡人数 | 死亡率 |
|---|---|---|---|
| 手术组 | 100 | 30 | 30% |
| 对照组 | 100 | 60 | 60% |
计算结果:
平均效果 = 30% - 60% = -30%
解读:手术让死亡风险平均降低30%
无平均因果效应不意味着无个体效应
即使 ACE=0(即平均效应为零),某些个体的 ICE 可能为正(治疗有益),某些可能为负(治疗有害),正负效应相互抵消,导致总体平均为零。也就是效应的异质性
整个逻辑
graph LR
A[个体因果效应ICE] -->|无法直接观测| B[反事实问题]
B -->|通过随机化解决| C[平均因果效应ACE]
C -->|可能存在| D[效应异质性]