【Causality】do calculus原理

这部分主要讲了causal discovery的do-calculus理论。这是将干预的结果概率化表达的重要理论,是评估因果作用的主要方法。欢迎大家一起学习

Do Calculus

  • 理论
    • 1 有向图
    • 2 do算子
    • 3 do ≠ condition
    • 4 后门准则与The Adjustment Formula (校正公式)
      • 后门准则的例子(转载)
    • 5 前门准则与The Adjustment Formula (校正公式)
    • 6 do calculus
      • 6.1 基本术语
      • 6.2 三条规则
      • 6.3 例子:计算 P ( c ∣ d o ( s ) ) P(c|do(s)) P(cdo(s))
  • 下期预告

理论

1 有向图

相关图论知识请移步:

【Causality】因果图入门

2 do算子

通过因果之梯,我们知道,如果想要把对因果的理解上升到“干预”的层面,就必须引入“干预”。我们用do算子来在概率分布层面表述这种动作。在 D A G DAG DAG d o ( X i ) = x i ′ do(X_i)=x'_i do(Xi)=xi表示如下的操作:将 D A G DAG DAG中指向 x i x_i xi的有向边全部切断,且将 X i X_i Xi的取值固定为常数 x i ′ x'_i xi 。如此操作,得到的新 D A G DAG DAG的联合分布可以记做 P ( x 1 , x 2 , . . . , x n ∣ d o ( X i ) = x i ) P(x_1,x_2,...,x_n|do(X_i)=x_i) P(x1,x2,...,xndo(Xi)=xi) 。 可以证明,干预后的联合分布为
P ( x 1 , . . . , x n ∣ d o ( X i ) = x i ′ ) = P ( x 1 , . . . , x n ) P ( x i ∣ P a ( x i ) ) I ( x i = x i ′ ) P(x_1,...,x_n|do(X_i)=x'_i)=\frac{P(x_1,...,x_n)}{P(x_i|Pa(x_i))} I(x_i=x'_i) P(x1,...,xndo(Xi)=xi)=P(xiPa(xi))P(x1,...,xn)I(xi=xi)

3 do ≠ condition

如下图(1)所示,当 x 1 x_1 x1 x 2 x_2 x2的原因(父节点)时, P ( X 2 = x 2 ∣ X 1 = x 1 ) = P ( X 2 = x 2 ∣ d o ( X 1 ) = x 1 ) P(X_2=x_2|X_1=x_1)=P(X_2=x_2|do(X_1)=x_1) P(X2=x2X1=x1)=P(X2=x2do(X1)=x1),因为在干预前,原因的状态原本就对应着相应的结果状态,改变原因的值不会影响这种对应关系。

但如图(2)所示,当 x 1 x_1 x1 x 2 x_2 x2的结果(子节点),给定了结果,对应的原因状态的可能性是不变的,即人为的干预结果,并不影响原因的分布,所以$ P ( X 2 = x 2 ∣ X 1 = x 1 ) ≠ P ( X 2 = x 2 ∣ d o ( X 1 ) = x 1 ) = P ( X 2 = x 2 ) P(X_2=x_2|X_1=x_1)\ne P(X_2=x_2|do(X_1)=x_1)=P(X_2=x_2) P(X2=x2X1=x1)=P(X2=x2do(X1)=x1)=P(X2=x2),根据因果边假设(causal edge assumption),从图像上来看,指向X_1的所有边都被删除了。

【Causality】do calculus原理_第1张图片

4 后门准则与The Adjustment Formula (校正公式)

根据 do 算子,便可以定义因果作用。比如二值的变量 Z Z Z对于 Y Y Y的平均因果作用(average causal effect)定义为
A C E ( Z → Y ) = E { Y ∣ d o ( Z = 1 ) } − E { Y ∣ d o ( Z = 0 ) } ACE(Z \rightarrow Y)=E\left \{ Y|do(Z=1) \right \}-E\left \{ Y|do(Z=0) \right \} ACE(ZY)=E{Ydo(Z=1)}E{Ydo(Z=0)}
也就是激活 Z Z Z与不激活 Z Z Z之间的区别。

“可识别性” 这个概念将被频繁的使用。因果推断中的识别性,和传统统计中的识别性定义是一致的。统计中,如果两个不同的模型参数,对应不同的观测数据的分布,那么我们称模型的参数可以识别。这里,如果因果作用可以用观测数据的分布唯一的表示,那么我们称因果作用是可以识别的。

有关 D D D-分离的概念请看图论。

【Causality】do calculus原理_第2张图片

后门准则:如图(1),在 D A G DAG DAG中,如果如下条件满足:

  1. Z Z Z中节点不是 X X X的后代;
  2. Z Z Z阻断了 ( X , Y ) (X,Y) (X,Y)之间所有指向 X X X的路径(又称为后门路径),

则称变量集合 Z Z Z相对于变量有序对 ( X , Y ) (X,Y) (XY)满足后门准则。且Pearl(1995)证明,若存在一个变量集合 Z Z Z相对于 ( X , Y ) (X,Y) (X,Y)满足后门准则,那么 X X X Y Y Y的因果作用是可以识别的。进行干预后,我们会得到新的图称作manipulated model,见图(2),对应的概率记作 P m P_m Pm.

根据后门准则,有

  1. P m ( Z = z ) = P ( Z = z ) P_m(Z=z)=P(Z=z) Pm(Z=z)=P(Z=z)
  2. P m ( Y = y ∣ X = x , Z = z ) = P ( Y = y ∣ X = x , Z = z ) P_m(Y=y|X=x,Z=z)=P(Y=y|X=x,Z=z) Pm(Y=yX=x,Z=z)=P(Y=yX=x,Z=z)

因此,校正公式(又称作causal effect rule)得以满足,如下:
P ( Y = y ∣ d o ( X ) = x ) = ∑ z P ( Y = y , Z = z ∣ d o ( X = x ) ) = ∑ z P ( Y = y ∣ X = x , Z = z ) P ( Z = z ) = ∑ z P ( Y = y ∣ X = x , P a ( x ) = z ) P ( P a ( x ) = z ) \begin{aligned} P(Y=y|do(X)=x) & =\sum_{z}P(Y=y,Z=z|do(X=x)) \\ & = \sum_{z}P(Y=y|X=x,Z=z)P(Z=z)\\ & = \sum_{z}P(Y=y|X=x,Pa(x)=z)P(Pa(x)=z) \end{aligned} P(Y=ydo(X)=x)=zP(Y=y,Z=zdo(X=x))=zP(Y=yX=x,Z=z)P(Z=z)=zP(Y=yX=x,Pa(x)=z)P(Pa(x)=z)

A C E ACE ACE识别公式相同,用 Z Z Z做调整,在分层加权求和求期望。

后门准则的例子(转载)

https://zhuanlan.zhihu.com/p/395623955

后门准则失败的例子

5 前门准则与The Adjustment Formula (校正公式)

【Causality】do calculus原理_第3张图片

前门准则:如图(1),在 D A G DAG DAG中,如果满足下列条件:

  1. Z Z Z切断了所有 X X X Y Y Y的直接路径
  2. X X X Z Z Z没有后门路径
  3. 所有 Z Z Z Y Y Y的后门路径都被 X X X阻断。

如图, P ( Y = y ∣ X = x ) P(Y=y|X=x) P(Y=yX=x)可以分解为两个后门 P ( Y = y ∣ Z = z ) P(Y=y|Z=z) P(Y=yZ=z) P ( Z = z ∣ X = x ) P(Z=z|X=x) P(Z=zX=x)
对于 P ( Y = y ∣ Z = z ) P(Y=y|Z=z) P(Y=yZ=z),满足后门准则的变量有 { X } \left \{ X \right \} {X},所以根据后门准则,
P ( Y = y ∣ Z = z ) = ∑ x ′ P ( Y = y ∣ Z = z , X = x ′ ) P ( X = x ′ ) P(Y=y|Z=z)=\sum_{x'}P(Y=y|Z=z,X=x')P(X=x') P(Y=yZ=z)=xP(Y=yZ=z,X=x)P(X=x)
对于 P ( Z = z ∣ X = x ) P(Z=z|X=x) P(Z=zX=x),没有满足后门准则的变量,因此不变。则有
P ( Y = y ∣ d o ( X ) = x ) = ∑ z P ( Y = y , Z = z ∣ d o ( X = x ) ) = ∑ z P ( Y = y ∣ Z = z , d o ( X ) = x ) P ( Z = z ∣ d o ( X ) = x ) = ∑ z P ( Y = y ∣ d o ( Z = z ) ) P ( Z = z ∣ d o ( X ) = x ) = ∑ z ∑ x ′ P ( Y = y ∣ Z = z , X = x ′ ) P ( X = x ′ ) P ( Z = z ∣ X = x ) \begin{aligned} P(Y=y|do(X)=x) & =\sum_{z}P(Y=y,Z=z|do(X=x)) \\ & = \sum_{z}P(Y=y|Z=z,do(X)=x)P(Z=z|do(X)=x)\\ & = \sum_{z}P(Y=y|do(Z=z))P(Z=z|do(X)=x)\\ & = \sum_{z}\sum_{x'}P(Y=y|Z=z,X=x')P(X=x')P(Z=z|X=x) \end{aligned} P(Y=ydo(X)=x)=zP(Y=y,Z=zdo(X=x))=zP(Y=yZ=z,do(X)=x)P(Z=zdo(X)=x)=zP(Y=ydo(Z=z))P(Z=zdo(X)=x)=zxP(Y=yZ=z,X=x)P(X=x)P(Z=zX=x)
进而得到前门准则的校正公式为
P ( y ∣ d o ( x ) ) = ∑ z P ( z ∣ x ) ∑ x ′ P ( y ∣ x ′ , z ) P ( x ′ ) P(y|do(x))=\sum_{z}P(z|x)\sum_{x'}P(y|x',z)P(x') P(ydo(x))=zP(zx)xP(yx,z)P(x)
这两个准则的意义在于:(1)某些研究中,即使 D A G DAG DAG中的某些变量不可观测,我们依然可以从观测数据中估计出某些因果作用;(2)这两个准则有助于我们鉴别“混杂变量” 和设计观察性研究。

6 do calculus

6.1 基本术语

  1. G X ‾ G_{\overline{X} } GX:移除 G G G中所有指向 X X X的边,即 X X X没有parent,也表示do(x)为空集;
  2. G X ‾ G_{\underline{X} } GX:移除 G G G中所有从 X X X指出的边,即 X X X没有;descendant
  3. G Z ( W ) ‾ G_{\overline{Z(W)} } GZ(W):移除 Z Z Z指向 W W W的所有边,即 Z Z Z中没有 W W W的parent。
  4. A ⊥ B ∣ C A\perp B|C ABC指已知C的情况下A条件独立于B。

6.2 三条规则

  1. Ignoring observations(d-separation):如果 G X ‾ G_{\overline{X} } GX Y ⊥ Z ∣ X , W Y\perp Z|X,W YZX,W
    P ( y ∣ d o ( x ) , z , w ) = P ( y ∣ d o ( x ) , w ) P(y|do(x),z,w)=P(y|do(x),w) P(ydo(x),z,w)=P(ydo(x),w)
  2. Intervention/observation exchange(后门调整):如果 G X ‾ , Z ‾ G_{\overline{X},\underline{Z} } GX,Z Y ⊥ Z ∣ X , W Y\perp Z|X,W YZX,W
    P ( y ∣ d o ( x ) , d o ( z ) , w ) = P ( y ∣ d o ( x ) , z , w ) P(y|do(x),do(z),w)=P(y|do(x),z,w) P(ydo(x),do(z),w)=P(ydo(x),z,w)
  3. Ignoring interventions:如果 G X , Z ( W ) ‾ G_{\overline{X,Z(W)}} GX,Z(W) Y ⊥ Z ∣ X , W Y\perp Z|X,W YZX,W,即 Y Y Y Z Z Z W W W D D D-separation。
    P ( y ∣ d o ( x ) , d o ( z ) , w ) = P ( y ∣ d o ( x ) , w ) P(y|do(x),do(z),w)=P(y|do(x),w) P(ydo(x),do(z),w)=P(ydo(x),w)

6.3 例子:计算 P ( c ∣ d o ( s ) ) P(c|do(s)) P(cdo(s))

【Causality】do calculus原理_第4张图片
P ( c ∣ d o ( s ) ) = ∑ t P ( c , t ∣ d o ( s ) ) = ∑ t P ( c ∣ t , d o ( s ) ) P ( t ∣ d o ( s ) ) = ∑ t P ( c ∣ d o ( t ) , d o ( s ) ) P ( t ∣ s ) = ∑ t P ( c ∣ d o ( t ) ) P ( t ∣ s ) = ∑ t ∑ s ′ P ( c ∣ d o ( t ) , s ′ ) P ( s ′ ∣ d o ( t ) ) P ( t ∣ s ) = ∑ t ∑ s ′ P ( c ∣ t , s ′ ) P ( s ′ ∣ d o ( t ) ) P ( t ∣ s ) = ∑ t ∑ s ′ P ( c ∣ t , s ′ ) P ( s ′ ) P ( t ∣ s ) 1 行 . 边缘分布公式 2 行 . 因子分解 3 , 4 行 . d o ( s ) = 空集,所以 d o ( s ) = s 5 行 . t 和 c 后门被 S 阻断,因为 T ← S ← G → C ,根据后门修正公式 6 行 . t 是 c 的原因,改变 t 不会影响 c 对应的分布,还是原本的条件分布 7 行 . t 是 s 的结果,人为干预结果不会影响原因的分布,因此 d o ( t ) 与 s 无关 \begin{matrix} \begin{aligned} P(c|do(s)) & =\sum_{t}P(c, t|do(s)) \\ & = \sum_{t}P(c|t,do(s))P(t|do(s))\\ & = \sum_{t}P(c|do(t),do(s))P(t|s)\\ & = \sum_{t}P(c|do(t))P(t|s)\\ & = \sum_{t}\sum_{s'}P(c|do(t),s')P(s'|do(t))P(t|s)\\ & = \sum_{t}\sum_{s'}P(c|t,s')P(s'|do(t))P(t|s)\\ & = \sum_{t}\sum_{s'}P(c|t,s')P(s')P(t|s) \end{aligned} & \begin{aligned} & 1行.边缘分布公式 \\ & 2行.因子分解\\ & 3,4行.do(s)=空集,所以do(s)=s\\ & 5行.t和c后门被S阻断,因为T \leftarrow S \leftarrow G \rightarrow C,根据后门修正公式\\ & 6行.t是c的原因,改变t不会影响c对应的分布,还是原本的条件分布\\ & 7行.t是s的结果,人为干预结果不会影响原因的分布,因此do(t)与s无关 \end{aligned} \end{matrix} P(cdo(s))=tP(c,tdo(s))=tP(ct,do(s))P(tdo(s))=tP(cdo(t),do(s))P(ts)=tP(cdo(t))P(ts)=tsP(cdo(t),s)P(sdo(t))P(ts)=tsP(ct,s)P(sdo(t))P(ts)=tsP(ct,s)P(s)P(ts)1.边缘分布公式2.因子分解34.do(s)=空集,所以do(s)=s5.tc后门被S阻断,因为TSGC,根据后门修正公式6.tc的原因,改变t不会影响c对应的分布,还是原本的条件分布7.ts的结果,人为干预结果不会影响原因的分布,因此do(t)s无关

下期预告

接下来会用代码实现do-calculus的计算,大概就这两天。

你可能感兴趣的:(causality,算法)