因果推断学习笔记(三):因果推断比赛 ACIC Data Challenge 学习笔记

近期的学习是寻找效果稳定又跑得快的 causal inference 黑盒子,并且四处收集一下“黑盒子”评估方式。

从2016年开始,一年一度的 Atlantic Causal Inference Conference 有一个 Data Challenge:一个关于因果推断的比赛。网上可以找到官方对于2016年和2017年这两次比赛的一些小结,一边看一边囤一篇简单的学习笔记。

ACIC2016 Data Challenge

ACIC2016 Data Challenge主页:https://jenniferhill7.wixsite.com/acic-2016/competition

主办方在赛后写了一篇总结性质的论文:Dorie, V. et al. 2017. Automated versus do-it-yourself methods for causal inference: Lessons learned from a data analysis competition. arXiv:1707.02641 [stat]. (Jul. 2017)

Data Challenge 介绍

ACIC2016 的赛题是估算 ATT (Average Treatment effect on the Treated),ATT=E[Y(1)-Y(0)|T=1]。严格一点来说,这个比赛其实是估算 SATT (Sample Average Treatment Effect),也就是ATT取期望的时候,这个期望是在 sample 上取期望的 (“the expectation is taken over the analysis sample”)。

比赛所用的数据是“半真实”的,对于每个数据集:

  • covariates 是真实的
    • 来源于 Collaborative Perinatal Project
    • “a massive longitudinal study that was conducted on pregnant women and their children between 1959 to 1974 with the aim of identifying causal factors leading to developmental disorders”
    • 主办方选择了4802个样本,每个样本包含58个 covariates,其中3个categorical 、5个binary、27个count data 、23个continuous
  • treatment 和 outcome 是主办方通过各种各样秘密方法生成的,因为数据是主办方生成的,所有数据的真实 SATT 都是已知的,可以作为“正确答案”对不同的因果推断算法进行评估。

有一组参赛组是“Black box组”。参赛者提交源码,主办方会在7700组(77种 x 重复100遍)数据上进行评估。Exciting!

数据生成方法已经开源在(GitHub:vdorie/aciccomp),几行脚本就可以把数据都生成出来自己用。

Black box 赛果

下面这张截图是 block box 分组的主要结果。几个主要的评估指标如下:

  • Bias 和 RMSE: 估算的 SATT 和真实 SATT 的差异。
  • Coverage:每个推断算法都会返回一个关于 SATT 的置信区间。Coverage 表示多大比例的置信区间包含真实 SATT。
  • Inverval length:平均的置信区间长度。Coverage 和 Inverval length 要结合起来看才有意义(它俩是有 trade-off 的),理论上希望 coverage 越高并且 inverval length 越小。
  • PEHE (precision in estimation of heterogeneous effects):对于每个数据集,PEHE 是每个人的 treatment effect(individual level treatment effect)估算值的 RMSE。

从 Bias 和 RMSE 来看,BART、H20 Ensemble、calCause 和 TMLE明显好于其它方法。从 Coverage 和 Interval length 来看,BART、calCause 和 TMLE 效果也很好,H2O Ensemble 看起来不返回置信区间。

name bias rmse coverage interval length 备注
BART -0.002 0.02 0.81 0.04
H2O Ensemble -0.007 0.03 1 6.14 没有 confidence interval。没找到源码。
calCause -0.003 0.03 0.82 0.07 来自于 IBM Research。没找到源码。
TMLE -0.007 0.03 0.88 0.07 R里有包。

主办方的论文中还提供了一些赛后提交的新版算法的 Bias/RMSE,不少算法是 BART 和其它算法的结合版本。其中,个人感觉 BART on PScore 这个想法很不错。和 BART 相比起来,Bias/RMSE 差不多,在 ave interval length 差不多的情况下 coverage 更好。

ACIC2017 Data Challenge

ACIC2017 Data Challenge 介绍:SecondAnnualCausalInferenceDataAnalysisChallenge.pdf

Data Challenge 介绍

2017年的比赛和2016年的套路基本一致。比赛的数据依然是“半真实”的,covariates 和去年一致(但是实际上生成数据时只用了其中8个),treatment 和 outcomes 依然是花式生成的(生成方式不同)。比赛内容除了估算 SATT,还需要估算 individual treatment effects(CATE )。

这一年的挑战的主题是 “targeted selection”(当然,这是赛后公布的): “That is, we were interested in understanding the behavior of various methods in situations where the likelihood that an individual receives treatment is a function of the expected response of that individual if left untreated.” 我觉得 targeted selection 是一个很实际的主题。例如,拿广告投放举例,广告主一般倾向于把广告投给有潜力转化的人,一般不会把广告浪费在八竿子打不着的人身上。

比赛结果小结

完整的比赛结果小结在 Prof. Hahn 的主页上:https://math.la.asu.edu/~prhahn [Summary report] [Summary plots]

我重画了一下 summary plots,因为官方的 summary plots 只标了算法的ID,看起来不是很方便。第一幅图越往右下角越好(置信区间可以 cover 到真实 SATT 并且置信区间小)。第二幅图越往左下角最好(SATT 和 CATE都准)。个人感觉,整体上看,这4个方法比较好:

个人感想

  1. 从两年的比赛来看,BART 是一个输出非常稳定的选手。同时,BART 和其它方法结合起来似乎战斗力还可以变得更强。个人特别喜欢 BART on PScore 这个组合。
  2. Ensemble 看起来是很有前途的。在16年的比赛里,H2O Ensemble 效果很好,可惜没有开源。
  3. 比赛中用的数据生成方式很适合利用公开的或者自己的 covariates 生成大量 benchmark 数据。毕竟如果要在真实场景中构造这么多带有 ground truth ATT 的数据,是要吐血的。