因果效应估计:用数据和模型指导决策

这是因果推断系列文章的第三篇。在前两篇中,我们介绍了:因果性和相关性,以及如何从纷繁的数据中挖掘出变量之间的因果关系。本期,我们将围绕因果效应估计,介绍如何建立因果模型并对不同干预下结果变量的差异进行预测,研究干预变量对结果变量的影响程度。

如今不论是线下门店还是线上电商,优惠券的使用非常广泛。对于用户而言,领取优惠券可以降低支付成本;对于商家而言,发放优惠券可以促进价格敏感度高的消费者消费,从而提升客流,提升销量。我们知道优惠券会提升消费意愿这样的因果关系,但是在有成本的补贴活动中,还需要通过因果效应估计对用户在有补贴下的交易意愿提升程度进行估计。例如,在滴滴的国际化外卖团队(DiDi Food)推行的智能补贴方案中 1 把优惠券的发放看作干预变量,交易意愿为结果变量,基于估计值,将用户划分为四种群体,从而精准指导商家如何发放补贴券,以及对哪些用户群体发放,去最大程度的撬动原本不会产生交易行为的用户,实现双赢。

在这里插入图片描述

什么是因果效应?

上一篇文章中介绍的因果关系发现可以帮助我们挖掘出事物之间的本质关系,但要直接指导决策的制定,往往还需要定量估计出干预变量或原因变量对结果变量的影响程度,即因果效应估计。

在后文中,干预变量或原因变量(Treatment)用 T T T表示,结果变量(Outcome)用 Y Y Y表示,协变量(Covariate)表示为 X X X。以上文中的DiDi Food为例, T T T为是否发放优惠券, Y Y Y为用户的交易意愿, X X X则为用户属性、商品属性等特征变量。对于每个用户,商家在特定时刻下只能实施发放优惠券或者不发放优惠券一种干预,因此也只会产生一种观察结果,另一种情况下的结果是未知的。因果效应估计就是通过数据建模出“平行时空”,使我们可以同时获得两种潜在结果:在未发放优惠券时用户的交易意愿 Y 0 Y_0 Y0和在发放优惠券时用户的交易意愿 Y 1 Y_1 Y1

按照估计范围划分,因果效应估计包括对平均干预效应(Average Treatment Effect,ATE)、条件平均干预效应(Conditional Average Treatment Effect,CATE)以及个体干预效应(Individual Treatment Effect,ITE)的估计。其中,ATE是指整个干预组与对照组潜在结果变量的差异,是一个平均意义上的指标。CATE针对每个具有相同属性的群体 ( X = x ) (X=x) X=x进行评估,是一种异质性的因果效应,能够帮助实现更加精准的决策。例如在DiDi Food场景中,基于CATE将用户划分为四类群体,构建群体画像,确定出补贴敏感用户作为干预执行群体,为不同群体提供定制化的干预方案等。而ITE则细粒度到每个独立样本。根据干预的类型,因果效应估计又可以分为连续干预、离散干预、二值干预以及动态干预下的因果效应估计等。例如,优惠券是否发放可以看作一种离散干预,而发放不同金额的优惠券则是一种连续干预。ATE和CATE的应用较多,它们在连续干预和离散干预下的计算公式如下:

T T T为连续干预, A T E = E [ y ′ ( t ) ] ATE=E[y^\prime(t)] ATE=E[y(t)].
T T T为离散干预, A T E = E [ Y 1 − Y 0 ] ATE=E[Y_1-Y_0] ATE=E[Y1Y0];

T T T为连续干预, C A T E = E [ y ′ ( t ) ∣ X ] CATE=E[y^\prime(t)|X] CATE=E[y(t)X].
T T T为离散干预, C A T E = E [ Y 1 − Y 0 ∣ X ] CATE=E[Y_1-Y_0|X] CATE=E[Y1Y0X];

如何估计因果效应?

随机对照实验(Randomized Controlled Trail,RCT)是因果效应估计最有效的方式,通过将干预随机化,即样本随意分配至对照组与干预组,并控制无关变量来观测干预的效果。但这种方法具有较高的实验成本,有的会在实验过程中影响用户体验,有些实验则受限于道德伦理的约束而无法开展。因此,基于大量可靠的观测数据对因果效应进行估计,为我们提供了另一种解决思路。什么样的数据才能推出可靠的因果效应呢?这就是因果推断的可识别性(identifiability)问题,其依赖于以下几个假设:

  • 稳定单元干预值假设(Stable Unit Treatment Value Assumption,SUTVA)

    SUTVA要求任意个体的潜在结果都不会因为其他个体的干预发生改变而变化,且每种干预是可以清晰定义的。

  • 可忽略性假设(Ignorability)

    可忽略性假设也可称为无混淆假设。对于具有相同协变量 X X X取值的群体,干预的分配与潜在结果变量独立: Y ⊥ T ∣ X Y\bot T|X YTX,即干预的分配应是完全随机的。

  • 一致性假设(Consistency)

    当确定 T = t T=t T=t时,其观察结果应与对应的潜在结果一致。

  • 正值假设(Positivity)

    正值假设是指对于任意值的 X X X,其干预分配都具有随机性,即各种干预都有一定的执行概率。

随机对照实验满足以上全部假设,但在观察性研究中,SUTVA、Ignorability 和Consistency 这三个假设都是无法验证的,只能依靠经验或者数据进行判断。基于观察数据的估计方法需要依托于反事实推理,即得到在不同干预下对应的潜在结果,继而计算出不同干预对结果变量的影响程度。这种方法有两个待解决的核心问题,一是每个样本的反事实结果是不可能观察到的;二是基于观察数据,不同干预下协变量分布的不平衡会引入选择偏差。以下对基于观察数据的因果效应估计方法进行了梳理:

一、重加权方法(Re-weighting methods)

样本重加权是一种解决选择偏差的高效方法。通过为每个样本分配合适的权重,使得干预组与对照组分布类似。在这种方法中,最关键的概念就是平衡分数 b ( x ) b(x) b(x),其为 x x x的函数且满足 T ⊥ x ∣ b ( x ) T\bot x|b(x) Txb(x)。其中,倾向评分(Propensity score)是平衡分数的一个特例,也是最常见的一种: P ( x ) = P ( T = 1 ∣ X = x ) P\left(x\right)=P(T=1|X=x) P(x)=P(T=1X=x)。重加权方法大致可以分成两类,分别是样本重加权和同时对样本与协变量进行重加权的方法,下面将主要对第一类方法进行介绍。

  • 逆倾向加权(IPW)或逆概率干预加权(IPTW)

这是基于样本重加权的代表性方法。通过为每个样本分配一个权重:

r = T P ( x ) + 1 − T 1 − P ( x ) r=\frac{T}{P(x)}+\frac{1-T}{1-P(x)} r=P(x)T+1P(x)1T

则重加权后的CATE计算公式为:

E [ Y ∣ X , T = 1 ] − E [ Y ∣ X , T = 0 ] = E [ Y P ( x ) ∣ X , T = 1 ] P ( x ) − E [ Y ( 1 − P ( x ) ) ∣ X , T = 0 ] ( 1 − P ( x ) ) E[Y \mid X, T=1]-E[Y \mid X, T=0]=E\left[\frac{Y}{P(x)} \mid X, T=1\right] P(x)-E\left[\frac{Y}{(1-P(x))} \mid X, T=0\right](1-P(x)) E[YX,T=1]E[YX,T=0]=E[P(x)YX,T=1]P(x)E[(1P(x))YX,T=0](1P(x))

最终形式可以整理为:

E [ Y T − P ( x ) P ( x ) ( 1 − P ( x ) ) ∣ X ] E\left[Y \frac{T-P(x)}{P(x)(1-P(x))} \mid X\right] E[YP(x)(1P(x))TP(x)X]

  • 协变量平衡倾向得分(CBPS)

在实践中,倾向评分估计的准确性对IPW估计器的准确性有直接的影响,其轻微错误也会导致CATE较大的估计偏差。为了解决此问题,CBPS提升了倾向评分估计的正确性。其通过解决如下问题来估计倾向评分:

E [ T i x i ~ P ( x i ; β ) − ( 1 − T i ) x i ~ 1 − P ( x i ; β ) ] = 0 \mathbb{E}\left[\frac{T_i\widetilde{x_i}}{P\left(x_i;\beta\right)}-\frac{\left(1-T_i\right)\widetilde{x_i}}{1-P\left(x_i;\beta\right)}\right]=0 E[P(xi;β)Tixi 1P(xi;β)(1Ti)xi ]=0

其中, x i ~ = f ( x i ) \widetilde{x_i}=f(x_i) xi =f(xi)是预定义的向量化度量函数,CBPS可以直接根据估计的参数化倾向评分计算协变量平衡分数,从而提升倾向评分模型的鲁棒性,减少错误的发生。

二、分层方法(Stratification methods)

该类方法是将全部数据划分到同质性的小组内,使得组内的干预样本与对照样本分布类似,从而起到去偏差的效果。

  • 子分类估计器(Subclassification Estimator)

根据协变量 X X X的取值,将全部数据划分到若干小组中,则可在每个小组内计算因果效应。最后的整体ATE为不同小组结果的加权组合:

A T ^ E = ∑ k = 1 K ( Y ˉ k 1 − Y ˉ k 0

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
连续性因果效应估计是指在因果推断中,对于连续的处理变量和连续的结果变量进行因果关系的估计。在Python中,有不少工具和库可以用来进行连续性因果效应估计。 其中一个常用的工具是因果森林(Causal Forest),它由多棵因果树构成。与决策树不同,因果森林的分裂准则进行了修改,以实现“Honest estimation”(使用互不重合的数据进行拆分和估计)。因果森林可以用于估计因果效应,特别适用于连续的处理变量和连续的结果变量。 另一个工具是正交随机森林(Orthogonal Random Forest),它是在广义随机森林的基础上进行改进的。正交随机森林在线性效应和二元处理的假设下具有等价性,同时也可以推广到多元和连续处理。 需要注意的是,连续性因果效应估计涉及复杂的统计方法和算法,使用这些工具进行估计需要深入了解相关理论和技术。在Python中,可以使用因果森林和正交随机森林等工具来进行连续性因果效应估计的实现。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [因果森林总结:基于树模型的异质因果效应估计](https://blog.csdn.net/tMb8Z9Vdm66wH68VX1/article/details/126684500)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值