因果推断笔记-相关VS因果

 

声明:

以下内容是书 Causal Inference: What If 的阅读笔记,作者主页miguelhernan.org可以下载对应的pdf

以下内容使用deepseek辅助创作

从相关(association)到因果(causation)

相关vs因果 对于经济学的人来说应该不会有什么困惑,但对于计算机领域做算法预测的人来说是比较容易引起混淆。对于管理领域不做因果推断的人(比如之前的我)时常感到费解,因为最初是直接看的机器学习、深度学习,直接去做预测,或者找与目标结果相关的影响因素(factors),其实说到这个词的时候就很犹豫,这个影响因素到底是相关还是因果?

最初错误的理解因素这个词就是因果效应,经常把特征feature, characteristics和因素挂钩,然后两者混用。到了投期刊的时候就有比较大的问题,如果是偏计算机的还好,送的reviewer倒不会太纠结,但如果做的比较交叉,那不小心送给做计量的reviewer, 估计就完蛋了。实际情况中,这个表述到底用那个不会被argue,取决于你的研究领域以及你的目标期刊。

计算机算法说到预测的时候,更多是在说x特征与预测目标y的相关关系,这里只关心预测准确率高低,所以如果是做的混合多种特征去做预测,就万万不能出现因果关系这种表述,比较严谨的话就说两者有关系。

计量相关的论文,大部分就是因果推断,虽然有时候论文做的不是那么的严谨(看起来不像是因果推断),但他们的终极目标一定是找到因果关系。

两者到底谁比较有用?还真不一定,对于平台做推荐来说,我只要保证推荐准确不就好了,我管你这因不因果的,这里面复杂因素太多了,你要是挨个都上计量模型去验证因果,或者AB test去挨个试因素,那你公司还没赚到钱就已经负债累累了;对于政府机构这种类似的决策者来说,那就必须有合理的解释,到底什么因素导致了这个结果,那就很重要了,你也不能指望你给领导汇报的时候说,这个可能行,为什么行,我不知道hhhhh。

那两者区别共性到底是什么?

相关 VS 因果

下面是来自这本书的原话:

association is defined by a different risk in two disjoint subsets of the population determined by the individuals’ actual treatment value (A = 1 or A = 0), whereas causation is defined by a different risk in the same population under two different treatment values (a = 1 or a = 0)

如何理解:相关(association) 是比较 实际接受治疗的人(A=1)实际未接受治疗的人(A=0) 结果之间的风险差异,$E(Y\vert A=1)-E(Y\vert A=0)$ 不等于0则相关,就和概率里面的独立(independence)相反。 因果(causation) 是假设 同一批人 如果 全部接受治疗(a=1)全部不接受治疗(a=0) 会有什么不同的结果, $E(Y\vert a=1)-E(Y\vert a=0)$不等于0, 则存在因果关系,这里假设我们能观测到他们的所有潜在结果或者反事实结果(counterfactual outcomes)。

两者的区别

  • 相关看的是 现实中的两组不同人(一个治了,一个没治)。
  • 因果看的是 同一批人在不同假设下的结果(如果都治了 vs 如果都没治)。

举例:

  • 相关:抽烟的人(A=1)比不抽烟的人(A=0)肺癌更多 → 抽烟和肺癌相关。
  • 因果:如果让所有人抽烟(a=1)vs 所有人不抽烟(a=0),肺癌会不会不同? → 这才是因果

从这两者的对比,可以看出 相关到因果可以通过设置 两组人可交换(Exchangeability)来实现,即 通过假设这两组人交换之后,治疗这一行为不会影响他们的风险差异结果 = 相当于 去治疗原本不治疗的人,不治疗原本治疗的人,风险差异结果不会有区别,那就能说明两组人是可交换的,进一步推理出两组人是极其一致的(这跟因果,同一批人上去治疗一致),也就可以从相关到因果的结果:相关(association)+可交换(Exchangeability)=因果(causation)

在实际的操作中,通过随机实验(randomized experiment)来实现这个可交换的过程,如通过抛硬币的方式(治疗选择是随机的)决定这个患者要不要治疗,随机意味着是否治疗的决定与个体本身无关,是一个随机的、外生的结果,不会因为个体本身的的特质影响治疗的选择,

  • 确保了治疗分配(A=1或A=0)与任何潜在混杂因素(如年龄、健康状况)无关。
  • 因此,治疗组和未治疗组在所有方面(除了治疗本身)完全可比,观察到的风险差异只能归因于治疗

可交换(Exchangeability)的进一步解释

“可交换性”的意思是,治疗组(比如吃药的人)和未治疗组(比如没吃药的人)在本质上没有差别,只是他们一个接受了治疗,一个没接受。

换句话说:

  • 如果让吃药的人不吃药,他们的结果会和原本没吃药的人一样。
  • 如果让没吃药的人吃药,他们的结果会和原本吃药的人一样。

关键点:

  1. 两组的潜在结果相同:吃药组和没吃药组的人,如果互换治疗方式,结果应该是一样的。
    • 比如:
      • 吃药的人如果没吃药,死亡率 = 原本没吃药的人的死亡率。
      • 没吃药的人如果吃了药,死亡率 = 原本吃药的人的死亡率。
  2. 治疗选择不影响结果:是否吃药(A=1或A=0)和“如果吃药/没吃药会怎样”无关。
  3. 随机实验能保证可交换性:因为随机分配治疗,两组在各方面(年龄、健康等)都相似,唯一的区别就是是否吃药。

举例说明: 假设研究“吃药(A=1)是否能降低死亡风险(Y)”:

  • 如果可交换性成立
    • 吃药组如果没吃药,死亡率 = 实际没吃药组的死亡率。
    • 没吃药组如果吃了药,死亡率 = 实际吃药组的死亡率。
    • 这样,我们就能直接比较两组的死亡率,得出吃药的因果效果。
  • 如果可交换性不成立(比如吃药的人本来就更健康):
    • 吃药组的低死亡率可能是因为他们本身更健康,而不是药的效果。
    • 这时直接比较会误导结论(混杂偏差)。

为什么重要?

  • 可交换性成立时,观察性数据(如吃药 vs 没吃药)也能推断因果关系。
  • 不成立时,必须用随机实验或统计调整(如匹配、回归)来模拟可交换性。

总结: “可交换性”就是两组人在没接受治疗前是完全可比的,这样我们才能相信观察到的差异是治疗导致的,而不是因为两组本身不同。