Paper慢慢读 - AB实验人群定向 Double Machine Learning
Hetergeneous Treatment Effect旨在量化实验对不同人群的差异影响,进而通过人群定向/数值策略的方式进行差异化实验,或者对实验进行调整。Double Machine Learning把Treatment作为特征,通过估计特征对目标的影响来计算实验的差异效果。
Machine Learning擅长给出精准的预测,而经济学更注重特征对目标影响的无偏估计。DML把经济学的方法和机器学习相结合,在经济学框架下用任意的ML模型给出特征对目标影响的无偏估计
HTE其他方法流派详见因果推理的春天-实用HTE论文GitHub收藏
核心论文
V. Chernozhukov, D. Chetverikov, M. Demirer, E. Duflo, C. Hansen, and a. W. Newey. Double Machine Learning for Treatment and Causal Parameters. ArXiv e-prints 文章链接
背景
HTE问题可以用以下的notation进行简单的抽象
- Y是实验影响的核心指标
- T是treatment,通常是0/1变量,代表样本进入实验组还是对照组,对随机AB实验\(T \perp X\)
- X是Confounder,可以简单理解为未被实验干预过的用户特征,通常是高维向量
- DML最终估计的是\(\theta(x)\),也就是实验对不同用户核心指标的不同影响
\[
\begin{align}
Y &= \theta(x) T + g(X) + \epsilon &\text{where }E(\epsilon |T,X) = 0 \\
T &= f(X) + \eta &\text{where } E(\eta|X) = 0 \\
\end{align}
\]
最直接的方法就是用X和T一起对Y建模,直接估计\(\theta(x)\)。但这样估计出的\(\theta(x)\)往往是有偏的,偏差部分来自于对样本的过拟合,部分来自于\(\hat{g(X)}\)估计的偏差,假定\(\theta_0\)是参数的真实值,则偏差如下
\[
\sqrt{n}(\hat{\theta}-\theta_0) = (\frac{1}{n}\sum{T_i^2})^{-1}\frac{1}{\sqrt{n}}\sum{T_iU_i} +(\frac{1}{n}\sum{T_i^2})^{-1}(\frac{1}{\sqrt{n}}\sum{T_i(g(x_i) -\hat{g(x_i)})})
\]
DML模型
DML模型分为以下三个步骤
步骤一. 用任意ML模型拟合Y和T得到残差\(\tilde{Y},\tilde{T}\)
\[
\begin{align}
\tilde{Y} &= Y - l(x) &\text{ where } l(x) = E(Y|x)\\
\tilde{T} &= T - m(x) &\text{ where } m(x) = E(T|x)\\
\end{align}
\]
步骤二. 对\(\tilde{Y},\tilde{T}\)用任意ML模型拟合\(\hat{\theta}\)
\(\theta(X)\)的拟合可以是参数模型也可以是非参数模型,参数模型可以直接拟合。而非参数模型因为只接受输入和输出所以需要再做如下变换,模型Target变为\(\frac{\tilde{Y}}{\tilde{T}}\), 样本权重为\(\tilde{T}^2\)
\[
\begin{align}
& \tilde{Y} = \theta(x)\tilde{T} + \epsilon \\
& argmin E[(\tilde{Y} - \theta(x) \cdot \tilde{T} )^2]\\
&E[(\tilde{Y} - \theta(x) \cdot \tilde{T} )^2] = E(\tilde{T}^2(\frac{\tilde{Y}}{\tilde{T}} - \theta(x))^2)
\end{align}
\]
步骤三. Cross-fitting
DML保证估计无偏很重要的一步就是Cross-fitting,用来降低overfitting带来的估计偏差。先把总样本分成两份:样本1,样本2。先用样本1估计残差,样本2估计\(\hat{\theta}^1\),再用样本2估计残差,样本1估计$ \hat{\theta}^2$,取平均得到最终的估计。当然也可以进一步使用K-Fold来增加估计的稳健性。
\[
\begin{align}
sample_1, sample_2 &= \text{sample_split} \\
\theta &= \hat{\theta}^1 + \hat{\theta}^2 \\
\end{align}
\]
Jonas在他的博客里比较了不使用DML,使用DML但是不用Cross-fitting,以及使用Cross-fitting的估计效果如下
从GMM的角度来理解
Generalized Method of Moments广义矩估计 (GMM)在经济学领域用的更多,在论文里乍一看到moment condition琢磨半天也没想起来,索性在这里简单的回顾下GMM的内容。
啥是矩估计呢?可以简单理解是用样本的分布特征来估计总计分布,分布特征由\(E((x-a)^K)\),样本的K阶矩来抽象,一阶矩就是均值,二阶原点矩就是方差。举几个例子吧~
例如,总体样本服从\(N(\mu, \sigma^2)\)就有两个参数需要估计,那么就需要两个方程来解两个未知数,既一阶矩条件\(\sum{x_i}-\mu=0\)和二阶矩条件\(\sum{x_i^2} - \mu^2 - \sigma^2=0\)。
再例如OLS,\(Y=\beta X\)可以用最小二乘法来求解\(argmin (Y-\beta X)^2\),但同样可以用矩估计来求解\(E(X(Y-\beta X))=0\)。实则最小二乘只是GMM的一个特例。
那针对HTE问题,我们应该选择什么样的矩条件来估计\(\theta\)呢?
直接估计\(\theta\)的矩条件如下
\(E(T(Y-T\theta_0-\hat{g_0(x)}))=0\)
DML基于残差估计的矩条件如下
\(E([(Y-E(Y|X))-(T-E(T|X))\theta_0](T-E(T|X)))=0\)
作者指出DML的矩条件服从Neyman orthogonality条件,因此即便\(g(x)\)估计有偏,依旧可以得到无偏的\(\theta\)的估计。
参考材料&开源代码
- V. Chernozhukov, M. Goldman, V. Semenova, and M. Taddy. Orthogonal Machine Learning for Demand Estimation: High Dimensional Causal Inference in Dynamic Panels. ArXiv e-prints, December 2017.
- V. Chernozhukov, D. Nekipelov, V. Semenova, and V. Syrgkanis. Two-Stage Estimation with a High-Dimensional Second Stage. 2018.
- Microsoft 因果推理开源代码 EconML
- Double Machine Learning 开源代码 MLInference
- https://www.linkedin.com/pulse/double-machine-learning-approximately-unbiased-jonas-vetterle/
- https://www.zhihu.com/question/41312883
Paper慢慢读 - AB实验人群定向 Double Machine Learning的更多相关文章
- Paper慢慢读 - AB实验人群定向 Recursive Partitioning for Heterogeneous Casual Effects
这篇是treatment effect估计相关的论文系列第一篇所以会啰嗦一点多给出点背景. 论文 Athey, S., and Imbens, G. 2016. Recursive partition ...
- Paper慢慢读 - AB实验人群定向 Learning Triggers for Heterogeneous Treatment Effects
这篇论文是在 Recursive Partitioning for Heterogeneous Casual Effects 的基础上加入了两个新元素: Trigger:对不同群体的treatment ...
- AB实验人群定向HTE模型5 - Meta Learner
Meta Learner和之前介绍的Casual Tree直接估计模型不同,属于间接估计模型的一种.它并不直接对treatment effect进行建模,而是通过对response effect(ta ...
- AB实验的高端玩法系列4- 实验渗透低?用户未被触达?CACE/LATE
CACE全称Compiler Average Casual Effect或者Local Average Treatment Effect.在观测数据中的应用需要和Instrument Variable ...
- AB实验的高端玩法系列2 - 更敏感的AB实验, CUPED!
背景 AB实验可谓是互联网公司进行产品迭代增加用户粘性的大杀器.但人们对AB实验的应用往往只停留在开实验算P值,然后let it go...let it go ... 让我们把AB实验的结果简单的拆解 ...
- AB实验的高端玩法系列3 - AB组不随机?观测试验?Propensity Score
背景 都说随机是AB实验的核心,为什么随机这么重要呢?有人说因为随机所以AB组整体不存在差异,这样才能准确估计实验效果(ATE) \[ ATE = E(Y_t(1) - Y_c(0)) \] 那究竟随 ...
- 滴滴数据驱动利器:AB实验之分组提效
桔妹导读:在各大互联网公司都提倡数据驱动的今天,AB实验是我们进行决策分析的一个重要利器.一次实验过程会包含多个环节,今天主要给大家分享滴滴实验平台在分组环节推出的一种提升分组均匀性的新方法.本文首先 ...
- 为什么在数据驱动的路上,AB 实验值得信赖?
在线AB实验成为当今互联网公司中必不可少的数据驱动的工具,很多公司把自己的应用来做一次AB实验作为数据驱动的试金石. 文 | 松宝 来自 字节跳动数据平台团队增长平台 在线AB实验成为当今互联网公司中 ...
- Machine Learning 方向读博的一些重要期刊及会议 && 读博第一次组会时博导的交代
读博从报道那天算起到现在已经3个多月了,这段时间以来和博导总共见过两次面,寥寥数语的见面要我对剩下的几年读书生活没有了太多的期盼,有些事情一直想去做却总是打不起来精神,最后挣扎一下还是决定把和博导开学 ...
随机推荐
- AndroidStudio插件大全
Android-Studio-Plugins 原文地址:https://github.com/itgoyo/Android-Studio-Plugins 欢迎star~~~ Android-Studi ...
- 【题解】BZOJ1034 [ZJOI2008]泡泡堂BNB(贪心)
[题解]BZOJ1034 [ZJOI2008]泡泡堂BNB(贪心) 考虑直接模拟田忌赛马... 我的最小比你的大,直接上 我的最大比你的大,直接上 otherwise,我小换你大 考虑最劣,由于每次比 ...
- 【题解】P4137 Rmq Problem(莫队)
[题解]P4137 Rmq Problem(莫队) 其实这道题根本就不用离散化! 因为显然有\(mex\)值是\(\le 2\times 10^5\)的,所以对于大于\(2\times 10^5\)的 ...
- 【Spring Cloud 源码解读】之 【如何配置好OpenFeign的各种超时时间!】
关于Feign的超时详解: 在Spring Cloud微服务架构中,大部分公司都是利用Open Feign进行服务间的调用,而比较简单的业务使用默认配置是不会有多大问题的,但是如果是业务比较复杂,服务 ...
- 「USACO 1.3」 Name That Number 解题报告
\(注意 该篇题解为本人较早时期写的题解 所以会很傻 直接能用map 以string为下标偏偏要绕弯儿 有时间改一改QAQ\) [USACO1.2]Name That Number 题目描述 在威斯康 ...
- SpringBoot中SpringMVC的自动配置以及扩展
一.问题引入 我们在SSM中使用SpringMVC的时候,需要由我们自己写SpringMVC的配置文件,需要用到什么就要自己配什么,配置起来也特别的麻烦.我们使用SpringBoot的时候没有进行配置 ...
- 带有外部Tomcat的Spring Boot
在本文中,我将如何在外部Tomcat上运行Spring Boot应用程序.对我来说,这是一个现实的场景,我必须解决这个问题,因此也请教了一下优锐课老师,得到了很多帮助.也希望当你遇到类似问题时,能为你 ...
- 《图解机器学习-杉山将著》读书笔记---CH2
CH2 学习模型 重点提炼 学习模型作用: 使特定函数与数据集相近似 学习模型类型: 1.线性模型 (1)最简单的线性模型,缺点:只能表现线性的输入输出函数,不能很好地解决实际问题 (2)基于参数的线 ...
- 查找2-n之间素数的个数
题目描述 查找2-n之间素数的个数.n为用户输入值.素数:一个大于1的正整数,如果除了1和它本身以外,不能被其他正整数整除,就叫素数.如2,3,5,7,11,13,17…. 输入 整数n 输出 2-n ...
- 【一起学源码-微服务】Hystrix 源码一:Hystrix基础原理与Demo搭建
说明 原创不易,如若转载 请标明来源! 欢迎关注本人微信公众号:壹枝花算不算浪漫 更多内容也可查看本人博客:一枝花算不算浪漫 前言 前情回顾 上一个系列文章讲解了Feign的源码,主要是Feign动态 ...