0%

数据分析 | 因果推断 // Causal Inference

因果推断

The Book of Why

  • 核心思想:寻找合适的对照组

因果关系的三个层级

因果关系的学习者必须熟练掌握至少三种不同层级的认知能力:

  • 观察能力(seeing):发现环境中的规律的能力
  • 行动能力(doing):涉及预测对环境进行刻意改变后的结果,并根据预测结果选择行动方案以催生出自己期待的结果
  • 想象能力(imagining)

因果关系之梯

The Ladder of Causation

关联——>干预——>反事实

层级 活动 问题 例子
观察 关联 看、观察 如果我观察到xxx会怎样?
变量之间的关联是怎样的?
观察到$X$会怎样改变我对$Y$的看法?
某一调研高速了我们关于选举结果的什么信息?
行动 干预 行动、干预 如果我实施$X$行动,那么$Y$会怎样?
怎样让$Y$发生?
如果我们禁止吸烟将会发生什么?
想象 反事实 想象、反思、理解 假如我当时做了xxx会怎样?为什么?
是$X$引起了$Y$吗?假如$X$没有发生会如何?假如我之前采取了不同的行动呢?
假如在过去的两年里我没有吸烟会怎样?

研究方法

实验性研究Field experiment

分配机制已知
eg:AB实验

观测性研究Observation studies

分配机制未知

  • 因果图模型
  • 潜在结果框架

潜在结果框架

基本概念

  • 单元:
  • 处理Treatment
  • 结果
  • 潜在结果
  • 反事实

Rubin’s potential outcome framework:个体$i$的因果效应$\tau_i=Y_i(1)-Y_i(0)$,其中只有$Y_i(1)$或$Y_i(0)$可以被观测到。

处理效应Treatment Effect

平均处理效应(ATE,Average Treatment Effect)
(ATT,Average Treatment Effect on the Treated)
(ATC,)

假设条件

  • 个体处理稳定性假设
  • 分配机制与潜在结果无关
  • 正值假设

断点回归

断点回归/断点回归设计(RDD,Regression Discontinuity Design)的一般步骤:

  1. 图形分析
  2. 因果效应分析
  3. 稳健性检验

断点回归分为2类:

  1. 精确断点回归:断点x=c处,个体得到处理的概率从0跳跃到1
  2. 模糊断点回归:断点x=c处,个体得到处理的概率从a跳跃到b,其中$0 < a < b < 1$。

精确断点回归

精确断点回归(SRD,Sharp Regression Discontinuity)

局部平均处理效应(LATE,Local Average Treatment Effect)

模糊断点回归

协变量:在实验的设计中,协变量是一个独立变量(解释变量),不为实验者所操纵,但仍影响实验结果。 协变量(Covariate)在心理学、行为科学中,是指与因变量有线性相关并在探讨自变量与因变量关系时通过统计技术加以控制的变量。常用的协变量包括因变量的前测分数、人口统计学指标以及与因变量明显不同的个人特征等。

双重差分

双重差分法(DID,Difference in Difference)

  • 解决内生性问题的因果分析方法
  • 政策干预发生与否的虚拟变量+前后两个时间段的面板数据+不可观测的个体固定效应

基本假设

  1. 共同趋势假设/平行趋势假定

$$Y_{it}=\alpha_i + \lambda_t + D_{it}\beta + \varepsilon_{it}$$
其中,

  • $\alpha_i$:不可观测的个体固定效应
  • $D_{it}$:干预是否发生的虚拟变量

\begin{equation}
D_{it} = \left\lbrace
\begin{array}{ll}
1, & 干预发生 \\
0, & 干预不发生
\end{array}
\right.
\end{equation}

  • 通过差分消除固定效应$\hat{\beta}$

$$\hat{\beta} = \hat{Y}{post}^{treatment} -
\hat{Y}
{pre}^{treatment} - \left( \hat{Y}{post}^{control} - \hat{Y}{pre}^{control} \right)$$

工具变量

工具变量(IV,Instrumental Variable)

重加权算法

避免“辛普森悖论”

分层算法

匹配法

  • 去除隐藏变量造成的选择性偏差,使得实验组和对照组进行更合理的比较
  • 适合一些特殊场景(如:渗透率低的场景)的因果分析

倾向评分匹配PSM

倾向评分匹配/倾向性得分匹配(PSM,Propensity Score Matching)

  • 通过观测变量对实验组的预测概率进行匹配
  • 处理观察性研究(observational study)的经典方法

适用情形:

  1. 在观察研究中,对照组与实验组中可直接比较的个体数量很少
  2. 由于衡量个体特征的参数很多,所以想从对照组中选出一个跟实验组在各项参数上都相同或相近的子集作对比变得非常困难
  • 干预$T$
  • 样本属性$X$
  • 观测结果$Y$

倾向性得分:一个用户/样本属于实验组的“倾向性”。
$$e(x)=P\left(T=1|X=x\right)$$

Theorem 1: 平衡性质(Balancing Property):
$$T_i \perp X_i \mid e(X_i)$$

Theorem 2: 无混淆(Unconfoundedness)
$$ T_i \perp Y_{i0}, Y_{i1} \mid e(X_i)$$

  • 倾向性得分是一种“Balancing score”
  • 对于倾向性得分$e(X_i)$相同的一群用户$i$:
    • 干预$T_i$和特征是独立的
    • 干预$T_i$和潜在结果$Y_{i0}, Y_{i1} $是独立的

软件

  • R:MatchIt
1
2
3
4
5
6
7
8
9
10
11
12
13
install.packages('MatchIt')  ## 安装包
library('MatchIt') ## 加载包

data('lalonde') ## 加载数据集lalonde
head(lalonde) ## 预览数据集
# treat age educ race married nodegree re74 re75 re78
# NSW1 1 37 11 black 1 1 0 0 9930.0460
# NSW2 1 22 9 hispan 0 1 0 0 3595.8940
# NSW3 1 30 12 black 0 0 0 0 24909.4500
# NSW4 1 27 11 black 0 1 0 0 7506.1460
# NSW5 1 33 8 black 0 1 0 0 289.7899
# NSW6 1 22 9 black 0 1 0 0 4056.4940
## 在RStudio的help框输入"MatchIt"即可查看该Package的说明文档

数据集lalonde是一组观察性研究数据,用于探究干预(treat)对1978年的收入(re78)的影响

  • 干预$T$:treat(是否接受了就业培训)
  • 观察结果$Y$:re78(1978年的收入)

相关文献:

广义精确匹配CEM

广义精确匹配(CEM,Coarsened Exact Matching):通过给特征分桶进行匹配

合成控制法

合成控制法(SCM,Synthetic Control Method)

  • 当某个干预施加在某一类群体(或地区)上,虽然找不到单一的最佳对照组,但是可以构造一个虚拟的对照组

固定效应模型

  • 适用于面板数据

模型为:
$$y_{it} = \alpha_i + x_{it}^T\beta + \varepsilon_{it}$$

$$y_{it} = \alpha_i + x_{it}^T\beta + d_t + \varepsilon_{it}$$
其中,$i=1,2,\cdots,N$,$t=1,2,\cdots,T$。

矩阵补全

  • 合成控制法的扩展
  • 合成控制法(SCM)的局限性:只有一个实验干预组(政策干预开始时间是在某个统一的时间段)
  • 矩阵补全适用于:多个实验干预,干预时间不一致。如:
    • 一个AB实验下的策略是逐渐放量的过程,如何评估策略对用户的影响?
    • 产品新版本更新了UI界面,但是用户更新版本的时间不一致,如何评估新界面对用户使用时长的影响?
  • 矩阵补全法:通过一定的方法将一个含有缺失值的矩阵恢复为一个完全的矩阵(通过求解一个凸优化问题,实现将一个低秩矩阵恢复),从而估计因果效应

\begin{equation}
Y(0)=\left(
\begin{array}{ccccc}
? & ? & \checkmark & \cdots & ? \\
\checkmark & ? & \checkmark & \cdots & \checkmark \\
\vdots & \vdots & \vdots & \ddots & \vdots \\
? & \checkmark & \checkmark & \cdots & \checkmark
\end{array}
\right)
\end{equation}

\begin{equation}
Y(1)=\left(
\begin{array}{ccccc}
\checkmark & \checkmark & ? & \cdots & \checkmark \\
? & \checkmark & ? & \cdots & ? \\
\vdots & \vdots & \vdots & \ddots & \vdots \\
\checkmark & ? & ? & \cdots & ? \\
\end{array}
\right)
\end{equation}

\begin{equation}
W_{it} = \left\lbrace
\begin{array}{ll}
0, & Y_{it} (0)\mbox{被观察到} \\
1, & Y_{it} (1)\mbox{被观察到} \\
\end{array}
\right.
\end{equation}

则因果效应为
$$\tau = \frac{ \sum_{i,t} W_{it} \left( Y_{ it }(1)-Y_{ it }(0) \right) }{ \sum_{i,t} W_{ it } }$$

混淆变量

双重选择Double Selection

双重机器学习DML

一些基本概念

在因果关系问题上,最容易犯的错误有两个。

  1. 将因果关系混同于充分/必要条件关系:在既不存在充分条件、也不存在必要条件的情况下,就认为不存在因果关系了。
  2. 将因果关系混同于统计相关性关系:找到了数据上的正相关,就以为找到了因果关系。

摘自《因果关系、INUS定义和SUPPES定义

充分必要条件

INUS

INUS = Insufficient but Necessary part of an Unnecessary but Sufficient condition(充分非必要条件中的必要非充分部分)

Mackie的INUS方法假设了我们对事物的运行机制有着充分的了解,所以能够界定确定性因果关系复合体,比如一组因素的出现总能带来某个结果。

摘自《别拿相关当因果!因果关系简易入门》

NESS

NESS = Necessary Element of Sufficient Set(充分条件组中的必要成分)

NESS的主要思想:如果某个事件是一个充分条件组合中的必要成分,那么这个事件就是一个原因。这意味着,如果整个充分条件组合都出现了,那么结果就一定会出现,而原因只是充分条件组合中的一个成分;相反,如果充分条件组合中缺少某一个成分,那结果就一定不会出现。

摘自《别拿相关当因果!因果关系简易入门》

SUPPES

参考资料 & 推荐阅读

Book

Thesis

Article

Thank you for your approval.

欢迎关注我的其它发布渠道