卖设计图的网站,网站建设方法:,微信网站怎样做,多元国际二维码入口最近阅读了TKDD2020年的《A Survey on Causal Inference》#xff0c;传送门#xff0c;自己对文章按照顺序做了整理#xff0c;同时对优秀的内容进行融合#xff0c;如有不当之处#xff0c;请多多指教。
文章对因果推理方法进行了全面的回顾#xff0c;根据传统因果框…最近阅读了TKDD2020年的《A Survey on Causal Inference》传送门自己对文章按照顺序做了整理同时对优秀的内容进行融合如有不当之处请多多指教。
文章对因果推理方法进行了全面的回顾根据传统因果框架所做的三个假设将这些方法分为两类对于每个类别都讨论和比较了传统的统计方法和最近的机器学习方法。
1. 背景介绍
相关性 当两个变量呈现增加或减少的趋势它们就是相关的。 因果关系 部分原因造成了结果而结果部分地依赖于原因。 例如冰激凌销量与溺水死亡率 观察到随着冰淇淋销量增加溺水死亡率急剧上升的现象。简单的相关性认为吃冰淇淋会导致溺水吃冰淇淋和游泳背后共同因素是季节。在炎热的夏季冰淇淋的销售速度远高于寒冷的月份而且在炎热的夏季人们更有可能进行游泳活动这就是因果关系。 因此搞清因果推理背后的原因是有价值的而最有效的方法则是进行随机对照实验实验组和对照组的差异即因果因素分析。
存在问题
在现实中随机对照试验总是代价昂贵的受试者样本不足不能代表实验/干预最终目标的现实世界人群。另一个问题是随机对照试验只关注样本的平均值并没有解释机制或适用于个别受试者。此外大多数随机对照试验还需要考虑伦理问题这在很大程度上限制了其应用。
因此现实中只能拿到非随机对照实验的数据也称观察数据。比如在医院里面就记录了每个人病人就医时的情况特征、医生开的药treatment、病人用药后的效果outcome这些就是观察数据。无论是随机对照实验的数据RCT还是观察数据在因果推断领域都是这样的三元组XWYX是特征W是施加的treatmentY是outcome。
为了准确预估因果效应解决观察数据的问题人们提出了各种框架比较有名的是potential outcome frameworkPOF、structural causal modelSCM。
POF倾向于预估反事实的效果即potential outcomeSCM引入了因果图和结构方程因果图构建因果结构结构方程则衡量因果效益的大小
本文介绍潜在结果框架的基本概念及其三个关键假设以确定因果效应。然后详细讨论了基于这三个假设的七种因果推理方法包括重新加权方法、分层方法、基于匹配的方法、基于树的方法、基于表示的方法、基于多任务学习的方法和基于元学习的方法。还描述了放宽三个假设的因果效应估计方法以满足不同情况下的需求。
2. 基本概念
因果推断的任务核心目标就是找到影响结果产出的核心因素。比如一种病有A、B 两种药可以治疗医生给一个病人吃A药成功率为70%如果吃B药成功率为90%。成功率及其变化就是因果推断希望能够从数据中学习到的。
2.1 基础定义
unit 因果推断里最小的物理单元具有原子性的。单位可以是一个实体一个公司一个病人一个人或者一个物体或人的集合。treatment 对一个unit施加的动作。比如潘金莲给大郎喂药喂药就是treatment。一般用W表示比如W1表示吃药施加treatmentW0表示不吃药没有施加treatment。outcome 某个unit在某个treatment下的表现比如吃药之后好了还是没好。一般用Y表示Y(W1)表示这个人在吃药后的表现如果Y1表示病好了则Y(W1)1的含义是这个人吃药之后病好了。同理Y(W1)0表示这个人吃药之后病没有好。 observed outcome unit在实际的treatment下的表现这个人实际是吃了这个药的一般用YFY(Ww)Y^FY(Ww)YFY(Ww)表示。potential outcome unit在潜在的treatment下的表现比如这个人没有吃药但是如果吃药了其表现就是potential outcome其实就是如果怎么做就会怎么样的结果。Counterfactual outcome 是除单位实际采取的治疗之外的治疗的潜在结果。由于一个单位只能接受一种治疗因此只能观察到一种潜在结果其余未观察到的潜在结果就是反事实结果。一般用YCFY(Ww′)Y^{CF}Y(Ww)YCFY(Ww′)表示。 Pre-treatment Variables 实施treatment前变量是一种不受treatment影响的变量也被称为背景变量它们可以是患者的人口统计数据、病史等。Post-treatment Variables 实施treatment后变量是受治疗影响的变量。治疗后变量的一个例子是中间结果例如前面提到的药物例子中服用药物后的实验室测试。treatment effect 施加了treatment后的增量效果or 增益比如吃药之后相比于没有吃药其治愈率提升了多少其存在如下3个维度 Average Treatment Effect (ATE) ATEE[Y(W1)]−E[T(W0)]ATE E[Y(W1)] - E[T(W0)]ATEE[Y(W1)]−E[T(W0)]所有人的平均treatment effect。Conditional Average Treatment Effect (CATE) CATEE[Y(W1)∣Xx]−E[Y(W0)∣Xx]CATE E[Y(W 1)|X x] − E[Y(W 0)|X x]CATEE[Y(W1)∣Xx]−E[Y(W0)∣Xx]在特征XxXxXx的子人群里面treatment effect。Individual Treatment Effect (ITE) ITEiYi(W1)−Yi(W0)ITE_i Y_i (W 1) − Y_i (W 0)ITEiYi(W1)−Yi(W0)某个unit个体维度的treatment effect。
2.2 三大假设
Stable Unit Treatment Value Assumption (SUTVA) 任何单位的潜在结果potential outcome不会随着分配给其他单位的治疗而变化并且对于每个单位每个治疗水平没有不同的形式或版本。这一假设强调两点: 第一是各单元的独立性即各单元之间不存在相互作用。第二是每种治疗是单一版本。如不同剂量的A药在SUTVA假设下是不同的治疗方法。 Ignorability可忽略性 考虑到背景变量X治疗分配W与潜在结果无关。可忽略性假设表明了三方面: 第一如果两个患者具有相同的背景变量X无论治疗分配如何他们的潜在结果都应该是相同的。第二如果两个患者具有相同的背景变量值无论他们的潜在结果值如何他们的治疗分配机制应该是相同的。第三不存在某个在X之外的隐变量同时影响outcome和treatment使得treatment和outcome相关因此这个假设又称unconfoundedness assumption。 Positivity正向性 对于X的任何值治疗分配都不是确定的概率。每个人都有概率被施加任何treatment并且人群中存在所有的treatment。
2.3 Confounders and General Solutions混淆因子和通用解决方案
Confounders混淆因子 是对实验结果有干扰的变量。如医药分析案例的年龄就是混淆因子。Selection bias选择偏差 正如ATE的定义ATEE[Y(W1)]−E[T(W0)]ATE E[Y(W1)] - E[T(W0)]ATEE[Y(W1)]−E[T(W0)]在机器学习领域为了能够得到这个值简单粗暴地用2个模型预估E[Y(W1)]E[Y(W1)]E[Y(W1)]和E[T(W0)]E[T(W0)]E[T(W0)]然后做差值即可得到ATE但是由于混淆变量Confounders的存在导致ATE的计算会存在很大的偏差这种偏差就称为选择偏差。
我们再看一个辛普森悖论问题比如现在有两种药A和B我们希望看看每种药的效果如果直接看总的治愈率A是83%B是78%A药的效果比B好。但是如果根据用户的年龄划分年轻病人中A的治愈率是87%B是92%年老病人中A的治愈率是69%B是73%。这么看B药的效果反而比A好。这个问题又被成为辛普森悖论。
出现悖论的原因是年轻的病人其症状更轻微因此医生倾向于开A种药年老的病人则开B种药由于年轻病人的抵抗力一般较好治愈率都比较高所有总体看会得出A药的效果比B药的效果好的错误结论。在这里年龄这个变量就是一个Confounder。
避免Confounders导致的Selection bias通常有2种方法
match 施加了不同treatment的人需要需要经过匹配之后再做比较比如选择的都是年轻人这样就是模拟控制变量的做法。一般方法有sample re-weighting, matching, tree-based methods, confounder balancing, balanced representation learning methods, multi-task based methods。Meta-learning 先基于观察数据训练模型得到有偏的结果后续对结果进行纠正。
3. 基于3大假设的常用方法
一般主要分为以下几类方法
re-weighting methods;stratification methods;matchingmethods;tree-based methods;representation based methods;multi-task methods;meta-learning methods.
3.1 Re-weighting Methods 由于混杂因子的存在实验和对照组的协变量分布不同将会导致选择偏差问题而样本加权是克服选择偏差的有效方法为数据每个单位分配适当的权重可以创建一个治疗组和对照组分布相似的伪总体。
倾向分数propensity score 是平衡分数的一种特殊情况。e(x)Pr(W1∣Xx)e(x) Pr (W 1|X x)e(x)Pr(W1∣Xx)
在倾向分数的基础上提出了基于倾向评分的样本重加权。Inverse propensity weighting(IPW) 称为处理加权的逆概率为每个样本分配一个权重rrrrWe(x)1−W1−e(x)r \frac{W}{e(x)} \frac{1-W}{1-e(x)}re(x)W1−e(x)1−W。
WWW为Treatmente(x)e(x)e(x)定义如上。
IPW 中的DR estimator方法将倾向评分权重与结果回归结合起来因此即使倾向评分或结果回归中的一个不正确(但不是两个都不正确)具有鲁棒性。 CBPS 直接从估计的参数倾向性得分构建协变量平衡得分增加了对倾向性得分模型错定的鲁棒性。 Data-Driven Variable Decomposition(D2VD) 算法提出了区分混杂因素和调整变量同时剔除不相关变量的方法。 实践中对观测变量之间相互作用的先验知识很少数据通常是高维的和有噪声的。为了解决这个问题Confounder Balancing, DCB算法用于选择和区分混杂因素以平衡分布。总的来说DCB通过重新加权样本和混杂因素来平衡分布。
3.2 Stratification Methods
同一亚组中的单位可以被视为来自随机对照试验数据的样本。基于每个亚组的同质性可以通过随机对照试验(rct)数据开发的方法计算每个亚组(即CATE)内的治疗效果。或者换种说法即通过将treatment组和control组划分成为同质的子人群消除confounder从而消除选择偏差。简单来说就是将观察数据构建成控制变量的随机实验的数据从而可以得到类似于AB实验的置信的数据。
比如根据倾向性得分划分多个子人群使得子人群是同质的从而求得子人群的ATE。缺点是treatment组和control组在倾向性得分的重叠度不一定高导致子人群样本量少偏差大。ATE的计算过程如下 其中Y^t(j)\hat{Y}_t (j)Y^t(j)和Y^c(j)\hat{Y}_c (j)Y^c(j)分别是第j个子块中处理结果和控制结果的平均值。q(j)q(j)q(j)是第j个方块中单位的比例分层有效地减小了ATE估计的偏差。分层方法的关键是如何创建块和如何组合创建的块。等频率方法是创建块的常用策略。等频率方法按出现概率(如倾向得分)分割块使协变量在每个子组中具有相同的出现概率(即倾向得分)。
3.3 Matching Methods
基于匹配的方法提供了一种估计反事实的方法同时减少了混杂因素带来的估计偏差。可以理解为因为每个人要么在treatment组w1要么在control组w0。对于在treatment组的人原始人群需要在control组中找到相似特征的相似人群用相似人群的outcome来近似原始人群在control组中的outcome。一般来说通过匹配估计的第i个单元的潜在结果为 其中Y^i(0)\hat{Y}_i(0)Y^i(0)和Y^i(1)\hat{Y}_i(1)Y^i(1)是实验和对照估计结果J(i)表示相反实验组中单元i匹配的邻居。
基于匹配的方法核心思想是经过变换后的倾向性评价距离从而减少偏差现有方法集中于Hilbert-Schmidt Independence Criterion based nearest neighbor matching (HSIC-NNM)和Randomized Nearest Neighbor Matching(RNNM)、nearest-neighbor matching (NNM)、Johnson–Lindenstrauss (JL)即通过线性或者非线性方法投影特征进而计算距离减少偏差。常见的方法总结如图
3.4 Tree-based Methods
基于决策树学习是一种预测建模方法。决策树是一种用于分类和回归的非参数监督学习方法。目标是创建一个模型通过学习从数据推断出的简单决策规则来预测目标变量的值。目标变量是离散的树模型称为分类树其预测误差是根据错误分类代价测量的。在这些树结构中叶子表示类标签分支表示指向这些类标签的特征的连接。目标变量是连续的决策树被称为回归树其预测误差由观测值和预测值之间的差的平方来测量。Classification And Regression Tree(CART)分析是一个总称用于指代上述两个过程。CART模型对数据空间进行了分区并为每个分区空间拟合了一个简单的预测模型因此每个分区都可以图形化地表示为一棵决策树。
树模型在分裂过程中每个节点的特征都是一样的因此在做matching上有天然的优势可以得到偏差较小的CATE的值不过现有的树模型无法完成因果推断的任务还需要修改树的分裂标准和输出值计算通常输出值就是CATE。
Bayesian Additive Regression Trees(BART)有几个优势。它很容易实现只需要插入结果、治疗分配和混杂协变量无需关于这些变量如何参数相关的信息以便在拟合模型时需要更少的猜测此外它可以处理大量的预测因子产生一致的不确定性区间并处理连续的处理变量和缺失数据。基于树的框架也可以扩展到一维或多维的处理。每个维度可以是离散的或连续的。树状结构用于指定用户特征和相应处理之间的关系。这个基于树的框架对于建模错误规范非常健壮并且高度灵活只需进行最少的手工调优。
3.5 Representation Learning Methods
表示学习通常是通过转换原始协变量或从协变量空间中提取特征来学习输入数据的表示。特别关注深度学习多个非线性变换的组合可以产生更抽象最终更有用的表示。深度表示学习模型能够自动搜索相关的特征并将它们组合在一起从而实现更有效和更准确的反事实估计而传统机器学习方法需要用户准确地识别特征。到目前为止基于深度表征学习的方法已经取得了重大进展以克服观测数据因果效应估计的挑战。我们将基于深度表示学习的方法分为基于领域适应的方法、基于匹配的方法和基于持续学习的方法。
基于表征的域适配Domain Adaptation Based on Representation Learning 提取有效的特征表示是领域自适应的关键。在接下来的讨论中差异距离在解决因果推理中的域适应问题中起着重要的作用。学习特征表示有三大目标 (1)基于事实表示法的低误差预测; (2)考虑相关事实结果对反事实结果进行低误差预测; (3)处理实验组与对照组的分布距离
基于表征的匹配方法Matching Based on Representation Learning 更容易解释因为任何样本的反事实结果都直接被设定为接受相反处理的组中与其最近的邻居的事实结果。
基于表征的持续学习方法Continual Learning Based on Representation Learning 现有的表示学习方法只关注特定来源和平稳的观测数据。这样的学习策略假设所有的观察数据在训练阶段已经可用并且只有一个来源。这一假设在实践中是站不住脚的。
3.6 Multi-task Learning Methods
因果推断可以被定义为一个多任务学习问题其中实验组和对照组有一组共享层实验组和对照组分别有一组特定层。通过倾向分数的关联程度的dropout概率对网络结构进行优化。多任务模型可以扩展到多个实验组中而每个实验组的可以对参数连续性进行处理如dose response network (DRNet)对实验的剂量进行区间化处理进行实验。
3.7 Meta-Learning Methods
因果推断里有2个关键的任务 (1)控制混杂因素即消除混杂因素与结果之间的伪相关性; (2)给出了CATE估计的精确表达式。
一般来说基于元学习的算法基于两步骤完成上述任务 (1)估计条件平均结果E[Y∣XX]E[Y |X X]E[Y∣XX]这一步学习到的预测模型为基础学习器。 (2)推导基于步进结果差异的CATE估计器现有的元学习方法有T−learner、S−learner、X−learner、U−learnerT-learner、S-learner、X-learner、U-learnerT−learner、S−learner、X−learner、U−learner和R−learnerR-learnerR−learner。
T−learnerT-learnerT−learner和S−learnerS-learnerS−learner高度依赖训练基模型的性能。当两组的单元数量极度不平衡(即一组的单元数量远远大于另一组)时在小组上训练的基础模型的性能会很差。为了克服这一问题提出了X−learnerX-learnerX−learner它采用对照组的信息对处理组给出更好的估计反之亦然。
4. 三种假设的放宽情形 Relaxing Stable Unit Treatment Value AssumptionSUTVA这个假设主要集中在两个方面 1单元是独立和同分布的(i.i.d); 如和图相关的社交网络问题信号处理(signal processing)时间序列问题(time series problem)。 2只存在一种程度的treatment。如treatment是连续值比如药品的剂量可以将连续值转化为离散值。 Relaxing Unconfoundedness Assumption现有的工作绝大多数依赖于无混淆性假设即所有混淆因素都可以测量。然而这种假设在实践中可能是站不住脚的。 Relaxing Positivity Assumption正向性假设也称为协变量重叠或共同支持是观察性研究中确定treatment效果的必要假设。然而很少有文献讨论在高维数据集中满足这一假设。也就是说这个假设保证了在任何的X下所有treatment的数据都存在但是在高维的X下样本是很少的不一定存在所有treatment的样本。
5. 实践应用
5.1 常用数据集
IHDP、Jobs、Twins、ACIC datasets、IBM等其他数据集感兴趣的请参考原论文。
5.2 常见代码库
DowhyPythonhttps://github.com/py-why/dowhyCausal MLPythonhttps://github.com/uber/causalmlEconMLPythonhttps://github.com/microsoft/EconML#blogs-and-publicationscausalToolboxRhttps://github.com/soerenkuenzel/causalToolboxdragonnetPythonhttps://github.com/claudiashi57/dragonnetDRNetsPythonhttps://github.com/d909b/drnet
6. 常见的应用方向
Decision evaluation决策相关Counterfactual estimation反事实预估Dealing with selection bias消除选择偏差
6.1 广告系统
如果可以正确地预估广告营销活动的收益那么就可以给决策提供准确的数据支持并且可以判断进行哪些广告营销活动可以带来最大的收益如果和优化理论相结合就可以求解在有约束条件下最大化收益的广告策略。由于随机对照实验成本较高因此利用观察数据衡量广告收益就是一个比较重要的方向。
6.2 推荐系统
推荐和treatment effect的预估密切相关因为给用户推荐一个item可以认为是施加一个treatment。并且在推荐领域选择偏差更加严重因为用户更倾向于点击自己喜欢的item因此推荐系统会给用户推荐他们感兴趣的item这就导致观察数据有很大的偏差。
6.3 医药方面
当每个病人在每种药的疗效都能够准确的预估之后医生也更有针对性的提供药方。
6.4 强化学习方面
在强化学习领域的因果推断可以看做是一个多臂老虎机问题treatment就是actionoutcome就是rewardX特征就是上下文的特征exploration and exploitation就类似于随机实验数据和观察数据。
6.5 自然语言处理方面
去混淆词汇特征学习旨在学习对一组目标变量具有预测性但与一组混淆变量不相关的词汇特征。它对语言分析和下游任务的解释具有重要意义。
6.6 计算机视觉方面
现有的大多数工作依赖于相关性而不是因果相关的证据数据中的虚假相关性导致模型对问题的语言变化非常脆弱。为此在提出了一种数据增强策略使模型对伪相关具有更强的鲁棒性。
6.7 其他应用
教育 通过比较不同教学方法对学生群体的影响可以确定更好的教学方法。此外ITE评估可以通过评估每个学生在不同教学方法下的结果来增强个性化学习。例如ITE评估是用来回答这样的问题:“当这个学生不能解决问题时这个学生是从视频提示中受益更多还是从文本提示中受益更多?”这样智能导师系统就可以决定哪个提示更适合特定的学生。 政策决策 在政治领域因果推理可以提供决策支持。例如针对工作数据集开发了各种方法旨在回答“谁将从补贴工作培训中受益最大?”因果推断还有助于政治决策例如是否应该将一项政策推广到较大的人口规模。 改进机器学习方法 其实说白了就是增强了模型的可解释性。也可以扩展以提高机器学习方法的稳定性提高模型在未知领域的泛化能力。
7. 未来方向
增加或放宽因果模型中的假设在不同的因果模型之间建立正式的联系因果推理的机器学习”和“机器学习的因果推理让机器学习具备因果推理能力动态环境中的因果推理
参考文献
https://zhuanlan.zhihu.com/p/576878672这篇文章给我了很多启发老哥还是很棒的https://zhuanlan.zhihu.com/p/554682071https://blog.csdn.net/baidu_39413110/article/details/111411360https://www.cnblogs.com/caoyusang/p/13518354.htmlhttps://blog.csdn.net/qq_40707758/article/details/123348551