在上一节我们继续学习了有关干预的知识,具体来说,学习了三种重要的干预工具:后门调整、前门调整、逆概率加权。在本节中,我们从线性系统开始入手,介绍变量连续时的因果效应如何表达,并学习中介、工具变量等概念。

本章将结束因果分析中干预的讲解,在理论与工具之外我会引入系统——关河因果分析系统来举例说明干预的过程,便于大家理解。

路径系数&回归系数

之前介绍的模型中变量都是二值的,现实中的很多事件变量都是连续的。比如我们想知道课外辅导和考试成绩的关系、上网学慕课和未来找工作的关系等等。那么一种最简单的建模方法就是用线性系统建模。具体来说,变量之间的关系都是线性的。而之前使用概率来表示变量之间依赖关系的形式就要相应的变成期望的形式了。

比如之前表示,以 Z 为条件, Y 和 X 是相互独立的,我们写作

P(Y|X,Z)=P(Y|Z)

而对于连续变量,我们就写作

E[Y|X,Z]=E[Y|Z]

条件期望也就可以写成线性的形式

E[Y|X1=x1,X2=x2,…,Xn=xn]=r0+r1x1+r2x2+···+rnxn

其中 r1,r2,…,rn 被称为回归系数(或者相关系数)。这些回归系数 ri 的值与 xi 的值无关,只与谁是回归因子有关。换句话说, 无论Xi=1 、 Xi=2 还是 Xi=312.3 ,只要我们选择了 Xi 作为回归因子,那么回归系数就是不变的。

回归系数是表示变量之间的统计特征,也就是我们站在因果关系之梯第一层级用观测数据归纳出的,它只是对客观事实的描述, y=r1x+r2z+ 不能说明 X 和 Z 是 Y 的因。与回归系数不同,路径系数则反映的是变量之间的因果关系或者结构关系,是因果关系之梯第二层级的信息。比如我们定义 Y=3X+U 这就说明 X 和 Y 之间有因果关系路径X→Y ,且路径系数为3。每一个路径系数都表示一条因果关系。在《Causal Inference in Statistics》一书中,路径系数用 α,β 来表示,而回归系数用 r1,r2 等等来表示。

考虑下图中的图模型。其中 a,b,c,d,e 分别标出了五条因果关系路径的路径系数。

图1

假设我们想要计算 Z 对 Y 的因果效应的总和。那么计算的方式就是将每一条因果路径上的因果系数与对应变量相乘,然后对所有非后门路径求和。

Y=dZ+eW+UY

=dZ+e(bX+cZ)+UY+eUW

=(d+ec)Z+ebX+UY+eUW

这表明对 Z 每增加一个单位, Y 将随之增加 d+ec 个单位。比较一下, d+ec 、 eb 其实就是回归系数,是 Z 对 Y 、X 对 Y 的总效应。而 d 和 e 分别是 Z 对 Y 、 W 对 Y 的直接效应,也是路径系数。

那么应该如何计算两个变量之间的直接效应呢,比如如何计算下图(左)中, X 对 Y 的直接因果效应 α ?

图2

方法如下:

  1. 移除 X 与 Y 之间的箭头(如果没有直接相连的箭头,那就说明 α=0 )。
  2. 得到的新图称为 Gα ,如果 Gα 中有一组变量 Z 能够将 X 和 Y d分离,那么我们就可以求出 Y 关于 X 和 Z 的回归模型。

如图2(左)的有向无环图,我们去掉 X→Y 的箭头,得到右边的有向无环图,在右图中, W 作为中间节点d分离了 X 和 Y 。因此我们建立 Y 关于 X 和 W 的回归模型:

Y=rXX+rWW+ϵ

其中 rX 就是 X 对 Y 的直接因果效应。然后我们只要观测出回归模型中这些变量的值就可以估计出参数的值了。

工具变量

但假如,去掉箭头以后,没有变量能将X 和 Y d分离,又怎么办呢?此时可以引入工具变量(Instrumental variable)。

图3

如图3所示的情况中, X 和 Y 之间只有一条路径 α ,还有一个未观测的共因(虚线表示)。此时,去掉 X 和 Y 之间的箭头后,无法找到能够d分离 X 和 Y 的变量(集)了。此时的措施是找到一个工具变量 Z 来求出 α 。如果一个变量在新的图Gα 中与 Y 是d分离,但是与 X 是d相连的, 那么这个变量就可以被作为工具变量。然后我们分别建立 Y 关于 Z 、 X 关于 Z 的回归关系: y=r1z+ 、 x=r2z+ 。如图3所示,我们不难得到:

β=r2

αβ=r1

这样一来就很容易得到

α=r1/r2

要注意的点是,使用以上公式的前提是, X 和 Y 之间的未观测的共因 U 与 Z 之间没有箭头连接,这样 Z 和 X 之间没有混杂。否则是不能使用以上方法的。

中介

在本节最后,初步学习有关中介(mediation)的概念。在后续学习反事实推理时,还会返回有关中介的讨论。

图4

在不少公司录取求职者的时候都存在性别歧视现象。我们想知道一家公司在雇佣行为 Y 中是否存在对性别 X 的歧视,以及在多大程度上存在性别歧视。但同时我们要知道,性别也在其他方面影响录取的结果:比如,女性通常或多或少比男性更有可能进入某个特定领域,或者在该领域比男性更容易获得更高的学位。因此,性别也可能通过学历 Z 这一中介变量对招聘产生间接影响。

此时,学历就是一个中介变量。首先,性别直接影响录取结果, 性别录取结果  性别→录取结果 ;其次,性别通过学历这个中介变量来间接影响录取结果, 性别学历录取结果  性别→学历→录取结果 。为了找到性别对录取结果的直接效应,我们需要以某种方式消除中介变量(此时就是混杂因子)的影响,也即保持学历不变,然后衡量性别与录取结果之间的关系:由于学历不变,录取结果上的任何变化都只能由性别决定。这是通过以中介变量为条件来实现的。因此,如果 录取女性,高学历P(录取|女性,高学历) 与 录取男性,高学历P(录取|男性,高学历) 是不同的,那么就说明性别对录取结果有直接的影响。

这一关系可如图4(左)的因果图表示。但是还有一种可能的情况是,中介变量和结果变量具有混杂因子。比如,收入 I 就是一个可能的混杂因子:高收入的人更有可能上过大学,也更有可能拥有能帮助他们找到工作的人脉,从而也能有被录取的几率。这时候,收入就成为学历和录取结果的混杂因子,如图4(右)所示。

这种情况就更加复杂了。此时,性别与录取结果之间其实是有三条路径的。

一是直接路径 性别录取结果性别→录取结果 ,

二是间接路径 性别学历录取结果性别→学历→录取结果 ,

第三还有一条间接路径: 性别学历收入录取结果性别→学历←收入→录取结果 。

此时,如果不以学历为条件, 性别学历录取结果性别→学历→录取结果 这条间接路径是通的。但如果以学历为条件,就等于是以对撞子为条件,这会打开对撞子所在的路径。因此,间接路径 性别学历收入录取结果性别→学历←收入→录取结果 是通的,而 性别学历录取结果性别→学历→录取结果 则阻断了。所以无论是否以学历为条件,都无法得到性别和录取结果之间的直接因果效应。

此时采用的方法是:干预。我们不以学历为条件,而是固定学历。那么性别与学历之间的箭头以及收入与学历之间的箭头就消失了。所以对于任意三个变量 X 、 Y 、 Z ,如果 Z 是 X 和 Y 的中介变量,那么 Y 的受控直接效应(Controlled Directed Effect, CDE)可计算如下:

(1)CDE=P(Y=y|do(X=x),do(Z=z))−P(Y=y|do(X=x′),do(Z=z))

需要注意的是,对不同的 Z 的取值,CDE是不同的。所以要完整计算直接因果效应的话,需要对每一个 Z 可取的值都计算。

现在公式(1)中出现了两个do运算,还需要通过后门调整前门调整之类的方法将它们都去掉。首先, X 和 Y 之间没有后门路径(注意 X→Z→Y 不叫后门路径,后门路径必须是箭头指向 X 的),所以可以去掉对X 的do运算。这样,(1)式可以变成:

CDE=P(Y=y|do(X=x),do(Z=z))−P(Y=y|do(X=x′),do(Z=z))=P(Y=y|X=x,do(Z=z))−P(Y=y|X=x′,do(Z=z))

然后再看 Z ,对于 Z→Y 来说是有两条后门路径的。一条是 Z←X→Y ,由于已经以 X 为条件了,所以这条路径已经被阻断了。还有一条是 Z←I→Y ,这条路径,如果以 I 为条件,也会被阻断。根据后门调整公式:

CDE=P(Y=y|do(X=x),do(Z=z))−P(Y=y|do(X=x′),do(Z=z))=P(Y=y|X=x,do(Z=z))−P(Y=y|X=x′,do(Z=z))=∑i[P(Y=y|X=x,Z=z,I=i)−P(Y=y|X=x′,Z=z,I=i)]P(I=i)

最后得到的这个公式就完全没有do运算了。总结来说,当以下两个条件都满足时,以 Z 为中介变量,可以计算出变量 X 对变量 Y 的CDE:

  1. 存在一组变量集 S1 能够阻断 Z→Y 的所有后门路径。
  2. 当去掉指向 Z 的所有箭头后,存在一组变量集 S2 能够阻断 X→Y 的所有后门路径。

本节主要内容来源于《Causal Inference in Statistics: A Primer》[1]一书第三章,更深入的相关内容也可参考《Causality: Models, Reasoning and Inference》[2]。

【关河因果实现关联到干预的跨越

图灵奖得奖者Judea Pearl提出的 “因果关系之梯”,他把因果推理分成三个层面,第一层是“关联”;第二层是“干预”;第三层是“反事实推理”。“关联”已经是机器学习做得比较好的一个领域,无论是通过概率的形式,还是通过deep learning的形式。当前的机器学习领域的研究只处于第一层,要实现ML进行准确的因果推理还需要干预和反事实推理的介入。

关河因果系统的【近似规则】功能,针对同一份数据输入,同一套实体配置,在同一次规则执行产生的结果情况下,能够对相似规则进行多个观察角度。

具体操作:对于已挑选出的感兴趣的规则结果,向用户提供锁定其它因素,只对关注项(点、边实体)进行增删的功能,实时查看属性改动后带来的规则变化(包括参数support、confidence、lift),通过模拟简单的A/B测试,控制变量观察单一因素对于结果的影响,从而判断具体因素的因果效应。因果效应估计是原因变量对结果变量的影响程度,其本质能够建立因果模型输出对增量准确的预测值。现实中最直接的因果效应估计方法就是随机实验。

关河因果为用户提供了一个自主的模拟环境,以低实验成本,实现了关注项的层层归因。易操作,克控制的【近似规则】功能使关河因果系统简单具备了因果推理干预层级的能力。

最高层级反事实,也可以理解为“执果索因”,也就是我们希望知道,如果我们想让事件B发生某种变化时,我们能否通过改变已经发生的事件A来实现。反事实推断对于机器ML是很难做到的,人类大脑在有因果认知的前提下也很难明确反事实推断的结果是否正确。如果少吃一点盐,是不是会使我的血压降低一些?这样的反事实的假设并不能给我们带来直接的数据结果。

关河因果系统虽然不能直接进行因果推理最后一层的反事实推断,但它提供了更为直观的图模式展示具有一定因果关系的关联规则,更为全面的特征和属性辅助用户依据稳定的相关性进行因果推理,为用户提供了一个自主进行因果分析的环境。

参考

  1. ^Judea Pearl, Madelyn Glymour, and Nicholas Jewell, "Causal Inference in Statistics: A Primer",Wiley, 2016;
  2. ^ Judea Pearl, "Causality: Models, Reasoning and Inference", Cambridge University Press, 2009;
  3. 知乎文章,如何实现从关联规则到因果分析 by木土老师;
  4. 知乎文章,关河因果:如何实现因果分析​​​​​​​

因果系列文章(7)——干预工具(下)相关推荐

  1. 因果系列文章(6)——干预工具(上)

    本节将延续上一节学习的干预的有关概念,开始深入介绍几种干预的工具:后门调整.前门调整.逆概率加权等.本节将有大量公式来袭,请准备草稿纸或提前绕道~ 在上一节最后,我们推导出有关干预的重要公式--调整公 ...

  2. 因果系列文章(1):因果推断及相关论文

    序 大家好,好久没有更新因果技术的文章了,从今天开始,我会开启一个新的专栏,和大家聊聊因果推断,一方面是给自己做一个技术沉淀,另一方面也是希望可以制造一个场,让对因果有兴趣的朋友们一起来讨论技术. 前 ...

  3. 因果系列文章(2):因果推断初探

    以下内容仅仅是作者因个人兴趣而对因果推理领域的非常粗浅的学习笔记,难免充满低级的谬误和肤浅的认识.作者已经在表达上尽量直白.如有错漏请及时指教. 深度学习不是万能的 人工智能发展至今,经历了无数次的浪 ...

  4. 因果系列文章(3)——有向无环图

    Pearl教授被称为"贝叶斯网络之父",足以显示他对贝叶斯网络研究的贡献(虽然他好像并不是贝叶斯网络的最初提出者).但正如他自己所说,他曾经一度认为贝叶斯网络是开启人工智能大门的金 ...

  5. 因果系列文章(4)——拨开混杂的迷雾

    本节沿袭上一节的内容,继续学习混杂.阻断.前门/后门路径等概念. 混杂 抽烟的人容易导致肺癌,抽烟的人也容易出现黄手指.因为抽烟这个"共因","黄手指"和&qu ...

  6. 因果系列文章(10)—— 因果关系发现

    如何从纷繁复杂的数据中发现其中隐含因果关系,就是因果关系发现(casual discovery)要做的工作.本节简要总结这方面的工作,主要材料来源于<Elements of Causal Inf ...

  7. html5 Game开发系列文章之 二 精灵(下)

    昨天在家装了IE9,感觉不错,界面终于清爽了,跑HTML5也还不错!期待IE10正式版! 上一节我简单了介绍了HTML5 canvas 中的 drawImage方法,并绘制了一条扇动翅膀的小红龙,那么 ...

  8. Janus系列文章三 API使用指南 VideoRoom创建新的视频房

    Janus系列文章三 API使用指南 VideoRoom API Janus API 通讯协议分类 Janus API 的会话和事务机制 事务 会话 Janus API 使用流程 使用videoroo ...

  9. prometheus变量_TiKV 源码解析系列文章(四)Prometheus(下)

    本文为 TiKV 源码解析系列的第四篇,接上篇继续为大家介绍 rust-prometheus.上篇主要介绍了基础知识以及最基本的几个指标的内部工作机制,本篇会进一步介绍更多高级功能的实现原理. 与上篇 ...

最新文章

  1. DPM 2010(三)---Exchange2010单邮箱恢复
  2. linux怎么远程windows桌面,Windows系统怎么远程登陆桌面Linux?
  3. js中split字符串分割示例
  4. 语音编解码技术演进和应用选型
  5. play @Before 的使用
  6. MongoDB实战经验分享
  7. 阿里HBase的GC优化实践,能够降低java垃圾回收时间!
  8. python客观题阅卷_利用Python开发智能阅卷系统
  9. Hibernate 下载、安装和使用
  10. 如何把 json对象转换成 数组
  11. axios中文文档整理
  12. 小米笔记本bios版本大全_聊一款被“差别对待”的笔记本电脑
  13. [基本功]假设检验概念统计量一览
  14. struct+Matlab向上向下取整+单位圆向量+matlab求导
  15. 一小时建立终生受用的阅读操作系统-笔记
  16. pdf转换成jpg转换器的使用方法
  17. MySQL 连接挂死了!该如何排查?
  18. 丁神去谷歌-北邮OJ416
  19. 语音转换工具推荐tts-vue
  20. Android——Framework之Packamanager深析

热门文章

  1. 计算循环冗余码--摘录
  2. 反射内存卡学习及使用---rfm2g驱动安装
  3. 主持人群星会缅怀罗京 朱迅眼圈发红
  4. 华云数据:做数字经济时代的信创云计算专家
  5. r语言变量长度不一致怎么办_基础方法 | 数据管理:Stata与R语言的应用
  6. 傅盛:猎豹持有猎户星空约34%股权 未来或获控股权
  7. linux中的ps fx命令,Linux下ps命令详解 Linux下ps命令的详细使用方法
  8. 武汉理工大学计算机学院专业排名,2019-2020武汉理工大学学科评估结果排名
  9. 计算机网络专业英语pdf,计算机网络专业英语词汇
  10. 电脑重启bootmgr_电脑启动不了显示bootmgr