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

2023-05-16

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

核心论文

Künzel, 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的估计

\[\begin{align} \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) \end{align} \]

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

  1. 对照组的模型无法学到实验组的pattern,实验组的模型也无法用到对照组的数据。两个模型完全隔离,也就导致两个模型可能各自有各自的偏差,从而导致的预测产生较大的误差。
  2. T-Learner限制了Treatment只能是离散值
  3. 大多数情况下treatment effect和response相比都是很小的,因此在response上的估计偏差会对treatment有很大影响

S-Learner

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

\[\begin{align} μ(x, w) &= E[Y|X = x, W = w]\\ \hat{\tau}(x) &= \hat{\mu} (x,1) - \hat{\mu}(x,0) \end{align} \]

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. 分别对对照组和实验组进行建模得到模型\(M_1\),\(M_2\)和T-Learner一样
  2. 把对照组放进实验组模型预测,再把实验组放进对照组模型预测,预测值和实际值的差作为HTE的近似。这里和S-Learner的思路近似是imputation的做法。
  3. 实验组和对照组分别对上述target建模得到\(M_3\),\(M_4\),每个样本得到两个预测值然后加权,权重一般可选propensity score,随机实验中可以直接用进组用户数,流量相同的随机实验直接用0.5感觉也没啥问题

\[\begin{align} \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}\\ \end{align} \]

方法比较

在作者分别给出几种可能类型的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表现差不多。

image.png

image.png

image.png

对其他HTE模型感兴趣的

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AB实验人群定向HTE模型5 - Meta Learner 的相关文章

随机推荐

  • PX4学习笔记(3)

    1 编译PX4 1 1 编译对应的代码 教程链接 xff1a https docs px4 io main zh dev setup building px4 html 由于我使用的是pixhawk 2 4 8 xff0c 应该使用以下命令
  • VDO---虚拟数据优化

    学习目标 xff1a 理解什么是VDO xff0c VDO有什么作用 学会使用VDO 内容前导 xff1a VDO xff08 Virtual Data Optimize xff0c 虚拟数据优化 xff09 是一种通过压缩或删除存储设备上
  • 阿里云轻量应用服务器centos7搭建hadoop伪分布式集群

    centos7上hadoop伪分布式集群配置 写在前面 云计算实验 xff0c hadoop完全式分布集群 xff0c 没那么多服务器就搞了个伪分布式 纯粹为了应付老师 xff0c 教程是一边查一遍弄的 xff0c 重复装了一次 xff0c
  • Eigen/Sparse稀疏矩阵SparseMatrix

    关于Eigen的稀疏矩阵的介绍 xff1a 原文链接 1 SparseMatrix的格式 SparseMatrix主要包含以下4个数组 xff1a Values stores the coefficient values of the no
  • SpringBoot事件监听器的四种方式

    Java事件监听 事件监听的概念 xff1a 事件监听就是让电脑通过你的操作得到一些数据并对这些数据做出反应 xff0c 反馈相应的行为或者指令的操作 java中的事件机制的参与者有3种角色 xff1b event object 事件状态对
  • OAI搭建步骤(EPC+eNB)

    声明 xff1a 本文CSDN作者原创投稿文章 xff0c 未经许可禁止任何形式的转载 xff0c 原文链接 文章目录 一 系统概述二 搭建核心网EPC openair cn 2 1 准备主机2 2 更换内核2 3 获取openair cn
  • Layui网址

    http laizhefa com layer index html
  • Spring Security

    Spring Security简介 Spring Security是一个高度自定义的安全框架 利用Spring IOC DI和AOP功能 xff0c 为系统提供了声明式安全访问控制功能 xff0c 减少了为系统安全而编写大量重复代码的工作
  • Hibernate基本使用

    Hibrenate框架 一 Hibrenate 1 是一个持久层框架 xff0c 实现jdbc的封装 是一个全自动的ORM框架 2 ORM xff1a 对象 关系 数据库表 映射 xff0c orm致力于将数据库操作转换成Java程序熟悉的
  • Nginx学习笔记

    文章目录 一 Nginx初始二 正向代理和反向代理 xff08 一 xff09 正向代理 xff08 二 xff09 正向代理的使用场景 xff08 三 xff09 反向代理 xff08 四 xff09 反向代理的使用场景 三 Nginx的
  • Mybatis+Mybatis-plus+SpringBoot整合(完整版)

    文章目录 一 Mybatis xff08 一 xff09 Mybatis简介1 Mybatis历史2 Mybatis特性3 Mybatis下载4 和其它持久化层技术对比 xff08 二 xff09 搭建Mybatis1 MySQL不同版本的
  • SpringMVC+SSM整合(完整版)

    文章目录 一 SpringMVC xff08 一 xff09 SpringMVC简介1 什么是MVC2 什么是SpringMVC3 SpringMVC的特点4 MVC的工作流程 xff08 二 xff09 入门案例1 创建maven工程 引
  • C语言实现CNN的前向推理

    利用Python训练模型 xff0c 提取模型参数到C语言的头文件 xff0c C语言进行前向推理计算 目录 1 填充算子1 1多维数组实现1 2一维数组实现 2 卷积算子2 1多维数组实现2 2一维数组实现 3 池化算子3 1多维数组实现
  • 树莓派3B+安装系统

    系统镜像下载 树莓派官方镜像下载地址 xff1a https www raspberrypi org downloads xff08 如果找不到就点击See all download options xff09 https www rasp
  • ubuntu16.04安装中文输入法并设置显示中文

    参考自 xff1a https jingyan baidu com article bad08e1ef4b2f109c85121b7 html 原材料 xff1a ubuntu16 步骤 xff1a 1 在桌面的最左边选择设置 xff08
  • 用PrtSc键触发启动flameshot

    进入系统设置中的 键盘快捷键 先将系统默认的快捷键prt sc禁用 xff0c 否则可能不能再设置用这个快捷键 页面中会列出所有现有的键盘快捷键 xff0c 拉到底部会看见一个 43 按钮 点击 43 按钮添加自定义快捷键并输入以下两个字段
  • 在GitHub的README中使图片深浅主题自适应

    声明 xff1a 本文CSDN作者原创投稿文章 xff0c 未经许可禁止任何形式的转载 xff0c 原文链接 在GitHub的Markdown文件中 xff0c 我们可以针对同一图片使用两份深浅主题的链接 xff0c 以保证在适应GitHu
  • P4:正则表达式(Regular Expression)学习笔记

    正则表达式学习 1 初始正则表达式1 1正则表达式练习11 2正则表达式练习21 3正则表达式练习3 2 正则表达式源码分析2 1 源码分析 matcher find 2 2源码分析 matcher group 0 2 3 整体代码2 4源
  • AutoML-sklearn and torch

    一 auto sklearn 1 1 环境依赖 额外安装swig 第三方库 linux 支持 mac xff0c windows不支持 1 2 示例代码 time left for this task 设定任务最大时间 per run ti
  • AB实验人群定向HTE模型5 - Meta Learner

    Meta Learner和之前介绍的Causal Tree直接估计模型不同 xff0c 属于间接估计模型的一种 它并不直接对treatment effect进行建模 xff0c 而是通过对response effect target 进行建