介绍:本次分享的标题是《如何在因果推断中更好地利用数据?》,主要介绍团队近期在因果关系方面的工作。本报告从两个方面介绍了我们如何使用更多的数据进行因果推理。一是利用历史对照数据明确缓解混淆偏差,二是在多源数据融合下进行因果推理。全文目录:因果推理背景偏差校正因果树GBCT因果数据融合在蚂蚁业务中的应用一、因果推理背景常见的机器学习预测问题一般都设置在同一个系统中,比如通常假设独立同分布,比如预测抽烟的人得肺癌的概率,图片分类等预测问题。因果关系问题与数据背后的机制有关。常见问题,例如“吸烟会导致肺癌吗?”类似的问题是因果问题。因果效应估计问题中有两类重要的数据:一类是观察数据,另一类是随机对照实验产生的实验数据。观察数据是我们在实际生活或产品中积累的数据。比如吸烟数据,有些人喜欢抽烟,观察数据就是吸烟者的相关数据,最后一部分吸烟者得了癌症。机器学习预测问题是估计条件概率P(肺癌|吸烟),即在给定的吸烟条件下,观察到吸烟者得肺癌的概率。在上面的观察数据中,吸烟的分布其实并不是随机的:每个人的吸烟喜好不同,也会受到环境的影响。回答因果关系问题的最佳方法是进行随机对照实验。实验数据通过随机对照实验获得。在随机对照试验中,治疗的分配是随机的。假设你需要通过实验得出“吸烟是否会导致肺癌”的结论。首先,你要找足够多的人,强迫其中一半人吸烟,强迫另一半人不吸烟,观察两组患肺癌的概率。虽然随机对照试验在某些场景下由于道德、政策等因素无法进行,但随机对照试验在某些领域还是可以进行的,比如搜索推广中的A/B测试。因果估计问题E(Y|do(X))与传统预测或分类问题E(Y|X)的主要区别在于,JudyPearl提出的干预符号do出现在给定条件下。通过干预,强制将X变量设置为某个值。本次报告分享中的因果效应估计主要是指从观测数据中估计因果效应。如何在因果推理中更好地利用数据?本报告将以两个团队近期发表的论文为例介绍这样一个话题。首要任务是如何更好地利用历史控制数据。例如,在某个时间点举办了一场营销活动,这个时间点之前的时间称为“干预前”,这个时间点之后的时间称为“干预后”。我们希望在干预之前知道干预会带来多少实际效果,以帮助我们做出下一步的决定。在这个营销活动开始之前,我们有历史用户性能数据。第一项工作是介绍如何利用好“干预前”的数据,协助数据修正,更好地评估干预效果。第二个工作主要是介绍如何更好地利用多源异构数据。这类问题在机器学习中经常会涉及到,比如domainadaptation、transferlearning等。今天的报告中,我们将从因果关系的角度考虑多源异构数据的利用,即如何更好地估计因果效应假设有多个数据源。2.偏差校正因果树GBCT1。传统的因果树算法主要由两个模块组成:分裂准则:根据分裂准则将一个节点分裂成两个子节点。该方法预测新样本或组对叶节点的因果影响。一些传统的因果树算法根据因果效应的异质性进行分裂。基本思想是希望分裂后的左子节点和右子节点的因果关系比较大,它通过拆分捕获不同数据分布之间因果效应的异质性。传统因果树的分裂准则,例如:uplift树的分裂准则是最大化左右子节点之间的因果效应差异,差异的度量采用欧氏距离、KL散度等距离度量;因果树分裂准则可以直观地解释为最大因果效应的平方。从数学上可以证明,这种分裂准则等价于最大化叶节点因果效应的方差。一种常用的参数估计方法是在分裂叶节点上直接用实验组的平均结果减去对照组的平均结果,作为因果效应的估计值。在随机对照试验的情况下,治疗的分配是随机的,由此计算出的平均差就是因果效应。随机分配机制保证了实验组和对照组的数据分布相同,称为同质性。在因果树分裂得到子节点中,能否保证分裂得到的左子节点和右子节点的分布是同质的?2.修正因果树GBCT传统的因果树和提升树不能保证分裂后左右子节点的分布是同质的。因此,上一节中提到的传统估计是有偏差的。我们的工作重点是估计CATT对治疗组的平均因果效应。CATT的定义是:更进一步,传统的因果效应估计可以拆分为两部分:选择偏倚(selectionbias/confoundingbias)可以定义为:其直观意义是实验组中treatment=0时的估计值,minus转至对照组中treatment=0的估计值。在传统的因果树中,上述偏差没有被表征,选择偏差可能会影响我们的估计,导致最终估计有偏差。我们的想法是通过使用在产品或平台上积累的历史比较数据来明确减少选择偏差。具体操作基于两个假设:假设1:干预前实验组和对照组在治疗=0状态下的结局表现可以观察。以金融信贷产品中的信用卡产品为例,在加额之前,我们可以观察用户平时的表现,即实验组和对照组在不加额状态下的结果表现(treatment=0)可用;假设2:假设干预前后y的结果满足一定的连续性。直观的理解是,干预前后用户或群体的行为变化不会太剧烈。具体方法:①分裂准则分裂准则的第一部分类似于传统的因果树,通过拟合历史数据的结果来减少经验损失。例如,在不增加配额的状态下,用一个函数来拟合用户行为。分裂准则的第二部分使用混淆熵。与均方误差相比,混淆熵更能捕捉到高层信息。公式的直观含义:是:在实验组中,使用对照组的模型进行估计;在对照组中,使用实验组的模型进行估计;使两部分的估计值尽可能接近,使实验组和对照组的分布尽可能接近均匀。混淆熵的使用是我们工作的主要贡献之一。最后的loss就是以上两部分的加权和。注意,loss主要用干预前的数据(experienceloss的部分还是会用干预后的数据拟合),即干预前的数据用于辅助修正。②参数估计参数估计是利用干预后的数据(t≥τ)来估计因果效应。主要是利用干预前的数据校正学习得到树状结构,利用叶子节点中的干预后数据来估计因果效应。由于采用干预前的数据进行显性校正,采用干预后的数据计算估计值会更加准确。(PPT右侧)如右图,黄线代表实验组,蓝线代表对照组。业务中的一些策略可能会导致实验组和对照组的分配不是随机的,两者的分配存在明显差异。经过GBCT校正后,实验组和对照组干预前叶节点的数据分布基本对齐,某种意义上达到了类似于模拟随机对照实验的效果。因此,使用干预后的数据(黄色线下面积减去蓝线下面积)估计因果效应会更准确。传统树模型的集成包括bagging和boost等方法。upliftforest或causalforest使用的积分方法是bagging法,upliftforest的积分是直接求和,causalforest的积分需要求解一个lossfunction。由于在GBCT中设计了显式校正模块,GBCT支持使用boosting方法进行集成。基本思路和boosting类似:第一棵树校正后,第二棵树校正,第三棵树校正……在实验方面,做了两部分实验:①模拟实验。在带有groundtruth的模拟实验下,测试了GBCT方法是否能够达到预期的效果。模拟实验的数据生成分为两部分(表中第一列Φ表示选择偏差,Φ值越大,对应的选择偏差越强;表中的值为MAE,越小MAE值,方法越好):第一部分是观察到的混杂变量。在观察到混杂变量的情况下,测试GBCT的方法比传统方法更稳健。从表中的数据可以得出结论,选择偏差越大,传统方法(元学习器、因果森林等)的性能越差。第二部分是未观察到的混杂变量的存在。这时候,很多传统方法的效果就会明显变差。对于GBCT,在存在未观察到的混杂变量的情况下,性能相对稳定,同时始终优于其他方法。表中最后两列(GBCT-ND,GBCT-B)是消融实验,也就是去掉一些模块的弱化版GBCT,然后说明我们提出的每个模块都是有用的。②真实的信用卡提现数据。进行了随机对照实验,并根据随机对照实验构建了偏倚数据。在不同的设置下,GBCT方法始终优于传统方法,尤其是在有偏差的数据上,并且显着优于传统方法。3.因果数据融合第二个任务是因果数据融合,即在有多个数据源的情况下如何更好地估计因果效应。主要符号:是多个数据源,Y是结果,A是处理,X是感兴趣的协变量,Z是除X之外每个数据源(域)的其他协变量,S是域的指标表示它属于哪个域,μ是潜在结果的期望值。将结果拆解成如下表达式:目标函数δ用于估计每个领域的因果效应,干扰函数包括主效应、倾向得分、领域倾向得分、效应方差等。一些传统的方法,如元学习器,假设数据是齐次的,即分布是一致的。一些传统的数据融合方法可以处理跨领域人群的异质性,但不能明确捕捉干预结果的异质性和跨领域因果关系的异质性。我们的工作解决了更复杂的跨领域异质性,包括干预结果中的跨领域异质性和因果效应中的跨领域异质性。WMDL算法的框架图如上图所示。主要模块有:倾向得分、结果模型、因果信息感知加权模块。三个模块结合起来得到最终的估计。WMDL算法的三大亮点是:如何描述不同程度的跨域异质性,如何设计加权模块以使用更多的信息,以及如何得到双稳健估计。在这项工作中,它不是通过估计实验组。结果和对照组的结果,然后做差值得到因果效应的估计,而是直接估计因果效应,也就是DirectLearning。DirectLearning的优点是可以避免实验组和控制组中频率更高的噪声信号。左边部分假设因果效应在多个领域之间是相同的,但其结果可能是异质的;右边部分假设每个领域之间的因果效应是不同的,即不同领域之间,即使其相同的变量也有不同的因果效应。公式由拆解公式推导出,结果Y减去主效应除以处理估计为I(X),得到的最优解为δ(X)。中的分子是后面会提到的causalinformation-awareweightingmodule,是我们工作的一大贡献点;分母类似于双稳健方法中的倾向得分,只是在这项工作中也考虑了领域信息。如果不同域之间的因果效应不同,则同时考虑域的指标信息。这项工作具有三个优点:①通过不同的设计,既可以处理干预结果的异质性,又可以处理因果效应的异质性;②具有双重鲁棒性。论文中给出证明,只要领域的倾向得分模型或主效应模型的估计是无偏的,那么最终的估计就是无偏的(实际情况稍微复杂一些,详见论文);③本工作主要设计半参数模型框架。模型的每个模块都可以使用任何机器学习模型,甚至可以将整个模型设计成一个神经网络,实现端到端的学习。加权模块来源于统计学中的效率界限理论。它主要包含两个方面的信息:①是域间分布差异平衡转换的模块;它是一个用于因果关系信息的模块。可以通过左边的三张图来辅助理解:如果源域(sourcedomain)和目标域(targetdomain)的分布差异较大,则优先选择距离目标域(targetdomain)较近的样本重量;②通过在分母上设计倾向评分函数,给实验组和对照组中重叠的样本更大的权重;③通过V来描述数据中的噪声,由于噪声在分母上,所以噪声小的样本会得到较大的权重。通过将以上三部分巧妙结合,可以将不同域之间的分布差异和不同因果信息的表示映射到一个统一的域中。无论是同质因果效应还是异质因果效应,WMDL(加权多域直接学习)方法都有更好的效果。右图是加权模块的消融实验,可以看出加权模块的有效性。总之,WMDL方法始终优于估计方差较小的其他方法。4、在蚂蚁业务应用的金融信用风控场景中,通过增信、降价等干预手段,有望取得余额或风险变化等预期效果。在一些实际场景中,GBCT的修正工作会利用增发前一段时间的历史表现(不增发即可得到实验组和对照组的状态),通过历史信息进行显式修正,从而使干预以后估计会更准确。将GBCT拆分成一个子节点,使得干预前的行为对齐,干预后的因果效应更容易估计。(偏差校正后得到)图中红色为抬额组,蓝色为非抬头组,中间的灰色区域为预估的因果效应。GBCT帮助我们做出更好的智能决策,控制信贷产品的余额和风险。5、问答环节Q1:GBCT偏差修正与双差法(DID)有何异同?A1:GBCTbiascorrection的主要思想是利用历史对照信息来明确减少选择偏差。GBCT方法与DID双差法有相同点也有不同点:相同点是都使用了历史信息;不同之处在于它们都处理历史信息。DID假设历史数据中实验组和对照组之间存在固定区间(gap),预测时减去该区间(gap)。由于选择偏倚,实验组和对照组的分配不是随机的,GBCT通过偏倚校正的方式对历史实验组和对照组进行对齐。Q2:GBCT在未观察到的混杂变量上表现更好。有没有更直观的解释?A2:如果观察到所有混杂变量,则满足可忽略性假设。在某种程度上,虽然选择偏差没有明显减少,但实验组和对照组也可以通过传统方法对齐。实验表明GBCT的性能稍好,通过显式校正,结果更稳定。假设有一些未观察到的混杂变量。这样的场景在实践中非常普遍,历史对照数据中也存在未观察到的混杂变量。例如,在额度增加之前,可能无法观察到家庭状况和收入的变化,但用户的财务行为已经通过历史数据反映出来。我们希望通过混淆熵等历史性能信息来显式地减少选择偏差,使得在树分裂时,混淆变量之间的异质性可以在分裂的子节点中得到描述。在子节点中,未观察到的混杂变量概率更大,因此估计的因果效应相对更准确。Q3:您是否将GBCT与双机器学习(DML)进行了比较?A3:我做了一个比较。双机器学习是一种半参数方法。我们的工作更侧重于基于树的方法,因此我们选择的基学习器是一些相关的方法,例如树或森林。表中的DML-RF是DoubleMachineLearning版本的RandomForest。与DML相比,GBCT主要考虑如何利用历史控制数据。在比较法中,直接将历史结果作为协变量处理,但这种方法显然没有很好地利用信息。Q4:业务中可能遇到的类似问题是线下可能存在选择偏差。但是在线偏见可能与离线偏见有一些偏差。这个时候在线下评估效果的时候,可能没有办法很准确的预估离线效果。A4:这个问题在金融场景中是一个非常本质的问题。通过在线学习或搜索推广中的A/B测试,可以部分克服线下和线上的差异。金融场景,受政策影响,不易进行线上实验;另外,业绩的观察周期通常较长,比如信用类产品,观察用户反馈至少需要1个月的观察时间。所以,这个问题其实很难完美解决。我们一般采取以下做法:离线评估时使用不同时期(OOT)的测试数据进行验证,观察其性能的稳健性。如果测试表现比较稳定,那么就相对更有理由相信它的线上表现也不错。
