【Python实战因果推断】57_因果推理概论7

目录

The Bias Equation

A Visual Guide to Bias


The Bias Equation

既然你现在理解了为何样本平均值可能与它试图估计的平均潜在结果存在差异,我们不妨更详细地探究为什么平均差值通常无法恢复出ATE(平均处理效应)。

在销售的例子中,处理与结果之间的关联性由E[Y|T=1] - E[Y|T=0]来衡量。这是有促销活动的商家平均销售量减去无促销活动商家的平均销售量。另一方面,因果关系则由E[Y_1-Y_0](这是E[Y|do(t)=1] - E[Y|do(t)=0]的缩写)来衡量。

为了理解它们为何以及如何不同,让我们将观察到的结果替换为关联性度量E[Y|T=1] - E[Y|T=0]中的潜在结果。对于被处理组,观察到的结果是Y1;而对于未处理组,观察到的结果是Y0:

E[Y|T=1]-E[Y|T=0]=E[Y_1|T=1]-E[Y_0|T=0]

现在,让我们加上并减去E[Y0|T=1],这是一个反事实结果,它告诉我们如果被处理者没有接受处理,其结果会是什么:

E[Y|T=1]-E[Y|T=0]=E[Y_1|T=1]-E[Y_0|T=0]+E[Y_0|T=1]-E[Y_0|T=1]

最后,你可以重新排列这些项,并合并一些期望值:

E[Y|T=1]-E[Y|T=0]=\underbrace{E[Y_1-Y_0|T=1]}_{ATT}+\underbrace{\{E[Y_0|T=1]-E[Y_0|T=0]\}}_{BIAS}

这段简单的数学涵盖了你在因果问题上会遇到的所有问题。为了更好地理解它,让我们分解一下它的含义。

首先,这个等式告诉我们为什么相关性并不等于因果关系。正如你所见,相关性等于对被处理者的处理效应加上一个偏差项。这个偏差由处理组和对照组在无论是否接受处理的情况下有何不同所给出,这体现在Y0的差异上。现在你可以解释为什么当有人告诉你价格削减能大幅度提升销量时,你可能会产生怀疑。在这个销售例子中,你认为E\bigl[Y_{0}\bigr|T=0\bigr]<E\bigl[Y_{0}\bigr|T=1\bigr]也就是说,有能力进行降价的企业即便不促销,销量也往往更高。

为什么会这样?你会研究混杂因素(confounding)。现在,你可以认为偏差的出现是因为许多你无法观测到的因素正在与处理一起变化。因此,有促销和无促销的企业不仅仅在是否进行促销这一点上有区别,在规模、位置、选择促销的周次、管理风格、所在城市,以及其他很多方面都有所不同。为了确定价格削减能增加多少销量,你需要有促销和无促销的企业在平均意义上彼此相似。换句话说,处理组和对照组需要具有可比性(exchangeable)。

A Visual Guide to Bias

你不必仅依赖数学和直觉来讨论可比性(exchangeability)。在我们的例子中,你甚至可以通过绘制不同处理组间变量与结果之间的关系图来检查它们是否可比。如果你以业务规模(avg_week_sales衡量)为横轴,以每周销售量(weekly_amount_sold)为纵轴,并用不同的颜色表示是否进行促销(is_on_sale),你会发现进行促销的业务(被处理组)在图表的右侧更加集中,这意味着它们通常是更大的企业。也就是说,处理组和未处理组在平衡性上存在差异。

这是非常有力的证据,证明你的假设 E[Y_0|T=1]>E[Y_0|T=0]是正确的。存在一种向上的偏差,因为实施降价的企业数量(T=1)以及这些企业在没有促销时的预期结果(Y0)都会随着企业规模的增大而提高。

如果你听说过辛普森悖论(Simpson’s Paradox),这种偏差就像是一个不那么极端的版本。在辛普森悖论中,两个变量之间的关系最初是正向的,但一旦调整第三个变量后,关系变成了负向的。在我们的案例中,偏差并没有极端到改变关联性的符号。这里,你从一个初始情况开始,即价格削减与销量之间的关联性过高,而控制第三个变量则会减少这种关联性的大小。如果你聚焦于相同规模的企业内部,价格削减与销量之间的关系会减弱,但仍保持正向。

再次强调,这一点非常重要,我认为值得再深入讲解一遍,这次会配合一些图像。虽然这些图像并不现实,但它们很好地解释了偏差的问题。假设你有一个表示企业规模的变量。如果将销售量与规模绘制成图,你会看到一个上升的趋势,其中规模越大,企业销售越多。接下来,根据处理情况给点着色:白色点表示降价的企业,黑色点表示没有降价的企业。如果你简单地比较处理组和未处理组企业的平均销售量,你将得到以下结果:

请注意,两组间销售量的差异(并且很可能确实存在)可能由两个原因造成:

  1. 处理效应。因降价而导致的销售量增加。
  2. 业务规模规模较大的企业既能够卖出更多商品,也能够进行更多的降价促销。这种处理组和对照组间的差异并非由降价引起,而是源于企业本身的规模。

因果推断的挑战在于区分这两种原因。

对比一下,如果我们将所有可能的结果(包括反事实结果,用三角形表示)加入图中,情况会有所不同。个体处理效应是个体结果与其在另一种处理条件下理论上的结果之间的差值。你想要估计的平均处理效应是每个个体单元潜在结果Y_{1}-Y_{0}的平均差。这些个体间的差异远小于之前图中处理组和对照组之间的差异。原因在于偏倚,如右侧的图所示:

你可以通过设定所有单位都不接受处理来表示这种偏倚。在这种情况下,你只保留了Y0这一种潜在结果。然后,你可以观察在没有接受处理的情况下,处理组和对照组在这类潜在结果上是如何不同的。如果它们之间存在差异,那么除了处理本身之外,还有其他因素导致处理组和对照组的不同。这正是我一直在讨论的偏倚。它掩盖了真实的处理效应。

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

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

相关文章

linux ftp操作记录

一.ftp 创建用户 passwd: user ftpuser does not exist 如果你遇到 passwd: user ftpuser does not exist 的错误&#xff0c;这意味着系统中不存在名为 ftpuser 的用户。你需要首先确认FTP用户是否是系统用户&#xff0c;还是FTP服务器软件&#xff08;如Pure-FTPd&#xff…

DATEDIFF()- Date Functions-SQL函数

DATEDIFF&#xff08;&#xff09;- Date Functions DATEDIFF() 函数是一种用于计算日期差异的常见日期函数。 通常用于比较两个日期之间的时间跨度&#xff0c;以便进行日期计算和分析。 语法 大多数数据库中&#xff0c;DATEDIFF() 函数的语法&#xff1a; DATEDIFF(unit,…

力扣141环形链表问题|快慢指针算法详细推理,判断链表是否有环|龟兔赛跑算法

做题链接 目录 前言&#xff1a; 一、算法推导&#xff1a; 1.假设有环并且一定会相遇&#xff0c;那么一定是在环内相遇&#xff0c;且是快指针追上慢指针。 2.有环就一定会相遇吗&#xff1f;快指针是每次跳两步&#xff0c;有没有可能把慢指针跳过去&#xff1f; 3.那一定…

108页PPT麦肯锡--以价值为导向的企业战略规划

以价值为导向的企业战略规划 企业的高层管理者&#xff0c;受股东和其他权益所有者的委托&#xff0c;充当价值管理者的角色。高层经理对于企业进行战略规划的过程&#xff0c;也就是通过价值管理&#xff0c;创造价值的过程 战略规划应首先从挖掘具体业务的价值驱动因素着手…

【重要】23集 搭建ESP-IDF和VSCODE开发环境 编译Helloword和AI聊天工程-《MCU嵌入式AI开发笔记》

【重要】23集 搭建ESP-IDF和VSCODE开发环境 编译Helloword和AI聊天工程-《MCU嵌入式AI开发笔记》 参考文档&#xff1a; https://lceda001.feishu.cn/wiki/Xqx3wH8wMi3BrrkmeTXcgLL7nQk 我们修改了secretkey等&#xff0c;之后我们修改menuconfig 配置menuconfig 之后出现问题…

【轨物方案】成套开关柜在线监测物联网解决方案

随着物联网技术的发展&#xff0c;电力设备状态监测技术也得到了迅速发展。传统的电力成套开关柜设备状态监测方法主要采用人工巡检和定期维护的方式&#xff0c;这种方法不仅效率低下&#xff0c;而且难以保证设备的实时性和安全性。因此&#xff0c;基于物联网技术的成套开关…

ECharts实现按月统计和MTBF统计

一、数据准备 下表是小明最近一年的旅游记录 create_datecity_namecost_money2023-10-10 10:10:10北京14992023-11-11 11:11:11上海29992023-12-12 12:12:12上海19992024-01-24 12:12:12北京1232024-01-24 12:12:12上海2232024-02-24 12:12:12广州5642024-02-24 12:12:12北京…

【Jupyter Notebook】一文详细向您介绍 【重启内核】

【Jupyter Notebook】一文详细向您介绍 【重启内核】 下滑即可查看博客内容 &#x1f308; 欢迎莅临我的个人主页 &#x1f448;这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地&#xff01;&#x1f387; &#x1f393; 博主简介&#xff1a;985高校的普通本硕…

基于Golang+Vue3快速搭建的博客系统

WANLI 博客系统 项目介绍 基于vue3和gin框架开发的前后端分离个人博客系统&#xff0c;包含md格式的文本编辑展示&#xff0c;点赞评论收藏&#xff0c;新闻热点&#xff0c;匿名聊天室&#xff0c;文章搜索等功能。 项目在线访问&#xff1a;http://bloggo.chat/ 或 http:/…

深入搞懂Checkpoint调优基础及原理

前言 在执行大量写操作的系统上,调优检查点对于获得良好的性能至关重要。然而,检查点是我们经常发现混淆和配置问题的地方之一,无论是在社区邮件列表中,还是在为客户提供支持和咨询期间。这篇文章旨在解释检查点是什么——目的和数据库如何实现它——以及如何调优它们。 注…

chapter08-面相对象编程的三大特征——封装

1、基础介绍 对电视机的操作就是典型封装 封装的好处&#xff1a;隐藏实现细节&#xff1b;可以对数据进行验证 2、封装的实现 3、入门案例 altinsert&#xff0c;getter and setter&#xff0c;自动插入

Docker(十)-Docker运行elasticsearch7.4.2容器实例

1.下载镜像 1.1存储和检索数据 docker pull elasticsearch:7.4.2 1.2可视化检索数据 docker pull kibana:7.4.22.创建elasticsearch实例 创建本地挂载数据卷配置目录 mkdir -p /software/elasticsearch/config 创建本地挂载数据卷数据目录 mkdir -p /software/elasticse…

Linux——管理本地用户和组(详细介绍了Linux中用户和组的概念及用法)

目录 一、用户和组概念 &#xff08;一&#xff09;、用户的概念 &#xff08;二&#xff09;、组的概念 补充组 主要组 二、获取超级用户访问权限 &#xff08;一&#xff09;、su 命令和su -命令 &#xff08; 二&#xff09;、sudo命令 三、管理本地用户账户 &…

PyTorch模型训练步步详解:从零开始构建深度学习流程

P y T o r c h 训练模型流程图 PyTorch训练模型流程图 P y T orc h 训练模型流程图

基于STM32瑞士军刀--【FreeRTOS开发】学习笔记(二)|| 堆 / 栈

堆和栈 1. 堆 堆就是空闲的一块内存&#xff0c;可以通过malloc申请一小块内存&#xff0c;用完之后使用再free释放回去。管理堆需要用到链表操作。 比如需要分配100字节&#xff0c;实际所占108字节&#xff0c;因为为了方便后期的free&#xff0c;这一小块需要有个头部记录…

Python | Leetcode Python题解之第283题移动零

题目&#xff1a; 题解&#xff1a; class Solution:def moveZeroes(self, nums: List[int]) -> None:n len(nums)left right 0while right < n:if nums[right] ! 0:nums[left], nums[right] nums[right], nums[left]left 1right 1

【管控业财一体化】

1. 引言 大型集团在现代企业管理中扮演着举足轻重的角色&#xff0c;其管控业财一体化解决方案是实现企业高效运营的关键。随着数字化转型的加速&#xff0c;业财一体化不再局限于财务与业务流程的简单融合&#xff0c;而是向着更深层次的数据驱动、智能化决策和价值创造方向发…

Java入门:05.Java中的数组002

通过上篇文章&#xff0c;相信大家对数组应该有了一个简单的了解&#xff0c;并对Java中的数据类型有了一个基本的认识&#xff0c;不仅如此我们还明白了怎样定义一个数组类型的变量&#xff0c;在这之后&#xff0c;让我们一起来更加深入的了解一下数组吧。 三、如何创建一个…

哈希表相关的力扣题和讲解和Java、C++常用的数据结构(哈希法)

20240725 一、什么时候适用什么样的结构。1.java中1.1 HashSet&#xff1a;1.2 TreeSet&#xff1a;1.3 LinkedHashSet&#xff1a;1.4 HashMap&#xff1a;1.5 TreeMap&#xff1a;1.6 LinkedHashMap&#xff1a;1.7 总结 2. c中2.1 std::unordered_set&#xff1a;2.2 std::s…

Python3网络爬虫开发实战(3)网页数据的解析提取

文章目录 一、XPath1. 选取节点2. 查找某个特定的节点或者包含某个指定的值的节点3. XPath 运算符4. 节点轴5. 利用 lxml 使用 XPath 二、CSS三、Beautiful Soup1. 信息提取2. 嵌套选择3. 关联选择4. 方法选择器5. css 选择器 四、PyQuery1. 初始化2. css 选择器3. 信息提取4. …