Causal Effect Estimation

Causality & Correlation

  • "相关性(Correlation/Prediction/Association)不意味着因果关系(Causality)”。但经常有人试图将控制变量加入回归方程中,以试图估计因果效应,这是一种错误的想法。[1]
    即:P(Y| X) \neq P(Y|do(x))

  • 数据本身不能反应因果关系,需要我们通过先验知识建立causal graph,再进行推断[1]。对于相同的数据下(observationally equivalent),我们根据不同的Causal Graph能得到不同的结论,所以,因果推断并不是一个从数据出发的科学,是需要我们领域知识来建模的学科。(Thus, causal effects cannot be estimated from the data itself without a causal story)

D-Seperation的三种基本模式[2]

  • Lemma1: Y-Mediator:
    X \rightarrow Y \rightarrow Z,given Y时,X与Z条件独立(head to tail)
  • Lemma2: Y-Confounder:
    X \leftarrow Y \rightarrow Z,given Y时,X与Z条件独立(head to head)
  • Lemma3 : Y-Collider:
    X \rightarrow Y \leftarrow Z,given Y时,X与Z条件独立,不conditioning on Y时,X,Z互相独立。(tail to tail)

D-Seperation的泛化模式与路径Open/Block的定义[2]

  • Lemma1:对于一个Causal Graph,给定A、B、C三个集合。在A与B之间的所有路径(不管方向如何),都被阻塞(block)的情况下,则A \perp B | C

  • Lemma2:定义路径的阻塞Block
    对于任意一个路径,它被阻塞(block)的条件是(分如下两种情况):
    1、如果路径上的点Z,是head to head或者head to tail,那么Z \in C,则此条路径被阻塞。
    2、如果路径上的点Z,是tail to tail,那么Z \not\in CZ_{son} \not\in C(Z的子节点也不在C中)则此条路径被阻塞。

  • 举例:G_s: X \rightarrow Z \leftarrow C \rightarrow Y
    对于这个causal graph而言,有如下推论:
    1、X \perp Y天然成立(Z为Collier,天然阻塞了这条path)
    2、在conditioning on C的情况下条件独立,X \perp Y | C(C为confounder,可以加入,阻塞path,可以得到Conditioning on C的条件下,X,Y仍然独立)
    3、在conditioning on Z的情况下条件不独立,X \not\perp Y | Z(注意,X,Y本来是独立的,观测了Z反而不独立了,因为Z为Collider)
    4、在conditioning on Z and C的情况下条件独立,X \perp Y | C,Z(由于我们conditioning on了Collider Z,相当于在X与C之间打开了这条path,我们需要通过conditioning on这条路径上其它的Mediator或者Confounder来重新阻塞它)

  • 用途:我们可以用Causal Graph中D-Seperation提供的假设。来检验我们的数据是否符合我们的假设。 Therefore, we can check whether our Graphical model is consistent with a given dataset by comparing the implied conditional independence with the observed conditional independence
    即通过模型得到,Y\perp X | Z则检验如下等式是否满足:
    \rightarrow P(Y|X,Z) = P(Y|Z)
    \rightarrow P(Y,X| Z) = P(Y|Z) * P(X|Z)

  • 局限性:那么,我们能否借此来用数据确定模型呢?其实是不能的。因为我们很容易设计出可以表现得等价的Causal Graph,他们被称作observationally equivalent。数据本身无法分辨他们。越是简单的模型,越是严苛。譬如X \rightarrow Z \rightarrow YX \leftarrow Z \rightarrow Y 以及X \leftarrow Z \leftarrow Y imply the same conditional independence:X \perp Y | Z。我们便无法仅通过数据区分他们。所以我们需要extend our theory beyond conditional probabilities。(领域/业务建模)

形式化定义Causal Effect[4]

下述的内容给予假设的最基本的Causal Graph G
其DAG关系如下
X \rightarrow YX \leftarrow Z \rightarrow Y,(即Z为confounder)。

1、原生的P(Y|X)并不能直接表示因果效应。
P(Y|X)可以被解释为很多变量interaction的结果。其中一些是因果关系(causal),而另一些只是单纯的观察性关联(purely observational)。We can say that any statistically meaningful association is the result of a causal relationship somewhere in the system, but not necessarily of the causal effect of interest X \rightarrow Y

2、定义因果效应P(Y| do(x))
定义:P(Y| do(x)),如果我们外生地(exogenous)干涉X,能对Y造成影响,则这部分影响是我们关心的应果效应。这意味着我们必须在系统之外(outside the system)来改变X,从而影响Y。外生地改变X是为了避免系统其他变量带来的影响。

3、如何得到P(Y| do(x)):

  • intervention:干涉以得到do(x)[4]
    Eliminating incoming arrows,即去除定义X的边(箭头指向X)。因为我们消除了定义X的边,所以X可以成为exogenous的。an intervention is equivalent to eliminating arrows in a Causal Graph。其中的概率表示为P_{intervention},我们可以得到:
    P(Y|do(x)) :=P_{intervention}(Y|X),注意,这里不是等号,是定义为,define。

  • invariant probabilities:不变量[4]
    a、Our intervention is atomic,即非X的子节点(Y为X的子节点descendants)将不会受到任何影响(No Side Effect)。
    P_{Intervention}(Z | X) = P_{Intervention}(Z) = P(Z)
    b、The conditional probability Y is invariant。Y的条件概率不会变
    P_{Intervention}(Y|X,Z) = P(Y|X,Z)

  • 根据不变量将干涉前后的的分布联系起来[4]
    P(Y|do(X))=P_{intervention}(Y|X)
    =\sum_{Z} P_{intervention}(Y,Z| X) *全概率公式
    =\sum_{Z} P_{intervention}(Y,|X,Z) *P_{intervention}(Z|X) * 贝叶斯公式
    =\sum_{Z} P(Y,|X,Z) *P(Z) *上述不变量

4、得到泛化的Adjustment Formula:(即通过pre-intervention的概率分布,进行adjust,以获得causal effect)
P(Y|do(x)) =\sum_{z} P(Y,|X,PA=z) *P(PA=z),PA为X的父节点
即,找到X的父节点PA,然后conditioning on it,得到依赖PA的条件概率P(Y,|X,PA=z),再根据P(PA=z)计算其加权平均即可。
所以,其本质就是考虑其Parents的不同,获得加权平均。由于直接计算P(Y|X)的话,未考虑其Parents,很可能得出相反的结论,在[4]中的例子也有讲述。

5、别的手段:通过Randomized获得Causal Effect
其实我们进行完全随机试验,就是通过实验设计本身,消除指向X的Z。即实验组对照组仅有X不同。其他都是相同的,相当于X不受系统中任意的其他变量定义。这本身就是种外生地(exogenous)地修改X的手段。

Backdoor-criterion[5]

我们将上述的问题继续泛化一下。如果我们要通过Causal Graph得到P(Y|do(x)),我们需要Conditioning on哪些变量?

  • 根据Causal Effect,保留Causal Path,消除(Block)其他的Open Path
    我们关注的causal effect是X \rightarrow M \rightarrow Y这样的只包含mediator的path,称之为causal path。而其他path带来的effect是我们不关心的,希望消除的,因此,我们需要保证其他所有的open path都被阻塞block:we must make sure that all the other non-causal paths (the backdoor paths that have arrows into X) are blocked。阻塞的概念可以见上述D-Seperation中的定义。
  • Lemma1:Backdoor Criterion
    对于Causal Graph中的集合Y,X,Z。如果X的子节点都不在Z中,且Z中的节点阻塞(Block)了X,Y之间所有的包含指向X箭头的路径,则说明Z符合Backdoor Criterion。得到了Z,我们即可以从当前数据中计算X \rightarrow Y的Causal Effect:
    P(Y|do(x)) = \sum_{z} P(Y|X,Z)P(Z)
    根据backdoor criterion,我们可以知道什么样的变量我们应该包含,什么样的变量不应该包含。

  • 举例,见[5]
    注意该文的例子中,conditioning on collider会重新将原本阻塞path给打开(open)。所以光控制z是不够的。(Z在之前open的path中作为confounder或者mediator出现。在原本被Block的path中作为Collider)

  • 注意1:
    在Causal Graph中,统计信息天然地无视方向。the statistical information flows freely in the Graph, regardless of the direction of the arrows.

In Practice

  • 场景[5]
    1、比如我们要判断,吸烟X是否导致肺癌Y,且想用\theta参数化X对Y的影响,所以要对\theta进行估计。(即Causal Inference)
    2、给定一组变量,发现变量之间的causal relationship。(即Causal Discovery。这个问题由上述Observationally Equivalent可以证明是无解的)
    结论:所以我们的核心探讨点还是在Causal Inference上,即对\theta进行估计
    \theta = E(Y_1) - E(Y_0)
    = E(Y|do(x_1)) - E(Y|do(x_0))【Causality】
    \neq E(Y|X_1) - E(Y|X_0) 【Prediction】
    即:Prediction并不是Causality,所以我们用Prediction的一些手段并不能直接得到关系

  • 估计\theta的方法
    1、对X进行随机化实验。
    Y_1 ,Y_0 \perp X所以\theta = E(Y|X_1) - E(Y|X_0)
    即在Randomization 的条件下,Correlation = Causality。如果X为连续变量,我们可以直接用标准的Regression model来建模E(Y(x))=E(Y|X=x)
    2、Adjust for Confounder。
    并不是所有条件下,我们都能对X进行完全的随机化实验。(比如样本量小,或者观察性实验)在这种状态下,我们可以使用上述的Backdoor Criterion,找出来我们需要Adjust的集合Z
    根据Z得到:Y_1 ,Y_0 \perp X | Z
    即:E(Y|do(X_1)) = \int_z p(Y|X_1,Z)p(z) dz
    所以 \theta = \int_z p(Y|X_1,Z)p(z) dz - \int_z p(Y|X_0,Z)p(z) dz
    所以将\theta的估计转化为对p(Y|X,Z)的估计。

关于Estimator的选择

  • A、注意,当我们使用一些nonparametric method非参方法时(即不对分布进行参数假设[7],神经网络就是非参回归,线性回归是一个restriced非参回归),要特别谨慎。因为跟普通的prediction不同,这里我们并不是要进行bias&variance的trade off【在prediction中,bias & variance are equally important,但是在这里不是[6]】,而是要尽量地减少bias(因为bias带来的后果更严重)这里其实有一系列的研究,叫做 semiparametric inference[9]

  • B、特别地:当E(Y|X,Z)是一个线性关系时,我们可以直接用线性回归来分析:In a linear regression, the coefficient in front of x is the causal effect of x if (i) the model is correct and (ii) all confounding variables are included in the regression.[6]

  • TODO:Semiparametric Estimator[6][9]

Cautions:与Prediction的差异[6]

Prediction: Predict Y after observing X = x
Causation: Predict Y after setting X = x.
根据上述结论Backdoor Criterion,我们可以得到正确估计P(Y|do(x))的方法:
E(Y|do(X_1)) = \int_z p(Y|X_1,Z)p(z) dz 【1】
而在Prediction中:
E(Y|X =X_1) = \int_z p(Y,Z|X=X_1) dz
=\int_z p(Y|Z, X=X_1)p(Z| X=X_1) dz【2】
注意与【1】与【2】的区别。(根据Backdoor-Criterion,明显这里Z与X不是独立的,所以两者不相等)

关于大数据环境下,Confounding的存在方式

其实很多人考虑在现实生产中,在大数据覆盖了方方面面的情况下,我们是否已经可以对万物都建模,都用特征描述了,那Confounding是否存在,或者以什么方式存在?
这个问题其实非常简单,那就是unobserved feature。举个例子,我们的特征X包含用户的历史浏览点击记录,我们有个没有观测到的特征,比如用户近期经济状况Z。很好理解,Z不仅影响了用户的点击行为Y,同时也影响了用户的历史反馈特征X,而且,这样的特征通常我们都没有观察到,所以,我们的估计,潜在都存在Confounding Bias。(由于大部分系统是一个循环的生态系统,所以这些bias在某种程度也导致了推荐所谓的同质化,马太效应等等)
Feedback Loop Amplifies Biases[10]

Refer
[1] Causal Effect:
目录:https://david-salazar.github.io/post/
见:https://david-salazar.github.io/2020/07/22/causality-invariance-under-interventions/
见:https://blog.csdn.net/wangyf112/article/details/109347121#d-%E5%88%86%E5%89%B2%EF%BC%9A%E4%B8%AD%E6%96%AD%E4%BF%A1%E6%81%AF%E7%9A%84%E6%B5%81%E5%8A%A8
之前对bias有些粗浅的讨论:Causal Bias

[2]D-Seperation
见:https://david-salazar.github.io/2020/07/18/causality-bayesian-networks/
简略:https://blog.csdn.net/u014717398/article/details/53559247

[4]Causal Effect定义Intervention
见:https://david-salazar.github.io/2020/07/22/causality-invariance-under-interventions/
简略:https://blog.csdn.net/wangyf112/article/details/109482192

[5]Backdoor Criterion
见:https://david-salazar.github.io/2020/07/25/causality-to-adjust-or-not-to-adjust/
简略:https://blog.csdn.net/wangyf112/article/details/109661332

[6] Causal Inference CMU
http://www.stat.cmu.edu/~larry/=stat401/Causal.pdf
estimator的选择见2.1章节,在prediction中,bias and variance are not equally important.。优化loss function的时候,其实也同时优化了bias and variance。

[7]在小样本AB test 中,我们可以用随机AA实验 + 分层显著性校验,校验每一个分层的Y_A,Y_B是否有显著性差异。
interventional distribution:Identification of Conditional Interventional Distributions

[8]Nonparametric_regression
[Linear regression] is a restricted case of nonparametric regression where f(x) is assumed to be affine.
https://en.wikipedia.org/wiki/Nonparametric_regression

[9]Semiparametric_model
https://en.wikipedia.org/wiki/Semiparametric_model

[10]
Feedback Loop and Bias Amplification in Recommender Systems

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,386评论 6 479
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,939评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,851评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,953评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,971评论 5 369
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,784评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,126评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,765评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,148评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,744评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,858评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,479评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,080评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,053评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,278评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,245评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,590评论 2 343

推荐阅读更多精彩内容