前段时间被导师安利了Judy Pearl的书《The Book of Why》,开始关注因果推断这个领域。分享下自己对因果推断相关方法的学习,不准确之处还请大佬们批评指正。
目录
- 背景引入
- 因果推断简介
- Rubin Causal Model (RCM) 及相关方法
- Structural Equation Modeling (SEM) 及相关方法
- 因果关系的驳斥
- 因果推断与机器学习
- 学习材料推荐
- 后记
1 背景引入
因果推断通俗来讲就是“透过现象看本质”,尤其是当现象和本质恰恰相反的时候。对于后者,人们常常提到的两个例子就是辛普森悖论和相关性不等于因果性。
1.1 辛普森悖论
辛普森悖论最经典的例子就是伯克利招生数据中的“性别歧视”现象,如下表:
显然在全校录取的新生中,男性的比例显著高于女性。有趣的是校方查阅了每个系的招生数据,却发现了不一样的现象:
在男女差异最大的6个院系中,看起来女性的录取率明显高于男性。这与全校的统计结果相反,如果非要说有“性别歧视”那可能也确实存在,只是改歧视男性了。
于是人们发现:一个分组来看时存在的现象,当把这些组的数据合并起来看时,该现象可能会消失或反转。这就是著名的辛普森悖论。下面这张动图就非常生动的说明了这一现象。
注:本节所用图表均来自互联网,侵删。
1.2 相关性 因果性
我们在分析两个变量时常会判断他们是否“相关”,但这很容易产生一种错觉:其中一个变量的变化会导致另一个变量的变化,也就是因果关系。而这是不对的,比如下面的例子
销售量和剃光头的数量高度相关,于是为了提高销售量,人人都应该手动变强...相关性并不能表示变量之间的相互作用机制,相关性不等于因果性。
这里推荐一个好玩的网站,里面有很多生动的例子:
http://www.tylervigen.com/spurious-correlationswww.tylervigen.com
事实上,相关性可能来自于三个方面:因果关系、混淆变量和采样偏差,其中只有因果关系才能真正回答为什么,才是我们真正要追寻的“智能”;而解决因果推断的问题则要排除其他两方面因素的影响,我们接下来会加以介绍。(这一部分参考了清华大学崔鹏老师在KDD2020 tutorial的ppt,传送门如下)
https://link.zhihu.com/?target=http%3A//kdd2020tutorial.thumedialab.com/
2 因果推断简介
因果推断顾名思义就是推断变量间:1)是否存在因果关系;2)因果关系的大小。
因果关系:两个变量T和Y之间具有因果关系当且仅当T的改变会导致Y的改变,同时其他因素都保持不变。
因果效应:指具有因果关系的变量T和Y,T的单位变化导致Y发生变化的大小。
这里施加的变量T称为treatment(对应的在T保持不变的情况称为control)。T的单位变化记做Unit,产生的变化称为Effect(即上面的因果效应)。衡量因果效应的大小主要通过计算ITE或ATE来完成:
ITE: Individual Treatment Effect
ATE: Averaged Treatment Effect
这些都是因果推断中的基本概念。那么因果推断的难点在于什么呢?主要是以下几个方面:
- 不可见的反事实空间(Counterfactual)
对于特定个体的特定状态,我们只能对其进行一次操作(比如用药)然后观察效果,而无法获知进行相对应操作(比如服用安慰剂或不用药)下的效果。而这种无法获知的状态就称为“Counterfactual”。如果我们能够既知道real world又知道counterfactual world的情况,那么二者做差即可得到causal effect。但很遗憾counterfactual永远不可知。
- 混淆变量(Confounding Factor OR Covariates)
Treatment变量T和effect变量Y可能会同时受到某一第三方变量X的影响,导致观察到的T对Y的影响其实并不一定是真实的作用关系。比如要研究某种药对病人的效果,但研究过程中忽略了年龄的因素,结果治疗组和对照组治疗效果上的差别实际是病人年龄差异导致的,这种情况下年龄就称为混淆变量。
- 采样偏差
与混淆变量类似,采样偏差会导致本来不存在因果关系的两个变量,因为采样偏差导致样本特性不一致进而使得二者产生关联。
之后的部分会写因果推断的两大类方法,以及推断结果验证等方面的内容。