Hern\(\'{a}\)n M. and Robins J. Causal Inference: What If.

Neal B. Introduction to Causal Inference.

graph LR
A(A) --> Y(Y)
graph LR
L(L) -->A(A) --> Y(Y)
L --> Y

这里对常用的causal effect的估计方法做一个总结, 需要注意的是, 在参数模型的情况下\(\theta L\) 表示\(\theta^TL\)当二者为向量的时候.

为了方便, 我们常常使用\(\sum\), 这并非要求该项必须是离散的, 除了\(A\)大部分可以等价于\(\int\).

默认情况下, (条件)可交换性(exchangeability), 一致性(consistency) 以及 正性(positivity) 都是满足的, 特别的情况为注明.

其中, time-varying的条件可交换性定义为:

\[(Y^g, \underline{L}_{k+1}^g) \amalg A_k | \bar{A}_{k-1} = g(\bar{A}_{k-2},\bar{L}_{k-1}), \bar{L}_{k}, \: k=0,\cdots, K.
\]

如果是静态的, \(g\)换成\(\bar{a}\).

Censoring 是数据缺失的情况, 对其的处理可以理解为对多个treatments的情况的处理.

Standardization

非参数情况

\[\mathbb{E}[Y^a] = \mathbb{E}[Y^a|A=a]= \mathbb{E}[Y|A=a].
\]
\[\tag{S}
\mathbb{E}[Y^a] = \mathbb{E}_{L} \mathbb{E}_{Y^a}[Y^a|L]
=\mathbb{E}_{L} \mathbb{E}_{Y}[Y|A=a, L].
\]

具体地, 为

\[\tag{S+}
\sum_l \mathbb{E}[Y|A=a, L=l] \mathrm{Pr}[L=l],
\]

所以该式必须满足正性, 即

\[\mathrm{Pr}[A=a|L=l] > 0, \quad \mathrm{if}\: \mathrm{Pr}[L=l] > 0,
\]

否则\(\mathbb{E}[Y|A=a, L=l]\)无定义.

Censoring

\[\mathbb{E}[Y^{a, c=0}] = \mathbb{E}_{L} \mathbb{E}[Y|A=a, C=0, L].
\]

参数模型

标准化处理的参数模型, 就是估计

\[\hat{\mathbb{E}} [Y|A=a, L=l],
\]

比如:

\[\hat{\mathbb{E}} [Y|A, L] = \theta_0 + \theta_1A + \theta_2L + \theta_3 AL.
\]

接下来用(S, S+)的公式就可以了(一般是直接用S, 根据大数定律弄的).

Time-varying

静态

\[\begin{array}{rl}
{}& \sum_{\bar{l}_K} \mathbb{E}[Y|\bar{A}_K=\bar{a}_K, \bar{L}_K=\bar{l}_K] \prod_{k=0}^K f(l_k|\bar{a}_{k-1}, \bar{l}_{k-1}) \\
=& \sum_{\bar{l}_K} \mathbb{E}[Y|\bar{A}_{K-1}=\bar{a}_{K-1}, \bar{L}_K=\bar{l}_K] \prod_{k=0}^K f(l_k|\bar{a}_{k-1}, \bar{l}_{k-1}) \\
=& \sum_{\bar{l}_K} \mathbb{E}[Y,\bar{A}_{K-1}=\bar{a}_{K-1}, \bar{L}_K=\bar{l}_K] \prod_{k=0}^{K-1} f(l_k|\bar{a}_{k-1}, \bar{l}_{k-1}) \cdot f(\bar{a}_{k-1}, \bar{l}_{k-1}) \\
=& \sum_{\bar{l}_K} \mathbb{E}[Y|\bar{A}_{K-1}=\bar{a}_{K-1}, \bar{L}_K=\bar{l}_{K-1}] \prod_{k=0}^{K-1} f(l_k|\bar{a}_{k-1}, \bar{l}_{k-1})\\
=& \cdots \\
=& \mathbb{E}[Y^{\bar{a}}].
\end{array}
\]

至于动态的, 书上给出了一个公式, 但是我感觉不是很对, 这里推导一下试试:

\[\begin{array}{rl}
{}& \mathbb{E}[Y^g] \\
=& \mathbb{E}_{\bar{a}\sim g} \mathbb{E}_Y [Y^{\bar{a}}] \\
=&\sum_{\bar{a}\sim g} \sum_{\bar{l}} \mathbb{E}[Y^{\bar{a}}|\bar{A}=\bar{a}, L=\bar{l}] \cdot f(\bar{A}, \bar{L}), \\
\end{array}
\]

其中

\[\mathrm{Pr}(\bar{A}, \bar{L}) = \prod_{k=0}^K f(L_k|\bar{A}_{k-1}, \bar{L}_{k-1}) \cdot \prod_{k=0}^K f^{int}(A_k|\bar{A}_{k-1}, \bar{L}_{k}).
\]

这里, \(f^{int}\)表示每一步\(g\)的根据前面历史选择\(A_k\)的概率.

IP weighting

无参数

\[\mathbb{E}[\frac{I(A=a)Y}{f(A|L)}] = \mathbb{E}_L \{\mathbb{E}_Y [Y^a|L] \cdot \underbrace{\mathbb{E}_{A}[\frac{I(A=a)}{f(A|L)}|L]}_{=1}\} = \mathbb{E}[Y^a].
\]

倘若\(A\)为连续变量, \(f\)为对应的条件密度函数, 则(非零的部分是零测集)

\[\mathbb{E}[\frac{I(A=a)Y}{f(A|L)}] \equiv 0.
\]

当正性不成立的时候, 即存在\(l\), \(\mathrm{Pr}[L=l] > 0\), 但是\(f(A=0|L=l) = 0\), 此时

\[\begin{array}{rl}
\mathbb{E}[\frac{I(A=a)Y}{f(A|L)}]
&= \mathbb{E}_{L \in Q(a)} \{\mathbb{E}[Y^a|L=l]\cdot \mathbb{E}_{A}[\frac{I(A=a)}{f(A|L)}|L]\} \\
&= \mathbb{E}_{L \in Q(a)} \{\mathbb{E}[Y^a|L=l]\} \\
&= \mathbb{E}[Y^a|L\in Q(a)]\mathrm{Pr}[L\in Q(a)]. \\
\end{array}
\]

Censoring

\[\mathbb{E}[Y^{a, c=0}] = \mathbb{E}[\frac{I(A=a, C=0)Y^a}{f(A|L)f(C|A,L)}].
\]

参数模型

定义

\[W^A = f(A|L),
\]

需要说明的是

\[\tag{IP}
\mathbb{E}[Y^a] = \frac{\mathbb{E}[I(A=a)W^AY]}{\mathbb{E}[I(A=a)W^A]}.
\]

注: 实际上分母为1.

特别的, 可以定义

\[SW^A = f(A) / f(A|L),
\]
\[\tag{IP+}
\mathbb{E}[Y^a] = \frac{\mathbb{E}[I(A=a)SW^AY]}{\mathbb{E}[I(A=a)SW^A]}.
\]

注: 此时分母为\(f(A)\). 在估计中, (IP+)更为稳定.

显然, 在参数模型中, 我们常常需要建模:

\[\hat{f}(A|L),
\]

并得到

\[\widehat{W}^A \quad \mathrm{or} \quad \widehat{SW}^A.
\]

此时再进一步假设

\[\hat{\mathbb{E}} [Y^a],
\]

比如

\[\hat{\mathbb{E}} [Y^a] := \theta_0 + \theta_1 a.
\]

通过\(\widehat{W}\)或者\(\widehat{SW}\)得到\(\mathbb{E}[Y^a]\)的近似值:

\[\frac{\sum_i I(A=a)W_iY_i}{\sum_i I(A=a)W_i},
\quad \mathrm{or} \quad
\frac{\sum_i I(A=a)SW_iY_i}{\sum_i I(A=a)SW_i}.
\]

通过最小二乘法来估计参数\(\theta_0, \theta_1\).

注: 一般情况下(\(A\)低维的情况), \(f(A)\)可以通过无参数估计估计, 否则也需要建模估计.

IP weighting 有一种特别好的思路, 主要到, 经过weighting之后, 相当于我们重新选择了\(A\), 此时\(A\)和\(L\)无关, 在这个伪造的人群中, 我们有

\[\mathbb{E}_{ps}[Y|A=a] = \mathbb{E}[Y^a].
\]

注: 证明只需要用到\(A \amalg L\).

注: 在这种可建模的情况下, 正性并不重要, 而且似乎即使\(A\)是连续变量, 上述的估计方式也是奏效的, 但是说实话我无法理解.

censoring

如果由censoring的情况出现, 只需要考虑

\[W^{AC} = W^A \cdot W^C, \\
SW^{AC} = SW^A \cdot SW^C, \\
\]

其中

\[W^C = 1 / f(C|A, L), \\
SW^C = f(C|A) / f(C|A, L).
\]

条件下 V

如何用IP weighting 估计

\[\mathbb{E}[Y^a|V], V \subset L.
\]

只需考虑

\[W^A = 1 / f(A| V, L\setminus V), \\
SW^A = f(A|V) / f(A, V, L\setminus V).
\]

分别利用(IP, IP+)即可.

注: 此时二者分母均不为1, 故不可用最普通的IP weighting的公式.

Time-varying

此时

\[W^{\bar{A}} = \prod_{k=0}^K \frac{1}{f(A_k|\bar{A}_{k-1}, \bar{L}_k)}, \\
SW^{\bar{A}} = \prod_{k=0}^K \frac{f(A_k|\bar{A}_{k-1})}{f(A_k|\bar{A}_{k-1}, \bar{L}_k)}. \\
\]

剩下的就是利用类似(IP, IP+)的公式计算.

在这种情况下, 同样有条件下V, 但是, 特别的是, \(V\)必须是baseline variables, 即

\[V \subset L_0.
\]

注: 没看到其用于动态策略的是说明.

G-estimation

非参数模型

非参数模型可以看成是参数模型的一种特例.

参数模型

这个方法主要是用于估计

\[\mathbb{E}[Y^a|L]
-\mathbb{E}[Y^{a'}|L].
\]

假设

\[\hat{\mathbb{E}} [Y^a|L] = \beta_0 + \beta_1 a + \beta_2 L + \theta_3 aL,
\]

\[\mathbb{E}[Y^a|L]
-\mathbb{E}[Y^{a=0}|L] = \beta_1 a + \beta_3 aV.
\]

假设 rank preserving 成立, 则有

\[Y^a = Y^{a=0} + \psi_0 a + \psi_1 aV, \\
\Rightarrow Y^{a=0} = Y - \psi_0 a - \psi_1 a V,
\]

并定义\(H(\psi^{\dagger}):= Y^{a=0}\).

注意到, 条件可交换性

\[Y^a \amalg A |L
\]

意味着

\[\mathrm{Pr}[A=1|Y^{a=0}, L]
= \mathrm{Pr}[A=1|L].
\]

假设我们用一个逻辑斯蒂回归对其进行建模:

\[\mathrm{logit}\:
\mathrm{Pr}[A=1|Y^{a=0}, L]
= \theta_0 + \theta_1 Y^{a=0} + \theta_2 Y^{a=0}V + \theta_3 L.
\]

则根据条件可交换性的性质, \(\theta_1, \theta_2\)都应该是0, 现在\(H(\psi^{\dagger})=Y^{a=0}\), 则

\[\mathrm{logit}\:
\mathrm{Pr}[A=1|H(\psi^{\dagger}), L]
= \theta_0 + \theta_1 H(\psi^{\dagger})+ \theta_2 H(\psi^{\dagger})V + \theta_3 L.
\]

给定\(\psi_0, \psi_1\), 我们可以估计出一组\(\theta_0, \cdots, \theta_3\), 什么样的\(\psi_0, \psi_1\)是好的, 就是让估计的参数\(\theta_1, \theta_2\)接近0.

所以 G-estimation 常用网格法来估计.

不过应对高维问题的时候就比较捉襟见肘了.

在特殊的情况下, 我们可以有显示的表达式.

Time-varying

类似.

\[\hat{\mathbb{E}}[Y^{\bar{a}_{k-1}, a_k, \underline{0}_{k+1}} - Y^{\bar{a}_{k+1}, \underline{0}_{k}}|\bar{A}_{k-1}=\bar{a}_{k-1}, \bar{L}_k = \bar{l}_k] = a_k \gamma_k (\bar{a}_{k-1}\bar{l}_k; \beta).
\]
\[Y^{\bar{A}_{k-1}, A_k, \underline{0}_{k+1}}
=Y^{\bar{A}_{k+1}, \underline{0}_{k}} + A_k \gamma_k (\bar{A}_{k-1}, \bar{l}_k ;\beta).
\]
\[H_k(\psi^{\dagger}) = Y - \sum_{j=k}^K A_j \gamma_j(\bar{A}_{j-1}, \bar{L}_{j}, \psi^{\dagger}).
\]

通过下式来估计:

\[\mathrm{logit}\:\mathrm{Pr} [A_k=1|H_k(\psi^{\dagger}), \bar{L}_k, \bar{A}_{k-1}] = \alpha_0 + \alpha_1 H_k(\psi^{\dagger}) + \alpha_2 W_k.
\]

Propensity Scores

该方法仅能应用于二元情形, 即\(A \in \{0, 1\}\).

当\(L\)是一个高维向量的时候, 一般的无参数模型就派不上用场了, 尽管我们可以通过参数模型来建模, 但是带来的结果是估计结果的方差会比较大.

我们记\(\pi(L) = \mathrm{Pr}[A|L]\), 并证明:

\[Y^a \amalg A | L \Rightarrow Y^a \amalg A | \pi(L).
\]

不妨假设\(\pi(L) =s \Leftrightarrow L \in \{l_i\}\), 则

\[\begin{array}{ll}
\mathrm{Pr}[Y^a|\pi(L)=s]
&= \mathrm{Pr} [Y^a|L \in \{l_i\}] \\
&= \frac{\sum_i\mathrm{Pr}[Y^a,L=l_i]}{\sum_i \mathrm{Pr} [L=l_i]}\\
&= \frac{\sum_i\mathrm{Pr}[Y|A=a, L=l_i]\mathrm{Pr}[L=l_i]}{\sum_i \mathrm{Pr} [L=l_i]}\\
&= \frac{\mathrm{Pr}[A=a|L=l] \cdot \sum_i\mathrm{Pr}[Y|A=a, L=l_i]\mathrm{Pr}[L=l_i]}{\mathrm{Pr}[A=a|L=l]\sum_i \mathrm{Pr} [L=l_i]}\\
&= \frac{\sum_i\mathrm{Pr}[Y|A=a, L=l_i]\mathrm{Pr}[A=a, L=l_i]}{\sum_i \mathrm{Pr} [A=a, L=l_i]}\\
&= \frac{\sum_i\mathrm{Pr}[Y, A=a, L=l_i]}{\sum_i \mathrm{Pr} [A=a, L=l_i]}\\
&= \frac{\mathrm{Pr}[Y, A=a, \pi(L)=s]}{\mathrm{Pr} [A=a, \pi(L)]}\\
&= \mathrm{Pr} [Y|A=a, \pi(L)=s].
\end{array}
\]

注意: \(\pi(l_i) = \pi(l_j) = \pi(l) = s\).

可见, 上述推导仅在\(A\)为二元变量是成立, 否则

\[\mathrm{Pr}[A=1|l] = \mathrm{Pr}[A=1|l'] \not \Rightarrow
\mathrm{Pr}[A=a'|l] = \mathrm{Pr}[A=a'|l'].
\]

也就无法保证上面的推导证明对于所有的\(A=a\)成立.

此时, 我们可以扩展causal graph为:

故, 我们可以通过\(\pi(L)\)来block以保证条件可交换性.

剩下的工作就是利用前面的方法了.

Instrumental Variables

graph LR
Z(Z)-->T(T) -->Y(Y)
U(U)-->T(T)
U(U)-->Y(Y)

instrumental variables 满足:

  1. Z 对 T 有 causal effect;
  2. Z 到 Y 的 causal effect 均通过 T, 即 T 是 Z 到 Y 所有 direct path 上的mediator;
  3. Z 和 Y 之间不存在backdoor path.

Binary Linear Setting

CAG图如上图所示.

\[Y := \delta T + \alpha U.
\]
\[\begin{array}{rl}
\mathbb{E}[Y|Z=1] - \mathbb{E}[Y|Z=0]
=&\mathbb{E}[\delta T + \alpha U|Z=1] - \mathbb{E}[\delta T +\alpha U|Z=0] \\
=&\delta \mathbb{E}[[T|Z=1]-[T|Z=0]] + \alpha \mathbb{E}[[U|Z=1]-[ U|Z=0]] \\
=&\delta \mathbb{E}[[T|Z=1]-[T|Z=0]]
\end{array}
\]

\[\delta = \frac{\mathbb{E}[Y|Z=1] - \mathbb{E}[Y|Z=0]}{\mathbb{E}[T|Z=1] - \mathbb{E}[T|Z=0]}.
\]

注: 在此CAG图中, \(U \amalg Z\).

Continuous Linear Setting

依旧是如上的CAG图.

\[\begin{array}{rl}
\mathrm{Cov}(Y, Z) =
& \mathbb{E}[YZ] - \mathbb{E}[Y]\mathbb{E}[Z] \\
=& \delta (\mathbb{E}[TZ] - \mathbb{E}[T]\mathbb{E}[Z]) + \alpha
(\mathbb{E}[UZ] - \mathbb{E}[U]\mathbb{E}[Z]) \\
=& \delta \mathrm{Cov}(T, Z) + \alpha \mathrm{Cov}(U,Z)\\
=& \delta \mathrm{Cov}(T, Z)
\end{array}
\]

\[\delta = \frac{\mathrm{Cov}(Y, Z)}{\mathrm{Cov}(T, Z)}.
\]

注: 依然用到了\(U \amalg Z\).

Nonparametric Identification

仅考虑单个的二元变量\(T \in \{0, 1\}\), 有如下几种情况:

  1. Compliers: \(T^{z=1}=1, T^{z=0}=0\).
  2. Always-takers: \(T^{z=1}=1, T^{z=0}=1\).
  3. Never-takers: \(T^{z=1}=0, T^{z=0}=0\).
  4. Defiers: \(T^{z=1}=0, T^{z=0}=1\).

当我们所考虑的群体中仅包括前三种类型的时候, 显然有:

\[T_i^{z=1} \ge T_i^{z=0}.
\]

这是我们需要的单调性假设.

此时:

\[\mathbb{E}[Y^{t=1} - Y^{t=0}|T^{z=1}=1, T^{z=0}=0] =
\frac{\mathbb{E}[Y|Z=1]-\mathbb{E}[Y|Z=0]}{\mathbb{E}[T|Z=1]-\mathbb{E}[T|Z=0]}.
\]

即, 在compliers (遵照医嘱的) 的人群中, 可以计算出其causal effect.

证明在[2]的p93.

Difference in Difference

difference in difference 同样是处理存在unobservable变量时的一种有效的处理方法.

我们可以把\(Y^a\)拆成俩个阶段:

  1. \(t=0\), 此时决定\(A\), 但是并没有落实\(A\);
  2. \(t=1\), 实行\(A\).

凭借下面的假设:

1.

\[\forall t, \quad A=a \Rightarrow Y_t = Y_t^a.
\]
  1. \(A=1\), \(A=0\)两个群体若都不施加治疗, 则结果一致:
\[\mathbb{E}[Y_1^0 - Y_0^0|A=1]
=\mathbb{E}[Y_1^0 - Y_0^0|A=0],
\]
  1. 治疗前的状态一致:
\[\mathbb{E}[Y_0^1 - Y_0^0|A=1]=0.
\]

注: 上面的第二条假设可能不容易满足.

则:

\[\mathbb{E}[Y_1^1-Y_1^0|A=1]
=(\mathbb{E}[Y_1|A=1]-\mathbb{E}[Y_0|A=1])
-(\mathbb{E}[Y_1|A=0]-\mathbb{E}[Y_0|A=0]).
\]

Doubly Robust Estimator

未完待续

Instrumental variable estimation

未完待续

Stratification

未完待续

Matching

未完待续

Causal Inference的更多相关文章

  1. Targeted Learning R Packages for Causal Inference and Machine Learning(转)

    Targeted learning methods build machine-learning-based estimators of parameters defined as features ...

  2. 【统计】Causal Inference

    [统计]Causal Inference 原文传送门 http://www.stat.cmu.edu/~larry/=sml/Causation.pdf 过程 一.Prediction 和 causa ...

  3. 因果推理综述——《A Survey on Causal Inference》一文的总结和梳理

    因果推理 本文档是对<A Survey on Causal Inference>一文的总结和梳理. 论文地址 简介 关联与因果 先有的鸡,还是先有的蛋?这里研究的是因果关系,因果关系与普通 ...

  4. Chapter 6 Graphical Representation of Causal Effects

    目录 6.1 Causal diagrams 6.2 Causal diagrams and marginal independence 6.3 Causal diagrams and conditi ...

  5. Chapter 1 A Definition of Causal Effect

    目录 1.1 Individual casual effects 1.2 Average casual effects 1.5 Causation versus association Hern\(\ ...

  6. 近年Recsys论文

    2015年~2017年SIGIR,SIGKDD,ICML三大会议的Recsys论文: [转载请注明出处:https://www.cnblogs.com/shenxiaolin/p/8321722.ht ...

  7. 因果推理的春天-实用HTE(Heterogeneous Treatment Effects)论文github收藏

    一直以来机器学习希望解决的一个问题就是'what if',也就是决策指导: 如果我给用户发优惠券用户会留下来么? 如果患者服了这个药血压会降低么? 如果APP增加这个功能会增加用户的使用时长么? 如果 ...

  8. Graph machine learning 工具

    OGB: Open Graph Benchmark https://ogb.stanford.edu/ https://github.com/snap-stanford/ogb OGB is a co ...

  9. graph处理工具

    仅作为记录笔记,完善中...................... 1       PyGSP https://pygsp.readthedocs.io/en/stable/index.html ht ...

随机推荐

  1. 数据库时间和 java 时间不一致解决方案

    java添加 date 到数据库,时间不一致 使用 date 添加到数据库,数据库显示的时候和date时间相差 8 个小时,这是由于 mysql 上的时区的问题,这里有两个解决方案: 方案一: 设置数 ...

  2. Redis(一)【基础入门】

    目录 一.大型网站的系统特点 二.大型网站架构发展历程 三.从NoSQL说起 四.Redis简介 五.Redis安装 1.上传并解压 2.安装C语言编译环境 3.修改安装位置 4.编译安装 5.启动R ...

  3. C逗号表达式

    c语言提供一种特殊的运算符,逗号运算符,优先级别最低,它将两个及其以上的式子联接起来,从左往右逐个计算表达式,整个表达式的值为最后一个表达式的值.如:(3+5,6+8)称为逗号表达式,其求解过程先表达 ...

  4. 节省内存的循环banner(一)

    循环banner是指scrollview首尾相连,循环播放的效果,使用非常广泛.例如淘宝的广告栏等. 如果是简单的做法可以把所有要显示的图片全部放进一个数组里,创建相同个数的图片视图来显示图片.这样的 ...

  5. go recover让崩溃的程序继续执行

    package main import ( "fmt" "log" ) func de() { //recover() //可以打印panic的错误信息 //f ...

  6. MyBatis(4):使用limit实现分页

    用limit实现分页,首先要创建一个Maven项目,搭建好mybatis的实验环境,并且连接好数据库 代码 1,编写dao接口 UserMapper //查询全部用户实现分页 List<User ...

  7. ssm+mysql+jsp打造在线考试系统WeKnow-学生端

    一.登陆模块 前台提交账号和密码传到后台处理控制层 1.1 首先是控制器 @RequestMapping(value="/studentLogin", method=Request ...

  8. 通过静态分析和持续集成 保证代码的质量 (Helix QAC)1

    前言 现代软件开发团队面临着很多挑战,这些挑战包括:产品交付期限越来越紧,团队的分布越来越广,软件的复杂度越来越高,而且对软件的质量要求越来越高. 本文分为两个章节.第一章讨论持续集成的原理,持续集成 ...

  9. Explain的详细使用

    官方文档 https://dev.mysql.com/doc/refman/5.7/en/explain-output.html explain俩种类型 explain extended 会在 exp ...

  10. 当ligerui的grid出现固定列与非固定列不在同一水平线上时,改怎么处理

    当ligerui的grid出现固定列与非固定列不在同一水平线上时,如下图所示: 此时可以增加fixedCellHeight:false属性进行解决.这个属性在IE上不起作用,那么该怎么处理,可以这样处 ...