多臂治疗规则的 Qini 曲线(Stefan Wager)

news2024/10/6 14:38:05

英文题目:

Qini Curves for Multi-Armed Treatment Rules

中文题目:多臂治疗规则的 Qini 曲线

单位:Stefan Wager

论文链接:

代码:GitHub - grf-labs/maq: Treatment rule evaluation via the multi-armed Qini

example:Qini curves: Automatic cost-benefit analysis • grf

摘要:Qini 曲线已成为评估数据驱动目标规则对治疗分配的好处的一种有吸引力的流行方法。我们提出了一种将Qini曲线推广到多个昂贵的处理效应,该机械臂量化了在不同预算水平下在单元和治疗臂之间最佳选择的值。我们开发了一种计算这些曲线的有效算法,并提出了基于自举的置信区间,这些置信区间在曲线上的任意点的大样本中精确。这些置信区间可用于进行假设检验,比较使用手臂的最佳组合和仅使用手臂子集的非目标分配规则(或忽略协变量的非目标分配规则)在不同预算水平下的治疗目标值。我们在模拟实验中展示了统计性能以及针对选举转折的治疗应用。

1简介

Qini 曲线最初是在营销文献中提出的 [Radcliffe, 2007],绘制了当我们改变预算时处理对治疗最响应的单位的平均策略效应。然后,我们可以通过评估在一系列不同预算级别进行的成本效益练习来量化治疗目标的价值。Qini 曲线已在各种实际应用中采用,以评估受资源约束的处理目标规则的经验性能。

二元处理下类似的指标的理论性质,以及曲线摘要下面积的扩展,最近受到了许多作者对统计文献中的关注,包括Imai和Li[2023, 2022],Sun等人[2021]和Yadlowsky等人[2021]。这些方法考虑了针对(可能代价高昂)二元干预分配的问题。在本文中,我们探索了对多个治疗组的场景的扩展,其中分配的好处和成本可能因单位而异。例如,低成本药物可能对一组人有益,但高成本药物可能对其中的一个子集更有益。通过两个臂的单独秦曲线分析此设置可以隐藏重要的效率权衡。对于特定的预算,最优策略可能需要为不同的人分配不同的药物;一个组的药物成本较低,另一个组的药物成本较高。确定将个体特征映射到几个治疗组之一的最佳治疗分配策略涉及解决约束优化问题

我们开发了理论和统计框架,将Qini曲线扩展到我们有许多互斥且昂贵的处理的情况。我们表明,扩展到多个臂的秦i曲线保留了单个秦i的理想基于比率的解释治疗臂,不是确定最优分配的绝对成本,而是每个臂的增量效率。这意味着没有必要在相同的尺度上消除治疗效果和成本。如果收益与参与者集相对于成本的比率大于任何其他手臂和参与者集的相应比率,则将额外的预算单位分配给手臂和一组目标参与者(由其特征定义)。

图1:单臂治疗策略(虚线)的Qini曲线和多臂策略(实线黑线)的Qini曲线,使用第4节中描述的合成数据。增益定义为零成本控制的平均值。蓝线是仅考虑手臂 1 的平均治疗效果的秦曲线(因为手臂 2 具有负估计的平均治疗效果,所以它的平均值留在图中)。在0.5的预算下,忽略协变量的策略通过将每个单元分配给手臂1,获得了等于0.2(标准误差0.07)的平均治疗效果的增益。使用协变量信息针对同一臂的目标的策略获得了0.6的增益(标准误差0.06);这种增益已经在0.3的预算下实现;在这个预算中,可以将所有估计值高于无成本控制的单位。将最优臂分配给最响应单元的策略产生 0.8 的增益(标准误差 0.0)。

为了直观地了解秦i对多个臂的推广,回想一下,单个臂的Qini曲线是评估策略诱导的治疗规则的评估指标。使用单个治疗组,为简单起见,每个单元分配成本相同,最优策略是根据条件平均治疗效果的降序分配治疗。鉴于这些治疗效果的估计,传统的Qini曲线绘制了根据个体估计的治疗效果优先分配治疗的估计值。图 1 显示了 Qini 曲线的示例,如虚线。例如,如果我们只能使用手臂 1 并且总预算为 0.2,那么我们可以获得 0.52 的增益;而如果我们只能使用手臂 2,则相同的预算会产生 0.56 的估计增益。请注意,一旦我们传递了 0.3 的支出水平,手臂-1 Qini 曲线平台——这是因为,一旦我们已经达到了这个支出使用手臂 1 的水平,我们已经对被认为从中受益的所有单元给予治疗,因此无法通过增加支出获得进一步的收益。

图 1 中单个治疗臂的 Qini 曲线易于计算,因为底层策略会导致优先规则,该规则涉及按照估计的条件平均治疗效果顺序对单元进行排序。计算多臂策略的最优分配更加复杂,因为它涉及解决跨多个臂的约束成本效益问题。我们表明,尽管潜在的多臂策略更加复杂,但它们仍然产生了一个诱导处理规则,可以用秦曲线进行评估,就像单臂情况一样。图 1 中的实线黑线显示了估计的多臂策略的 Qini 曲线,并强调由于不同的臂可以更好地用于不同的组,因此目标使不同的臂能够分配给适合不同子组的成本效益分析。例如,预算为 0.2,我们现在可以获得 0.68 的增益,这比我们单独使用任何一个手臂所能获得的要好。

由于两个原因,将额外的手臂纳入两个改进(即提高)秦曲线。首先,即使在没有针对性的情况下,扩大预算也会导致更大的手臂使用,平均而言效率较低(收益成本较低的比率),但相对有益。其次,目标允许识别特别受益于可能平均表现不佳的手臂的子组,因此在没有目标的情况下不会优先排序。

我们描述了最优的多臂策略,表明在扩大预算时,最优分配选择单元以根据增量效益成本比最高的位置接收更有效的处理。我们进一步展示了如何,对于单元的给定特征,最优策略可以通过一组预算阈值来表征,其中单元的分配更改为更有益但效率较低的手臂。我们提出了一种有效的算法来估计Qini曲线基础上的多臂策略的解路径,该算法有效地分配初始预算,然后利用我们的理论表征将增量支出分配给最增量高效的单元。

我们的主要理论结果通过估计的多臂策略值的中心极限定理来量化秦曲线上点的不确定性。结果估计条件平均治疗效果(在控制上)和给定的预期成本,但解释了从近似每个级别预算的最佳分配以及估计该分配的策略值的不确定性。中心极限定理可用于估计给定预算下两条Qini曲线之间的差异,例如,替代治疗效果估计器引起的替代Qini曲线,或针对治疗臂子集估计的Qini曲线,或不针对目标。

所提出方法的开源软件实现可在 github.com/grflabs/maq 获得。

example

仅实现了核心 MAQ 求解器功能(点估计和解路径的置信区间)

https://github.com/grf-labs/maq/tree/master/python-package

2最优多臂治疗分配的解决方案路径

为了表征最佳多臂治疗分配,我们在潜在结果框架下运行 [Imbens and Rubin, 2015]。

 2.1 描述最优策略

3 The Qini Curve for Multi-Armed Policies

policy选取

实验后依旧可以评估 // 需要随机数据

干预不一样要剔除

计算解路径和值。有了估计 Q(B) 所需的所有部分,算法 1 概述了为多臂策略计算 Qini 曲线所需的所有组件的伪代码,从估计条件平均治疗效果和训练集上的成本开始。有了这些,以及适当的评估分数,算法 2 用伪代码形式化了图 3 背后的直觉,用于计算诱导的多臂策略,并直到某个最大预算级别 Bmax。

 

 3.1确定曲线的中心极限定理

4模拟实验

有多种策略可用于估计可以扩展到多臂设置的条件平均治疗效果τ (Xi)。一些流行和灵活的方法是所谓的元学习器,它采用旨在预测的机器学习算法,相反目标是反事实差异,示例包括 Kennedy [2020]、K̈unzel 等人。 [2019] 和 Nie 和 Wager [2021]。这些方法针对数量 E [Yi(1) − Yi(0) | Xi = x],其中 Yi(1) 是治疗臂的潜在结果,Yi(0) 是控制臂的潜在结果。为了用这些策略估计多臂治疗效果,可以采用一对一编码,如果分配第 k 个臂,则定义 Wi 为 1,否则为 0。另一种方法是直接针对向量值参数 τ (Xi)。在经验插图中,我们使用基于 R-learner [Nie and Wager, 2021] 的基于森林的 [Athey et al., 2019] 多臂治疗效果估计器,可在 R 包 grf [Tibshirani et al., 2023, R Core Team, 2022] 中通过函数多臂因果森林获得,该森林具有内置功能以产生多臂评估分数 (12)。这种方法直接使用以下森林加权损失来估计 τ (Xi)。

grf: Generalized Random Forests, 2023.

URL https://github.com/grf-labs/grf. R package version 2.3.0.】

使用机器学习估计异质治疗效果的元学习器

Metalearners for estimating heterogeneous treatment effects using machine learning

Offline Multi-Action Policy Learning: Generalization and Optimization

离线多动作策略学习:泛化和优化

我们将已知且等于单位可观测预处理协变量Ci(1) = Xi1, Ci(2) = 2Xi2的成本视为已知且等于单位可观测预处理协变量Ci(1) = Xi1, Ci(2) = 2Xi2。用噪声N (0, 4)观察到结果。

为了研究多臂秦曲线上点的实际推理特性,使用灵活的非参数估计器,我们计算 Q(B) 的 95% 置信区间的覆盖率。我们首先固定一个在n = 10000的训练集估计的ˆτ(·)函数。我们考虑Qini曲线上10个点B = {0.05,0.10,0.15,0.20,0.25,0.30,0.35,0.4,0.45,0.5},然后在大小为n = {1000,2000,5000,10000}的测试集上计算策略ˆπB,估计双鲁棒分数bΓ,然后使用自举标准误差计算估计Q(B)的覆盖率。表 1 中的结果表明该过程在 1000 次蒙特卡洛重复中的平均经验覆盖率。

数据集

在本节中,我们将我们的方法应用于 2006 年 8 月初选中的投票数据集。该数据集最初由Gerber等人(2008)收集,以研究人们投票的动机。我们在本节中的目标是将此数据集应用策略学习算法并说明一些有趣的发现。

数据集描述:我们首先快速描述数据集,只关注与我们当前的策略学习上下文相关的方面。该数据集包含 180002 个数据点(即 n = 180002),每个数据点对应于不同家庭中的单个选民。选民跨越密歇根的整个状态。我们使用的选民特征有 10 个:出生年份、性别、家庭规模、城市、g2000、g2002、g2004、g2000、p2002、p2004。前 4 个特征是自我解释的。接下来的三个特征是选民分别在 2000、2002 和 2004 年投票支持一般选举的结果:如果选民进行投票,则记录 1,如果选民没有投票,则记录 0。最后三个特征是选民在 2000 年、2002 年和 2004 年是否投票给主要的结果。正如 Gerber 等人指出的那样。

(2008),这 10 个特征通常用作协变量来预测单个选民是否会投票 9。总共有五个动作,如下:

无事:没有执行动作

。Civic:在初选之前,带有“你的公民义务吗”的字母被电子邮件给家庭。

监控:在主要选举之前,将带有“您正在研究”的字母电子邮件给家庭。收到这封信的选民被告知他们将观察他们是否投票在该选举中。

自历史:选民过去投票记录的字母以及居住在同一家家庭的其他选民的投票记录在主选举之前被邮件给家庭。这封信还表明,一旦选举结束,选民是否被投票的后续信将被发送到家庭。

邻居:一个带有该选民投票记录的信,居住在同一个家庭的选民,这个家庭的邻居的选民在主选举之前被电子邮件给家庭。这封信还表明“您的所有邻居都能够看到您的过去投票记录”,并且将发送后续信件,以便该选民投票在即将到来的选举中是否会成为邻居之间的公共知识。

 

5 治疗靶向策略的假设测试

图 4a 提供了Qini 曲线可以看的程式化示例,在这种情况下,基于主题特征的目标有好处,可用的处理臂有 3 个(加上控制)。对于固定的花费点和策略,数量 Q(B) - Q(B) 测量剩余行之一之间的垂直差异,表示。一个基线策略,使用所有或只有一个手臂而不针对目标。由于这个距离是正的,它表示基于主题特征的目标的好处。

图 4b 说明了成本曲线如何查看存在(根据预算)的场景,这是在单个手臂上使用最佳手臂组合的好处。例如,在 B = 2 时,差异 Q(B) - Q1(B) 是红线和蓝线之间的垂直差异,并表明在所有可用臂中最佳选择可以比仅使用手臂 1 的目标产生约 1.5 的增益增加。

6 应用:选举转出的处理目标

Gerber等人[2008]通过邮件各种形式的字母,进行了多臂随机对照试验,研究了2006年美国初选中选民转出的社会决定因素。180 002 户被随机分配一个 K = 4 个治疗组,其中手臂 1(“Civic”)告诉接受者做他们的公民义务和投票。Arm 2(“Hawthorne”)通知接收者他们决定投票或不被监控。ARM 3(“Self”)通知接收者他们和相似的家庭过去的投票历史,手臂 4(“Neighbors”)将让接收者的邻居知道他们的投票历史。对照组没有字母。感兴趣的结果是家庭中的一个人是否在即将到来的一次选举中投票。Gerber等人[2008]发现,发送“邻居”字母是增加选民转出最有效的,几乎没有异质性的证据。

参考

  1. 云讲堂预告 | 吴韩:多臂治疗规则的 Qini 曲线 - 统计之都 - 瓦斯阅读
  2. 【转】增益模型营销逻辑再理解_qini curve_Just Jump的博客-CSDN博客
  3. [因果推断] 增益模型(Uplift Model)介绍(三)_奇思闻影的舒克与贝克的博客-CSDN博客

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

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

相关文章

软件测试面试【证券项目公司】

这家公司是做证券项目的,约的9点钟,路程还是有点遥远,转了一趟公交两趟地铁,精力都花在了路上,感觉有点累,以下是今天得面试流程。 到公司前台给我了一张面试表,写完之后就是等待面试。一共面试…

Python模块psycopg2连接postgresql

目录 1. 基础语法 2. 基础用法 3. 多条SQL 4. 事务SQL 1. 基础语法 语法 psycopg2.connect(dsn #指定连接参数。可以使用参数形式或 DSN 形式指定。host #指定连接数据库的主机名。dbname #指定数据库名。user #指定连接数据库使用的用户名。…

TMS XData v5.11 2023 crack,全功能查询机制

TMS XData v5.11 2023 crack,全功能查询机制 用于多层REST/JON-HTTP/HTTPS应用服务器开发和ORM远程处理的Delphi框架。 功能概述 基于REST/JONS架构风格的服务器 从不同的客户端平台(如.NET、Java、jаvascript)轻松访问,因为它是基于REST/JSON的 使用标准POST、GET…

【RabbitMQ】golang客户端教程2——工作队列

任务队列/工作队列 在上一个教程中,我们编写程序从命名的队列发送和接收消息。在这一节中,我们将创建一个工作队列,该队列将用于在多个工人之间分配耗时的任务。 工作队列(又称任务队列)的主要思想是避免立即执行某些…

[golang gin框架] 43.Gin商城项目-微服务实战之后台Rbac微服务之管理员的增删改查以及管理员和角色关联

上一节讲解了后台Rbac微服务角色增删改查微服务,这里讲解权限管理Rbac微服务管理员的增删改查微服务以及管理员和角色关联微服务功能 一.实现后台权限管理Rbac之管理员增删改查微服务服务端功能 1.创建Manager模型 要实现管理员的增删改查,就需要创建对应的模型,故在server/r…

使用Beego和MySQL实现帖子和评论的应用,并进行接口测试(附源码和代码深度剖析)

文章目录 小项目介绍源码分析main.gorouter.gomodels/user.gomodels/Post.gomodels/comment.gocontrollers/post.gocontrollers/comment.go 接口测试测试增加帖子测试查看帖子测试增加评论测试查看评论 小项目介绍 经过对需求的分析,我增加了一些额外的东西&#x…

Linux学习之脚本优先级控制

fork炸弹 在编写Shell脚本时不要写出不可控的死循环,比如func() { func | func& } ; func,简写版为.(){ .|.& };.。接下来见证一下这两条语句的威力。因为在root用户下许多资源没有限制,所以useradd userfork新建一个用户userfork&a…

fwrite函数

1、函数声明 size_t fwrite( const void *buffer, size_t size, size_t count, FILE *stream ); 2、参数说明 buffer 指向要写入的数据的指针。 size 项大小(以字节为单位)。 count 要写入的项的最大数量。 stream 指向 FILE 结构的指针。 3、…

OpenCloudOS 与PolarDB全面适配

近日,OpenCloudOS 开源社区签署阿里巴巴开源 CLA (Contribution License Agreement, 贡献许可协议), 正式与阿里云 PolarDB 开源数据库社区牵手,并展开 OpenCloudOS (V8)与阿里云开源云原生数据库 PolarDB 分布式版、开源云原生数…

AD21原理图的高级应用(四)线束的设计及应用

(四)线束的设计及应用 Altium Designer 21 可以使用 Signal Harnesses(信号线束)的方法来建立元件之间的连接,也可用于不同原理图间的信号对接。信号线束是一种抽象连接,操作方式类似于总线,但信号线束可对包括总线、导线和其他信号线束在内的不同信号进…

el-button增加下载功能

vue3和element-plus <el-uploadv-model:file-list="fileList"action="/api/upload"multiple:limit="1":headers="headers" ><el-button type="primary">选择文件</el-button><template #file

【前缀和】560.和为 K 的子数组

Halo&#xff0c;这里是Ppeua。平时主要更新C&#xff0c;数据结构算法&#xff0c;Linux与ROS…感兴趣就关注我bua&#xff01; 和为K的子数组 题目:示例:题解&#xff1a;解法一:解法二: 题目: 示例: 题解&#xff1a; 解法一: 暴力解法:我们很容易想到通过两个for循环去遍…

【使用 DSP 滤波器加速速度和位移】使用信号处理算法过滤加速度数据并将其转换为速度和位移研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

操作系统理论:Linux进程与进程状态(进程调度的大O(1)算法数据结构模型)

文章目录 一.进程的基本概念进程间的基本关系:父子关系 二.进程状态(1)进程的运行状态RLinux进程调度的大O(1)算法数据结构模型(运行队列哈希桶):进程的运行时间片 (2)进程的睡眠状态(S和D)(3)进程的僵尸状态和死亡状态 一.进程的基本概念 冯诺依曼体系的计算机在运行时,内存中…

基于C语言 --- 自己写一个三子棋小游戏

C语言程序设计笔记---019 初阶三子棋小游戏(开源)1、arr_main.c程序大纲2、arr_game1.h3、arr_game1.c3.1、 自定义初识化函数 InitBoard( ) 和 自定义显示函数 DisPlayBoard( )3.2、 自定义玩家下棋函数 PlayerMove( )3.4、 自定义电脑下棋函数 ComputerMove( )3.5、 输赢判断…

成为一名黑客(网络安全),需要掌握哪些黑客技能?

前言 黑客技能是一项非常复杂和专业的技能&#xff0c;需要广泛的计算机知识和网络安全知识。你可以参考下面一些学习步骤&#xff0c;系统自学网络安全。 在学习之前&#xff0c;要给自己定一个目标或者思考一下要达到一个什么样的水平&#xff0c;是学完找工作&#xff08;…

使用DataX实现mysql与hive数据互相导入导出

一、概论 1.1 什么是DataX DataX 是阿里巴巴开源的一个异构数据源离线同步工具&#xff0c;致力于实现包括关系型数据库(MySQL、Oracle 等)、HDFS、Hive、ODPS、HBase、FTP 等各种异构数据源之间稳定高效的数据同步功能。 1.2 DataX 的设计 为了解决异构数据源同步问题&#xf…

【外卖系统】分类管理业务

公共字段自动填充 需求分析 对于之前的开发中&#xff0c;有创建时间、创建人、修改时间、修改人等字段&#xff0c;在其他功能中也会有出现&#xff0c;属于公共字段&#xff0c;对于这些公共字段最好是在某个地方统一处理以简化开发&#xff0c;使用Mybatis Plus提供的公共…

简单记录牛客top101算法题(初级题C语言实现)判断回文字符串 反转字符串 合并两个有序的数组

1. 判断是否为回文字符串 给定一个长度为 n 的字符串&#xff0c;请编写一个函数判断该字符串是否回文。如果是回文请返回true&#xff0c;否则返回false。   字符串回文指该字符串正序与其逆序逐字符一致。 //示例 输入&#xff1a;"ranko" 返回值&#xff1a;fa…

DevOps系列文章之 自动化测试大全(单测和集成测试)

自动化测试业界主流工具 核心目标&#xff1a; 主要是功能测试和覆盖率测试 业界常用主流工具 GoogleTest GoogleTest是一个跨平台的(Liunx、Mac OS X、Windows 、Cygwin 、Windows CE and Symbian ) C单元测试框架&#xff0c;由google公司发布&#xff0c;为在不同平台上为编…