前言
近期导师给我定了因果推理这个方向,看了一些资料和视频之后有了一点点思路转而开始阅读一些经典前沿的论文,此文是基于论文《A Survey on Causal Inference》,阅读此文需要有一定的因果推理基本知识,同时我将会基于此论文并略带个人的理解阐述,如有问题请各位大牛指出,获取论文点此。
因果推理简介
因果推理是一个跨多个领域的重要研究课题,数年来研究涉及到了统计学、计算机科学、教育学、公共政策以及经济学等领域。简单来说因果推理其字面意思就是推理两个研究对象之间的因果关系,但是在大部分情况下 因果 ≠ 相关 \textbf{因果}\not=\textbf{相关} 因果=相关 ,举一个简单的例子来说:
一项研究表明经常吃早餐的女孩要比不那么经常吃早餐的女孩轻,于是得出结论吃早餐可以减肥。但实际上两件事是由相关性引起的而并非因果性,这是因为经常吃早餐的女生可能有一个更好的生活方式,她们会经常锻炼、睡眠规律且有一个健康的饮食习惯所以这些经常吃早餐的女孩才会更轻,在这个例子里生活方式是共同影响吃早餐和变轻这两个对象的共同因素,我们也称其为confounder(混杂因素)。所以在很多例子里表面上是一种行为引起了另外一种事件的发生,但由于很多混杂因素的影响导致你无法确定它们之间真正的因果关系,所以因果推理研究的正是在这些背景之下如何确定研究对象之间的因果关系。
解决因果推理问题的一大方法和两大模型
- 随机对照试验法
- 潜在结果模型
- 结构因果模型
- 随机对照试验法:随机对照试验的基本方法是,将研究对象随机分组,对不同组实施不同的干预,以对照效果的不同。具有能够最大程度地避免试验设计、实施中可能出现的各种偏倚,平衡混杂因素,提高统计学检验的有效性等诸多优点,被公认为是评价干预措施的金标准。例如在上面的例子中,我们选取一群生活方式都比较好的女生来做试验,要求一半的女生吃早餐,一半的女生不吃早餐,这样我们控制住了生活方式这一混杂因素,从而可以轻易得出结论。但是随机对照试验法是一个非常耗时费力的方法,同时也涉及到伦理问题,例如我们研究 孕妇吸烟是否对新生儿有影响,总不能要求不吸烟的孕妇强行吸烟吧,由于随机对照试验法的缺点我们渴望可以直接从观测数据(直接观测到的、非试验的、没有人为干预的自然数据)中得到因果关系,于是就有学者提出了潜在结果模型和结构因果模型来解决这一问题。
- 潜在结果模型:比较同一个研究对象(Unit)在接受干预(Treatment)和不接受干预(Control)时结果差异,认为这一结果差异就是接受干预相对于不接受干预的效果。对于同一研究对象而言,通常我们不能够既观察其干预的结果,又观察其不干预的结果。对于接受干预的研究对象而言,不接受干预时的状态是一种“反事实”状态;对于不接受干预的研究对象而言,接受干预时的状态也是一种“反事实”状态;所以该模型又被某些研究者称之为反事实框架(Counter factual Framework)。
- 结构因果模型:结构因果模型就是用有向无环图来描述因果关系,将变量作为节点。如果X是另一个变量Y的子节点,那么Y是X的直接原因;如果X是Y的后代那么Y是X的一个潜在原因。
由于此论文是基于潜在结果模型来阐述的,所以这里对于结构因果模型不做过多的介绍,后续等我精读完了相关论文再做补充。
因果推理与机器学习领域有着密切的关系。近年来,机器学习领域的发展促进了因果推理领域的发展。强大的机器学习采用决策树、集成方法、深度神经网络等方法对潜在风险进行估计结果更准确。除了对结果估计模型进行改进外,机器学习方法也为处理混杂因素提供了一个新的方面。受益于最近的深度表征学习方法,如生成对抗性神经网络,通过学习所有协变量的平衡表征,以便在学习表征的基础上治疗分配独立于混杂变量。在机器学习中,数据越多越好。
然而,在因果推理中,仅仅有更多的数据还不够。拥有更多数据只会有助于获得更多信息精确的估计,但它无法确保这些估计是正确和无偏的。机器学习方法在促进因果推理发展的同时,因果推理也有助于机器学习方法的发展。对预测精度的简单追求不足以满足现代机器学习研究的需要,也不足以保证正确性可解释性也是机器学习方法的目标。因果推理开始有助于改进机器学习,如推荐系统或强化学习。
因果推理基础
一般来说,因果推理的任务是估计如果应用了另一种干预,其结果的变化。在潜在结果模型的基础之上,定义了一些概念用于计算研究对象之间的因果效应。
- Unit:在干预效果研究中,Unit是原子研究对象。数据集中的一个Unit是整个人口的样本,因此在本次调查中,术语“样本”和“Unit”可以互换使用。
- Treatment(干预):Treatment指的是对一个Unit施加的行为,如之前提到的吃早餐的女生是否更轻这个例子中,吃早餐和不吃早餐就可以认为是Treatment。
- Potential outcome(潜在结果):对于每个Unit Treatment对,在该Unit上应用该Treatment的结果就是Potential outcome。值为w的干预的潜在结果表示为 Y