闲聊因果效应:离线评估方法

容器存储计算

这里是闲聊因果效应系列文章, 基本概念介绍参见第一篇 《闲聊因果效应(1):当我们聊因果时,我们在聊什么 》 这里不再赘述。


当我们训练完一个模型后,自然要进行离线评估,尤其是在互联网领域做 Uplift Modeling 时,评估uplift模型做得好不好尤为重要。可惜,在因果推断领域,由于要预测的目标是无法观测的(即无法采集到 label 信息),因此无法使用类似 AUC,F1 score 之类的指标。

根据不同的场景,本文聊聊几种常用的评估方法。

有 Group truth

对于模拟数据集,比如 IHDP ,有真实的因果效应group truth信息,显然,这种情况下做离线评估是容易的

MAE_ATE

是真实的treatment effect 信息, 是模型的预测值, 下文沿用这两个符号。 则从整体角度评估 模型预测是否靠谱, 越小越好。

PEHE

PEHE 全称 precision in estimation of heterogeneous effect,从个体角度评估模型预测是否靠谱,越小越好。

无 Group truth

在大多数时候,我们拿到的数据集是无group truth的,即是不知道的,这时候模型的离线评估会困难许多。 当测试集是随机数据集(满足RCT条件,即treament是随机分配的)时 ,有以下几种常用方法进行离线评估。

注意,这些方法都需要随机数据集

MAE_ATT

计算 ATT (Average Treatment Effect of the Treated) 和 ATT 的MAE

其中 T 表示 Treatment 组的样本,即 { t=1 } ; C 表示 Control组样本,即{ t=0 }

由于测试集时随机的,所以 我们可以计算出ATT,然后根据 ITE estimator计算的预估结果 ,越小越好 ,越小表示 ITE estimator的ATT预估得越准。

Policy Risk

假如用 ITE estimator (也叫 uplift model) 做treatment决策, 比如制定一个决策规则

,当

, 当

相比

的 提升大于超参数

时,

, 表示应该要给 treatment。否则

,表示不应该给treatment。

Policy risk 则是说明 ITE estimator 用规则

做决策时的平均loss, 定义如下:

解读起来就是, 假如基于这个ITE estimator做treatment 决策出应该要给treatment(即

)那么就从随机 数据集(满足RCT条件)里找到treatment恰好也为 1 (即

)的样本, 计算期Y的期望

, 。当 时, 同理计算得到 , 。最后, 通过 , 加权, 得到 Policy risk。

Policy risk 越小越好。 越小说明基于 ITE estimator 做treatment决策的收益越大。关于超参数 ,其实是起到一个ROI考核的作用,只有当treatment的收益大于 时才给treatment。

到这里可能还有点抽象,我们来通过 TARNet/CFR论文中的例子来具象体会一下。该论文用了Job数据集做实验,任务是预测某个 就业培训政策(treatment) 对就业率的影响,标签 Y 表示是否就业。此时Policy risk就是失业率, 如果计算出来的 Policy risk越低,表示基于 ITE estimator 做的决策效果越好(就业率越好)。就业培训是要成本的,在资源有限的情况下,决策者会考虑只给那些经过培训能带来足够提升(大于 )的人提供培训支持。当 =0 时,表示只要一个人培训是正收益的,就应该给资源支持这个人培训。

排序评估:AUUC、Qini coefficient

AUUC(Area Under Uplift Curve)和Qini coefficient 类似大家熟知的AUC(Area under ROC curve),两者在计算口径上有一点区别,它们都是保序的度量。

AUUC 就是Uplift Curve下的面积, Qini coefficient 就是 Qini Curve下的面积,面积越大越好。

我们分别来介绍下 Uplift Curve、Qini Curve是怎么做的。

Uplift Curve

  • step 1: 模型对随机测试集进行预测,然后把样本按预估的 ITE (或者叫uplift value) 降序排序
  • step 2: 取ITE top 个样本 统计得到 。以 为横轴, 为纵轴, 画出Uplift Curve。

其中, 表示在 top 个样本中, treatment组的 label的和(即有多少个样本 ), 同理; 表示在 top 个样本中, treatment组总共有多少个样本, 同理。所以, 的含义就是, 在 top 个样本中, 如果都进行干预(有treatment), 会相比不做干预(无 treatment)会获得多少提升。

picture.image uplift curve 长这样。图片来自 scikit-uplift

Qini Curve

当 treatment 组和 control 组的 样本数量(在topK样本里)相差比较大的时候,Uplift Curve的计算可能会存在一些问题。为此 Radcliffe 提出 Qini curve ,把提升缩放treatment组的样本规模上。

做法与Uplift Curve类似,先按ITE 排序然后,取 ITE top k个样本 统计得到 。以k 为横轴, 为纵轴,画出 Qini Curve。

picture.image Qini Curve 长这样。图片来自 scikit-uplift

不难发现, Qini Curve 与Uplift Curve的关系如下:

我看了大多数文献资料,都提到说Qini Curve在实际情况中通常会比Uplift Curve更好,我觉得主要是因为Qini Curve可以处理treatment 组和contorl 组样本数量差异大的情况,具有稳定性,所以 Qini coefficient 会比AUUC 更实用一些。

面积计算的一些 trick

前面我们说到, AUUC 就是Uplift Curve下的面积, Qini coefficient 就是 Qini Curve的面积。现在我们已经知道Uplift Curve和Qini Curve是怎么来的了,那面积计算就显而易见的了。关于面积计算,这里提两个我所知道的trick:

  1. 画一条 random的Curve(即 随机预估 ITE,随便打分),可以借此对比一下 ITE estimator 、随机打分的结果,如果 ITE estimator 的曲线下的面积比 random的大,则说明做得比随机好,否则比随机差。
  2. 面积计算方面,用ITE estimator 曲线下的面积 减去 随机打分曲线下的面积,然后除以理论的面积上限做归一化,这样AUUC或Qini coefficient 就缩放到 [-1, 1] 的范围了。可以参考scikit-uplift的实现 https://www.uplift-modeling.com/en/latest/\_modules/sklift/metrics/metrics.html#qini\_auc\_score
开源实现

scikit-uplift :https://github.com/maks-sh/scikit-uplift/blob/master/notebooks/uplift\_metrics\_tutorial.ipynb

https://github.com/maks-sh/scikit-uplift/blob/master/notebooks/uplift\_metrics\_tutorial\_advanced.ipynb

更多其他评估指标

参考论文《Evaluation Methods and Measures for Causal Learning Algorithms》 https://arxiv.org/pdf/2202.02896.pdf

picture.image

小结

一杯铁观音喝完了,喜欢的记得点赞关注哦~

记得在2022年11月 国内的一个因果推断线上峰会中,有人问清华大学的崔鹏教授:做因果推断最难的是什么。崔鹏教授说:最难的是评估,因为这是很上帝视角的东西。

我听后深有感触。在实际问题中,因果推断预估的目标本来就是不可观测的,我们只能通过一些间接的手段来间接的评估,稍有不慎可能就无法得到线上线下结论的评估效果。站在上帝视角进行评估,必须时刻保持敬畏之心。

本文仅针对binary treatment 的情况进行探讨,对于多值(multiple)、连续值(continue dose)的treatment我们以后再聊。

参考资料
  1. IHDP、Job数据集下载 https://www.fredjo.com
  2. Evaluation Methods and Measures for Causal Learning Algorithms https://arxiv.org/pdf/2202.02896.pdf
  3. Estimating individual treatment effect: generalization bounds and algorithms https://arxiv.org/abs/1606.03976
  4. Using control groups to target on predicted lift: Building and assessing uplift models https://www.semanticscholar.org/paper/Using-control-groups-to-target-on-predicted-lift%3A-Radcliffe/147b32f3d56566c8654a9999c5477dded233328e

交流群:点击“联系 作者”--备注“研究方向-公司或学校”

欢迎|论文宣传|合作交流

往期推荐

KDD'23 交大,华为 | MAP:用于点击率预估的模型无关的预训练框架

CIKM'23 美团 | DCIN:考虑点击item上下文信息的CTR预估方法

KDD'23 蚂蚁 | SAMD:异构多场景推荐方法

长按关注,更多精彩

点个在看你最好看

picture.image

0
0
0
0
关于作者

文章

0

获赞

0

收藏

0

相关资源
云原生可观测性技术的落地实践
云原生技术和理念在近几年成为了备受关注的话题。应用通过云原生改造,变得更动态、弹性,可以更好地利用云的弹性能力。但是动态、弹性的环境也给应用以及基础设施的观测带来了更大的挑战。本次分享主要介绍了云原生社区中可观测性相关的技术和工具,以及如何使用这些工具来完成对云原生环境的观测。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论