系列首篇:MIT因果迷你课笔记 —— 相关和因果
上篇中,我们提到了一些方法和假设,可以从数据分布中解析出因果关系,比如Causal Markov Condition和Faithfulness Assumption。但是通过数据分布P得到的d-separations的状况,可以让我们得到一组Markov Equivalence的因果图,也就是通过这种方法得到的因果图可能不是唯一的。那么接下来一个显而易见的问题是,如何从Markov Equivalence的因果图中得到最终的答案。如分布P是X⊥Y|Z **(vars: **X, Y,Z),那么X,Y,Z之间的因果关系可以是X->Z->Y,X<-Z<-Y,或X<-Z->Y,显然,在同一个现实场景中,这三种因果关系不能同时成立。那么究竟是哪一个呢?如何才能知道是哪一个呢?
除此之外,根据d-separation建立的Causal Markov Condition和Faithfulness Assumption还有另外一个局限,那就是,如果P中只有两个变量X,Y,那么这个建立在三个变量以上的推断因果关系的方法就不再适用。只有两个变量的时候,我们怎么判断是X->Y还是Y->X,这是我们接下来首先要讨论的问题。
首先,有个命题:
Prop:对于所有的分布P,如果P中只有两个变量X,Y,那么一定存在f和Ny,使得Y = f(X, Ny),且Ny⊥X (这里用⊥顶替一下独立符号)。反过来也一样,一定存在g和Nx,使得X = g(Y, Nx),且Nx⊥Y。
这个命题对于因果推断是不友好的,这表示,无论你有一个什么样的P,你都可以同时用Y->X和X->Y来解释它。另外f和g可能会非常复杂,那我们可以做的就是,可以去分析一些f和g比较简单的案例。
这里引入一个新的概念,restricted structural causal models,接下来,我们就讲restricted structural causal models。
Restricted Structural Causal Models
1. 假设X和Y之间是一种线性关系
先看一种极简的情况,X和Y是一种线性关系:
如果(X, Ny)不是联合高斯分布,那么就不能反推出X被Y线性影响着。也就是说不能通过上面的式子得到下面的式子。这个现象的理论基础是Darmois–Skitovich theorem。
举个例子,X, Ny服从均匀分布(uniform distribution):
以X为自变量,Y为因变量,那么可以拟合出以下的关系图。
那么以Y为自变量,X为因变量呢,拟合出的线性关系则如下图所示:
但是并不能得到X = bY+Nx,且Nx⊥Y,按照上面的拟合结果,来看Nx是什么样的:
非常明显的是,Nx和Y不独立。
接下来插一个没什么用的概念:arrow of time **(老师的原话╮(╯3╰)╭),应该是从Darmois–Skitovich theorem**衍生出来的,没什么用的话,那应该就是挺有意思的,我们还是看一下。
我们怎么判断一个序列,是按时间流动的方向收集的,还是被人动过手脚,是逆着时间来的。
先来看一个时间序列模型:autoregressive–moving-average (ARMA) models:
t是当下,这个模型是根据过去的结果和噪声,来预测现在的模型。c是常量,c后面的是白噪声,再后面的是过去的结果和匹配的系数,再后面是过去的白噪声和匹配的系数。
这个定理说的是,如果时间序列可以由ARMA(p, q)模型预测,且白噪声是高斯分布的,那么时间序列是可逆的,也就是说时间序列倒过来,也能用一个ARMA(p, q)模型来准确预测。
这个定理在2014年用在了下面这个研究中,如果你把一个视频倒过来放,你能不能让计算机根据这个定理判断出来这个视频是倒过来放的,除了这个定理,这个研究还试了其他方法,有兴趣的可以看一下:
比如下面这个,可以根据之前的定理判断出来:
也可以用来判断GDP的变化是不是被动过手脚,在时间线上翻转了:
对这个研究也可以做一些延伸的思考,因果和时间是分不开的,果应该是发生在因之后,时间倒过来,也就是因果也倒过来了,如果机器可以用一个理论来区分时间的方向,那么表示这个理论很可能可以用来归纳因果关系。
上面说了一大堆,都在假设因果之间存在的是线性关系,但现实世界的因果通常都不是线性关系,看下面一些生活中常出现的只有X,Y的数据集:
上图中,是各式各样的拥有双变量的数据集的可视化呈现,是研究统计的,现实世界常出现的状况。上图中,所有小图,可能是横轴是因,也可能是纵轴是因。那么看下面42号子图,这个图稍微特别一些:
现在来判断一下,对于42号子图,横轴更有可能是因,还是纵轴更有可能是因。我想大多数人都会选横轴,因为横轴为因,同一值对应的是单一结果。若纵轴为因,同一值会对应一到两个结果,这种情况就复杂了。
2. 假设X和Y是非线性关系
对于非线性关系,不管噪音分布为何,都不能逆推。
举例,变量X和噪音都是高斯分布,并和Y呈以下关系:
画出关系图是:
那么以Y为自变量,X为因变量呢,拟合出的线性关系则如下图所示:
不能得到Nx⊥Y,按照上面的拟合结果,来看Nx是什么样的:
非常明显的是,Nx和Y不独立。
现在来看一些现实中的案例,高度和温度:
由常识,我们知道高度是温度的因,上面的数据可以做拟合,拟合的p-value是0.024,p-value是假设检验里的概念,这里可以简单的理解为错误的拒绝了假设的概率,即拟合结果正确的概率。p-value forward指拿x作为自变量,p-value backward指拿Y作为自变量得到的p-value的值。可以发现,backward远低于forward,但它们又都非常低。
再看一个案例,咖啡和诺贝尔奖:
咖啡和诺贝尔奖的相关度非常高,如果我们将咖啡作为因变量,那么p-value非常低,如果将诺贝尔作为因变量,p-value会高一点。造成这个结果的原因可能有很多,比如模型不够好,比如我们假设噪声和自变量是独立的,这将模型大大的简化了。比如变量之间其实没有因果关系。有一件事情是很值得思考的,即p-value的值和因果关系的关系是什么?
接下来看本节最后一张图:
图中IGCI,LiNGaM,Additive Noise,PNL均是因果推断的模型,要理解这个这张图,首先得理解横纵坐标的定义,在参考[2]里找到了定义:
Decision rate 是判断了因果的数量/总量,Accuracy是判断对了的数量/总共判断的数量。那么为什么会有一个Decision rate,模型在做因果判断之前,会输出两个值,一个是X是Y的因的自信度,一个是Y是X的因的自信度。让它们做个减法再取绝对值:
通常会为模型设置一个阈值,绝对差值小于这个阈值的,模型不做判断,或者说不采纳模型的判断。因为有这个阈值,所以不是所有的X,Y都会采纳模型输出的因果关系,这样就有了Decision rate。
当然,这个阈值可以是按其他逻辑设计的,不一定非得是上面的逻辑。
由上图可以发现,现在有一些因果推断模型,还是有一定效果的,也许可以提升的空间,还非常非常的大。
下节继续讲restricted structural causal model,会从两个变量的因果归纳,延伸到多个变量,请继续关注吧!
系列首篇:MIT因果迷你课笔记 —— 相关和因果
声明:所有图片均来自参考,没有原创图片,公式和定理。
参考:
[1] Jonas Peters, University of Copenhagen, Mini-course on Causality, Laboratory for Information & Decision Systems (LIDS) and Models, Inference & Algorithms of the Broad Institute, MIT, 2017
[2] Jing Song, Satoshi Oyama, Masahito Kurihara, Tell cause from effect: models and evaluation, 2017
Comments