Meta Learner和之前介绍的Causal Tree直接估量模型不同,属于间接估量模型的一种。它并不直接对treatment effect进行建模,而是通过对response effect(target)进行建模,用treatment带来的target变化作为HTE的估量。首要办法有3种:T-Learner, S-Learner, X-Learner,思路相对比较传统的是在监督模型的根底上去近似因果关系。

Meta-Learner的优点很明显,能够运用恣意ML监督模型进行拟合不需要构建新的estimator。所以如果有必需要基于DNN/LGB的需求无妨用Meta-Learner作为Benchamrk

核心论文

Knzel, S. R., Sekhon, J. S., Bickel, P. J., & Yu, B. (2019). Metalearners for estimating heterogeneous treatment effects using machine learning. Proceedings of the National Academy of Sciences, 116(10), 4156–4165.

模型

T-Learner

T是two的缩写,是比较传统的ML模型用于因果推理的方式。对照组和试验组进行别离建模得到两个模型,对每个样本核算两个模型的猜测值之差作为HTE的估量

0(x)=E[Y(0)∣X=x]1(x)=E[Y(1)∣X=x](x)=1(x)−0(x)\mu_0(x) = E[Y (0)|X = x]\\ \mu_1(x) = E[Y (1)|X = x]\\ \hat{\tau}(x) = \hat{\mu}_1 (x) – \hat{\mu}_0(x)

T-Learner有3个很明显的问题

  1. 对照组的模型无法学到试验组的pattern,试验组的模型也无法用到对照组的数据。两个模型彻底阻隔,也就导致两个模型可能各自有各自的差错,然后导致的猜测产生较大的差错。
  2. T-Learner约束了Treatment只能是离散值
  3. 大多数情况下treatment effect和response相比都是很小的,因此在response上的估量差错会对treatment有很大影响

S-Learner

S是Single的缩写,把对照组和试验组放在一同建模,把试验分组作为特征参加训练特征。然后用Imputation的办法核算如果该样本进入试验组vs对照组模型猜测的差异作为对试验影响的估量。

(x,w)=E[Y∣X=x,W=w](x)=(x,1)−(x,0)(x, w) = E[Y|X = x, W = w]\\ \hat{\tau}(x) = \hat{\mu} (x,1) – \hat{\mu}(x,0)

S-Learner的问题相同在于实质是对response进行拟合。如果运用树作为Base-learner,最终的HTE能够简略理解为样本落在不同的叶节点,叶节点的样本差异。但由于树本身是对outcome进行建模而非对treatment effect进行建模,很有可能有效的人群划分方式在这种情况下并学习不到。

S-Learner的思维很常见,和可解释机器学习中的Individual Conditional Expectation(ICE)实质是相同的, 在全样本上求均匀也便是大家了解的Partial Dependence。

X-Learner

X-Learner是针对上述说到的问题对T-Learner和S-Learner进行了融合。过程如下

  1. 别离对对照组和试验组进行建模得到模型M1M_1,M2M_2和T-Learner相同
  2. 把对照组放进试验组模型猜测,再把试验组放进对照组模型猜测,猜测值和实际值的差作为HTE的近似。这里和S-Learner的思路近似是imputation的做法。
  3. 试验组和对照组别离对上述target建模得到M3M_3,M4M_4,每个样本得到两个猜测值然后加权,权重一般可选propensity score,随机试验中能够直接用进组用户数,流量相同的随机试验直接用0.5感觉也没啥问题
0(x)=M1(Y0∼X0)1(x)=M2(Y1∼X1)D1(x)=Y1−0(x)D0(x)=1(x)−Y00=M3(D0(x)∼X0)1=M4(D1(x)∼X1)=g(x)∗0+(1−g(x))∗1\hat{\mu_0}(x) = M_1(Y^0 \sim X^0)\\ \hat{\mu_1}(x) = M_2(Y^1 \sim X^1)\\ \hat{D_1}(x) = Y_1 – \hat{\mu}_0(x)\\ \hat{D_0}(x) = \hat{\mu}_1(x) – Y_0 \\ \hat{\tau_0} = M_3(\hat{D_0}(x) \sim X_0)\\ \hat{\tau_1} = M_4(\hat{D_1}(x) \sim X_1)\\ \hat{\tau} = g(x) *\hat{\tau_0} + (1-g(x)) *\hat{\tau_1}\\

办法比较

在作者别离给出几种可能类型的simulation,并评价S,X,T的表现。以下别离是:Treatment unbalanced, CATE complex linear, CATE complex non-linear, HTE=0 global linear, HTE=0 local linear。

简而言之,试验影响较大时X-Learner表现最好,试验影响微小时S-Learner和X-Learner表现差不多。

AB实验人群定向HTE模型5 - Meta Learner

AB实验人群定向HTE模型5 - Meta Learner

AB实验人群定向HTE模型5 - Meta Learner

想看更多因果推理AB试验相关paper的小伙伴看过来 Paper_CausalInference_abtest 欢迎留言~


参考资料&开源代码

  1. Tian L, Alizadeh AA, Gentles AJ, Tibshirani R (2014) A simple method for estimating interactions between a treatment and a large number of covari- ates. Journal of the American Statistical Association 109(508):1517–1532.
  2. Powers S, et al. (2017) Some methods for het- erogeneous treatment effect estimation in high- dimensions. arXiv preprint arXiv:1707.00102.
  3. Microsoft 因果推理开源代码
  4. github.com/JasonBenn/d…