1.因果推断定义

根源:因果推断就是找到事情发生的原因

重要的现象:桑普森悖论,CasualtyAssociation之间的区别

因果推断 python dsg 因果推断是什么_数据挖掘

Association是人工智能的基础

因果推断 python dsg 因果推断是什么_数据挖掘_02

人工智能Association的问题:知其然,不知其所以然

  • 不可解释性
  • 无法满足独立同分布假设
  • 公平性问题
  • 不可回溯性

产生Association的三种方式:

  • 因果机制
  • 混淆效应
  • 样本选择偏差

因果推断 python dsg 因果推断是什么_数据挖掘_03

2.因果推断的两个关键问题

Causal discovery(因果关系挖掘): 比如研究:温度升高是否是电费增加的原因?或者在商品价格,商品转化率,商品上市时间,商品成本等几个变量之间探究一个因果图,即变量两两之间是否有因果关系?如果有,谁是因谁是果?

Causal effect(因果效应推理): 比如我们已经知道温度升高是电费增加的原因,我们想知道温度从20度升至30度,会对电费带来多少增加?

下面我们也会以因果关系挖掘和因果效应推理的框架分别进行学习。

 3.因果推断的两个主要框架

Structural Causal Models(SCM) – Judea Pearl: A causal model by SCMs consists of two components: the causal graph (causal diagram) and the structural equations. 即我们需要先得到一张因果图,然后对于因果图,我们去使用Structural Equations来描述它。

因果推断 python dsg 因果推断是什么_ci_04

比如对于这一张因果图,箭头由因指向果,X和E都是变量。然后右边的一系列方程就是Structural Equations来描述这个图,每一个方程f都表示着由因到果的一个映射或者说一个表达式,这个方程可以是linear也可以是nonlinear的,取决于他们的因果关系是否线性。

Potential Outcome Framework– Donald Rubin: It is mainly applied to learning causal effect as it corresponds to a given treatment-outcome pair (D,Y). 简单来说,计算因果效应最直接的手段就是控制住所有的变量不变,只变化cause,比如把温度从20变到30度,然后直接看outcome变化,也就是直接用30度时的电费减去20度时的电费,既可以得到causal effect。HOWEVER,easier said than done!!!如果这个世界有两个平行时空,那么我们可以做这个实验,但是如果没有呢?我们知道温度不可能在同一个地方,同一个时间,即20度又30度,那么必然20度的时候,30度时的电费就叫potential outcome。而这个framework,就是相方设法从能观察到的数据中得到这个potential的结果,然后二者相减,就是我们想要的答案啦!