【因果推断python】19_局部平均效应2

目录

局部平均干预效果:后期

对参与度的影响

关键思想


局部平均干预效果:后期

局部平均处理效应明确了我们可以估计因果效应的人群。这也是查看 IV 的另一种方式,它提供了我们可以使用的其他很酷的直觉。在现代 IV 中,我们将工具视为启动因果链:Z 导致 T 导致 Y。在这种情况下,排除限制意味着 Z 不会导致 Y,除非通过其对 T 的影响。现在将第一阶段视为Z 对 T 的因果效应。我们还用双索引符号重写潜在结果,其中第一个索引表示工具的反事实,第二个索引表示处理

\text{potential outcome}=\begin{cases}Y_i(1,1)\operatorname{if}T_i=1,Z_i=1\\Y_i(1,0)\operatorname{if}T_i=1,Z_i=0\\Y_i(0,1)\operatorname{if}T_i=0,Z_i=1\\Y_i(0,0)\operatorname{if}T_i=0,Z_i=0&\end{cases}

从某种意义上说,干预成为结果,至少在第一阶段是这样。这意味着我们也可以用潜在的结果符号来写它:

\text{potential treat}=\begin{cases}T_0\text{ if }Z_i=0\\T_1\text{ if }Z_i=1\end{cases}

工具变量假设现在可以重写如下E[Y_i|Z_i=1]=E[Y_{i0}+T_{i1}(Y_{i1}-Y_{i0})]

  1. T_{0i},T_{1i}\perp Z_i和 Y_i(T_{1i},1),Y_i(T_{0i},0)\perp Z_i。这就是独立性假设。这表示该仪器与随机分配的一样好。换句话说,工具变量 Z 与潜在干预无关,这与说不同工具变量组的人具有可比性是相同的。

  2. Y_i(1,0)=Y_i(1,1)=Y_{i1} 和 Y_i(1, 0)=Y_i(1, 1)=Y_{i0}。这是排除限制。它说,如果我正在考虑接受干预的潜在结果,那么两个工具变量组的结果都是一样的。换句话说,该工具变量不影响潜在结果,这与说该工具变量仅通过干预影响结果相同。

  3. E[T_{1i}-T_{0i}]\neq0。这是第一阶段的存在。据说第一阶段的潜在结果,即潜在的干预,是不一样的。另一种说法是工具变量确实会影响干预。

  4. T_{i1}>T_{i0}。这就是单调性假设。据说如果每个人都打开工具变量,干预水平会高于每个人都关闭干预的水平。

现在,让我们回顾一下 Wald 估计量,以进一步了解 IV:ATE=\frac{E[Y|Z=1]-E[Y|Z=0]}{E[T|Z=1]-E[T|Z=0]}

让我们取它的第一位,E[Y|Z=1]。使用排除限制,我们可以根据这样的潜在结果重写 Y。E[Y_i|Z_i=1]=E[Y_{i0}+T_{i1}(Y_{i1}-Y_{i0})|Z=1]使用独立性,我们可以去掉 Z 上的条件。E[Y_i|Z_i=1]=E[Y_{i0}+T_{i1}(Y_{i1}-Y_{i0})]用类似的论证,我们得到E[Y_i|Z_i=0]=E[Y_{i0}+T_{i0}(Y_{i1}-Y_{i0})]我们现在可以像这样重写 Wald 估计量的分子E[Y|Z=1]-E[Y|Z=0]=E[(Y_{i1}-Y_{i0})(T_{i1}-T_{i0})]使用单调性,我们知道 T_{i1}-T_{i0} 是 0 或 1,所以E[(Y_{i1}-Y_{i0})(T_{i1}-T_{i0})]=E[(Y_{i1}-Y_{i0})|T_{i1}>T_{i0}]P(T_{i1}>T_{i0})使用类似的论点来解决分母,我们得到E[T|Z=1]-E[T|Z=0]=E[T_{i1}-T_{i0}]=P(T_{i1}>T_{i0})所有这一切让我们可以这样看待 Wald 估计量:ATE=\frac{E[(Y_{i1}-Y_{i0})|T_{i1}>T_{i0}]P(T_{i1}>T_{i0})}{P(T_{i1}>T_{i0})}=E[(Y_{i1}-Y_{i0})|T_{i1}>T_{i0}]

也就是说,由 IV 估计的 ATE 是子群上的 ATE,其中 Ti1>Ti0��1>��0。如果您考虑合规性,这是哪个人群?这是那些工具变量影响通道打开后干预水平高于关闭工具变量影响通道的人群。换句话说,这是服从人群。我们可以记住如下几类,

  1. 服从者意味着 T_{i1}>T_{i0}
  2. 永不接受者意味着 T_{i1}=T_{i0}=0
  3. 总是接受者意味着 T_{i1}=T_{i0}=1

结论是,IV 没有说明对永不接受者、总是接受者或拒绝者的影响,因为对他们的干预没有改变! IV 仅查找服从者的处理效果

对参与度的影响

让我们看看所有这一切在案例研究中如何发挥作用,我们尝试估计推送对应用内购买的影响。因果图就是我们上面描述的那个图,这里就不再赘述了。我们拥有的数据是关于推送分配的随机工具和推送交付的干预变量。

data = pd.read_csv("./data/app_engagement_push.csv")data.head()

首先,让我们先跑一个普通线性回归来看看能得到什么

ols = IV2SLS.from_formula("in_app_purchase ~ 1 + push_assigned + push_delivered", data).fit()
ols.summary.tables[1]

OLS 说的干预效果是 R$27.60,也就是说,消息推送增加了 27.6 雷亚尔(巴西货币单位)的应用内购买。 然而,我们有理由相信这是一个有偏的估计。 我们知道旧手机在接收推送时遇到问题,因此,使用新手机的富裕客户可能是服从者。 由于接受干预的人也有更多的钱,我们认为这种有偏是积极的,消息推送(PUSH)的真正影响较小。 换句话说,我们可能有E[Y_0|T=0] < E[Y_0|T=1]

现在,让我们尝试使用工具变量来估计这种影响。 首先,让我们运行第一阶段。

first_stage = IV2SLS.from_formula("push_delivered ~ 1 + push_assigned", data).fit()
first_stage.summary.tables[1]

看起来我们有一个强大的第一阶段。 那些被指派获得推送的人有 71.8% 的时间得到推送。 这意味着我们有大约 28% 的人从不接受。 我们也有充分的理由相信没有总是接受者,因为截距参数估计为零。 这意味着如果没有分配给它,就没有人得到推送。 鉴于我们的实验设计,这是意料之中的。

现在让我们运行简化的形式的估计:

reduced_form = IV2SLS.from_formula("in_app_purchase ~ 1 + push_assigned", data).fit()
reduced_form.summary.tables[1]

简化形式显示进行干预分配的因果效应为 2.36。 这意味着分配某人接收推送会使应用内购买平均增加 2.36 雷亚尔。

如果我们将简化形式除以第一阶段,我们将工具变量的效果按有实际干预的比例进行缩放,我们得到 2.3636/0.7176=3.292.3636/0.7176=3.29。 运行 2SLS,我们得到这些相同的估计,加上正确的标准误差。

iv = IV2SLS.from_formula("in_app_purchase ~ 1 + [push_delivered ~ push_assigned]", data).fit()
iv.summary.tables[1]

这表明 2SLS 的结果远低于我们使用 OLS 得到的结果:3.29 对 27.60。 这是有道理的,因为使用 OLS 估计的因果效应是正偏差的。 我们还需要记住 LATE。 3.29 是对编译器的平均因果效应。 不幸的是,对于那些从不接受者,我们无话可说。 这意味着我们正在评估对拥有更新手机的较富裕人群的影响。

关键思想

在这里,我们从现代的视角对工具变量加以了更深刻的认识。 我们看到工具变量可以被视为一个因果链,其中工具变量导致干预,干预进而导致结果。 从这个视角出发中,我们学习了服从性,从而理解 IV 估计中的 ATE,并且我们发现它是有服从行为对象的局部平均干预效应(LATE)。

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

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

相关文章

Codeforces Round 951 (Div. 2) C、D(构造、线段树)

1979C - Earning on Bets 构造题&#xff1a;观察到k范围很小&#xff0c;首先考虑最终硬币总数可以是多少&#xff0c;我们可以先假设最终的硬币总数为所有k取值的最小公倍数&#xff0c;这样只需要满足每个结果添加1枚硬币即可赚到硬币。 // Problem: C. Earning on Bets //…

《Kubernetes部署篇:基于Kylin V10+ARM64架构CPU+containerd一键离线部署容器版K8S1.26.15高可用集群》

总结&#xff1a;整理不易&#xff0c;如果对你有帮助&#xff0c;可否点赞关注一下&#xff1f; 更多详细内容请参考&#xff1a;企业级K8s集群运维实战 一、部署背景 由于业务系统的特殊性&#xff0c;我们需要针对不同的客户环境部署基于containerd容器版 K8S 1.26.15集群&…

备份和恢复realme智能手机:综合指南

realme自2018年成立至今&#xff0c;一直秉持着“敢于超越”的品牌精神&#xff0c;专注于为全球年轻用户提供性能卓越、设计新颖的高品质手机。对于如何备份和恢复realme手机&#xff0c;本文将介绍多种不同的方法。 第1部分&#xff1a;使用Coolmuster Android Backup Mana…

用 OpenCV 实现图像中水平线检测与校正

前言 在本文中&#xff0c;我们将探讨如何使用 Python 和 OpenCV 库来检测图像中的水平线&#xff0c;并对图像进行旋转校正以使这些线条水平。这种技术可广泛应用于文档扫描、建筑摄影校正以及机器视觉中的各种场景。 环境准备 首先&#xff0c;确保您的环境中安装了 OpenC…

【RAG提升技巧】查询改写HyDE

简介 提高 RAG 推理能力的一个好方法是添加查询理解层 ——在实际查询向量存储之前添加查询转换。以下是四种不同的查询转换&#xff1a; 路由&#xff1a;保留初始查询&#xff0c;同时查明其所属的适当工具子集。然后&#xff0c;将这些工具指定为合适的选项。查询重写&…

随身WIFI修改MAC(bssid)并接收短信

将SIM卡插入随身WiFi卡槽 将随身WIFI插入电脑 打开 http://ufi.icewifi.com &#xff0c;输入设备IMEI &#xff08;或直接扫描设备包装盒上的二维码&#xff09; 点击“确认” 登录到设备主页&#xff08;网址可收藏保存&#xff09; 点击“WIFI配置”按钮&#xff0c;输入想…

C#——枚举类型详情

枚举类型 枚举类型&#xff08;也可以称为“枚举器”&#xff09;由一组具有独立标识符&#xff08;名称&#xff09;的整数类型常量构成&#xff0c;在 C# 中枚举类型不仅可以在类或结构体的内部声明&#xff0c;也可以在类或结构体的外部声明&#xff0c;默认情况下枚举类型…

【Python报错】已解决AttributeError: Nonetype Object Has NoAttribute Group

解决Python报错&#xff1a;AttributeError: ‘list’ object has no attribute ‘get’ 在Python中&#xff0c;AttributeError通常表示你试图访问的对象没有你请求的属性或方法。如果你遇到了AttributeError: list object has no attribute get的错误&#xff0c;这通常意味着…

【NoSQL数据库】Redis——哨兵模式

Redis——哨兵模式 Redis哨兵 Redis——哨兵模式1.什么是哨兵机制&#xff08;Redis Sentinel&#xff09;1.1 哨兵的作用 2.哨兵的运行机制3.故障处理redis常见问题汇总1、redis缓存击穿是什么&#xff1f;如何解决&#xff1f;2、redis缓存穿透是什么&#xff1f;如何解决&am…

如何查询公网IP?

在互联网中&#xff0c;每个设备都有一个唯一的公网IP地址&#xff0c;用于标识设备在全球范围内的位置。查询公网IP是一个常见的需求&#xff0c;无论是用于远程访问、网络配置还是其他目的&#xff0c;了解自己的公网IP地址都是很有必要的。本文将介绍几种常见的方法来查询公…

HQChart使用教程100-自定义Y轴分段背景色

HQChart使用教程100-自定义Y轴分段背景色 效果图步骤1. 注册Y轴自定义刻度创建事件2. 配置Y轴背景色eventdataobj示例 交流QQ群HQChart代码地址 效果图 步骤 1. 注册Y轴自定义刻度创建事件 事件IDSCHART_EVENT_ID.ON_CREATE_CUSTOM_Y_COORDINATE, 如何注册事件详见教程 HQCh…

代码审计(1):CVE-2022-4957分析及复现

0x00漏洞描述&#xff1a; ѕрееdtеѕt iѕ а vеrу liɡhtԝеiɡ&#xff48;t nеtԝоrk ѕрееd tеѕtinɡ tооl imрlеmеntеd in Jаvаѕсriрt. Thеrе iѕ а Crоѕѕ-ѕitе Sсriрtinɡ vulnеrаbilitу in librеѕроndеd ѕрееdtеѕt…

[word] word2019中制表符的妙用 #媒体#笔记#知识分享

word2019中制表符的妙用 word2019表格功能是非常强大的&#xff0c;很多朋友都认为以前的制表符已经没有什么用途了&#xff0c;其实不然&#xff0c;在一切特殊的场合&#xff0c;word2019制表符还是非常有用的&#xff0c;下面就为大家介绍word2019中制表符的妙用。 步骤1、…

每日复盘-20240606

今日关注&#xff1a; 这几天市场环境不好&#xff0c;一直空仓。 排名标准: ------沪深A股 排名--------代码--------- 名称 六日涨幅最大: ------1--------301176--------- 逸豪新材 五日涨幅最大: ------1--------301176--------- 逸豪新材 四日涨幅最大: ------1--------…

信息系统项目管理师0146:输入(9项目范围管理—9.3规划范围管理—9.3.1输入)

点击查看专栏目录 文章目录 9.3 规划范围管理9.3.1 输入9.3 规划范围管理 规划范围管理是为了记录如何定义、确认和控制项目范围及产品范围,而创建范围管理计划的过程。本过程的主要作用是在整个项目期间对如何管理范围提供指南和方向。本过程仅开展一次或仅在项目的预定义点开…

Quartz持久化

1、为什么需要ouartz持久化 Quartz持久化即将定时任务保存在介质中&#xff0c;持久化目的是保证任务在发生异常后也不会丢失Quartz默认将定时任务存在内存(RAM]obstore)&#xff0c;优点是数据读取速度块&#xff0c;缺点是一旦异常发生&#xff0c;任务 数据就没有了Quartz还…

Objective-C之通过协议提供匿名对象

概述 通过协议提供匿名对象的设计模式&#xff0c;遵循了面向对象设计的多项重要原则&#xff1a; 接口隔离原则&#xff1a;通过定义细粒度的协议来避免实现庞大的接口。依赖倒置原则&#xff1a;高层模块依赖于抽象协议&#xff0c;而不是具体实现。里氏替换原则&#xff1…

台式机安装Windows 11和Ubuntu 22双系统引导问题

一、基本情况 1.1、硬件情况 电脑有2个NVMe固态硬盘&#xff0c;1个SATA固态硬盘&#xff0c;1个机械硬盘。其中一个NVMe固态硬盘是Windows系统盘&#xff0c;另一个NVMe固态为Windows软件和文件盘&#xff0c;SATA固态硬盘为Ubuntu专用&#xff0c;机械硬盘为数据备份盘。 …

Bandizip 专业版正版激活码 - 超好用文件解压缩工具

要说新电脑必装的软件&#xff0c;一定少不了解压缩工具。面对各式各样的压缩包&#xff0c;总要有一个速度快、稳定安全、功能多、支持格式广的工具才行。 好多用户推荐&#xff0c;用过都说好的 Win 端解压缩工具&#xff1a;Bandizip 值得你一试&#xff01; 无论是解压速度…

Redis Key过期监听配置

默认情况下在Windows系统中双击redis-server.exe用的是内置的配置文件 如果希望用这两个配置文件 redis.windows.conf&#xff1a;这是用于在Windows上运行Redis服务器的标准配置文件。可以使用这个文件通过命令行启动Redis服务器。redis.windows-service.conf&#xff1a;这是…