《Theoretical Impediments to Machine Learning With Seven Sparks from the Causal Revolution》这篇论文说到了因果推断的三层。
原论文: http://arxiv.org/abs/1801.04016
个人观点:因果推断可以补充机器学习方法过程中没有解释清楚的问题,一般ML都是解释X-> Y,但是没有说明白 Y-> X。
本节参考: 论文学习笔记1——《机器学习的理论局限与因果革命的7大火花》(因果推理必将带来现有人工智能领域研究的再一次巨大突破) 因果推断综述及基础方法介绍(一)
经典的多元回归模型开始,下面给出4个基础假定。
所谓自然实验,就是发生了某些外部突发事件,使得研究对象仿佛被随机分成了实验组或控制组。这是我最喜欢的方法,只是自然实验需要寻找一个事件,并且这个事件只影响解释变量而不影响被解释变量。遇着这种事件是一种缘分,还要能识别出来,这对学者的眼光也是一种挑战。
这张图讲得非常清楚,首先为什么我们不能用ATE = E(Yi|Ti=1)−E(Yi|Ti=0),举个 ,我们给一些人发权益,另一些人不发,我们怎么能知道权益带来的购买效果是怎么样的呢?简单的方法就是给发权益的人购买数加和,不发权益的人购买数加和,然后两个加和相减就好啦,但是如果这两部分人本来不发权益的时候购买数就不一样呢?
那就减两次,从上图来说,我们把这两群人发权益之前t0的购买数相减,得到一个差值,相当于这两群人的固有差距,再把这两群人发权益之后t1的购买数相减,相当于这两群人被权益影响之后的差距,后面的差距减去前面的差距,就会得到权益对于差距有多少提升(降低),以此作为权益的effect。
这个方法的问题在于有个比较强的要求是,趋势平行,也就是要求t0到t1之间,两群人的购买概率变化趋势是一样的(图中那个平行线),这其实是一个很强的假设,所以这个方法我个人来讲不算非常认可。
具体参考:因果推断笔记——工具变量、内生性以及DeepIV(六)
Heckman 两阶段模型主要是针对性解决样本选择偏误 (sample selection bias) 导致的内生性问题。Heckman 模型解决的样本选择问题,是由于被解释变量部分观测值的缺失/不可观测导致的。而处理效应模型主要针对核心解释变量为内生虚拟变量的情况,并且处理效应模型中的 值都是可观测的。
引入固定效应 固定效应模型在面板数据建模中被广泛使用。顾名思义,固定效应是不随时间或个体变化的因素,它是难以观测的。模型中之所以要加入固定效应,是因为这些因素可能与解释变量相关,如果包含在扰动项中则会产生内生性问题。
广义矩估计 动态面板模型是解释变量中包含被解释变量滞后项的模型,可以理解成过去会在某种程度上影响未来的模型。当用差分去除模型中的固定效应时,方程中滞后项的差分便与扰动项的差分相关,产生内生性 (短面板中难以消除,所以也称短面板偏误)。GMM 估计方法通过引入滞后两期及以上的滞后项作为工具变量,并尽可能地满足所有矩条件,得到一个较好的估计量。实质上,GMM 也是工具变量法。
断点回归 断点回归的思路是研究某一断点处的政策效应,因为在特定断点处,实验组和对照组可以认为是本质上差异不大的。
倾向得分匹配模型 倾向得分匹配模型 (propensity score matching,PSM) 类似于多元线性回归。不过多元线性回归 (MR) 的无偏估计依赖于函数形式的正确设定,否则会出现函数形式误设 (functional form misspecification,FFM) 导致估计量有偏。PSM 模型通过匹配可以减少对函数形式的依赖,放松对多元回归模型的线性假设,进而缓解 FFM 问题。
关于 PSM 方法有三个误区:
一是 PSM 方法并没有从根本上解决由选择偏差或遗漏变量导致的内生性问题,更不能代替 Heckman 和 IV 等方法用于解决自选择、遗漏变量等问题; 二是 PSM 不能被称为 “准实验”,也无法模拟实验条件; 三是 PSM 的外部有效性问题。在 “共同支撑假设 (Common Support)”无法满足或很牵强的情况下,PSM 会系统排除缺乏对照组的样本,进而使得样本代表性变差,影响结果的外部有效性。
potential outcome model (虚拟事实模型 ),也叫做Rubin Causal Model(RCM),希望估计出每个unit或者整体平均意义下的potential outcome,进而得到干预效果treatment effect(eg. ITE/ATE). 所以准确地估计出potential outcome是该框架的关键,由于混杂因子confounder的存在,观察到的数据不用直接用来近似potential outcome,需要有进一步的处理。
核心思想:寻找合适的对照组
有向图描述变量之间的因果关系。通过计算因果图中的条件分布,获得变量之间的因果关系。有向图指导我们使用这些条件分布来消除估计偏差,其核心也是估计检验分布、消除其他变量带来的偏差。
目的都是为了计算存在混淆变量时,干预变量时对结果的影响,都需要对因果关系作假设,以及控制带来偏差的变量; 不同点在于: Rubin框架估计的因果效应主要是干预前后的期望差值 而Pearl框架下,我们估计的是干预前后的分布差异 Rubin框架解决的问题是因果效应的估计和统计推断 Pearl框架更偏向于因果关系的识别。
https://www.zhihu.com/question/266812683/answer/505659271
回归是工具,意味着不管是因果推断还是预测,都可以使用回归;回归在因果推断中,只是拟合条件期望的工具。 Rubin因果只有在非常强的假设前提下才能使用回归(外生性假设,又名CIA假设,又名unconfoundedness假设)
由这里出发我们再来看另外一对非常有意思的概念:调节效应与中介效应,这俩应该也是可以用因果链来描述的。
中介作用是研究X对Y的影响时,是否会先通过中介变量M,再去影响Y;即是否有X->M->Y这样的关系,如果存在此种关系,则说明具有中介效应。
调节作用是研究X对Y的影响时,是否会受到调节变量Z的干扰
我们通常通过因果图来进行用户行为链路的研究。Rubin流派常用来估计变量之间的一度关系,但当我们面对一些未知问题时,我们想了解的是有哪些变量真正影响我们关心的结果变量,以及变量之间的相互影响和用户行为链路是什么,有效过程指标是什么,这些时候我们用到因果图的方法。
在生成因果图中,常遇到的限制是算法层面的,比如我们在优化目标函数的时候,需要遍历所有的因果图,是一个NP-hard问题,我们需要有效的算法得到想要的估计,市面上的算法大概分为两类:
因果图的结构是预设的还是模型结构输出的? A:主要是模型输出的,但是在算法中我们可以限定哪些变量是父节点,哪些是子节点,如果最后结果与假设相悖,会发现假设的父节点下是没有任何子节点的。
参考:无监督的视觉常识特征学习——因果关系上的一点探索(CVPR 2020)
死亡与否完全是由感染新冠肺炎决定的,这些观测都是无偏差(无bias)的
虽然死亡与否确实不只由感染新冠肺炎决定,车祸也会导致死亡,但是车祸和肺炎完全没有因果关系,对“感染新冠肺炎”和“死亡”进行观测同样是无偏差(无bias),由于“车祸”和“感染肺炎”是相互独立的,小伙伴们可以很简单的证明出来:
RCT(随机对照试验)的时候,我们完全随机的从人群中选取样本(注意这里是真正的完全随机!)。这就相当于我们人为的切断了混杂因子confounder到感染新冠肺炎之间的连接,因为我们的样本选择是完全随机的,和任何因素都无关。这也是为什么我们说,在随机样本足够的条件下,RCT可以抵消掉混杂因子的影响。注意,此时因果图就变为了:
小伙伴发现了,这里RCT之后的因果图,不就是图2中的第二行那个结构嘛,也就是说RCT最大的作用就是让“年龄”和“感染新冠肺炎”独立。 这时,因为因果图发生了改变,贝叶斯公式就已经悄然发生了变化,我们把因果图变化前后的贝叶斯公式分别写一下:
注意第二个等号使用了在新的因果图下“年龄”和“感染新冠肺炎”相互独立这一条件。
有向图中 “父亲” 和“后代”的概念:有向箭头上游的变量是“父亲”,下游的变量是“后代”。
图模型也并不是 Judea Pearl 发明的。但是,早期将图模型作为因果推断的工具,成果并不深刻,大家也不太清楚仅仅凭一个图,怎么能讲清楚因果关系。教育、心理和社会学中常用的结构方程模型(structural equation model: SEM),就是早期的尝试;甚至可以说 SEM 是因果图的先驱。
DAG 中的箭头,似乎表示了某种 “因果关系”。但是,要在 DAG 上引入“因果” 的概念,则需要引进 do 算子,do 的意思可以理解成 “干预” (intervention)。 没有“干预” 的概念,很多时候没有办法谈因果关系。 根据 do 算子,便可以定义因果作用。比如二值的变量 Z 对于 Y 的平均因果作用定义为:
https://www.zhihu.com/question/283897078/answer/756671333 p(y|do(x))实际上就是一个普通的条件分布,但它不是基于 p(x,z,y,…)的,而是pdo(X=x)(x,z,y,…)。这里的pdo(X=x)是我们如果实际进行干预的话会观察到的数据的联合分布。所以p(y|do(x))是从随机对照试验或A/B测试收集到的数据中学习的条件分布,其中x由实验者控制。
如果整个 DAG 的结构已知且所有的变量都可观测,那么我们可以根据上面 do 算子的公式算出任意变量之间的因果作用。但是,在绝大多数的实际问题中,我们既不知道整个 DAG 的结构,也不能将所有的变量观测到。因此,仅仅有上面的公式是不够的。 “后门准则”(backdoor criterion)和“前门准则”(frontdoor criterion):
这两个准则的意义在于:
简单来看一下:
检验得到的结论:
再来看四个例子:
根据后门准则, X 阻断了 T 到 Y 的后门路径,因此,根据 X 做调整可以得到 T 对 Y 的因果作用。 如果实际问题符合图(a),那么我们需要用调整后的估计量。
X 是 T 的 “后代” 且是 Y 的“父亲”。很多地方称,此时 X 处于 T 到 Y 的因果路径上(中介效应)。 直观的看,如果忽略 X,那么 T 和 Y 之间的相关性就是 T 对 Y 的因果作用,因为 T 和 Y之间的后门路径被空集阻断,我们无须调整。 如果此时我们用 X 进行调整,那么得到的是 T 到 Y 的“直接作用”。
T 和 Y 之间的相关性就是因果作用。但是,复杂性在于 X 和 Y 之间有一个共同的但是不可观测的原因 U。 此时,不调整的相关性,是一个因果关系的度量。 但是,如果我们用 X 进行调整,那么给定 X 后,T 和 U 相关,T 和 Y 之间的后门路径被打通,我们得到的估计量不再具有因果的含义。 这种现象发生的原因是,(T,U,X)(T,U,X) 之间形成了一个 V 结构:虽然 T 和 U 之间是独立的,但是给定 X 之后,T 和 U 不再独立。
这个图常常被 Judea Pearl 用来批评 Donald Rubin,因为它存在一个有趣的 M 结构。 在这个图中,由于 V 结构的存在,T 和 Y之间的后门路径被空集阻断,因此 T 和 Y 之间的相关性就是因果性。 但是由于 M 结构的存在,当我们用 X 进行调整的时候, U 和 W 之间打开了一条 “通路”(它们不再独立),因此 T 和 Y 之间的后门路径被打通,此时 T 和 Y之间的相关性不再具有因果的含义。
之前的【2.4】有提到,Z在X-> Y的后门路径上,除非你用RCT的随机实验,可以打断Z->X的影响;
那么一般情况下都会利用do算子进行干预,进行【后门调整】,可以看到这里从do(X) -> (X,z)
这里借鉴一个形象的例子:
来看看,不做干预下,“人”和“马桶”的图像会偏少,因此 P(Person|Toilet) 的概率会偏小。
加了干预后 P(Y|do(X)):遍历 Z 集合中所有的物体,计算干预后的条件概率,可以看到 P(Y|do(X))>P(Y|X),直觉上在“人”和“马桶”观测数据不足的情况下,因果干预后的条件概率有相应正向调整。
快手因果推断与实验设计 涉及到计量中政策评估【DID, 合成控制, 匹配, RDD四种方法比较, 适用范围和特征】有四种主要的方法:
当吃药不头疼了,不吃药头还疼,那我们可能会认为吃药和解决头疼存在因果效应; 当吃不吃药头都疼,则我们会认为吃药和解决头疼不存在因果效应 因果效应计算方法。记do(T=1)为施加试验(吃药),do(T=0)为不施加试验(不吃药);Y表达结果(是否头疼)。 因果效应可以计算为
,代表施加与不施加试验结果的差异。这是针对某个人i的因果效应,称为ITE (Individual treatment effect)
Y1(x),Y0(x)表示个体i接受治疗的个体因果作用,所以个体的TE 处理效应:
TE = Y1(x) - Y0(x)
但是对于单个个体来说,要么接受treatment,要么不接受,Y1(x),Y0(x)中必然会缺失一个,但在T做随机化的前提下,我们可以识别总体的ATE:
这是因为
最后一个等式表明ATE可以由观测的数据估计出来。其中第一个等式用到了期望算子的线性性(非线性的算子导出的因果度量很难被识别!); 第二个式子用到了随机化,即 :
T⊥(Y(1), Y(0))(⊥表示独立性), 非常重要 ,也就是T 与 Y需要相互独立,无内生性 后面的方法都是围绕他展开
但是实际应用中,随机化实验是最“贵”的因果推断方式,有时候我们无法控制“treatment”, 更多时候成本实在太高,我们只能拨一小波人进行实验,所以这种“黄金标准”并不算实用。
在「干预组/实验组」层面,干预效果被称为「干预组的平均干预效果」(Average Treatment Effect on the Treated group, ATT),定义为:
类似地,对照组的平均干预效果被称为 「ATC」。
简单理解就是按某些规律进行分组之后的ATE,也就是“条件平均处理效应”(Conditional Average Treatment Effect,CATE)
一种异质处理效应的研究方法是将研究数据进行分组 (如按照男、女性别,或者区域进行划分) ,比较平均处理效果在子组内的效应差异。
每个子组的平均处理效应被称为“条件平均处理效应”(Conditional Average Treatment Effect,CATE) ,也就是说,每个子组的平均处理效应被称为条件平均处理效应,以子组内的分类方式为条件。
本节参考: 因果推断综述及基础方法介绍(一) 双重差分法(DID)的原理与实际应用
【3.0章节】 中随机实验有提到,ATE = E(Yi|Ti=1)−E(Yi|Ti=0)的前提是T⊥(Y(1),Y(0)), 也就是干预与Y是独立的、无因果、非内生 那如果不符合这个条件应该怎么办? 有一个比较老且基础的方法是双重差分法,也就是差分两次。
另外的特点:
或者:
这张图讲得非常清楚,首先为什么我们不能用ATE = E(Yi|Ti=1)−E(Yi|Ti=0),举个 ,我们给一些人发权益,另一些人不发,我们怎么能知道权益带来的购买效果是怎么样的呢?简单的方法就是给发权益的人购买数加和,不发权益的人购买数加和,然后两个加和相减就好啦,但是如果这两部分人本来不发权益的时候购买数就不一样呢?
那就减两次,从上图来说:
后面的差距减去前面的差距,就会得到权益对于差距有多少提升(降低),以此作为权益的effect。
这个方法的问题在于有个比较强的假定是,趋势平行
,也就是要求t0到t1之间,两群人的购买概率变化趋势是一样的(图中那个平行线),这其实是一个很强的假设,所以这个方法我个人来讲不算非常认可。
双重差分法的计算过程很简单,即实验组干预前后的均值的差减去对照组干预前后均值的差。 但若希望得到的结果是准确的,对应的样本数据需要满足下面三个假设:
DID, PSM 及 DID+PSM 有何差异?DID 要假定不可观测效应随时间变化趋势相同?
一个比较简单的差异对比版本:
适用范围:
而对于有一些变量,一方面不可观测,另一方面又不随时间而改变
,此时就可以使用PSM+DID的方法。同一对象的同一干预treatment,前、后两个时间段的差异,
关键假设是,政策干扰前存在平行趋势,且实验干扰效应不随时间变化。 双重差分可以用来消除那些对后期可能存在干扰因素,得到实验效果估计。
快手的升级方案:分不同类型进行分项评估 用户的行为会发生变化,且不同用户的行为是不一致的,当不同表现用户都在实验组,传统的DID模型估计实验效应会产生偏差。 按照用户的状态是否更改分为不同类型,对不同类型用户分别做DID估计,再进行加权平均,得到修正后DID实验效果值。
当treatment施加到一个群体或者地区上时,很难找到单一的对照组,这种时候采用合成控制方法构造虚拟对照组进行比较,原理是构造一个虚拟的对照组,通过treatment前的数据上学习的权重,拟合实验组在实验开始前的数据,模拟实验组用户在没有接受实验情况下的结果,构造合成控制组,实验开始后,评估实验组和合成控制组之间的差异。
听到最多的例子是,加州于1989年实施的禁烟法案, 但愿看看该法案是否下降了烟草的消费量。由于这个禁烟法案只在加州范围内有政策效果,所以传统的DID方法就没有那么好用了,由于这里的实验组就只有一个成员——加州。ui 对于这种问题,咱们迫切想要获得因果关系,所以合成控制法就出现了而且获得快速推广。
SCM的基本思想是,使用其余38个未实施禁烟法案的州的加权平均来合成一个“加州”,经过对比真实的加州和合成的加州在1989年禁烟法案以后香烟消费量的差别来识别出政策效应。code
在合成控制法中,有一些关键变量比较重要,所以值得咱们提出来单独说一说。如下就是咱们使用一个吸烟数据集,就加州1989年实施的禁烟法案对该州香烟消费量(销售量)的影响所作的合成控制法
合成的一种方法是利用,其他38个洲,1970-1988数据构造回归, 然后进行预测,预测接下来1988-2000的情况与实际的情况进行对比
该模型的主要思想在于,寻找一个参考变量,该变量的某临界值能够决定哪个个体能够成为政策干预对象即处理组,哪个个体不能成为政策干预对象即控制组,将控制组的结果变量作为处理组的反事实状态。
断点回归可分为精确断点回归和模糊断点回归。
精确断点回归假设干预分配完全由参考变量决定,而模糊断点回归则假设干预状态不是完全由参考变量决定,还与其他未观测到的因素有关。
精确断点回归与其他几种政策评估的不同之处在于,其不满足共同区间假设,即当参考变量大于临界值时,所有个体都进入处理组,而当参考变量小于临界值时,所有个体都进入控制组。
断点回归模型的主要缺点在于,若个体能够精确控制是否接受政策的参考变量,那么临界点附近的干预状态的分配就接近完全随机实验的结果,断点回归的估计将无效。
此外,断点回归模型和完全随机实验一样,内部有效性较强,而外部有效性较弱,即只能估计断点处的平均因果效应,不能简单推广到其他位置。
随机化试验那部分我们讲到了:
T⊥(Y(1), Y(0))(⊥表示独立性)
这个公式其实包含了较强的可忽略性(Ignorability)假定,但我们之前说了,这种方式比较“贵”,所以通常我们会希望收集足够多的X,使得:
Conditional Independence Assumption (CIA)假定:
那么这个方法实际操作起来通常就是称之为Exact matching(精准匹配),也就是对于每一个 T=1的用户,我们从 T=0的分组里找一个变量 一模一样的用户,在这个X的条件下,满足T与Y相互独立,此时直接比较两组用户观察结果 的差异就可以得到结论,但是,“匹配用户的变量 完全相等” 这个要求过于严格,不实用。
由此衍生了用倾向性得分进行匹配的方式Propensity Score Matching,简称 PSM: 在 PSM 方法中,我们首先对每一个用户计算一个倾向性得分(propensity score),定义为 e(x)=Pr(T=1 | X=x) ,这里面的假定由T⊥(Y(1),Y(0)) | X变为了T⊥(Y(1),Y(0)) | e(x),接着我们根据倾向性得分对于用户进行匹配。
但是这种方式也是有其局限性的,就是在于treatment group和control group的用户需要足够齐全且维度较高, 实际应用的时候我们会发现本身两个group的用户有较明显的差异,想要找到倾向性得分相近程度达到要求的用户非常难。 相关的方法非常多:
PSS:用倾向性得分来对用户进行分组,称为 subclassification PSW:用倾向性得分来对用户进行加权抽样,称为 Inverse Propensity Score Weighting (IPSW) ,权重为
之前提到,
要想估计出ATE且符合CIA假定,就需要严苛的筛选,譬如,想要了解大学生绩点高低与奖学金的比较,需要:绩点3.7的,发了奖金的人 - 没法奖金的人
条件比较严苛的话,可能找不到,那么就放宽成为区间:绩点 3.5-3.7,发了奖金的人 - 没法奖金的人
具体可参考:DID, PSM 及 DID+PSM 有何差异?DID 要假定不可观测效应随时间变化趋势相同?
倾向性评分法由Rosenbaum和Rubin于1983年首次提出,是控制混淆变量的常用方法,其基本原理是将多个混淆变量的影响用一个综合的倾向性评分来表示,从而降低了混淆变量的维度。
倾向性评分是给定混淆变量W的条件下,个体接受Treatment的概率估计,即 P(T=1|W)。 需要以Treatment为因变量,混淆变量Confounders为自变量,建立回归模型(如Logistic回归)来估计每个研究对象接受Treatment的可能性。
回归:T~W
需要择一选择:
倾向性评分法要求匹配后样本的所有混淆变量在处理组和对照组达到均衡,否则后续分析会有偏差,因此需要对匹配之后的样本进行均衡性检验。
反驳(Refute)使用不同的数据干预方式进行检验,以验证倾向性评分法得出的因果效应的有效性。反驳的基本原理是,对原数据进行某种干预之后,对新的数据重新进行因果效应的估计。 理论上,如果处理变量(Treatment)和结果变量(Outcome)之间确实存在因果效应,那么这种因果关系是不会随着环境或者数据的变化而变化的,即新的因果效应估计值与原估计值相差不大。 反驳中进行数据干预的方式有:
具体可见: 因果推断笔记——python 倾向性匹配PSM实现示例(三)
具体参考:因果推断笔记——工具变量、内生性以及DeepIV(六)
如何用data来计算具体的casual effect的数值,这个过程就是Estimation。那么在机器学习方法中,也有一些可以用在Estimation环节的。
因果分析的语言,核心在于因果关系的识别,即合理的估计处理前和处理后现有条件期望的差异,也可以是一种处理缺失数据的问题,在因果推断上我们非常关心的是如何准确的估计结果以及结果的方差。而在机器学习中,我们使用准确度来衡量机器学习模型的好坏,其目标是在训练集上估计一个条件期望,使得测试集上MSE最小。 机器学习可以通过cross-validation(模型参数)的方法去数据驱动的选择一个最佳模型形式,与传统计量经济学方法相比不需要复杂的假设,例如function form的假设,从这种意义上机器学习能够更准确的预测。 但是在因果推断问题上,机器学习的局限性在于,无论用什么机器学习方法,因果识别的条件都不能被放松;同时在机器学习模型通常使用的正则化和过拟合处理,会带来有偏估计,因此我们需要消除这种估计的偏差; 在统计推断上,机器学习的局限性在于,有些模型不能直接计算方差,并且有时即使可以计算,方差的收敛速度也未必能够达到预期,所以针对这些问题,下面介绍了几种方法。
DML则是在进行HTE (Heterogenous Treatment Effect)研究中,通过残差估计矩(服从Neyman orthogonality),即使W估计有偏,依旧可以得到无偏ATE估计!
因果推断会遇到混淆变量的问题,比如想要去分析直播推荐多样性对用户活跃度的影响,但是这些都和用户历史相关。传统计量经济学方法可以解决这个问题,但是依赖很多强假设,强假设下,得到的估计不一定合理,双重机器学习为这个问题提供了解决的思路。
双重机器学习假设所有混淆变量都可以被观测,其正则化过程能够达到高维变量选择的目的,与Frisch-Waugh-Lovell定理相似,模型通过正交化解决正则化带来的偏差。 除了上面所描述的,还有一些问题待解决,比如在ML模型下存在偏差和估计有效性的问题,这个时候可以通过Sample Splitting 和 Cross Fitting的方式来解决,具体做法是我们把数据分成一个训练集和估计集,在训练集上我们分别使用机器学习来拟合影响,在估计集上我们根据拟合得到的函数来做残差的估计,通过这种方法,可以对偏差进行修正。在偏差修正的基础上,我们可以对整个估计方法去构造一个moment condition,得到置信区间的推断,从而得到一个有良好统计的估计。
PSM评分法的树模型 升级版 可以回顾【3.4章节】 随机森林就相当于训练一棵预测treatment的树,然后在树的叶子结点做因果推断,如果大家仔细看了前面的倾向性得分的话,会发现其实这个思路其实就相当于propensity matching的树版,可能跟subclassification更相似。 整体思路:树进行分组,然后对于对于每个叶子内部,将E(处理组) - E(对照组)
我们通常探究策略对于不同用户异质性的影响,即哪些用户更容易被影响以及影响有多大,传统做法是多维分析,但是效率低,容易犯错。这时可以结合机器学习的方法,这里选择了决策树方法,因为决策树的分桶特性能够帮助解决异质性问题,相对于传统方法因果树做了两点改动:
把数据分成训练集和估计集,一部分训练集去构造树,另一部分估计集去估计因果效应和方差; 在树的分区方式上,使用各个节点的方差对目标函数加以修正。 通常情况下,我们结合实验来做分析。比如在实验中,通过因果树得到因果效应的分布,然后挑选出来那些实验效果显著的用户,去分析他们的特征,以及找到敏感用户,帮助我们了解策略的影响,作出下一步迭代。
Uplift-modeling是另一种定位敏感人群的方法,和因果树的步骤有差别。核心是利用实验数据对实验结果变量建模,利用得到的模型估计条件平均处理效果。Uplift-modeling具有不同的学习方式,主要有S-Learner 、T-Learner和X-learner。和因果树相比,Meta-Learner是一种间接建模方式,实现快但一些场景下误差较大。
COM有很多其他名字,比如S-learner等,S代表singe model,表达对于treatment和control组使用的是同一个model。
存在问题:当数据纬度变大时,容易产生估计偏差 (estimate biased towards 0!),这个很直观,假设数据有100维,T只是其中1维,模型训练时容易忽略这个维度,导致计算出来ATE -> 0,进而引出Grouped COM。
GCOM引入为了解决COM中estimate biased towards to 0
的问题,为了加强模型对T的权重,我们在估计 u 时,分别对treatment组和control组使用不同的模型,其他流程与COM一样,也常叫T-Learner。
存在问题:每个estimator只使用部分数据,尤其当样本不足或者treatment、control样本量差别较大时,模型variance较大(对数据利用效率低),我们需要提升数据利用率!进而引出接下来2个model TARNet和X-Learner。
充分利用数据估计每个group的estimator,对于数据倾斜很严重的估计有很好的弥补作用。
CIA假设往往不能满足,应该如何降低影响? A:现在很多的包括双重机器学习等方法都有很多的扩展,比如当有些合适的工具变量会有些合适的拓展的工具方法,另外可以通过一些matching的方法去构造些满足条件的样本,但是这个东西也不是完全精确,很多时候需要靠人为的逻辑判断。
其他也可参考: 智能营销增益(Uplift Modeling)模型——模型介绍(一) 因果推断—原理与方法(深度好文)
在双边实验中,同时进行了主播侧和观众侧的分流,主播侧一部分是上了挂件,观众侧一部分能看到一部分看不到,双边实验的优点是可以同时检测两端的效果,同时可以帮助检测到组间的转移和溢出。在了解到组间溢出和干扰下,通过双边实验我们可以更加准确的测算处理效应,在挂件场景下,我们认为N3是代表完全没有处理过的效果,Y代表处理后的结果,N3和Y进行差分,计算产品功能推全后的影响,而且,双边实验能够更好的帮助我们归因。
然而双边实验只能描述简单的组间溢出,在个体和个体之间存在干扰的复杂情况下,双边实验是无法帮助我们判断实验效果,例如直播PK暴击时刻这种情况下,我们通过时间片轮转实验解决,即在一定实验对象上进行实验组策略和对照组策略的反复切换。
时间片轮转的核心在于:
最优设计的核心假设是:
当我们不知道一个时间片实验时间节点如何设计时,通常采取的步骤是,预估一个时间,通过实验确定carry over的阶数下限是多少,根据阶数下限,找到最优切换时间点,再进行一次实验,通过实验组和对照组的选择来进行因果效应的估计。其缺点在于,实验周期长,没有办法观测到HTE (heterogeneous treatment estimation)。
当treatment施加到一个群体或者地区上时,很难找到单一的对照组,这种时候采用合成控制方法构造虚拟对照组进行比较,原理是构造一个虚拟的对照组,通过treatment前的数据上学习的权重,拟合实验组在实验开始前的数据,模拟实验组用户在没有接受实验情况下的结果,构造合成控制组,实验开始后,评估实验组和合成控制组之间的差异。