知方号

知方号

因果推断漫谈(一):掀开“因果推断”的面纱 <因果性的意思>

“相关性并不意味着因果关系”这个道理对大家都不陌生。 我们如何科学、优雅地做一份关于“因果关系”数据分析呢? 在这篇文章里,我们从因果推断对于数据分析的重要性出发,和大家分享一个因果推断的经典框架、一组因果推断的必备假设和一个因果推断的基础方法。

WHY:为什么需要因果推断

“相关性并不意味着因果关系”,天天和数据打交道的小伙伴们都很明白这个道理。 不少数据分析的工作其实都围绕着这个问题,举一些例子:

在 feeds 流里刷到一个新推荐策略的内容的用户留存更高,他们的高留存是因为这个推荐策略导致的吗,这个策略究竟对留存的提升有多大效果?上周投放了某游戏广告的用户登录率更高,他们的高登录率有多大程度是由广告带来的,有多大程度是由于他们本身就是高潜力用户?……

在这些例子中,本质上,我们都是想要分析一个干预(treatment)对一个结果(outcome)有怎样的影响,想要探究其中的因果效应。大家熟悉的A/B Test是回答上面这些问题的黄金方式。但是,A/B Test 也有一定的局限性,例如:

需要花一定的时间实现,比较耗费人力;需要占用足量的随机流量,并且需要持续一段时间以收集数据;某些实验可能损害用户体验,例如给用户推荐一些并不匹配兴趣的内容;当可做 A/B Test 的选择太多时,往往难以全部都进行尝试。

鉴于 A/B Test 的种种局限性,研究如何利用手边已有的历史数据进行“因果分析”变得无比重要。

WHAT:因果推断推什么

因果推断用的最多的模型有两个。一个是著名的统计学家 Donald Rubin 教授在1978年提出的“潜在结果模型”(potential outcome framework),也称为 Rubin Causal Model(RCM)。另一个是 Judea Pearl 教授在1995年提出的因果图模型(Causal Diagram)。这两个模型实际上是等价的。从数据分析角度而言,个人认为潜在结果模型的数学描述更加严谨,这篇文章也使用潜在结果模型来给出因果推断的定义。

首先,我们需要定义一些符号。

干预 (treatment) $T$:一般我们考虑二值干预,用 $T_i∈{0,1}$ 来指示用户是否受到了某种干预,例如是否被投放了某广告、是否被灰度了某功能。在A/B Test中,实验组的用户都受到了某种处理,他们都有$T_i=1$。潜在结果(potential outcome)${Y_{i0},Y_{i1}}$:对每个用户$i$,他们对于是否受到干预分别有两个潜在结果$Y_{i0}$和$Y_{i1}$。例如,$Y_{i0}$和$Y_{i1}$分别表示假如一个用户没有被投放游戏广告和被投放时是否会登录游戏。观察结果(observed outcome)$Y$:当一个用户没有受到干预时($T=0$),我们将会观察到$Y=Y_{i0}$,当一个用户受到干预时我们将会观察到$Y=Y_{i1}$。

在因果分析中,我们通常比较关心以下两种“因果效应”。为了符号简洁,接下来不再特意标注出代表用户的下标$i$。

平均因果效应 (Average Treatment Effect,简称ATE): $ATE=E[Y_1-Y_0]$。ATE 为干预对所有人的平均因果效应。干预组的而平均因果效应(Average Treatment Effect on the Treated,简称ATT):$ATT=E[Y_1-Y_0 |T=1]$。ATT为干预对受到干预的人的平均因果效应。

以游戏广告投放为例,我们举一个例子如下表,这个例子接下来还会反复使用。假如我们可以同时观测到两个潜在结果(尽管这是不可能的),我们可以算出$ATE=(0+0+0+0+0+0)/6=0$,$ATT=(0+0+0+0)/4=0$。

当我们尝试直接从观察结果 $Y$ 统计 ATE 或者 ATT 时,我们就会遇到一个问题:对于每一个用户,我们并不能同时观测到两个潜在结果。这个问题是因果推断的一个核心问题、核心难点。

A/B Test 提供了解决这个核心问题的完美方案,让我们通过简单的公式看看为什么。在做 A/B Test 时,我们一般直接统计实验组和对照组的指标差异。严谨来说,我们的估算方式为 $hat{ATT}=E[Y_1│T=1]-E[Y_0 |T=0]$。根据 ATT 的定义,我们可以得到如下公式推导 $ATT=E[Y_1-Y_0│T=1]=(E[Y_1│T=1]-E[Y_0│T=0])+(E[Y_0│T=1]-E[Y_0│T=0])=hat{ATT}+bias$。这里的 bias,根据定义来看,是实验组和对照组的潜在结果$Y_0$的差异。在 A/B Test 中,我们假设实验组和对照组是随机划分的,因此 bias 为0。因此,根据 A/B Test 计算的 $hat{ATT}$ 就是 ATT 的无偏估计。

在日常工作中,并非所有数据分析都有 A/B Test 撑腰。我们往往需要通过观察历史数据完成分析,这类分析称为“观察性研究”。在观察性研究中,失去了“随机流量”的撑腰,现实就没有那么美好了。这时,如果我们直接比较两组用户指标上的差异得到 $hat{ATT}$,它和真实的 ATT 之间是存在一个非零的 bias 的,我们无法根据 $hat{ATT}$ 下一个科学可靠的结论。 例如,在之前使用的广告投放的例子中,假设我们直接比较 $T=1$ 和 $T=0$ 两组用户的观测结果 $Y$ 的差异,会造成投放广告造成登录率从50%下跌到25%的错觉,这并不是真实的ATE和ATT。

WHEN:因果效应的可识别性

在观察性研究中,借助什么样的数据可以推出可靠的因果效应(ATE或ATT)呢?具体来说,假如我们对每个用户有一系列干预前的指标(pre-treatment variables) $X$、有干预 $T$、有观察结果 $Y$,我们能不能推断出T对Y的因果效应?这个问题就是因果推断的可识别性(identifiability)问题。可识别性依赖于几个假设,这些假设通常被称为 causal assumption。下面我们一个一个来看看。

Stable Unit Treatment Value Assumption (SUTVA)

SUTVA 假设用户之间是相互独立的,无互相干扰。SUTVA 保证个体的潜在结果只和他自己有关、最终观察到的结果也只和他自己有关。值得注意的是,社交网络上的实验理论上都很难完完全全保证 SUTVA,但是对于大部分社交属性不强的实验,一般还是假设 SUTVA 基本成立。

Ignorability

Ignorability 假设对于 pre-treatment 变量 $X$ 一样的人群, 是否接受处理和潜在结果相互独立:$Y_0, Y_1 ⊥T | X$。

这个假设比较难以理解,我们套用之前举的广告投放的例子看看。在这个例子中,我们倾向于给历史登录天数少的用户投放广告,$X$ 和 $T$ 是负相关的。同时,历史登录天数越多,未来登录率也越高,即X和潜在结果 $Y_0$ 和 $Y_1$ 都是正相关的。在这份数据里,$(Y_0,Y_1)$ 和 $T$ 并不独立。但是,对于 $X$ 取值一样的用户,是否看到广告可以看做是随机的,ignorability 成立。

Ignorability 这个假设还有很多其它的名字,例如 no unmeasured confounders assumption 和 Conditional Independence Assumption (CIA)。

Consistency

Consistency 假设潜在结果和观察到的结果是一致的,即当 $T=t$ 时 $Y=Y_t$。这个假设一般可以认为是成立的。

Positivity

Positivity 假设要求 treatment assignment 有一定随机性,要求对于 $X$ 的所有取值都有 $0

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。