其他
划重点!!因果推断两大算法框架解析
导读 本次分享题目为“因果推断知识地图”,分享人为来自京东科技的算法工程师汪冬冬。
主要内容包括以下几个部分:1. 整体框架
2. 应用场景评估(决策问题)
3. 典型的因果算法
4. 因果推断实际落地中的难点
5. 案例-京东科技的额度决策模型
6. 未来发展
分享嘉宾|汪冬冬 京东科技 算法工程师
编辑整理|毕东海
内容校对|李瑶
出品社区|DataFun
应用场景评估(决策问题)
潜在结果类的模型有三个关键的假设。首先,个体的因果效应必须是稳定的,例如在探究发优惠券对用户购买概率的影响时,要保证一个用户的行为不受其他用户的影响,比如在线下比价或者受到不同折扣版本的优惠券影响。第二个假设是,在给定的特征情况下,用户的实际处理和潜在结果是独立的,这个假设可以用来处理观测不到的混杂。第三个假设是关于 overlap 的,即任何一种用户都应该给出不同的决策,否则就无法观察到这种用户在不同决策下的表现。 结构因果类的模型所面临的主要假设是变量之间的因果关系,这些假设往往难以证明。而使用 Meta learning 和基于树的方法时,其假设通常是条件独立的,即在给定特征的情况下,决策动作和潜在结果是独立的。这个假设与前面提到的独立性假设相似。
典型的因果算法
首先是计量经济学中常提及的工具变量法、did 方法和合成控制法。工具变量法的核心思想在于寻找与处理相关但与随机误差项无关的变量,即工具变量。此时工具变量与因变量之间的关系不受混杂的影响,可以将预测分为两个阶段:首先利用工具变量预测处理变量,然后利用预测的处理变量来预测因变量,得到的回归系数即为平均处理效应(ATE)。而 DID 方法和合成控制法则是针对面板数据而设计的方法,但在此不作详细介绍。 另一种常见的方法是利用倾向得分来估计因果效应。这种方法的核心是预测隐藏的分配机制,例如发放优惠券与不发放优惠券的概率。如果两个用户具有相同的优惠券发放概率,但实际上一个用户收到了优惠券,另一个用户没有,那么我们可以认为这两个用户在分配机制上是等价的,因此可以比较它们的效果。基于这一点,可以推广出一系列方法,包括匹配方法、分层方法和加权方法等。 还有一种方法是直接预测结果。即存在观测不到的混杂情况下,也可以通过假设直接预测结果,并通过模型自动进行调整。然而,这种方法可能引发一个问题:如果直接预测结果就足够,那么问题就不存在了吗?实际上,并非如此。 第四是结合倾向得分和潜在结果的思路,使用双重稳健和双重机器学习的方法可能会更准确。双重稳健和双重机器学习将两种方法结合在一起,其中任何一个部分的准确性都可以确保最终结果的可靠性,从而提供了双重保障。 另一种方法是结构因果类的模型,基于因果关系构建模型,如因果图或结构化方程。这种方法允许直接干预某个变量以获得结果,并进行反事实推断。然而,这种方法的前提是我们已经了解变量之间的因果关系,这往往是一个奢侈的假设。 Meta learning 方法是一种重要的学习方法,其涵盖了多种不同的类别。其中之一是 S-learning,该方法将处理方法视为一个特征,直接输入模型中。通过调整这个特征,我们可以观察到不同处理方法下结果的变化。这种方法有时被称为单模型学习者,因为我们为实验组和对照组各建立了一个模型,然后通过修改特征来观察结果。另一种方法是 X-learning,其过程类似于 S-learning,但额外考虑了交叉验证的步骤,以更准确地评估模型的性能。 树形方法是一种直观且简单的方法,通过构建树状结构来分裂样本,使得左右节点上的因果效应差异最大化。然而,这种方法容易过拟合,因此在实践中常常采用随机森林等方法来减少过拟合的风险。使用 boosting 方法可能会增加挑战,因为它更容易过滤掉一些信息,所以在使用时需要设计更复杂的模型以防止信息丢失。Meta learning 方法和基于树的算法通常也被称为 Uplift model。 因果表征是近年来在学术界取得一定成果的领域之一。该方法致力于解耦不同模块,将影响因素分开,以更精确地识别混淆因素。通过分析影响因变量y 和处理变量(treatment)的因素,可以识别出可能影响 y 和 treatment 的混淆因素,这些因素被称为混淆因素。这种方法有望提高模型的端到端学习效果。以倾向得分为例,它常常在处理混淆因素时表现出色。然而,倾向得分的过分准确有时并非有利。在同一倾向得分下,可能出现无法满足重叠假设的情况,这是因为倾向得分可能包含一些与混淆因素相关但不影响y 的信息。当模型学习得过于准确时,在加权匹配或分层处理时,可能会导致较大的误差。这些误差实际上并非由混淆因素引起,因此并不需要考虑。因果表征学习方法提供了解决这一问题的途径,能够更有效地处理因果关系的识别和分析。
因果推断实际落地中的难点
因果关系的弱化。在许多场景中,因果关系往往与随机波动的噪音处于同一量级,这给建模工作带来了巨大的挑战。在这种情况下,建模的收益相对较低,因为因果关系本身并不明显。然而,即使必须进行建模,也需要采用具有更强学习能力的模型才能够准确捕捉到这种弱化的因果关系。同时,需要特别注意过拟合的问题,因为学习能力较强的模型可能会更容易受到噪音的影响,导致模型过度拟合数据。 第二个普遍存在的问题是数据条件的不足。这个问题的范围较为广泛,主要原因在于我们所使用的算法假设存在着许多不足之处,特别是在利用观测数据进行建模时,我们的假设可能并不完全成立。其中最典型的问题包括重叠假设可能无法满足,我们的分配机制可能缺乏随机性。更为严重的问题是,我们甚至没有足够的随机测试数据,这使得我们难以客观地评估模型的表现。在这种情况下,如果仍然坚持进行建模,而且模型性能优于同比规则,那么我们可以借助一些业务经验来评估模型的决策是否合理。从业务角度出发,对于一些假设不成立的情况,比如未观测到的混杂因素,从理论上并没有特别好的解决方法,但如果一定要使用模型,可以尝试根据业务经验或进行一些小规模的随机测试来评估混杂因素的影响方向和程度。同时,将这些因素考虑到模型中,对于不满足重叠假设的情况,虽然这在我们后面的列举中作为第四个问题,但在此一并讨论,我们可以通过一些算法来排除一些分配机制中的非混杂因素,即通过因果表示学习来缓解这一问题。 在处理这种复杂性时,决策动作显得尤为重要。许多现有模型主要专注于解决二元问题,然而,若涉及多个处理方案,如何分配资源便成为一个更为复杂的问题。针对这一挑战,我们可以将多个处理方案分解成不同领域的子问题。此外,利用深度学习方法,我们可以将处理方案视为特征,并假设连续处理方案与结果之间存在某种函数关系。通过优化这些函数的参数,可以更好地解决连续决策问题,然而,这也引入了一些额外的假设,如重叠问题。 分配机制固定。见上述分析。 另一个常见问题是目标预测很多。在某些情况下,目标预测受到多种因素的影响,而这些因素又与处理方案相关联。为了解决这一问题,我们可以采用多任务学习的方法,尽管直接处理复杂的角色问题可能较为困难,但我们可以通过简化问题,仅预测受处理方案影响最为关键的指标,逐步为决策提供参考。 最后,一些场景下进行随机测试的成本较高,而且效果回收周期较长。在模型上线之前,充分评估模型的效果变得尤为重要。在这种情况下,进行小规模的随机测试可以用来评估效果。尽管评估模型所需的样本集比建模样本集少得多,但如果甚至无法进行小规模的随机测试,那么我们可能只能通过业务解释性来判断模型决策结果的合理性。
案例-京东科技的额度决策模型
未来发展
分享嘉宾
INTRODUCTION
汪冬冬
京东科技
算法工程师
毕业于天津大学,2017 年加入京东科技,具有多年智能决策模型建模经验。
往期推荐
vivo 超大数据规模分布式消息中间件架构演进实践
专利大模型的实践与知识问答探索
蚂蚁集团 EB 级大数据治理架构与实践
平安银行智能化数据安全分类分级实践分享
大语言模型对汽车行业的影响和实践探索
告别信息过载:大模型驱动的搜索与推荐,精准定位用户需求
阿里巴巴技术实践:BI+AI技术的融合与应用
官宣|Apache Paimon 毕业成为顶级项⽬,数据湖步⼊实时新篇章!
从0到1,聊聊货拉拉如何搭建数据指标体系
点个在看你最好看
SPRING HAS ARRIVED