因果推断 - 反事实

2023-11-15

版权:转载前请联系作者获得授权。
声明:部分内容出自因果关系之梯,已获得原作者授权。
参考书籍:《The Book of Why》——Judea Pearl

基础知识

定义:对于包含外生变量 U U U和内生变量 X X X Y Y Y的SCM,形如 Y X = x ( U = u ) = y Y_{X=x}(U=u)=y YX=x(U=u)=y表示“在 U = u U=u U=u的情况下,如果 X = x X=x X=x,则 Y = y Y=y Y=y”。其中, Y X = x ( U = u ) = y Y_{X=x}(U=u)=y YX=x(U=u)=y可以简写为 Y x ( u ) = y Y_x(u)=y Yx(u)=y

反事实分析的一般步骤

  1. 外展。基于数据对外生变量 U U U进行估算。
  2. 干预。利用 d o do do算子改变模型(删除指向 X X X的箭头),得到新模型 M x M_x Mx,反映我们提出的反事实假设。
  3. 预测。基于 U U U M x M_x Mx来计算结果。

以上三个步骤可以总结为:

因果推断第一定律 Y x ( u ) = Y M x ( u ) Y_x(u)=Y_{M_x}(u) Yx(u)=YMx(u)

反事实和干预的区别

  1. 表现形式: d o ( x ) do(x) dox vs Y x Y_x Yx
  2. X X X进行干预,不会对 X X X的子孙节点造成影响,而反事实会。

如何理解第2条?可以考虑如下因果图, P ( Y ∣ d o ( x ) ) P(Y|do(x)) P(Ydo(x)) P ( Y x ) P(Y_x) P(Yx)的含义显然不同。

  • 计算 P ( Y ∣ d o ( x ) ) P(Y|do(x)) P(Ydo(x))时, Y Y Y的结果实际上和 X X X的取值毫无关系,因为路径被 Z Z Z阻断了!
  • 计算 P ( Y x ) P(Y_x) P(Yx)时,会根据 X = x X=x X=x对对应的 Z Z Z进行改动,进而得到 Y x Y_x Yx


案例实战

下面基于一个案例,加深对反事实分析的理解。
在下表中,学历共分为 0 , 1 , 2 0,1,2 0,1,2三种,分别代表高中,本科,研究生。 S 0 ( u ) S_0(u) S0(u)表示雇员 u u u在学历是高中时,现有的工资水平, S 1 ( u ) S_1(u) S1(u) S 2 ( u ) S_2(u) S2(u)则是在本科和研究生学历下的工资水平。由于在工作时,每个人的学历已经固定,只会是高中、本科和研究生中的一种。故,对于每一个雇员,有两个工资的值为 ? ? ?,表示无法获得。

雇员 (u) 工龄 EX(u) 学历 ED(u) 工资 S0(u) 工资 S1(u) 工资 S2(u)
Alice 6 0 81000 ? ?
Bob 9 1 ? 92500 ?
Lucy 9 2 ? ? 97000
Daivd 8 1 ? 91000 ?
Est 12 1 ? 100000 ?
Flxs 13 0 97000 ? ?

现在,我们想要研究一个反事实问题——如果Alice的学历是本科,那么她的工资应为多少?即:通过上表中的数据,估算 S 1 ( A l i c e ) S_1(Alice) S1(Alice)

在不使用反事实分析的情况下,我们或许可以采用线性回归,通过统计得到你和数据的最佳直线:

S = 2500 × E X + 5000 × E D + 65000 S=2500 \times EX + 5000 \times ED + 65000 S=2500×EX+5000×ED+65000

并依此得出 S 1 ( A l i c e ) = 2500 × 6 + 5000 × 1 + 65000 = 85000 S_1(Alice)=2500 \times 6 + 5000 \times 1 + 65000 = 85000 S1(Alice)=2500×6+5000×1+65000=85000

但是,上述方法有一个明显的弊端,即:对于任何雇员,如果他们的工龄和学历一致,则预测出的工资也是一致的!通过观察Bob和Lucy的工资,我们可以发现,这显然是不对的!

从表中可以看出,Bob和Lucy具有相同的工龄,但Bob的学历更低。那么,假如Lucy的学历和Bob一致,二人的工资应该一致吗?答案显然是否定的。因为,如果Lucy降低了学历,那么理论上她的工龄会比Bob更长,这会导致 S 1 ( L u c y ) > S 1 ( B o b ) S_1(Lucy)>S_1(Bob) S1(Lucy)>S1(Bob)

如何在模型中体现这一点呢?

从因果的角度出发,我们首先可以构建如下的因果图:

我们还是通过线性回归拟合最佳直线,但是和上文中稍有不同:

S = 2500 × E X + 5000 × E D + 65000 + U S S=2500 \times EX + 5000 \times ED + 65000 + U_S S=2500×EX+5000×ED+65000+US

同时,我们还需要一个(可能是)下式的方程:

E X = 10 − 4 × E D + U E X EX=10-4 \times ED + U_{EX} EX=104×ED+UEX

有了这两个方程后,我们就可以根据反事实分析的三个步骤,计算 S 1 ( A l i c e ) S_1(Alice) S1(Alice)

  1. 根据数据估算出 U S = 1000 , U E X = − 1 U_S=1000, U_{EX} = -1 US=1000,UEX=1;
  2. 使用 d o do do算子修改Alice的学历;
  3. 根据 U S = 1000 , U E X = − 1 U_S=1000, U_{EX} = -1 US=1000,UEX=1计算出 E D = 2 ED=2 ED=2,再结合 E D = 1 ED=1 ED=1计算出 S 1 ( A l i c e ) = 76000 S_1(Alice)=76000 S1(Alice)=76000
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

因果推断 - 反事实 的相关文章

  • CausalEGM安装使用

    1代码来源 github https github com SUwonglab CausalEGM tree main src pip Tutorial for Python Users CausalEGM documentation 安装
  • 因果推断——图的三种基本结构

    因果推断入门笔记 V Structure Chain链状 Fork叉状 Collider碰撞 1 Chain 链状结构 X gt Y gt Z X和Y相关 Y和Z相关 X和Z相关 但是 如果condition在Y上 则X和Z是统计独立的 这
  • 用观测数据推断因果的问题(一文搞懂混杂因素、辛普森悖论)

    聊到因果推断与相关性的关系 大家其实都已经有一个认知叫做 相关性 因果性 但学界从统计推断发展到后来因果推断是经历了一个漫长的过程 直到今天 我们仍然基础的对数据的处理和认知离不开统计推断的方法 所以学习了解用观测数据做因果推断可能导致的问
  • Casual inference 综述框架

    A survey on causal inference 因果推理综述 A Survey on Causal Inference 一文的总结和梳理 因果推断理论解读 Rubin因果模型的三个假设 基础理论 理论框架 名词解释 individ
  • 因果推断(三)各种效应和它们之间的关系:ATE、ATT、ATC、ITE、CATE、LATE

    文章目录 1 思维导图 2 效应 3 ITE ICE Individual Treatment Causal Effect 4 ATE ACE Average Treatment Causal Effect 5 ATT ATC Averag
  • 详解Shiro认证流程

    详解Shiro认证流程 isAccessAllowed Subject在如何得到 resolveSession doCreateSubject save Subject subject isAuthenticated onAccessDen
  • 因果系列文章(1):因果推断及相关论文

    序 大家好 好久没有更新因果技术的文章了 从今天开始 我会开启一个新的专栏 和大家聊聊因果推断 一方面是给自己做一个技术沉淀 另一方面也是希望可以制造一个场 让对因果有兴趣的朋友们一起来讨论技术 前一篇因果入门的文章中已经为大家简单的介绍了
  • 因果推断 - 基础知识

    目录 因果关系之梯 因果图的路径结构 阻断 d 分离 混杂 结构因果模型 SCM 版权 转载前请联系作者获得授权 声明 部分内容出自因果关系之梯 已获得原作者授权 参考书籍 The Book of Why Judea Pearl 因果关系之
  • Counterfactual Zero-Shot and Open-Set Visual Recognition

    Counterfactual Zero Shot and Open Set Visual Recognition 1 Introduction 文献提出一个反事实框架 是由对不可见类的泛化来支撑的 作者基于反事实的一致性规则 反事实确实是基
  • Double Machine Learning

    1 从线性回归说起 从观测数据获得因果效应的一个简单方式是使用线性回归 控制confounders的影响 S a l e s i
  • 因果推断(四)——后门调整、前门调整、逆概率加权

    在因果推断 三 中 我们介绍了干预的相关概念 在本文中 我们对一些方法进行介绍 这些方法可用于利用干预分析变量之间的因果关系 在因果推断 三 中 我们得出了调整公式 如上式 假设PA为A节点的所有父节点的集合 则上 式可以修改为 其中b为P
  • 因果推断综述-A Survey on Causal Inference

    最近读到一篇讲述很全面的综述文献 A Survey on Causal Inference 对于接触因果推断不久的同学而言是特别详细的介绍和科普 文献很长 我会分成几部分介绍 目录 摘要 第一部分 简介 第二部分 因果推断基础知识 第三部分
  • 《The Book of Why》 — Chapter7

    第七章 超越统计调整 征服干预之峰 CHAPTER 7 Beyond Adjustment The Conquest of Mount Intervention 因果之梯的第二层 对未尝试过的行动和策略的效果进行预测 混杂因子是导致我们预测
  • 因果推断----必要因和充分因

    必要因 或 若非因 和充分因 必要因 已知张三堵住消防通道 X 1 并且李四死了 Y 1 假如X为0 那么李四还活着 Y 0 的概率是多少 必要性概率 P N PN PN为 P
  • 因果系列文章(9)——反事实(下)

    4月4日 新冠病毒全球累计确诊已经突破100万 其中美国已超过24万 4月2日 外交部新闻发言人华春莹在新闻发布会上质问美国 如果当初最先发生疫情的国家是美国 而不是中国 美国会处理的比中国更好吗 我们难以假设那种情况的存在 但是从美国现在
  • 因果推断 - 反事实

    目录 基础知识 案例实战 版权 转载前请联系作者获得授权 声明 部分内容出自因果关系之梯 已获得原作者授权 参考书籍 The Book of Why Judea Pearl 基础知识 定义 对于包含外生变量 U U U和内生变量 X X
  • 因果推断----do演算

    do演算 合法 的do表达式变换 规则1 如果我们观察到变量W与Y无关 其前提可能是以其他变量Z为条件 那么Y的概率分布就不会随W而改变 即 P Y d
  • 因果推断-PSM的原理及python实现

    目录 一 背景 员工技能培训真的是浪费时间吗 二 PSM的原理及python实现 1 PSM的原理 1 1 计算倾向性得分 1 2 匹配对照组样本 1 3 平衡性检查 1 4 敏感度分析 2 PSM的python实现 一 背景 员工技能培训
  • 因果关系基本概念:后门标准

    阅读David Salazar的文章Causality To adjust or not to adjust后的笔记 文章目录 动机 实例 动机 在前面的文章中 我们知道就算控制再多的变量 也不一定能准确估计 采用后门标准 backdoor
  • dubbo配置提供者和消费者

    1 找到对应的文件 提供者 消费者 参考dubbo官网 http dubbo apache org zh cn docs user quick start html

随机推荐

  • PostgreSQL_row_number() over()

    语法 row number over partition by col1 order by col2 desc row number 为返回的记录定义各行编号 pritition by 分组 order by 排序 实例 实例数据来源 利用
  • vue实现文件下载

    原理 a href url 复制代码 实际使用场景 上面的原理中适合开放的资源下载 http请求中无需验证时使用 在实际使用过程中 a标签中的url中直接设置header比较麻烦且不安全 而且从开发规范上api一般上要封装一下 header
  • 华为OD机试 - 最多颜色的车辆(Java)

    题目描述 在一个狭小的路口 每秒只能通过一辆车 假设车辆的颜色只有 3 种 找出 N 秒内经过的最多颜色的车辆数量 三种颜色编号为0 1 2 输入描述 第一行输入的是通过的车辆颜色信息 0 1 1 2 代表4 秒钟通过的车辆颜色分别是 0
  • LeetCode 2545. 根据第 K 场考试的分数排序

    班里有 m 位学生 共计划组织 n 场考试 给你一个下标从 0 开始 大小为 m x n 的整数矩阵 score 其中每一行对应一位学生 而 score i j 表示第 i 位学生在第 j 场考试取得的分数 矩阵 score 包含的整数 互
  • git忽略指定文件夹

    git忽略指定文件夹 如下结构 总共有三个文件夹 假设要忽略第一层的B文件夹 在目录下新建一个 gitignore文件 并填写下面内容 B 假设要忽略第一层的A文件夹 在文件中填写A 的话 会把B文件夹下的A文件夹也忽略了 这个时候可以加上
  • 要称王,先做行业破坏者

    author skate time 2010 06 18 高端阅读78期 原标题为 世界 油王 的职场启示 我的人生 狠 字当头 有极强的故事性 白手起家 狂赚几亿美元 后遭朋友暗算 被踢出一手创办并成功发展40年的公司 同期不得不应对麻烦
  • Linux nrm 运行失败,解决:npm中 下载速度慢 和(无法将“nrm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确, 然后再试一次)...

    1 解决下载速度 因为我们npm下载默认是 连接国外的服务器 所以网速不是特别好的时候 可能下不了包 安装nrm 使用 npm i nrm g 我们的一般工具包都是下载到全局 安装完毕之后 可以运行 命令 nrm ls ls 表示 list
  • Django-Model层ORM之查询操作(六)

    目录 一 Django查询相关API all 查询所有记录 返回一个集合对象 filter 属性 根据条件查询 返回一个集合对象 first 和 last 查询第一个和最后一个记录 返回单个对象 get id 2 根据id查询 返回一个对象
  • Ubuntu 15.04 下编译Caffe2

    深度学习大神贾扬清在四月底发布了最新框架Caffe2 最近在Ubuntu15 04下编译了它的源代码 遇到一些坑 记录下来以供参考 基本安装次序如官网所述 https caffe2 ai docs getting started html
  • k8s Trouble Shooting 故障排除

    本文要讲的是k8s的故障排除 比较浅 最近刚入门 主要涵盖的内容是查看k8s对象的当前运行时信息 对于服务 容器的问题是如何诊断的 对于某些复杂的问题例如pod调度问题是如何排查的 1 查看系统的Event事件 在对象资源 pod serv
  • 一起写一个 Web 服务器

    http my oschina net leejun2005 blog 486771 一起写一个 Web 服务器 2 2015 06 06 实践项目 9 评论 Web服务器 分享到 8 本文由 伯乐在线 高世界 翻译 艾凌风 校稿 未经许可
  • java实现评论功能_Java实现评论回复功能的完整步骤

    前言 使用递归循环开发评论回复功能 适用于大部分的简单单体应用 评论功能或许是大多数的单体应用之中会用到的功能 我们会在自己所开发的项目之中进行集成该功能 大多数时候我们会将评论功能划分成以下几种 单一型 嵌套型 两层型 一 分类方式 1
  • SAP B/P 初步研究(二)

    从开发人员角度来看 B P客户创建可以试用两种方法 第一种是使用BAPI FUNCTION 第二种是使用BAPI CALL METHOD 个人更倾向于使用METHOD 因为METHOD方法只需要填充一个嵌套结构就可以实现B P所有业务视图的
  • 【STM32】制作一个bootloader

    工作环境 STM32CubeMX Keil 相关环境准备这里就不介绍了 bootloader是什么 bootloader就是单片机启动时候运行的一段小程序 这段程序负责单片机固件的更新 也就是单片机选择性的自己给自己下载程序 可以更新 可以
  • Linux C 系统编程 2-1 进程管理 进程环境

    该系列文章总纲链接 专题分纲目录 LinuxC 系统编程 本章节思维导图如下所示 思维导图会持续迭代 第一层 第二层 1 进程的启动和退出 1 1 流程 程序启动 gt 程序加载 地址分配 gt 程序退出 1 程序启动 对于二进制文件 如果
  • 浅谈State状态模式

    一 前言 状态模式在某些场合中使用是非常方便的 什么叫做状态 如果大家学过 编译原理 就会明白DFA M和NFA M 在确定有限状态机和非确定有限状态机中 状态就是最小的单元 当满足某种条件的时候 状态就会发生改变 我们可以把时间中的一个时
  • OSPF的路由器角色

    IR internal router 区域内路由器 普通区域 BR backbone router 骨干区域路由器 位于骨干区域 至少一个接口在骨干区域 ABR area border rouder 区域边界路由器 作用是连接骨干区域和普通
  • Aixcode代码自动补全插件的安装和使用

    最近在技术公众号上看到大佬们说到一款代码自动补全的智能插件aixcode 官方是这样宣传的 智能代码提示 她用强大的深度学习引擎 能给出更加精确的代码提示 代码风格检查 她有代码风格智能检查能力 帮助开发者改善代码质量 编程模式学习 她能自
  • Verilog数据类型

    作者 anekin 原作网址 http blog sina com cn s blog 615047920100ih0k html Verilog HDL有下列四种基本的值 1 0 逻辑0或 假 状态 2 1 逻辑1或 真 状态 3 x X
  • 因果推断 - 反事实

    目录 基础知识 案例实战 版权 转载前请联系作者获得授权 声明 部分内容出自因果关系之梯 已获得原作者授权 参考书籍 The Book of Why Judea Pearl 基础知识 定义 对于包含外生变量 U U U和内生变量 X X