因果推断(Causal Inference)概要

因果推断(Causal Inference)概要_第1张图片
(随便配的图,其实佛教的因果和我们这里的因果还不太一样的。。。)

这里简单谈一下因果学习相关的一些最为基础的东西。

首先,所谓因果性与相关性不同,相关性指的是如果我们观测到了一个变量X的分布,就能推断出另一个变量Y的分布的话,那么说明X和Y是有相关性的。而因果性则强调,如果我们操作了某个变量X,而这种操作(manipulate)引起了Y变量的变化的话,那么我们才能说明X是Y的cause,而Y是X的effect,这是因果学习的基本出发点,我们要找的是这样的因果关系,而不是简单的相关关系。

因果性与相关性的不同,举一个简单的栗子:比如我们可以通过统计数据发现,一个学校的学生的成绩和其是否戴眼镜有很强的正相关的关系。相关性可以用这样的统计数据直接看出来,但是因果性还没有确定。人们如果误将相关性的变量认为成了因果性的变量的话,就会通过给学生戴上眼镜的方式来提高他们的成绩。这是很荒谬的,原因就在于这是一个manipulate,这种manipulate需要的是因果性,而不是简单的统计相关性。我们根据经验知道,成绩好和戴眼镜背后都有一个common cause,那就是读书时间长。类似的错误并不少见,再举一个日常的例子,这个栗子相对于前面的例子可能有些不太明显:有人发现喝名贵葡萄酒的人寿命更长,所以提出通过每天饮用一点这种葡萄酒来养生。这个操作和前面说的戴眼镜的操作比起来,看上去似乎合理的多,现实中也确实是很多人觉得适量饮酒可以养生。但是这个仍然是一个没有区分相关和因果的情况。在这种情况下,经常喝名酒与寿命长也有共同的原因:那就是这个人很可能社会阶层较高,生活较为富足,因此能经常喝红酒,并且可以享受最好的医疗条件。这样看来,因果性有时候在做判断和决策的意义上可能比统计相关性更加有意义。

如果要按照定义来找因果关系,那么应该通过做实验,控制变量,改变某一个变量X,然后观察另一个变量Y是否跟着改变。但是实际上很多情况下我们只有大量的统计数据,而非实验结果,而且,有些情景我们也无法做实验,比如有违反科学伦理的内容,或者由于客观条件不可能开展实验的,比如宏观经济现象我们就无法通过实验来证明,只能通过已有的数据来进行分析。那么,如何从各个变量的数据集中找到他们的因果关系,就是因果推断的基本内容。

因果推断实际上是学习一个(graph),就是图论里的那个图。变量作为顶点vertices,是否有因果关系为边edge,这是一个无环图,但是也没有方向。换句话说,我们知道A和B有因果关系,但是究竟是A导致B还是B导致A,我们不知道。这样组成的因果网络一般叫做一个Markovian equivalence,也就是马尔科夫等价。既然是等价,也就说明这个无向图加上方向后的这些有向无环图(DAG)都是Markov等价的。

对图的结构,或者说骨架的学习,得到一个无向图。然后在对每条边确定方向。最终,我们得到的DAG,就可以表示这些变量之间的因果关系。这就是因果推断的基本流程。

在因果推断中,也有数学模型来表示因果关系。比如ANM模型,就是加性噪音模型,它把原因X和结果Y建模成:

Y = f ( X ) + N Y = f(X) + N Y=f(X)+N

也就是说,原因和结果之间又一个映射,并加上一定噪声。这里我们认为X和噪声N是不相关的。那么,反过来,如果用

X = g ( Y ) + N ′ X = g(Y)+N' X=g(Y)+N

来表示两者关系,那么Y和N’就不如X和N那么独立。这就产生了一个不等性质。利用这个不等性质,就可以通过各种手段把方向确定下来。

对于实际数据,通常分成continuous和discrete来研究。对不同的数据类型,也有不同的方法被提出。

后面的几篇主要集中在ANM模型相关,以及离散数据类型的causal inference。

2019年03月12日22:41:50

你可能感兴趣的:(因果推断)