小言_互联网的博客

数据分析36计(24):因果推断结合机器学习估计个体处理效应

397人阅读  评论(0)
个体异质性为何重要

传统的因果推断分析,主要关注焦点是平均处理效应(Average Treatment Effect)。许多科学和工程都会面临这样的挑战,从个性化的医疗救治方案,到定制型的营销建议都需要了解异质性处理效应。即个体层面的因果效应的异质性推断(Treatment Effect Heterogeneity)。例如,在医学上,当医生决定是否要对一位癌症患者采用某项治疗时,由于同一疗法对于不同患者(基因突变状况、体力状况、免疫水平等)的效果区别很大,在决定是否采用该治疗时,医生需进一步知道不同特质的患者在采用这种治疗时会有怎样的结果,而不是仅依赖该种治疗方法的人群平均效应,需要考虑到处理效应的异质性,即为个体处理效应(Individual Treatment Effect)。假设处理变量是一种药物,该药物的人群平均效应可能不是阳性的,但是对特定类别的患者可能有效,则医生应尽可能将药物开给能从中受益的亚人群(Subpopulation),因此对个体处理效应进行推断以促使研究人员发现治疗受益的人群是非常重要的。在商业应用中,对异质处理效应的估计可以帮助回答以下问题:对谁有大或小的处理效应?处理对哪个分组产生有利或不利影响?例如,在市场营销领域,通过回答哪个客户群体对某个市场营销活动反应最大,或对哪个客户群体的干预策略对其流失的因果关系这一问题,对异质处理效应的估算可以帮助企业优化资源分配。或者在定价方面,量化价格变化对不同年龄或收入群体之间的销售如何影响。

利用机器学习估计处理效应

目前估计个体处理效应的方法有贝叶斯自适应回归树、反事实随机森林等。2015 年,Athey 和 Imbens 将机器学习中常用的分类回归树(Classification and Regression Trees)引入到了传统的因果识别框架,定义了因果树(Causal Tree)的概念,用它们来考察异质性处理效应。而后 Wager 和 Athey 又推广了因果树方法,讨论了如何用随机森林(Random Forest)算法来整合因果树并估计异质性处理效应,称为因果森林(Causal Forest)。本文主要介绍因果森林在复杂数据中对个体处理效应的推断。利用机器学习估计个体因果效应,Wager 和 Athey (2015) 提出一种基于随机森林(Random Forest)的估计异质处理效应的方法。不同于一般的随机森林关注于预测问题,他们的随机森林算法里每棵树就是一棵因果树(Causal Tree)。对于每一因果树而言,首先识别出每一分组,而后根据每一分组里的变量估计处理效应。最后,由许多因果树构成的因果森林能将某处理效应顺利地估计出来。这种非参数方法与传统非参数方法 kernal regression、nearest-neighbor matching 很相近,本质上都是通过寻找 neighbors 的方式,在每个分组内近似随机实验,这样特征变量 x 的每一个值都有一个明确的处理效应估计值。该方法具有一个优势即没有『维数诅咒』的问题,而传统方法当变量的维数增加时效果会大打折扣。两位作者还证明由因果森林而得来的预测是渐进正态并且对于每一个x来说都是趋近于真实值的。相较于现有的计量经济学方法,随机森林被大多数学者认为在预测问题上表现的更佳,特别是当存在数目众多的协变量时。

为什么不用回归方法[1]

计量经济学和其他社会科学长期以来一直在研究哪种变量预测的效果小于或大于平均处理效应,这在统计学上也称为“调节(或交互)作用”。寻找异质处理效应的最传统方法之一是使用多重线性回归,其中所关注变量(即可能导致处理异质性的变量)与处理指标之间存在交互作用。如果假设数据来自随机实验,从而确定处理效应的假设是有效的。然后得出结论,处理效应取决于交互项在统计学上具有显着性的变量。但是对于真实的分析场景中,有多个特征变量影响着处理变量和结果变量,那么交互项将会有 个,比如我们有 5 个变量,则必须在线性回归模型中包括总共 64 个参数。这种方法缺乏统计能力,并且还可能导致计算问题。
为了清楚地比较因果森林与线性回归两种算法在估计异质性治疗效果方面的优势,在两个不同的数据集上对它们进行了测试,其中第一个数据集没有异质性;第二个数据集具有处理异质性,且只在 上有:

在第一个数据集中,所有观察结果都具有相同的处理效应。在这种情况下,平均处理效应和异质处理效应相同。在第二个数据集中,处理效应随变量和而变化。这些异质性变量与处理效应之间的关系不是线性的。这两个模拟数据集都有 20,000 个观测值,其中包含一个结果变量和 10 个协变量 X,其值在 [0,1] 之间。为了评估这两种算法,将数据集分为一个训练集(75%)和一个测试集(25%)。对于因果森林,使用 grf[2] 包中的 causal_forest() 和 tune.parameters = "all"。将其与一个 lm() 模型进行比较,该模型包括所有变量,处理变量、异质性变量和交互项:
具有异质性的数据集的线性回归模型:

没有异质性的数据集的线性回归模型:

其中 是异质性变量, 是处理变量(即 代表处理和 代表未处理)。如上所述,我们通常不知道哪些变量会影响处理效应,因此必须将所有可能的相互作用项包括在线性回归模型中,以查看哪些变量导致了处理效应异质性。在这里有 10 个变量的情况下,这意味着我们必须在线性回归模型中总共包含 2048 个参数。这里我们已经知道哪些变量有异质性,因此根据结论直接建模。

上面的结果中,数据集由于没有异质性,因果森林(RMSE为 0.01)和线性回归(RMSE为 0.00)同样可以很好地预测处理效应。但是,随着异质性水平的提高,因果森林(RMSE为 0.08)比线性回归(RMSE为 0.45)更加准确。正如预期的那样,因果森林比线性回归模型能更好地检测异质性变量和处理效应之间的非线性关系,这也可以在下图中看到。因此,即使我们已经知道哪些变量会影响处理效应并且仅包括必要的交互项,线性回归模型由于缺乏建模灵活性,仍然不如因果森林模型准确。

因果森林实现步骤

目的:计算不同用户群体在同一干预下的处理效应。
原理:对于混淆变量特征集 X,干预变量 T,结果变量 Y.采用无放回抽样从原始数据集{1,…,N} 中随机抽取样本量为 s(s<N,默认比例为50%)的子集 b,继而将其随机分成样本量为 s/2 的两等份,分别作为样本 T 和样本 E。先用样本 T 的数据,以特征变量 X 和结果变量 Y 基于递归分区的方式构造因果树模型,即从根节点开始自顶向下对样本进行划分,基于 Xi ≤x 或 Xi>x(i∈T)按照节点分割准则将父节点分裂为左右两个子节点,这里的树分裂规则一是各分裂节点异质性最大化,即进入同一子节点的用户处理效应尽量相同且不同节点的用户处理效应差异大。然后子节点按照相同的准则继续分割,直到新的节点不再生成为止。同时需要确定模型的处理效应估计值的准确性,即各个组内的个体的处理效应值和组内平均处理效应值的 MSE(Loss) 最小化,总体而言,组内效应估计方差最小化,组间异质性最大化。
因果树生成后,利用公式计算每个叶子节点上个体的处理效应,即

其中公式的前半部分表示在叶子节点 L 中处理变量 W 为1,所有个体的响应变量 Y 的均值;后半部分表示叶子节点 L 中处理变量 W 为 0,所有的个体响应变量 Y 的均值。重复上述步骤 B 次,最终形成有 B 棵树的因果森林,此时第 i 个个体的处理效应综合 B 棵树的均值进行计算,公式为:

最后用样本 E 的数据和拟合模型,对于落入到每个终端节点的群组,用已处理和未处理观察值之间的平均结局差异来预测每个群体的处理效应。简单案例如下图所示[3]

因果森林与随机森林的区别

经典的决策树模型是不断根据自变量把样本进行“分组”,以使得不同组样本之间的因变量差异最大。最终,同一分组内全部样本因变量的平均值就是这些样本的预测值。因果森林算法中的决策树不同在于,它使得每个组中都有实验组个体与对照组个体,因此每个分组都构成了一个人为构造的实验,可以直接计算出处理效应。因此在构造因果树的时候要保证组内的个体要尽可能相似,而不同组之间的处理效应的差异要尽可能大。最终,组内平均处理效应就是该组个体的处理效应的预测值。即经典决策树和因果决策树的区别在于前者为结果变量,后者为处理效应。广义随机森林(因果森林)遵循随机森林的思想,它保留了随机森林的主要结构,例如递归分区,采样和随机分割选择。但是,结果变量上不是对树进行平均,而是使用广义随机森林(因果森林)估计加权函数,并使用所得的权重来求解局部 GMM 模型。为了评估异构处理效果,该算法具有两个重要的附加功能,使其与标准随机森林区分开。

1.分割标准

与随机森林的第一个重要区别是分割标准。在随机森林中,我们要预测结果变量 Y,因此,通过最小化结果变量真实值与预测值的均方误差来拆分每个树节点。换句话说,选择要在每个树节点处拆分的变量和值。在完成每个树分区之后,计算每个特征变量在各个树的值,然后取所有观察结果的平均值,来得到新观察样本的结果变量值预测。
在因果森林中,我们要估算处理效应。但是我们永远无法在个体层面上观察到处理效应。因此,对处理效应的预测由终端节点中已处理和未处理观察值之间的平均结果差异来给出。为了区别各终端节点的处理效应差异最大化,对分割标准进行了调整,目标为对于分割后的左右树的处理效应差异最大。

2.诚实树

通常我们评估模型是将随机森林应用于测试集,并使用如均方误差之类的指标来度量预测的准确性。由于我们永远无法观察到处理效应,因此在因果森林中无法实现这种形式的衡量。因此,在估计因果效应时,人们应通过检查偏差,标准误差和相关的估计置信区间来评估其准确性。为了确保估算值尽可能准确,偏差应渐近消失,标准误差和置信区间应尽可能小。为了在他们的广义随机森林中进行这种统计推断,Athey 和 Wager 引入了诚实树。
具体做法为,将训练数据分为两个子样本:分裂子样本和估计子样本。分裂子样本用于拟合树,估计子样本用于预测处理效应。也就是说,估计子样本中的所有观测值都将落在先前拟合的树上,直到其落入终端节点为止。然后,根据末端节点中估计子样本的已处理和未处理观测值之间的平均结果差异来给出对处理效应的预测。使用这样的诚实树,因果森林的估计是一致的(即偏差渐近消失)和渐近高斯分布。
最后,在得到结果后,需要查看每个 confounder 变量的重要性,每个变量和结果变量的关系,确保和我们的先验一致。

案例背景

数据集基于从学习心态研究中提取的数据[4]。这项研究评估了“微调式”干预措施,以非常低的成本改变学生的行为,力求了解干预措施的异质性效果。该研究的主要目的是测试向学生灌输“成长型思维”的干预措施,其效果是否存在异质性。成长型思维可以发展智力,它与固定思维方式形成对照:智力是一成不变的,在出生时就已定型。由于成长心态干预只能教学生对学校的看法不同,而不是试图自己改变学校,因此,成长心态干预被认为在很大程度上取决于学校的情况。但是但是目前的相关研究结论尚未充分研究治疗效果的异质性。

案例数据[5]

《学习心态研究》是一项在美国公立高中样本中进行的随机对照试验。出于本次研讨会的目的,我们创建了一个数据集,该数据集来自 76 所学校的大约 10,000 名学生,具有模拟结果 Y(持续型变量衡量成绩),表示接受干预的二元处理变量 Z,以及以下 10 个关于学生和学校特征的协变量:

• S3-学生对未来成就的自我期望
• C1-学生种族/民族的分类变量
• C2-学生性别的分类变量
• C3-学生身份分类变量(即家庭中第一个上大学的人)
• XC-学校级别分类变量(即农村,郊区等)
• X1-学校学生定型思维水平平均值
• X2-学校的成就水平,由考试成绩衡量
• X3-学校的种族构成-例如,黑人,拉丁裔或美洲印第安人的百分比
• X4-学校贫困集中度-即来自收入低于联邦贫困线以下家庭的学生百分比
• X5-学校规模-学校所有四个年级的学生总数

主要研究问题包括:

  1. 心理干预对提高学生成绩是否有效?

  2. 研究人员假设,干预效果受学校的成就水平(X2)和先前存在的定型思维水平(X1)影响。特别是,关于X2如何调节干预效果提出了两个相互矛盾的假设:干预效果在中等成绩学校中最大(Goldilocks效应),或者在学校水平上是下降趋势(单调性假设)。

  3. 研究人员还收集了其他协变量,探索其在调节处理效应中的可能作用。

分析过程[6]

首先,尽管研究本身说是一项随机研究,但这里数据似乎有一些选择效应。如图1所示,对成功期望(S3)更高的学生似乎更有可能得到处理干预。因此,我们将研究分析为观察性研究而非随机研究。

问题1:心理干预对提高学生成绩是否有效?

平均效应的 95% 置信区间为 [0.287, 0.207],该区间不包括 0,说明心理干预能有效提高学生成绩。


转载:https://blog.csdn.net/Pylady/article/details/113904904
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场