AB实验人群定向HTE模型4 - 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实验TX
  • X是Confounder,可以简单理解为未被实验干预过的用户特征,通常是高维向量
  • DML最终估计的是θ(x),也就是实验对不同用户核心指标的不同影响

(1)Y=θ(x)T+g(X)+ϵwhere E(ϵ|T,X)=0(2)T=f(X)+ηwhere E(η|X)=0

最直接的方法就是用X和T一起对Y建模,直接估计θ(x)。但这样估计出的θ(x)往往是有偏的,偏差部分来自于对样本的过拟合,部分来自于g(X)^估计的偏差,假定θ0是参数的真实值,则偏差如下

n(θ^θ0)=(1nTi2)11nTiUi+(1nTi2)1(1nTi(g(xi)g(xi)^))

DML模型

DML模型分为以下三个步骤

步骤一. 用任意ML模型拟合Y和T得到残差Y~,T~

(3)Y~=Yl(x) where l(x)=E(Y|x)(4)T~=Tm(x) where m(x)=E(T|x)

步骤二. 对Y~,T~用任意ML模型拟合θ^

θ(X)的拟合可以是参数模型也可以是非参数模型,参数模型可以直接拟合。而非参数模型因为只接受输入和输出所以需要再做如下变换,模型Target变为Y~T~, 样本权重为T~2

(5)Y~=θ(x)T~+ϵ(6)argminE[(Y~θ(x)T~)2](7)E[(Y~θ(x)T~)2]=E(T~2(Y~T~θ(x))2)

步骤三. Cross-fitting

DML保证估计无偏很重要的一步就是Cross-fitting,用来降低overfitting带来的估计偏差。先把总样本分成两份:样本1,样本2。先用样本1估计残差,样本2估计θ^1,再用样本2估计残差,样本1估计θ^2,取平均得到最终的估计。当然也可以进一步使用K-Fold来增加估计的稳健性。

(8)sample1,sample2=sample_split(9)θ=θ^1+θ^2

Jonas在他的博客里比较了不使用DML,使用DML但是不用Cross-fitting,以及使用Cross-fitting的估计效果如下

从propensity的角度来理解

最近想到一个比下面GMM更加直观理解DML的角度跟大家分享下。为了更好理解,我们做一些简化假设。

假设样本在高维特征空间上依旧完全随机,那预测T的第一步会得到全部是0.5的概率预测, 实验组的Y~是0.5, 对照组是-0.5。

预测Y的第一步(假设用GBDT拟合),每个叶节点(k)会得到0.5(μcmp,k+μexp,k)的预测值。假设每个叶节点不再存在HTE,实验对叶节点内所有实验组样本都有相同效果,实验组样本的残差为0.5(μexp,kμcmp,k),而对照组为0.5(μcmp,kμexp,k),它们互为相反数。这样在用T~来拟合Y~的时候负负为正,得到的就会是μexp,kμcmp,k

对随机AB实验T的预测往往会在0.5附近,但一般不会是0.5因为实验的样本终究是有限的,被高维特征一切割多少会有不均匀的情况。假定某个叶节点T的预测是0.6,实验组T~=0.4,对照组T~=-0.6。这也意味着在这个叶节点实验组样本占40%对照组占60%。保持节点无HTE的假设,Y的预测变为0.6μexp,k+0.4μcmp,k,实验组样本的残差为0.4(μexp,kμcmp,k),而对照组为0.6(μcmp,kμexp,k),这样公式7里面的Y~T~是不是就make sense了。至于sample weight的调整也和propensity的逻辑一致,越接近0.5意味这估计的HTE越近似真实HTE,越偏离0.5意味着样本估计偏差越高因此权重越低。

从GMM的角度来理解

Generalized Method of Moments广义矩估计 (GMM)在经济学领域用的更多,在论文里乍一看到moment condition琢磨半天也没想起来,索性在这里简单的回顾下GMM的内容。

啥是矩估计呢?可以简单理解是用样本的分布特征来估计总计分布,分布特征由E((xa)K),样本的K阶矩来抽象,一阶矩就是均值,二阶原点矩就是方差。举几个例子吧~

例如,总体样本服从N(μ,σ2)就有两个参数需要估计,那么就需要两个方程来解两个未知数,既一阶矩条件xiμ=0和二阶矩条件xi2μ2σ2=0

再例如OLS,Y=βX可以用最小二乘法来求解argmin(YβX)2,但同样可以用矩估计来求解E(X(YβX))=0。实则最小二乘只是GMM的一个特例。

那针对HTE问题,我们应该选择什么样的矩条件来估计θ呢?
直接估计θ的矩条件如下
E(T(YTθ0g0(x)^))=0
DML基于残差估计的矩条件如下
E([(YE(Y|X))(TE(T|X))θ0](TE(T|X)))=0

作者指出DML的矩条件服从Neyman orthogonality条件,因此即便g(x)估计有偏,依旧可以得到无偏的θ的估计。

想看更多因果推理AB实验相关paper的小伙伴看过来 Paper_CausalInference_abtest


参考材料&开源代码

  1. 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.
  2. V. Chernozhukov, D. Nekipelov, V. Semenova, and V. Syrgkanis. Two-Stage Estimation with a High-Dimensional Second Stage. 2018.
  3. X. Nie and S. Wager. Quasi-Oracle Estimation of Heterogeneous Treatment Effects. arXiv preprint arXiv:1712.04912, 2017.
  4. Microsoft 因果推理开源代码 EconML
  5. Double Machine Learning 开源代码 MLInference
  6. https://www.linkedin.com/pulse/double-machine-learning-approximately-unbiased-jonas-vetterle/
  7. https://www.zhihu.com/question/41312883
posted @   风雨中的小七  阅读(11226)  评论(2编辑  收藏  举报
编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
点击右上角即可分享
微信分享提示