【因果推断python】54_效应异质性和非线性带来的挑战2

目录

Continues Treatment and Non Linearity

Key Concepts


Continues Treatment and Non Linearity

我们只是深入探讨了二元结果增加异质性治疗效果分析难度的一个例子。但这种现象并不局限于市场营销中的转换问题。例如,2021 年,全球成功向公众提供了第一批获批的 COVID19 疫苗。当时,一个关键问题是谁应该先接种疫苗。毫不奇怪,这是一个 "异质性治疗效果"(Heterogeneous Treatment Effect)问题。政策制定者希望让那些受益最大的人先接种疫苗。在这种情况下,治疗效果就是避免死亡或住院。那么,谁的死亡或住院人数在接种疫苗后减少最多呢?在大多数国家,他们都是老年人和有健康问题(合并症)的人。现在,这些人在注射 COVID19 后更容易死亡。值得庆幸的是,COVID 的死亡率远低于 50%,这使我们处于 Logistic 函数的左侧。在这一区域,根据我们为市场营销所做的相同论证,治疗那些在感染 COVID19 后死亡概率较高的人群是有意义的,而这些人群正是我们之前提到的群体。这是巧合吗?也许吧。请记住,我不是健康专家,所以我可能错得离谱。但我觉得这个逻辑很有道理。

在这两种情况下,即市场推广和 COVID19 疫苗,治疗效果异质性的关键复杂因素是结果函数 Y 的非线性。这种非线性使我们在从 Y0 到 Y1 的过程中,结果的增加主要是由于结果函数的弯曲。我们已经看到二元结果是如何发生的,在二元结果中,E[Y|X] 呈对数形状。但这种情况更为普遍。事实上,这是一个在商业中不断出现的问题,尤其是在治疗是连续变量的情况下。让我们通过最后一个例子来更清楚地说明这一观点。

让我们考虑一下经典的定价问题。你在一家流媒体公司工作,比如 Netflix 或 HBO。公司希望回答的一个关键问题是向客户收取多少价格。为了回答这个问题,他们做了一个实验,随机将客户分配到不同价格的交易中: 5巴西雷亚尔/月、10巴西雷亚尔/月、15巴西雷亚尔/月或20巴西雷亚尔/月。通过这种方法,他们希望不仅能回答客户对价格上涨的敏感程度,还能回答某些类型的客户是否比其他客户更敏感。在下图中,您可以看到按两个客户群细分的实验结果: A,估计收入较高的客户;B,估计收入较低的客户。

data = pd.DataFrame(dict(segment= ["b", "b", "b", "b",  "a", "a", "a", "a",],price=[5, 10, 15, 20, ] * 2,sales=[5100, 5000, 4500, 3000,  5350, 5300, 5000, 4500]
))plt.figure(figsize=(8,4))
sns.lineplot(data=data, x="price", y="sales", hue="segment")
plt.title("Avg. Sales by Price (%) by Customer Segment");

公司希望通过这些数据回答以下问题:谁对折扣更敏感?换句话说,如何根据客户对价格的敏感度(销售价格弹性)对他们进行排序?通过观察曲线,我们可以感觉到,A 市场虽然收入较高,但总体上对折扣的敏感度较低。不过,我们也可以看到曲线存在一定的弯曲。事实上,如果我们考虑到这种曲率,那么处理效果的排序就不再只是 A 和 B 客户之间的排序了。治疗效果还取决于他们在治疗曲线中所处的位置。例如,对 A 组客户来说,从 15 BRL 降至 10 BRL 的治疗效果要高于对 B 组客户来说,从 5 BRL 降至 10 BRL 的治疗效果:

E[Y(10)-Y(5)|Seg=B]<E[Y(15)-Y(10)|Seg=A]

如果我们对该实验的治疗效果进行排序,结果会是这样的:

plt.figure(figsize=(8,4))
sns.lineplot(data=data, x="price", y="sales", hue="segment")plt.annotate("1", (8, 5350), bbox=dict(boxstyle="round", fc="1"))
plt.annotate("2", (8, 5000), bbox=dict(boxstyle="round", fc="1"))
plt.annotate("3", (13, 5100), bbox=dict(boxstyle="round", fc="1"))
plt.annotate("4", (13, 4700), bbox=dict(boxstyle="round", fc="1"))
plt.annotate("4", (17, 4800), bbox=dict(boxstyle="round", fc="1"))
plt.annotate("5", (17, 3900), bbox=dict(boxstyle="round", fc="1"))plt.title("Ordering of the Effect of Increasing Price");

现在,如果你天真地将治疗效果的结果汇总起来,看起来 A 部分比 B 部分对价格上涨的弹性要大得多(绝对治疗效果更高)。

那么,当治疗效果因治疗方法和治疗结果的不同而发生变化时,该怎么办呢?老实说,这仍是一个活跃的研究领域。在实践中,你能做的最好的事情就是在试图回答哪类客户对治疗更敏感时非常小心。确保所比较的客户类型都有相同的待遇分布。如果不是,则要对推断治疗效果持怀疑态度。例如,在上面的例子中,尽管客户 B 看起来对价格上涨不那么敏感,但你不知道如果你给这个细分市场分配超过 10BRL 的更高价格,情况是否还会如此。

另一种方法是将响应曲线线性化。这里的想法是通过转换治疗方法或结果(或两者)来消除曲率,使它们之间的关系看起来像一条线。由于直线具有恒定的导数,因此可以解决治疗效果随曲线所处位置而变化的问题。举例来说,如果我们将价格变量转化为负数,再将其指数化为 4,然后反转符号,我们就会得到某种线性关系。在这种转换后的数据中,"A 对价格上涨的敏感度低于 B "的说法就更有意义了,因为它现在不取决于我们在曲线上所处的位置。

plt.figure(figsize=(8,4))
sns.lineplot(data=data.assign(price = lambda d: -1*(-d["price"]**4)),x="price", y="sales", hue="segment")
plt.title("Avg. Sales by -(-price^4)");

然而,这种方法有许多缺点。首先,它并不总能使曲线线性化。在我们的例子中,你可以清楚地看到这种线性化并不完美。但更重要的是,有时舍弃曲线并没有商业意义。在我们的定价示例中,我们很可能认为价格为 15 的客户 A 比价格为 5 的客户 B 更敏感。这将使我们做出一个正确的决定,即把客户 A 的价格从 15 降到 10,但不对客户 B 的价格做任何调整。

Key Concepts

我意识到我带来的问题可能比答案更多,但有时我们能做的最好的事情就是非常清楚地意识到这个问题。在本章中,我希望能让大家看到,当我们关心的结果是非线性的时候,会出现哪些复杂情况。

这是二元结果中常见的问题,也是研究较多的问题。在这种情况下,治疗效果往往越接近平均结果 0.5 就越高。由于结果在 0 和 1 之间是有界限的,如果我们过于接近 0 或 1,效果往往会非常小。

在结果连续的情况下,非线性因素的影响会变得更加复杂。在这种情况下,您所能做的就是仔细思考问题。试着回答你是否更关心治疗效果而不考虑治疗基线,或者基线是否重要。只有这一点才是有价值的指导原则。

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

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

相关文章

深度学习 --- stanford cs231学习笔记五(训练神经网络的几个重要组成部分之三,权重矩阵的初始化)

权重矩阵的初始化 3&#xff0c;权重矩阵的初始化 深度学习所学习的重点就是要根据损失函数训练权重矩阵中的系数。即便如此&#xff0c;权重函数也不能为空&#xff0c;总是需要初始化为某个值。 3&#xff0c;1 全都初始化为同一个常数可以吗&#xff1f; 首先要简单回顾一下…

仿微信图片查看器`WPF`实现`ListBox` 鼠标滑动批量选中与反选效果

看到微信中&#xff0c;上传图片时的图片查看功能可以通过手指长按并滑动实现多选&#xff0c;于是为解析实现思路&#xff0c;也通过WPF 使用ListBox 实现了一版案例。 参考效果 微信效果如下&#xff0c;支持图片单选和鼠标长按滑动实现批量操作。 WPF模仿效果&#xff1a…

Mysql: SQL-DDL

一.SQL通用语法 1.SQL可以单行或者多行书写,以分号结尾。 2.SQL语句可以使用空格/缩进来增强语句的可读性。 3.MySQL数据库的SQL语句不区分大小写,关键字建议用大写。 4.注释: 单行注释:注释内容或#注释内容(Mysql特有) 多行注释&#xff1a;/*注释内容*/ 二.SQL分类 1.D…

信息学奥赛初赛天天练-34-CSP-J2021完善程序-按位异或、模拟算法、数组模拟环、约瑟夫问题应用

PDF文档公众号回复关键字:20240624 2021 CSP-J 完善程序3 1 完善程序 (单选题 &#xff0c;每小题3分&#xff0c;共30分) &#xff08;Josephus问题&#xff09;有n个人围成一个圈&#xff0c;依次标号0至n-1。从0号开始&#xff0c;依次 0&#xff0c;1&#xff0c;0&#…

0801功率放大问题

3个学时讲一个电路&#xff08;两个共集共集并联&#xff09;&#xff0c;4个问题&#xff0c;发展线索 丙类放大电路用在高频通讯行业&#xff0c;低频功放是甲类&#xff0c;乙类&#xff0c;甲乙类 PT三极管的损耗 Pv电源提供的功率 现代模电通常使用方法b 只有交流…

用Vue3打造一个交互式营养追踪仪表盘

本文由ScriptEcho平台提供技术支持 项目地址&#xff1a;传送门 使用 Vue.js 构建营养仪表盘卡片 应用场景介绍 营养仪表盘卡片是一个可视化工具&#xff0c;用于跟踪个人的营养摄入情况。它通常包含以下信息&#xff1a; 卡路里摄入目标和进度营养成分&#xff08;如脂肪…

2024中国·淮安高端人才精英赛北京分站赛首战告捷

“诚意满淮&#xff0c;创赢未来”&#xff01;6月20-21日&#xff0c;2024中国淮安高端人才精英赛首场分站赛在北京产业创新中心顺利举办。淮安市科技局党组书记、局长胡长青&#xff0c;淮安市委组织部人才处处长沈雪娇&#xff0c;淮安经开区党工委委员、管委会副主任、科技…

C++(part2、3-Linux系统编程+数据库项目):Linux网络云盘

文章目录 一、项目需求分析1.一期&#xff1a;命令行解析(1)cd(用栈管理)、ls、pwd(2)puts、gets(3)mkdir、touch、rmdir、rm 2.二期&#xff1a;密码验证、日志、断点续传、大文件传输(1)密码验证(2)日志(3)断点续传(4)大文件传输 3.三期&#xff1a;用户注册、用户登录、虚拟…

springboot+vue+mybatis穷游管理系统+PPT+论文+讲解+售后

随着现在网络的快速发展&#xff0c;网上管理系统也逐渐快速发展起来&#xff0c;网上管理模式很快融入到了许多企业的之中&#xff0c;随之就产生了“基于vue的穷游管理系统”&#xff0c;这样就让基于vue的穷游管理系统更加方便简单。 对于本基于vue的穷游管理系统的设计来说…

企业文件传输系统只能传输?分享功能同样重要!(下)

上篇我们讲述了企业大文件传输的重要性以及镭速在传输方面的优势&#xff0c;同时企业文件的快速共享显得尤为重要。镭速软件在这方面的表现一样尤为突出&#xff0c;它不仅提供了强大的文件传输功能&#xff0c;而且在文件分享方面也有其独到之处。本文将探讨镭速软件在文件分…

协程: Flow 异步流 /

以异步方式返回多个返回值的方案: 在 Kotlin 协程 Coroutine 中 , 使用 suspend 挂起函数 以异步的方式 返回单个返回值肯定可以实现 , 如果要 以异步的方式 返回多个元素的返回值 , 可以使用如下方案 : 集合序列Suspend 挂起函数Flow 异步流 同步调用返回多个值的弊端&…

江协科技51单片机学习- p17 定时器

&#x1f680;write in front&#x1f680; &#x1f50e;大家好&#xff0c;我是黄桃罐头&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流 &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd;​…

Unity面试题 UGUI调整UI与粒子特效的显示层级

首先&#xff0c;必须保证Canvas画布的渲染模式为了相机渲染 方法:一&#xff1a;将需要控制UI显示层级的Image换成Sprite 1.创建一个粒子系统&#xff0c;和两张Sprite. 2.设置Sprite1的Order in Layer为 -1&#xff0c;设置Sprite2的Order in Layer为 1&#xff0c;粒子的Ord…

LONGHEADS:无需训练的多头注意力长文本处理框架

大模型&#xff08;LLMs&#xff09;在处理海量文本数据时展现出了前所未有的能力。然而这些模型在面对超出其训练时所见序列长度的长文本时存在两个主要问题&#xff1a;一是模型对于超出预训练长度的文本难以有效泛化&#xff0c;二是注意力机制的二次方时间复杂度导致计算成…

活动预告|探索 LLM 大模型的小型化 —— 微软 Phi3在 NVIDIA Jetson 与 NIM 平台的最佳实践

在当前高速发展的人工智能领域&#xff0c;如何高效的部署和优化 SLM (小型的大模型) 成为关键。随着微软 Phi-3 系列模型的发布&#xff0c;让 SLM 在 NVIDIA Jetson 边缘计算平台上的部署成为可能。同时 Phi-3 系列模型已在 NVIDIA NIM 平台提供加速的推理服务。 NVIDIA NIM…

解决File协议导致的CORS限制,用Node.js搭建本地服务器

文章目录 一、前言二、分析报错原因三、如何解决四、具体步骤 你是否曾遇到这样的困境&#xff1a;在本地使用file://协议直接打开HTML文件时&#xff0c;由于现代浏览器的安全限制&#xff0c;无法跨源请求&#xff08;CORS&#xff09;本地资源&#xff1f;尤其是当你试图通过…

老电脑焕发第二春,玩转 Stable Diffusion 3

几年前&#xff0c;我头脑一热&#xff0c;配置了一台顶配级消费 PC&#xff08;RTX 2080 Ti GPU i9 CPU&#xff09;&#xff0c;打算用来学习 AI。然而&#xff0c;起初我并没有找到合适的切入点。深度学习早期阶段&#xff0c;消费级显卡根本无法承担训练大模型、微调大模型…

ONLYOFFICE 桌面编辑器8.1---一个高效且强大的办公软件

软件介绍 ONLYOFFICE 桌面编辑器经过不断的更新换代现在迎来了&#xff0c;功能更加强大的ONLYOFFICE 桌面编辑器8.1是一个功能强大的办公套件&#xff0c;专为多平台设计&#xff0c;包括Windows、Linux和macOS。它提供了一套全面的办公工具&#xff0c;包括文档处理、电子表…

elementplus el-table(行列互换)转置

Element Plus v2.4.0, repl v3.4.0 <template> <div><el-table :data"tableData" style"width: 100%"><el-table-column prop"name" label"名字" width"180" /><el-table-column prop"wei…

如何linux 查询进程和杀死进程

在程序开启长链接的时候&#xff0c;有时候会发现端口被占用的情况&#xff0c;但是又没有启动相关的端口&#xff0c;所以我们需要将端口占用结束掉 1.使用指令netstat -ntlp 查看当前有哪些进程&#xff0c;如图&#xff1a; 2.使用指令kill -9 18785 杀死进程&#xff0c…