GCF:在线市场异质治疗效果估计的广义因果森林

英文题目:GCF: Generalized Causal Forest for Heterogeneous Treatment Effects Estimation in Online Marketplace

中文题目:GCF:在线市场异质治疗效果估计的广义因果森林

单位:滴滴&美团

时间:2022

论文链接:https://arxiv.org/pdf/2203.10975.pdf

代码:GitHub - ehkennedy/npcausal

(该软件包提供了多种工具,可用于在各种设置中对因果关系进行非参数估计。这些方法基于影响函数理论,可以结合灵活的机器学习和高维回归工具,同时仍以置信区间和假设检验的形式产生推理。许多方法都倍加健壮。) 

摘要:

提升建模是一种快速增长的方法,它利用因果推理和机器学习方法直接估计异质治疗效果,近年来被广泛应用于各种在线市场来辅助大规模决策。现有的流行模型,如因果森林(CF),仅限于离散处理,或者对可能存在模型错误指定的结果处理关系提出参数假设。然而,连续处理(例如价格、持续时间)经常出现在市场中。为了缓解这些限制,我们使用基于核的双鲁棒估计器来恢复能够灵活建模连续治疗效果的非参数剂量响应函数。此外,我们提出了一种通用的基于距离的分裂准则来捕捉连续处理的异质性。我们将所提出的算法称为广义因果森林 (GCF),因为它将 CF 的用例推广到更广泛的设置。我们通过推导估计器的渐近性质并将其与合成数据集和真实数据集上流行的提升建模方法进行比较,证明了GCF的有效性。我们在Spark上实现了GCF,并在领先的拼车公司成功地将GCF部署到大规模在线定价系统中。在线 A/B 测试结果进一步验证了 GCF 的优越性。

关键词:效应估计、连续处理、提升建模、在线市场

1引言

DiDi、Uber 和 Lyft 等拼车平台的兴起有助于为乘客提供方便的移动服务,并为司机提供灵活的工作机会。然而,鉴于这种双边市场的高度动态性质,拼车平台有效地平衡需求和供应是非常具有挑战性的。例如,在短时间内,给定区域中空闲驱动程序的数量可以看作是一个常数,因为车辆重新定位需要时间。另一方面,由于价格的变化、ETA的干扰和道路拥堵的严重程度等各种原因,乘客的请求很容易转移。因此,调整需求是拼车平台策略的核心,经常引起更多的关注[19,26]。等待时间较长,此后损害了乘客的经验,恶化了市场的效率。在翻转方面,如果激励不够强,那么刺激足够的请求来平衡同一ODT上的空闲驱动程序可能是不够的。只有当准确估计需求价格曲线时,才能获得最佳折扣。然而,曲线在不同的 ODT 中可能存在显着差异。

例如,在图 2 中,我们展示了需求如何随着不同 ODT 的价格而变化。因此,不同 ODT 的相同折扣几乎没有意义。换句话说,平台应该通过利用 ODT 的特定信息和实时供需关系相应地为 ODT 分配适当的折扣,以识别折扣对需求曲线的影响。

更一般地说,问题是如何估计不同场景下对需求的折扣效应,正式描述为因果推理领域异质治疗效果(HTE)估计的问题,这对决策者在广泛的背景下的兴趣越来越大。它揭示了干预对亚组水平的影响,从而提供了高度量身定制的建议,而不是一刀切的策略。此外,对于在线拼车市场,(多个)连续处理很普遍,因为多个出行选项可用,如图1所示。在连续处理下估计因果效应对市场提出了挑战,同时保持了最大化其效率和性能的关键。

已经开发了一系列算法来解决 HTE 估计的问题。最早的解决方案可以追溯到隆升建模最吸引人的时候,如[23],最近被应用于在线市场,如[16,28]。然而,这些实现未能讨论如何减轻观测数据中普遍存在的混淆偏差。相比之下,统计和计量经济学方法,如因果森林(CF)[1,5]在混杂变量存在的情况下,直接考虑结果与治疗之间的关系。然而,估计量的理论性质建立在这样一个假设之上,即结果在治疗中部分是线性的。在实践中,折扣对请求的影响可以是任何处理的函数,如图2所示。为了解决这个问题,[2,6,18,27]提出使用非参数回归来解决非线性HTE估计。我们的工作建立在这些工作的理论结果之上。同时,该算法的可扩展性是将其部署到具有大量数据的在线市场的关键。近年来,还开发了基于神经网络的方法,例如 [22, 25],但它们缺乏可解释性,这在定价策略等高风险设置中很重要。

在本文中,我们通过提出广义休闲森林 (GCF) 来克服上述挑战,这是一种为连续治疗提供非参数 HTE 估计的方法。GCF 在合成数据集和真实数据集上都显示出与现有基线相比的优势,并展示了它在领先的拼车公司的在线部署方面的高性能。此外,我们在Spark上实现了GCF,并通过分布式计算获得了更高的计算效率,这为大规模在线市场的广泛应用铺平了道路。本文的其余部分安排如下。第 2 节介绍了初步符号和背景。然后在第 3 节中,我们正式提出了 GCF。我们通过将其应用于第 4 节中的合成数据集和真实数据集来验证 GCF 的性能。最后,在第 5 节中,GCF 的实际有效性通过其在在线实验中的卓越性能来证明。本节还简要介绍了GCF的Spark实现。我们在第 6 节中进行了一些讨论来结束本文。

2 初步

2.1 符号和假设

2.2剂量-响应函数

Dose-Response Function

2.3核回归和双/去偏估计器 

3 广义 CAUSAL FOREST

在本节中,我们正式介绍了所提出的算法,即 GCF。它通过考虑具有非参数DRF的新分裂准则并使用基于核的双鲁棒估计器对其进行估计,放宽了CF中处理响应关系的部分线性假设。在下文中,我们展示了 GCF 在训练阶段和预测阶段的工作流程,然后详细说明拆分标准 CATE 估计器及其渐近属性。补充部分给出了GCF的实际调整和Spark实现的细节。

我们的算法是在Spark上实现的,用于大规模数据处理,树增长过程的机制与CF的机制不同。准确地说,数据存储在主机器上,树被克隆到每个分支机器上。数据随机分布到分支机器进行并行计算,重新收集到主机器进行集成。树将由每个分支机器上的集成标准更新。该分布式框架利用了多台机器的计算效率并加快了训练过程。

3.1分裂准则

4实验

 

n:样本

t: treatment

pehe:

pmse:

4.2模拟

4.3 Real-world Datasets

评估

文章开始介绍了增益直方图,但是现在基本很少人用了,我这里就只介绍下常用的指标。

auuc和qini

Qini曲线和Uplift曲线有些类似 

5实施与部署

我们将我们的算法部署到领先的拼车公司的在线定价系统中。该系统旨在提供最佳定价策略,该策略支持超过 5 亿个乘客和数以万计的司机每天。鉴于如此大量的数据,我们在Spark上实现了GCF,通过分布式计算来加速模型训练。如图 4 所示,系统首先从实验系统中收集真实世界的数据。在下文中,数据被发送到模型训练模块,其中训练 GCF 和其他基线模型。随后,定制评估指标(例如,Qini 分数)选择的最佳模型为策略优化模块提供治疗效果预测,该模块为在线服务生成全局最优定价策略。为了检查我们模型的经验有效性,我们使用在线 A/B 测试比较了 GCF 和 CF 在两种业务设置下产生的折扣策略。我们通过将 ODT 随机分成两组来进行在线 A/B 测试。请注意,这里考虑的数据只占整个市场的一小部分,这意味着可以忽略网络效应。性能评估的关键指标是完成订单 (FO) 的增量,其结果如下。与 CF 相比,GCF 在单移动性选项策略和双移动性选项策略中分别提高了 15.1% 和 25.2%。结果表明,我们的模型可以更好地估计对复杂系统的治疗效果。

6结论

本文提出了一种新的基于森林的非参数算法,即广义因果森林,以解决连续处理的HTE估计问题。我们通过引入具有通用基于距离的分裂准则的DRF来扩展CF,该准则最大化连续治疗效果的异质性。为了估计DRF,我们使用基于核的双鲁棒估计器来保证双鲁棒性。为了处理大量的数据,我们在Spark上实现了GCF,并在领先的拼车公司成功地将GCF部署在在线定价系统中。实证结果表明,我们的方法明显优于竞争方法。在本文的范围内,我们只涵盖了一维连续处理的情况。但是我们建议的内容可以扩展到多维情况,而无需付出额外的努力。还值得一提的是,当处理空间较高且稀疏时,内核回归可能会受到维度诅咒的影响。更鲁棒的高维处理 HTE 估计算法有望成为未来的研究领域。

参考

做因果推断最难的是什么。 崔鹏教授说:最难的是评估,因为这是很上帝视角的东西。

  1. 因果推断uplift模型-GCF - 知乎
  2. DESCN:用于个体治疗效果估计的深度全空间交叉网络-CSDN博客
  3. 因果推断(三)各种效应和它们之间的关系
  4. 弹性模型的评测指标AUUC - 知乎

Causal Inference and Uplift Modeling A review of the literature重读笔记 - 知乎

Causal Inference and Uplift Modeling A review of the literature论文笔记 - 简书

大白话谈因果系列文章(五)uplift模型评估 - 知乎

闲聊因果效应(4):离线评估 - 知乎

因果推断 | Uplift Model 评估指标 - 知乎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/610305.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据库原理】期末突击(2)

有不会的题可以后台问我的哦,看见了就会回。祝大家期末心想事成。 数据库大题显而易见就只有几类,大家可以根据老师平时讲解的例题对应去解决一类型的题目。 前提知识; 候选码候选键关键字键码 关系代数:(1)传统&…

CST2024的License服务成功启动,仍报错——“The desired daemon is down...”,适用于任何版本!基础设置遗漏!

CST2024的License服务成功启动,仍报错——“The desired daemon is down…”,适用于任何版本!基础设置遗漏! CST2024的License服务成功启动后报错 若不能成功启动License服务,有可能是你的计算机名称带中文&#xff…

融云 CEO 董晗荣获 51CTO 「2023 年度科技影响力人物奖」

(👆点击获取《社交泛娱乐出海作战地图》) 1 月 5 日,由知名 IT 技术媒体 51CTO 主办的第十八届“中国企业年终评选”正式揭晓榜单,融云 CEO 董晗荣获“2023 年度科技影响力人物奖”。关注【融云全球互联网通信云】了解…

Android亮度调节的几种实现方法

最近在做一个App的设置项,亮度调节。真正做时,发现Android亮度调节比预想要复杂一些。其实目前网上已有不少这方面的资料,但有些博文具有一定误导性。在此将这块内容按照自己理解整理一下。 整体上看,Android亮度调节分为三个层次…

微服务下的SpringSecurity认证端

从三板斧开始微服务下的SpringSecurity开始 一、引入组件包 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-oauth2</artifactId> </dependency> 二、创建适配器 AuthorizationServerConfig…

【Android Studio】APP练手小项目——切换图片APP

本项目效果&#xff1a; 前言&#xff1a;本项目最终实现生成一个安卓APP软件&#xff0c;点击按钮可实现按钮切换图片。项目包含页面布局、功能实现的逻辑代码以及设置APP图标LOGO和自定义APP名称。 关于Android Studio的下载与安装见我的博文&#xff1a;Android Studio 最新…

Python接口自动化测试的局限性,该如何破局?

Python接口自动化测试在软件质量保证方面具有显著的优势&#xff0c;如提高测试效率、减少人工错误、支持持续集成和回归测试等。然而&#xff0c;它也存在一些局限性&#xff0c;主要包括以下几点&#xff1a; 1. **初始投入成本高**&#xff1a; - 编写自动化测试脚本需要…

nginx upstream负载均衡模块

前言 upstream 与 proxy 搭配使用 配置upstream upstream server_www.xxx.com_backend {server 192.168.1.128:8081 weight1;server 192.168.1.128:8082 weight2; }配置 server server {listen 80;server_name www.xxx.com;...location / {proxy_pass http://server_…

蓝牙信标定位原理

定位原理&#xff1a;蓝牙信标的定位原理是基于RSSI蓝牙信号强度来做定位的。 根据应用场景不同&#xff0c;通过RSSI定位原理可分为两种定位方式 一、存在性定位 这种方式通常要求所需定位的区域安装一个蓝牙信标即可&#xff0c;手持终端扫描蓝牙信标信号&#xff0c;扫描…

huggingface下载太慢的问题

解决问题&#xff1a;huggingface网站模型文件太大&#xff0c;下载太慢 方式&#xff1a; huggingface镜像站网址 使用方法3的python脚本文件内容 import os# 下载模型 os.system(huggingface-cli download --resume-download THUDM/chatglm2-6b --local-dir /home/bennie…

LeetCode[27]移除元素

Description 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中…

linxu 寻找某一个文件所在的绝对路径

目录 1 实现 1 实现 在Linux系统中&#xff0c;你可以使用find命令来寻找某个文件的绝对路径。find命令可以递归地在指定的目录及其子目录中搜索文件&#xff0c;并根据给定的条件进行匹配。 下面是使用find命令来查找文件的示例&#xff1a; find / -name "filename&q…

C++入门【25-C++ 从函数返回指针】

在上一章中&#xff0c;我们已经了解了 C 中如何从函数返回数组&#xff0c;类似地&#xff0c;C 允许您从函数返回指针。为了做到这点&#xff0c;您必须声明一个返回指针的函数&#xff0c;如下所示&#xff1a; int * myFunction() { . . . } 另外&#xff0c;C 不支持在函数…

Linux【C编程】 信号以及信号的处理方式

文章目录 1.什么是信号&#xff1f;1.1信号是内容受限的一种异步通信机制1.2信号由谁发出的&#xff1f;1.3信号由谁处理&#xff0c;如何处理 2.常见的信号3.进程对信号的处理3.1用signal函数处理SIGINT信号3.2使用sigaction 函数 4.alarm 和pause函数4.1 alarm函数详解4.2 pa…

vue element plus 安装

环境支持# Element Plus 可以在支持 ES2018 和 ResizeObserver 的浏览器上运行。 如果您确实需要支持旧版本的浏览器&#xff0c;请自行添加 Babel 和相应的 Polyfill 。 由于 Vue 3 不再支持 IE11&#xff0c;Element Plus 也不再支持 IE 浏览器。 Edge ≥ 79Firefox ≥ 78C…

用通俗易懂的方式讲解:大模型 RAG 在 LangChain 中的应用实战

Retrieval-Augmented Generation&#xff08;RAG&#xff09;是一种强大的技术&#xff0c;能够提高大型语言模型&#xff08;LLM&#xff09;的性能&#xff0c;使其能够从外部知识源中检索信息以生成更准确、具有上下文的回答。 本文将详细介绍 RAG 在 LangChain 中的应用&a…

愤怒的小红帽

欢迎来到程序小院 愤怒的小红帽 玩法&#xff1a;帮助小红帽安全送达老奶奶家&#xff0c;当狼进入靶子以后鼠标对准靶子&#xff0c; 点击鼠标左键&#x1f3f9;&#xff0c;对应的狼就会被射死&#xff0c;然后继续往前冲&#xff0c;快去&#x1f3f9;吧^^。开始游戏https:…

Jmeter压缩包安装

JMeter安装及配置-Mac 本章要点 前置条件命令行安装压缩包安装 在Mac上安装对应的JMeter工具有两种方式&#xff1a;一种直接借助终端命令行brew进行安装&#xff1b;另外一种和Window电脑一样去JMeter官网下载压缩包安装。 JMeter不需要安装&#xff0c;但是JMeter作为java应用…

谭浩强C语言课后习题-入门与顺序结构

第一题&#xff1a;第一个HelloWorld程序 题目描述 学习了输出语句&#xff0c;请参照例题&#xff0c;编写一个程序&#xff0c;输出以下信息&#xff1a; ************************** Hello World! ************************** 注意&#xff1a;Hello与World之间有一个空格…

伺服电机:伺服电机的控制方式(脉冲控制)

脉冲控制是伺服系统最常见的一种控制方式&#xff0c;基本上每家的伺服驱动器都支持脉冲模式。脉冲模式一般用于轴比较少的场合&#xff08;4轴及以下&#xff09;&#xff0c;轴数比较多的话就需要用总线来控制&#xff0c;毕竟伺服控制器的脉冲输入输出口的数量是有限的。 一…