因果学习综述笔记

一、引入

1、因果的定义

因果是当某个变量T改变的时候,在保持其它变量不变的时候, 它是如何导致另一个变量Y改变的(由此我们看出因果的有向性,因果可以独立作用)。

即使是从这个定义里我们也可以立刻看到,如果和相关性进行比较, 我们看到这里的区别一在于改变, 二在于其它变量不变, 这就是说因果是A到B产生的效应,而非仅仅是A和B的关联, 它具有明确的方向性和干预属性。这种定义的方法包含了干预主义的核心思想,因此也称为interventionist。

2、因果的分类

我们可以把因果分成两类,一个是type causality,一个是actual causality。第一类比较类似自然科学的因果,或者某种事物作用和变化的机制, 比如滥发钞票导致通货膨胀。而另一个则和我说的现实生活中的那些鸡毛蒜皮小事的直接原因,比如刚刚举的吵架导致分手。

3、统计学上的的因果推断

假定你手里有若干变量的一堆数据,从数据中提取因果关系的过程就是因果推断

贯穿所有因果问题共通的地方是Judea Pearl的三层框架 ,我们要在我们手里的观察数据里求解出下面三个层次。

因果推断的步骤:

  1. 定义问题,构建coase-grain(粗粒化)的世界模型, 把统计上复杂的分布化作一个节点。粗粒化:简化数据,留下最重要、与问题关联性最强的因素。)这里我们以国家、年龄和疫情死亡率的因果推断为例。
  2. 构建包含因子和边的因果图, 这个因果图一般包含treatment(干预)和output, 以及其它的confounder(混杂因子)。

我们把年龄,国家和死亡率三个要素画出下图的三角C代表国家,A代表年龄,M代表死亡率 然后分析这个图里的因果关系,我们看到国家通过年龄结构影响死亡率,起到了中介变量的作用,因为年纪越大的人死亡率越高。而如果需要分析单纯国家对死亡率的影响(这里包含很多因素,比如国家的医疗条件,空气污染程度),则需要阻断A来分析C到M的影响。

  1. 计算,通过结构方程得到需要求解问题的干预概率(do - calculus),或反事实问题(counter-factual)。这里的思维本质就是干预,既然年龄是一个重要的中介因子, 而两个国家的年龄又是不同的。我们如果要求得单纯国家这个因素对死亡率的影响,就要把年龄这个因素控制成一样,来求解国家不同对死亡率的影响。

具体的做法是把年龄分布(年龄相对国家的条件概率)假定成相同,求两个不同国家的死亡率在这个相同分布下的期望, 并取其差值。这个控制也可以看作是阻断,它阻断了国家对年龄变量的影响。最终得到了结果的确是意大利的死亡率更低!

  1. 另一方面,我们可以计算由中介因子带来的间接因果效应(年龄的影响)。

这一次我们要的控制的是国家这个变量, 也就是假定不同年龄段的死亡率在两个国家是相同的(以中国为标准), 看不同年龄分布对死亡概率的影响。

这里我们还观测到的有趣现象是,直接因果效应和间接因果效应的和不等于死亡率, 这也暗示了这两个因子存在某种相互作用效应

因果推断的难点:

事实上统计里的因果推断的关键是消除各种偏差,这些偏差往往是因为已知或未知的中间因子的存在导致x到y的因果效应难以衡量, 比较有名的有confounder bias , selection bias, 而识别这些偏差关键是寻找不同因子背后的因果图连接(如下),阻断那些非直接的联系。

a)链状关系;b)分叉关系;c)对撞关系

辛普森悖论

在700例肾病患者中,观察他们服药情况,发现服药男性的治愈率是93%,女性治愈率73%,不服药的男性治愈率为87%,女性为69%。分男女组别考察,能够得出”服药有助于恢复”的结论,但从整体样本考察,会发现不服药的治愈率83%高于服药的治愈率78%。

这种分组和整体结论不同的情况,也是机器学习模型的困境。例如训练数据和测试数据不满足独立同分布的假设,那么机器学习在分布偏移情况下很难鲁棒地学习,在新的场景中很难使用现有的模型。

独立同分布:

在概率统计理论中,如果一组随机变量{X₁, X₂, …, Xₙ}满足以下两个条件,则称这些随机变量是独立同分布的:

  1. 相互独立:任意两个随机变量Xi和Xj(i ≠ j)之间的取值互不影响,即知道Xi的取值不会提供关于Xj取值的任何信息。
  2. 相同概率分布:这组随机变量具有相同的概率分布,即它们具有相同的分布形状和相同的分布参数。对离散随机变量而言,具有相同的分布律;对连续随机变量而言,具有相同的概率密度函数和分布函数。

实际上,目前基于数据驱动的机器学习方法,训练出的模型都得出的结论大多是变量和变量之间的相关关系,而不是因果关系。例如之前有项研究发现,在某大国暴力犯罪与腌黄瓜消耗密切相关,但这种相关性并不代表因果性。

从因果的角度,辨析腌黄瓜和暴力犯罪之间的关系需要考虑混淆变量。如上图,混淆变量会同时影响独立变量和因果变量,从而造成两者之间的伪相关。

4、因果大模型的现实意义和发展现状

主流数据驱动的机器学习已经非常成功,无论是阿法狗,还是GPT都带来了惊艳的效果。但有几个缺点:没有可解释性、可控性差,无法完成预测、干预以及回答反事实问题。

针对此问题,目前有两套主要的因果模型:Pearl的结构因果模型;Rubin的潜在结果模型。两者都可以预测、干预以及回答反事实问题,对于“发现定理知识”目前还不确定是否可行。但潜在结果模型的不同之处在于,可以从数据中学习,但与现有知识相结合比较困难,而结构因果模型则相反,可以结合现有知识,但从数据中学习的能力还亟待进一步检验。

目前,因果范式有几个问题正在解决:因果发现、因果推理。

在SCM的构建中因果图的结构一般是未知的,所以在进行因果学习任务时,通常通过把实际需要解决的问题和已知相关知识相结合及通过学习所拥有数据提炼出相关的因果信息(因果发现)两种方法得出因果图的结构。

因果发现需要基于已有的数据找出变量和变量之间的因果关系。目前有两套主流的方法:基于约束、基于结构的以及基于评分的。

这三套方法不去详细讲述。但存在的问题是:随着变量的增多,需要检验因果图就会达到天文数字。因此,如何利用机器学习方法反过来提升因果发现,是目前流行的问题。

在机器学习领域中,Pearl的方法本质是基于结构方程,主流方向是用它进行因果解耦。同时,也有一些非因果的方法,例如在SVM空间中进行超平面切分。

因果推理层面,Pearl提出了do算子,在因果图上给出了一系列定理和假设,用传统的概率表达形式进行操作,这就让“因果”变得可计算。Pearl同样给出了反事实计算框架,其最重要的是“孪生网络”,包含一个真实世界,以及一个反事实世界。Pearl这套理论其实也存在缺点,即假设因果图是存在的,并需要包含一些先验知识,例如方程的结构是线性还是非线性的。

因果效应评估,就是在有一堆观察变量以及未观察变量的情况下,如何评估出变量X对变量Y的因果效应有多大。目前主流方法包括倾向得分、工具变量等等。

二、因果学习的模型

结构因果模型(Structural Causal Model, SCM)

1、定义

结构因果模型(SCM)是利用有向无环图将需要考虑的变量连在一起来表达因果关系,一个节点表示一个变量,两个变量之间的有向直线表示存在的因果作用,这种表示因果关系的图也被称为因果图(causal graph)记为G=(V,E),其中V={X,Y,Z1,Z2,…}为节点的集合,即因果图中的变量。E为因果图的线条集合,表示因果图中的所有因果关系的假设。

2、结构方程

结构方程的作用:
  1. 因果关系的一种表达形式。在结构方程中,每个节点假设有着相应未观测的外生变量(exogenous variable),相应的节点值可由给定的方程得出,同时干预操作也被称作Do操作:更换干预节点的结构方程,在因果图中去掉指向干预节点的对应箭头。SCM可以帮助研究者发现存在的混杂因素,在因果图中,一个节点Z同时指向原因节点B和结果节点C,那么Z可以为混杂因素。混杂因素被识别后,SCM则可以通过Do操作(干预操作)计算ATE。
  2. 有了结构方程后,我们需要的依然是用因果分析的牛顿第二定律- do calculus来求解我们需要的干预条件概率。当然在一个复杂的因果图里节点的数量非常多, 为了分析问题的方便, 我们需要动用d-separation条件独立性, 也就是当阻断了X和Y间的中间路径(d-separate)使得X,Y变为条件独立。具体阻断的方法是阻断某个发射节点(影响x和y的共因)而同时不可以阻断接收节点(否则引入一个额外的相关性)。

得到d-separation之后, 我们就得到一组条件独立性,帮我们来去掉do calculus一些不必要的中间变量, 从而更好的计算干预性问题。

  • 再看反事实推理, 有了结构因果方程,我们就可以得到如下的反事实推理步骤:
  1. 溯因:通过已知的当下结果(x,y)更新结构方程 ;
  2. 更换:把之前结构方程的事实X更换为x ;
  3. 预测:使用更新后的结构方程得到如果过去的事实按照x发生,则最终的结局 y。
  • 现实意义:反事实推理,事实上是用数据反推一个世界模型,包含那些agent从未经历的状态, 从而可以在这个模型里想象无穷多的平行世界。

把因果引入机器学习将可以解决机器学习里一些最重要的困境, 比如缺少鲁棒性,无法进行外推式的泛化(就是求解数据集分布外的情况), 缺少可解释性等。而基于因果的AI某种程度都是对这些问题的对症下药, 首先,基于因果的AI掌握了一个结构方程模型,可以进行反事实推理,这本质是在解决外推问题, 掌握了因果的模型将更难被噪声干扰因为它某种程度掌握数据生成的规律, 同时有因果的模型更加符号人类认知因而更具有可解释性。

消除混杂因子影响的方法:
  1. Do操作;
  2. 后门调整;
  3. 前门调整。

鲁宾因果模型(潜在结果框架)(Rubin causal model, RCM)

1、定义

鲁宾因果模型(RCM)又称为潜在结果框架,是一种用于因果推理的正式数学框架。使用“潜在结果”来定义所有情况下的因果效应,对于进行了潜在处理的X(i)其对应的潜在结果为Y1(i),未进行潜在处理的X(i)的结果为Y0(i),两个结果的差值即为X(i)对Y(i)的因果效应,也被称为个体处理效应(ITE),进行潜在处理的整体与未进行潜在处理的整体的之间的期望差值则为平均处理效应(average treatment effect, ATE)。同时,在实际情况中,还需要考虑到混杂因素的影响。

2、概述

引入

重度雾霾天,你出门可能戴口罩,也可能没戴。如果没戴口罩,今天痛苦地咳嗽了 100 分钟(会不会挂掉?),你会很后悔地想:要是我今天记得戴口罩,那么我可能只会咳嗽 10 分钟。戴口罩的话你会咳嗽 10 分钟,不戴口罩的话你会咳嗽 100 分钟,咳嗽 10 分钟和 100 分钟分别就是这两个处理所对应的潜在结果。因为你实际上没戴口罩而咳嗽了 100 分钟,所以,这戴口罩只咳嗽 10 分钟的潜在结果只是你想象的结果,不是实际发生和观察到的。

  • 潜在结果就是这种想象中的结果。

在概率论和统计学中,相关(Correlation,或称相关系数),显示两个随机变量之间线性关系的强度和方向。

  • 相关性的典型例子是产品的需求和价格的关系,空气质量和汽车数量的关系。这两个相关性的例子都暗示了更进一步的因果关系,因为从经济学上看价格下降会提升需求,汽车数量增加使得尾气排放量增加而导致空气质量变差。但是,不是所有的相关性都有因果关系,相关并不意味着因果
潜在结果

一个或多个处理作用在个体上产生的预期效果我们称之为潜在结果 (Potential outcome)。之所以称为潜在结果是因为在一个个体上最终只有一个结果会出现并被观察到,也就是和个体所接受的处理相对应的那个结果。另外的潜在结果是观察不到的,因为它们所对应的处理并没有实际作用在该个体上。

因果效果

因果效果 (Causal effect)就是不同潜在结果的比较。

在上面的例子中,作用在个体上的因果效果就是戴口罩咳嗽 10 分钟 - 不戴口罩咳嗽 100 分钟 = 少咳嗽 90 分钟。我们用符号 Y 来表示潜在结果,Y(不戴口罩) 和 Y(戴口罩) 分别表示两个不同处理(戴 or 不戴口罩)情况下的潜在结果。

显然,因果效果的定义依赖于潜在结果,但是它并不依赖于哪一个潜在结果实际发生。无论你今天戴了口罩(观测到咳嗽 10 分钟)还是没戴口罩(观测到咳嗽 100 分钟),个体的因果效果都是不变的(戴口罩少咳嗽 90 分钟)。

  • 22
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值