【Uplift】因果推断基础篇
https://zhuanlan.zhihu.com/p/362311467
文章目录
- Uplift与因果推断
- 相关、因果、辛普森悖论
- 因果图
- 基本结构
- 前门、后门准则
- 基本假设
- 关键指标
- 倾向性得分、Matching等
- 增量建模面临的问题
- 符号、名词定义梳理
- 参考文献
Uplift与因果推断
因果推断(Causal Inference)研究如何更加科学识别变量间的因果关系,是Uplift Modeling的理论基础。
在通常的预测任务中,我们拟合的实际是Y与X的相关关系,X甚至可以是Y的结果,如GDP和发电量之间可能有一系列复杂的关系,但只要二者相关就可以互相预测。
在另一些场景中则有所区别,如预测任务要指导干预(Treatment)决策时,我们所能掌控的只有Treatment变量,此时我们希望知道的是执行干预与否的效果差异(通常看增量,uplift),目的是决策是否执行或执行何种干预。如在“发券&下单”的问题中,用户的历史订单数对下单率预估有较大帮助,但对是否发券的指导意义可能会大打折扣。
本文概述与Uplift相关或有助于理解Uplift Modeling的因果推断相关的理论知识。
相关、因果、辛普森悖论
**相关和因果:**理解因果关系首先是和相关关系做区分,因果关系要求“原因”先于并导致“结果”,而相关关系对顺序不做要求。参考材料中提到了很多示例,如“溺水死亡人数与冰激凌销量正相关”,显然二者不是因果关系,而是由“气温(或季节)”联系起来的相关关系。
另一个很有名的现象是辛普森悖论(Simpson Paradox)。下面是[1]中一个例子,看“吃药”和“康复”二者的关系。如下表,从男性或女性分别看,都可以观察到吃药是有效的,但整体看会得到吃药是无效的结论。
导致该问题的原因是这里“是否康复”除了受到“吃药”的影响,也会受到“性别”的影响,此时“性别”就是一个混淆变量(Confounder)。
用一个直观的几何表示如下,“Men”整体的康复率高于“Women”,且“Women+Treat”的康复率低于“Men+No Treat”,因此当“吃药”组中“Women”比例高而“安慰剂”组中“Men”比例高时,可能出现这样的结果。
用下文提到的因果图表示为,此时单独一个Drug判断康复是不准确的
再扩展一个例子,X是运动量,Y是胆固醇量,每个实线椭圆表示一个年龄组,分组看运动有效减少了胆固醇;而从虚线的全局数据看则相反。此时“年龄”变为一个混淆变量,干扰估计结果。
因果图
因果图对于理解因果关系很有帮助,这里列举三个基本结构。同样取自[1]中的一些例子(注:极端情况相关性可能有差异)。最后简单介绍前门准则和后门准则。
基本结构
链状结构(Chain):XY、XZ、YZ都相关;给定Y时,XZ无关。
P(Z=z∣X=x,Y=c)=P(Z=z∣Y=c)P(Z=z|X=x,Y=c)=P(Z=z|Y=c) P(Z=z∣X=x,Y=c)=P(Z=z∣Y=c)
叉状结构(Fork):XY、XZ、YZ都相关,但YZ不为因果;给定X时,YZ不相关。
对撞结构(Collider):XZ、YZ相关,XY不相关;给定Z时,XY相关
前门、后门准则
后门准则(back-door):存在变量集合Z,①Z中节点不为X的后代;②Z阻断所有XY之间指向X的路径。此时XY的因果作用可识别
P(y∣do(X)=x)=∑zP(y∣x,z)P(z)P(y|do(X)=x)=\sum_{z}P(y|x,z)P(z) P(y∣do(X)=x)=z∑P(y∣x,z)P(z)
前门准则(front-door):存在变量集合Z,①Z切断所有X到Y的直接路径;②X到Z无后门路径;③所有Z到Y的后门路径被X切断。此时,若P(x,z)>0,则XY的因果作用可识别
P(y∣do(X)=x)=∑zP(z∣x)∑x′P(y∣x′,z)P(x′)P(y|do(X)=x)=\sum_{z}P(z|x)\sum_{x'}P(y|x',z)P(x') P(y∣do(X)=x)=z∑P(z∣x)x′∑P(y∣x′,z)P(x′)
示例如下[3]
基本假设
在进行因果效应估计前,有3个常用的基本假设。
假设1:SUTVA(Stable Unit Treatment Value Assumption),样本之间独立、每种Treatment只有单版本(一个干预手段有多种选择的算多个Treatment)
假设2:Ignorability(可忽略性假设),给定背景变量X下,Treatment的分配W与潜在结果Y无关,即
W⊥(Y(W=0),Y(W=1))∣XW\perp(Y(W=0),Y(W=1))|X W⊥(Y(W=0),Y(W=1))∣X
假设3:Positivity,对每个值X,Treatment的分配概率非确定性的
P(W=w∣X=x)>0,∀wandxP(W=w|X=x)>0,\forall\ w\ and\ x P(W=w∣X=x)>0,∀ w and x
关键指标
本节介绍几个因果效应估计的常用指标。当我们要评估treatment的整体效应时,通常看ATE、CATE指标;当我们要具体到个体去评估干预效应时,看ITE,Uplift Modeling通常就是建模ITE。
ATE(Average Treatment Effect,平均干预效应),定义为treated和control的潜在结果之差的均值。注:ACE(Average Causal Effect,平均因果效应)含义类似。
ATE=E[Y(W=1)−Y(W=0)]\text{ATE}=\mathbb{E}[Y(W=1)-Y(W=0)] ATE=E[Y(W=1)−Y(W=0)]
CATE(Conditional Average Treatment Effect,条件平均干预效应),定义为给定X=xX=xX=x时的分组中,treated和control的潜在结果的期望之差。
CATE=E[Y(W=1)∣X=x]−E[Y(W=0)∣X=x]\text{CATE}=\mathbb{E}[Y(W=1)|X=x]-\mathbb{E}[Y(W=0)|X=x] CATE=E[Y(W=1)∣X=x]−E[Y(W=0)∣X=x]
ITE(Individual Treatment Effect,个体干预效应),定义为独立样本的treated和control的潜在结果的差值。
ITEi=Yi(W=1)−Yi(W=0)\text{ITE}_i=Y_i(W=1)-Y_i(W=0) ITEi=Yi(W=1)−Yi(W=0)
倾向性得分、Matching等
Propensity score(倾向性得分),为了消除Confounder的影响,准确估计因果效应,此时我们可以依据X做数据分层再评估ATE,但当X为连续变量时则很难分层,或分层后数据不足以估计。对该问题Rosenbaum and Rubin提出了倾向性得分的概念[3],实际是一种降维手段,定义为:
e(X)=P(W=1∣X)e(X)=P(W=1|X) e(X)=P(W=1∣X)
其中:
①X⊥W∣e(X)X\perp W|e(X)X⊥W∣e(X);
②若X能够满足强可忽略性假定,且0<e(X)<10<e(X)<10<e(X)<1,则W⊥(Y(1),Y(0))∣e(X),0<e(X)<1W\perp(Y(1),Y(0))|e(X),0<e(X)<1W⊥(Y(1),Y(0))∣e(X),0<e(X)<1。
其含义是若给定X能够满足Ignorability,则给定一个一维变量e(X)e(X)e(X)也可以,倾向得分是最“粗糙”的变量。最后,对得到的倾向性得分可以做“分层”,评估每一层的因果效应并加权平均即可。
ATE^=1N∑i=1n[YiWie^(Xi)−Yi(1−Wi)1−e^(Xi)]\widehat{\text{ATE}}=\frac{1}{N}\sum_{i=1}^{n}[\frac{Y_iW_i}{\hat{e}(X_i)}-\frac{Y_i(1-W_i)}{1-\hat{e}(X_i)}] ATE=N1i=1∑n[e^(Xi)YiWi−1−e^(Xi)Yi(1−Wi)]
Matching,估计ATE首先碰到的问题是“counterfactual(反事实)”的问题,我们可以通过集合之间的统计差异来代替,即在理想状态时选择随机试验得到的数据直接计算;而另一个问题是“confounder bias(混淆变量偏差)”的问题,在无随机试验数据或无法进行随机试验时,可以利用Matching得到相近的样本以减少偏差问题。
Matching方法就是“采样”相似样本,利用与目标样本最相似的几个样本聚合作为该样本的“反事实”结果。具体实施中,首先选择一个距离度量方法(如欧式距离、马氏距离、倾向性得分距离),然后采样并计算ATE。
如采用最近邻方法,在control组样本中,为每个treated样本采样一个最相似样本组成新control组,再根据上述公式计算ATE。
增量建模面临的问题
上面有提到过,因果效应估计或增量建模时,我们会遇到两个问题。
反事实(counterfactual)。实际数据中,我们只有真实发生的样本结果,而缺失了其他treatment的结果,此时我们只能通过既有数据集,通过数据集整体来估计因果效应。
混淆变量偏差(confounder bias)。实际数据大多并非来源于随机试验,此时我们需要利用倾向性得分分层、Matching等方法来减少偏差。
符号、名词定义梳理
最后摘录综述论文中的一些名词定义
1. Unit,指因果效应研究中的原子个体
2. Treatment,指施加在unit上的行为
3. Potential outcome,指对每个unit-treatment对的潜在结果
4. Observed outcome,指实际观察到的结果
5. Conterfactual outcome,指unit在施加其他(非实际)treatment时会得到的结果
6. Pre-treatment variables,指不受treatment影响的变量,也称为背景变量
7. Post-treatment variables,指受treatment影响的变量,如中间结果
8. Confounders,指同时影响treatment分配及结果的变量,如开头例子中的性别
9. Propensity score,倾向性得分,定义为给定X=xX=xX=x时,treatment的概率
参考文献
[1]B站【因果推断入门】:https://www.bilibili.com/video/BV15J411L7xW
[2]Causal Inference in Statistics: A Primer :http://bayes.cs.ucla.edu/PRIMER/primer-ch1.pdf
[3]因果推断简介(丁鹏):https://yao-lab.github.io/2009.fall.pku/lecture10_DingP_causal091101.pdf
[4]A Survey on Causal Inference:https://arxiv.org/abs/2002.02770
[5]更多参考资料:https://zhuanlan.zhihu.com/p/358582762
【Uplift】因果推断基础篇相关推荐
- 因果推断 - 基础知识
目录 因果关系之梯 因果图的路径结构 阻断 d-分离 混杂 结构因果模型(SCM) 版权:转载前请联系作者获得授权. 声明:部分内容出自因果关系之梯,已获得原作者授权. 参考书籍:<The Bo ...
- 因果推断笔记——自整理因果推断理论解读(七)
之前有整理过一篇:因果推断笔记-- 相关理论:Rubin Potential.Pearl.倾向性得分.与机器学习异同(二) 不过,那时候刚刚开始学,只能慢慢理解,所以这边通过一轮的学习再次整理一下手里 ...
- 留言赠书|因果推断与机器学习,终于有本书能讲明白啦!
随着大数据时代的来临,机器学习技术突飞猛进,并且在人类社会中扮演越来越重要的角色. 例如,你可能已经习惯了每天使用谷歌.百度.Bing等搜索引擎查找信息,或者在电商网站和视频网站的推荐系统 ,以及利用 ...
- 因果推断笔记——uplift建模、meta元学习、Class Transformation Method(八)
文章目录 1 uplift 模型介绍 -- 为个体计算ITE 1.1 模型方向 1.2 ITE的假设前提 2 uplift方法一:元学习方法(Meta-learning methods) 2.1 Co ...
- 因果推断与反事实预测——盒马KDD2021的一篇论文(二十三)
文章目录 1 已有研究者的描述 1.1 YuyangZhangFTD 1.1.1 Introduction 1.1.2 Problem Formulation 1.1.3 Counterfactual ...
- 图灵奖得主Judea Pearl:最近值得一读的19篇因果推断论文
近日,图灵奖得主.因果科学之父Judea Pearl 在推特上分享了一个论文集列表PDF,推荐了19篇大多近期发表.值得一读的因果推断相关文章(推荐列表下载),同时特别highlight了一下&quo ...
- 因果推断综述-基础知识2
这一节是文章中第二部分基础知识.这一节公式较多,会影响阅读时效. 2.3假设 为了估计治疗效果,在因果推断文献中通常使用以下假设. 假设2.1 稳定的unit治疗价值假设(SUTVA) 任何unit ...
- 因果推断笔记——数据科学领域因果推断案例集锦(九)
文章目录 1 腾讯看点:启动重置问题 1.1 观测数据 . 实验数据的理论介绍 2.2 启动重置问题阐述:短期.长期.异质 2.3 短期影响的解决 2.4 长期影响构造准实验 2.5 异质性用户 1. ...
- 因果推断笔记——因果图建模之微软开源的EconML(五)
文章目录 1 EconML介绍 1.1 EconML介绍 1.2 一些理论解答 1.3 常规CATE的估计器 1.4 IV工具变量 + CATE的估计器 1.5 动态处理效应的估计器 2 智能营销案例 ...
- 因果推断笔记——因果图建模之Uber开源的CausalML(十二)
它提供了一个标准框架,允许用户从实验或观察数据估计条件平均治疗效果(CATE)或个人治疗效果(ITE).本质上,它估计了干预T对具有观察到的特征X的用户结果Y的因果影响,而没有对模型形式有很强的假设. ...
最新文章
- JavaScript系列-(原型-原型连-call-apply-继承)
- 如何确定Ionic是否适合您的项目
- DBA自述:非科班出身,如何成为Oracle ACE
- u盘盘符不显示 win10_荣耀16.1锐龙版 linux装win10教程
- 反编译那些事儿(三)—那些看似没用到的全局变量和那些使用了动态参数的方法
- 详解如何在数仓中管理元数据(文末彩蛋~)
- android虚拟机改变sim,逍遥安卓模拟器修改手机型号的方法
- 科学计算机功能键介绍ndf,DNF:非常实用的五个小技巧,你不会还不知道吧!-dnf快捷键设置...
- 【复旦微】国产MCU学习(持续更新)
- 软考_2021年11月真题2__三点估算技术
- url传参的编码与解码
- 谁是卧底 python_xpose和sxpose,谁是卧底?
- TopCoder 规则入门
- CDUTCM OJ 2017第一次月赛
- Android Studio3.0对于百度地图SDK的开发(基于方向传感器实现手机朝向显示)
- 最简单的P2P加密聊天软件开发准备
- 腾讯T3大牛亲自讲解!学java是什么意思
- 一、 网络安全基础入门-概念名词
- js解析json字符串为json对象,js解析json的6种方法
- 期货价格什么意思(期货价格是指什么)