【Causality】结构因果下的反事实基本框架

2023-11-09

在之前,博主整理了因果关系之梯第二层:干预的定义,意义,用法,详见以下链接

但干预的目标是找到研究中处理的某个总效应或者在某些样本群体中的效应(平均因果效应),到目前为止我们无法在特定时间谈论个性化的因果关系。而在实际的任务中,我们通过训练集获得的模型,最终是要对一个新的个体目标状态做判断的。想要实现对个体的处理效果的估计,就需要引入反事实框架。

引言

顾名思义,反事实是没有发生的事实,实际上对一个个体来说处理的选择都是不可逆的,当个体A选择了 T r e a t m e n t = 1 Treatment =1 Treatment=1时,现实中就无法出现 T r e a t m e n t = 0 Treatment =0 Treatment=0的个体A。即使是为发生的事情,人脑却可以实现“想象”。比如:“张三每天都抽烟最后得了肺癌,如果他不抽那么多,也许就不会得肺癌了。”我们假设人脑具有设想那个不存在的世界的能力。

那么反事实框架是如何使用观察数据和实验室据提取有关反事实情境的信息的呢?如何在因果图中表达个体层面的因?

起源:若非因果关系

  1. 被告的罪责
    针对被告的罪责,律师们一直使用的是一种相对直接的证明方法:若非(but-for)
    因果关系:若非被告做出某种行为,那么伤害事件就不会发生。
  2. 修昔底德
    假如没有地震,海啸是不可能发生的。
  3. 剂量-相应曲线、阈值效应
  4. “质料因”, “形式因” ,“动力因”, “目的因”
  5. 休谟的“规律性定义”:因是满足先行于、接近于另一个对象,且如果没有发生,那么后一个对象就不可能存在的对象。

假设1:潜在因果

假如X的值为x, 那么变量Y一定会去某个与之相对应的值,其客观存在性与Y在现实中实际取的值相当。

变量Y的一个潜在结果就是“假如X的值为x,那么Y在个体u上的取值”,记为 Y X = x ( u ) Y_{X=x}(u) YX=x(u),当X在上下文明显时,缩写为 Y x ( u ) Y_{x}(u) Yx(u)

假设2:人类心理结构的一致性

反事实认为,我们只需要假设人们有能力在头脑中想象出可能的世界,并能判断哪个世界“更接近”我们的真实世界,而且这个真实事件能够在群体中达成共识 ,由于我们体验的是同一个世界,那我们就共享因果结构的心理模型。

结构因果模型中的反事实

假如X曾是x,等价于我们处理干预 d o ( X = x ) do(X=x) do(X=x)的方式。对因果图进行尽可能小的修改,以满足X等于x。

结构因果模型

【Causality】因果图入门

do算子

【Causality】do calculus原理

步骤:因果第一定律

Y x ( u ) = Y M x ( u ) Y_x(u)=Y_{M_x}(u) Yx(u)=YMx(u)
M x M_x Mx表示新的图删除了所有指向X的箭头。

  1. (外展)利用关于个体的数据来估计爱丽丝的特质因子(idiosyncratic)
  2. (干预)利用do算子改变模型,以反映我们提出的反事实假设,得到修正图multipied graph
  3. (预测)利用修改后的模型以及有关外生变量的更新信息来估算个体结果值。

案例:工资预测

因果推断应当是模型驱动的,而不是数据驱动的。如在缺失值填补问题上,无论是众数填补,均值填补,都是基于其他数据来填充的,而根据因果之梯的理论,纯粹基于数据的方法(第一层级)可以回答反事实的问题(第三层级) 。

下表为一企业下不同背景的员工的工资发放情况,存在大量缺省值。

在这里插入图片描述
构造一个反事实 C k C_k Ck:假设Karolin的学历是1,那么Karolin的第二年工资是?

数据驱动的推断结果

此时从数据上来看karolin的反事实 C k C_k Ck与Poter是匹配的,所以我们认为Karolin的第二年工资是92500。

模型驱动的推断结果

实际上,如果考虑因果模型,我们假设工作经验与学历是有关系的,因果图如下,那么Karolin的第二年工资就不符合这种匹配关系。
在这里插入图片描述

很好解释,学历越高的人,接受教育的时间越长,那么对应的工作经验应该更少。但Karolin在受教育程度大于Poter的情况下,工作经验和Poter一致。那么我们认为当Karolin与Poter的学历一致时,Karolin的工作经验应该多于Poter,Karolin的第二年工资自然要高于Poter。

(这或许就计量中变量间不能有内生性的原因?)

反事实推理

当Alice学历为1时,工资为多少?

先行:结构因果修正线性回归方程

通过线性回归方法,我们得到工资问题因果图蕴含的的三个方程,并添加隐变量 U U U进行因果:
S = 65000 + 2500 ∗ E X + 5000 ∗ E D + U s S=65000+2500*EX+5000*ED+U_s S=65000+2500EX+5000ED+Us
E X = 10 − 4 ∗ E D + U E X EX=10-4*ED+U_{EX} EX=104ED+UEX

步骤1:外展

从数据中观察EX,ED,得到特质因子 U s U_s Us U E X U_{EX} UEX

步骤2:干预

令ED=1,去混,得到新的修正图

步骤3: 预测

更新ED‘信息,得到新的工作经验EX’,最终得到预测的工资 S E D = 1 ( 爱丽丝 ) S_{ED=1}(爱丽丝) SED=1(爱丽丝)

进一步的分析

实际上,我认为文中对上述问题的分析还有一个隐含的假设:他们的年龄是一致的。只有年龄相同时,学历和工作经验才会出现非常明显的线性相关性,否则学历和经验应该还与年龄相关,其因果图如下。
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Causality】结构因果下的反事实基本框架 的相关文章

随机推荐

  • win32汇编基础概念

    一 关于寄存器 寄存器有EAX EBX ECX EDX EDI ESI ESP EBP等 似乎IP也是寄存器 但只有在CALL RET在中会默认使用它 其它情况很少使用到 暂时可以不用理会 EAX是WIN32 API 默认的返回值存放处 E
  • 深入理解机器学习与极大似然之间的联系

    似然函数 事件A的发生含着有许多其它事件的发生 所以我就把这些其它事件发生的联合概率来作为事件A的概率 也就是似然函数 数据类型的不同 离散型和连续性 就有不同的似然函数 极大似然极大似然估计方法 Maximum Likelihood Es
  • sqli-labs:less-27(过滤select和union)

    div div
  • eosjs v20 如何通过jsonrpc连接到主网节点

    用eosjs连接主网节点很简单 只需要在创建JsonRpc对象时 指定要连接主网节点的地址 就可以了 例如 下面的代码将创建一个使用eosnewyork io节点RPC旳JsonRpc 对象 然后使用get info 方法获取网络总体信息
  • 拆分Nim游戏

    拆分Nim游戏 给定n堆石子 两位玩家轮流操作 每次操作可以取走其中的一堆石子 然后放入两堆规模更小的石子 新堆规模可以为0 且两个新堆的石子总数可以大于取走的那堆石子数 最后无法进行操作的人视为失败 问如果两人都采用最优策略 先手是否必胜
  • 顺序主子式

    设有矩阵 a b c d e f g h i 则 一阶顺序主子式 a 二阶顺序主子式 a b d e 三阶顺序主子式 a b c d e f g h i 若n阶方阵A的顺序主子式均 0 则A的LU分解A LU存在且唯一 转载于 https
  • 微软Xbox One无线手柄控制机器人

    ROS中的joy包提供了游戏手柄的驱动 并且包含joy node节点 这一节点可以发布包含手柄按钮和轴信息的Joy消息 在终端中输入下面命令 安装joy包 sudo apt get install ros kinetic joy Confi
  • python: FileHelper

    encoding utf 8 版权所有 2023 涂聚文有限公司 许可信息查看 描述 Author geovindu Geovin Du 涂聚文 IDE PyCharm 2023 1 python 311 Datetime 2023 7 9
  • A卡2023最新AI画图教程:3A主机安装ROCm运行Stable Diffusion画图

    硬件平台 3A主机 内存16G 显卡 AMD RX6700 XT 12GB 华擎幻影电竞 处理器 AMD R5 3500X 6C6T 主板 华硕TUF B450M PRO GAMING 安装Ubuntu22 04 2 LTS系统 更换系统源
  • MySQL的索引

    MySQL 的索引 1 索引的使用 1 1 什么是索引 1 2 如何创建索引 1 2 1 ALTER TABLE 1 2 2 CREATE INDEX 1 2 3 CREATE TABLE 1 2 4 创建索引的注意事项 1 3 索引类型
  • Python数据分析-房价预测及模型分析

    摘 要 Python数据分析 房价的影响因素图解https blog csdn net weixin 42341655 article details 120299008 spm 1001 2014 3001 5501 上一篇OF讲述了房价
  • SpringBoot +Hadoop3.0.3 mapreduce 实例

    第一步 编码过程 项目结构 pom xml 依赖jar文件
  • Linux 实操篇-实用指令

    Linux 实操篇 实用指令 指定运行级别 基本介绍 运行级别说明 0 关机 1 单用户 找回丢失密码 2 多用户状态没有网络服务 3 多用户状态有网络服务 4 系统未使用保留给用户 5 图形界面 6 系统重启 常用运行级别是3 和5 也可
  • 第二节:数据类型——number和string

    上节回顾 undefined为window的属性 有些程序会在函数开始置定义一个var undefined 这是因为undefined是window的一个属性 当你判断某一个东西是不是undefined的时候 计算机会到window中整体去
  • Oracle 创建、暂停、更改、删除 定时任务job

    oracle job 用来在数据库层面 定时执行存储过程或者是 SQL 语句 创建 暂停 修改 删除 job 查询 当前库中运行的 job SELECT t FROM dba jobs t 创建一个 定时任务 job declare job
  • 【Django快速开发实战】(52~76)使用Django创建一个基础应用:职位管理系统

    52 生产环境要注意哪些事项 生产环境的应用部署 单元测试 老师的testcase test views py from django test import TestCase from django test import Client
  • 卷积神经网络原理简述

    1 CNN原理 卷积神经网络主要应用在图像识别领域中 是指非某类网络的集合 其中包含了多种不同类型的结构 不同网络结构 其性能一般也会有所不同 通过对CNN几种典型架构的研究 我们可以发现这些网络创造者们极富创意 其中许多架构十分精巧 他们
  • Java从入门到实战总结-4.1、数据库基础

    Java从入门到实战总结 4 1 数据库基础 文章目录 Java从入门到实战总结 4 1 数据库基础 第一章 数据库简介 1 1 简介 1 2 常见数据库管理系统 1 3 三大范式 规范 1 4 MySQL安装和卸载 1 4 1 windo
  • 使用cisco 2500路由器实现ADSL接入

    使用cisco 2500路由器实现ADSL接入 此案例配置共分7步 第一步 配置vpdn vpdn enable 启用路由器的虚拟专用拨号网络 d vpdn group office 建立一个vpdn组 request dialin 初始化
  • 【Causality】结构因果下的反事实基本框架

    在之前 博主整理了因果关系之梯第二层 干预的定义 意义 用法 详见以下链接 但干预的目标是找到研究中处理的某个总效应或者在某些样本群体中的效应 平均因果效应 到目前为止我们无法在特定时间谈论个性化的因果关系 而在实际的任务中 我们通过训练集