《因果推断入门》总结

2023-11-02

内容来源:饺子博士and饭老师

目录

一、概率统计基础工具

二、图模型

三、结构因果模型

四、辛普森悖论

五、D-分隔

六、模型检验和等价类

七、乘积分解法则 

八、混淆变量 

九、A/B test

十、总结


一、概率统计基础工具

1. 随机事件A,则对应概率为P(A);

2. 条件概率:

        如果P(B) > 0,则P(A \mid B) = \frac{P(A \cap B)}{P(B)}

        如果P(B) = 0,则P(A \mid B) = 0

3. 独立事件的条件概率:

        P(A \mid B) = P(A) (A、B独立);

4. 条件独立的条件概率:

        P(A \mid B,C) = P(A \mid C) (在C的条件下,A、B独立);

5. 随机变量的条件概率:

        P(X = x | Y = y) = P(X = x);

6. 如果P(A \cap B) \neq \varnothingP(A \cup B) = P(A) + P(B)

7. 贝叶斯定理:

        P(A \mid B) = \frac{P(B \cap A)}{P(B)}= \frac{P(B \mid A)P(A)}{P(B)}

8. 期望:

        E(X) = \sum_{x}^{}x P(X = x)

        E(g(x)) = \sum_{x}^{}g(x) P(X = x)

        E(X) \approx \bar{E} = \frac{1}{n}\sum_{1}^{n}x_{i}

9. 条件期望:

        E(Y \mid X = x) = \sum_{y}^{}yP(Y = y \mid X = x)

10. 方差:

        Var(X) = E((x - \mu )^{2})

        Var(X) \approx \hat{\sigma ^{2}} = \frac{1}{n - 1}\sum_{1}^{n}(x_{i} - \bar{x})^{2}

11. 协方差:

        Cov(X, Y) = E[(X-E(X))(Y - E(Y))]

        Cov(X, Y) \approx \hat{\sigma }_{xy} = \frac{1}{n - 1} \sum_{1}^{n}(x - \bar{x})(y - \bar{y})

12. 相关系数:

        \rho _{xy} = \frac{\sigma _{xy}}{\sigma _{x}\sigma _{y}}

        \rho _{xy} \approx \hat{\rho _{xy}} = \frac{\hat{\sigma _{xy}}}{\hat{\sigma _{x}}\hat{\sigma _{y}}}

13. 回归方程:

        f^{*}(x) = E(Y \mid X = x)

        f^{*}(x) = E(Y \mid X = x) = X^{T}\beta                                                                  liner regression

        f^{*}(x) = E(Y \mid X = x) = \sum_{j = 1}^{p}f_{j}(x_{j})                                                         addtive model

        f^{*}(x) = E(Y \mid X = x) = \sum_{1}^{n}\alpha _{i}K(x_{i},x)                                                 kernel SVM

        f^{*}(x) = E(Y \mid X = x) = T_{\theta }(x)                                                                regression tree

        f^{*}(x) = E(Y \mid X = x) = \sum_{t = 1}^{T}T_{t, \theta _{t}}(x)                                                      random forest

14. 独立可以推出不相关,不相关无法推出独立

蒙提霍尔问题

令X代表玩家选择门号,即X = {1, 2, 3}

令Y代表汽车所在门号,即Y = {1, 2, 3}

令Z代表主持人所展示门号,即Z = {1, 2, 3}

在玩家选定1号门后主持人选定3号门的概率:

P(Z = 3 \mid X = 1) = P(Z = 3 \mid X = 1, Y = 1)P(Y = 1) +

                                    P(Z = 3 \mid X = 1, Y = 2)P(Y = 2) +

                                   P(Z = 3 \mid X = 1, Y = 3)P(Y = 3)

                                 = \frac{1}{2} \times \frac{1}{3} + 1 \times \frac{1}{3} + 0 \times \frac{1}{3}

                                 = \frac{1}{2}

在Z = 3 ,X = 1的情况下,Y = 1的概率:

P(Y = 1 \mid X = 1, Z = 3) = \frac{P(Y = 1, X = 1 \mid Z = 3)}{P(Z = 3 \mid X = 1)}                                   

                                             = \frac{P(Z = 3 \mid X = 1, Y = 1)P(Y = 1 \mid X = 1)}{P(Z = 3 \mid X = 1)}

                                             = \frac{\frac{1}{2} \times \frac{1}{3} }{ \frac{1}{2}}

                                             = \frac{1}{3}

在Z = 3 ,X = 1的情况下,Y = 2的概率:

P(Y = 2 \mid X = 1, Z = 3) = \frac{P(Y = 2, X = 1 \mid Z = 3)}{P(Z = 3 \mid X = 1)}

                                             = \frac{P(Z = 3 \mid X = 1, Y = 2)P(Y = 2 \mid X = 1)}{P(Z = 3 \mid X = 1) }

                                             = 1 \times \frac{1}{3} \times \frac{1}{2}

                                             = \frac{2}{3}

二、图模型

1. 相邻节点:

Y与X,Z相邻

2. 完全图:

 3. 路径:

无向路径:

有向路径:

4. 父子节点:

5. 闭环:

6. 有向无环图:

三、结构因果模型

        事件X通过方法导致事件Y的发生,可以描述为Y = f(X)。因为因果关系存在时间上线性关系,故X \neq f^{-1}(Y)。有时不仅仅只有一个“因”,即:Y = f(X, Z, ...)

        因素也有可能是其他事件产生的现象,即因素可能不是直接因素。

        Z= g(X)Y = f(Z)Y = f(g(X))

        图模型表示:

        Y = f(X)因果模型:

         Y = f(X,Z)因果模型:

        Z = f(X)Y = g(Z)Y = g(f(X)) 因果模型:

        Y = g(Z)Z = f(X,W) 因果模型:

其中X、W节点不由其他事件生成,称为外生变量,Z、Y 节点称为内生变量。

        如果X、Y是统计相关,也不能证明X、Y之间存在因果性。如果X、Y是存在因果性,X、Y之间绝大多数是统计相关。

链状结构(Chain)

         路径X->Y->Z构成链状结构。

        相关性:

        1. X与Y大多数是相关的;

        2. Y与Z大多数是相关的;

        3. Z与X大多数是相关的;

        4. 在给定Y的情况下,Z与X是独立的,即X ⫫ Z | Y;

        eg:

        X = u_{x}Y = X + u_{y}Z = Y + u_{z} = X + u_{y} + u_{z}

        当Y= C,得Z = C + u_{z},Z只与u_{z}相关。

 叉状结构(Fork)

        其中X、Y、Z构成叉状结构。 

        相关性:

        1. X与Y大多数是相关的;

        2. X与Z大多数是相关的;

        3. Z与Y大多数是相关的;

        4. 在给定X的情况下,Z与Y是独立的,即Y ⫫ Z | X;

        eg:

        X = u_{x}Y = X + u_{y}Z = X + u_{z}

        当X = C,得Y = C + u_{y}Z = C + u_{z},Y只与u_{y}相关,Z只与u_{z}相关。

对撞结构(Collider)

        其中X、Y、Z构成对撞结构。 

        相关性:

        1. X与Z大多数是相关的;

        2. Y与Z大多数是相关的;

        3. X与Y是独立的;

        4. 在给定Z的情况下,X与Y是相关的,X ≡ Y | Z;

        5. 在给定W的情况下,且W是Z的子孙节点,X与Y也是相关的,X ≡ Y | W;

四、辛普森悖论

        当人们尝试探究两种变量(比如新生录取率与性别)是否具有相关性的时候,会分别对之进行分组研究。然而,在分组比较中都占优势的一方,在总评中有时反而是失势的一方。

分组与群体不同例子1(药物影响性):

        分组数据:

男性
没恢复 恢复 总数
吃药 6 81 87
没吃药 36 234 270
女性
没恢复 恢复 总数
吃药 71 192 263
没吃药 25 55 80

         群体数据:

没恢复 恢复 总数
吃药 77 273 350
没吃药 61 289 350

        由上得:

X Y Z
0 女性 没恢复 没吃药
1 男性 恢复 吃药

                P(Y = 1 \mid X = 1, Z = 1) = 0.93 

                P(Y = 1 \mid X = 1, Z = 0) = 0.87

                P(Y = 1 \mid X = 0, Z = 1) = 0.73

                P(Y = 1 \mid X = 0, Z = 0) = 0.69

                P(Y = 1 \mid Z = 1) = 0.78

                P(Y = 1 \mid Z = 0) = 0.83

        在分组中:

                P(Y = 1 \mid X = 1, Z = 1) > P(Y = 1 \mid X = 1, Z = 0)

                P(Y = 1 \mid X = 0, Z = 1) > P(Y = 1 \mid X = 0, Z = 0)        

        从数据上看吃药是对恢复有益的。

        在群体中:

                P(Y = 1 \mid Z = 1) < P(Y = 1 \mid Z = 0) 

        从数据上看吃药是对恢复有害的。 

从图上看,性别也治疗效果是存在影响的。故存在因果模型如下所示:

 性别、吃药和恢复构成叉状结构,因此要研究吃药和恢复之间是否有相关性,应该阻塞性别使得吃药和恢复独立。故应看分组数据进行分析。

分组与群体不同例子2(多种影响性):

没吃药 吃药
低血压 81/87(93%) 234/270(87%)
高血压 192/263(73%) 55/80(69%)
合并数据 270/350(78%) 289/350(83%)

        显然,分组数据的效果是负向的,而群体数据的效果是正向的。血压对治疗效果有影响,同时,药物对血压也有影响。

血压、吃药和恢复构成链状结构,因此要研究吃药和恢复之间是否有相关性,不能阻塞血压的影响,这本身就是所研究的部分相关性,故应看群体数据进行分析。 

五、D-分隔

        D-分隔是一种用来判断变量是否条件独立的图形化方法。相比于非图形化方法,D-分隔更加直观,且计算简单。对于一个DAG图,D-分隔方法可以快速的判断出E中两个节点之间是否是条件独立的。

        X、Y是D-分隔的 <=> X、Y独立

        X、Y在条件Z下D-分隔 <=> X、Y独立 | Z         

       链状结构中:

         X、Y是D-连通的,当阻塞Z可使得X、Y是D-分隔,X ⫫ Y | Z。

        叉状结构中:

        X、Y是D-连通的,当阻塞Z可使得X、Y是D-分隔,X ⫫ Y | Z。 

        对撞结构中:

        X、Y是D-分隔的,因为Z阻塞了X、Y。当给定Z时,可使得X、Y具有相关性,X ≡ Y | Z  

        例子:

        因为W属于对撞结构使得X、Y是D-分隔的。 

六、模型检验和等价类

模型检验

        图可以推出任意两个节点的统计相关性。数据可以进行统计分析,估计变量的统计相关性。若二者出现不一致问题,则可以认为模型假设错误。

        eg:        

        从上图中可以推出: W ⫫ Z_{1} | X。若数据可以分析回归方程:W = \beta _{0} + \beta _{1} \times Z_{1}+\beta _{2} \times X,则说明 W ≡ Z_{1} | X 。因此模型是错误的。

 等价类

相关性 叉状结构 链状结构
X ≡ Y ✔︎ ✔︎
X ≡ Z ✔︎ ✔︎
Y ≡ Z ✔︎ ✔︎
X ≡ Y | Z ✔︎ ✔︎
X ⫫ Z | Y ✔︎ ✔︎
Y ≡ Z | X ✔︎ ✔︎

相关性 叉状结构 对撞结构
X ≡ Y ✔︎ ✔︎
X ≡ Z ✔︎
Y ≡ Z ✔︎ ✔︎
X ≡ Y | Z ✔︎ ✔︎
X ⫫ Z | Y ✔︎
Y ≡ Z | X ✔︎ ✔︎

相关性 G1 G2
X ≡ Y ✔︎ ✔︎
X ≡ Z ✔︎ ✔︎
Y ≡ Z ✔︎ ✔︎
X ≡ Y | Z ✔︎ ✔︎
X ⫫ Z | Y ✔︎ ✔︎
Y ≡ Z | X ✔︎ ✔︎

        1. 链状结构与叉状结构是无法区分的,即等价;

        2. 链状结构和叉状结构与对撞结构是可以区分的,即不等价;

        3. 对状结构的相邻父节点存在有向边是无法区分的,即等价;

        eg:

七、乘积分解法则 

        结构因果模型的相应图模型不是循环图时,变量的联合分布表示为:    

                                            P(X_{1},...,X_{n}) = \prod_{i = 1}^{n}P(X_{i}|pa(X_{i})) 

        其中pa(X_{i})为节点X_{i}的所有父节点。

        eg:

P(X_{1},X_{2},X_{3},X_{4},X_{5}) = \prod_{i = 1}^{5}P(X_{i}|pa(X_{i}))

                                        =P(X_{1})P(X_{2}|X_{1})P(X_{3}|X_{1})P(X_{4}|X_{2},X_{3})P(X_{5}|X_{4})

八、混淆变量 

        同时影响原因变量与结果变量的变量,称为混淆变量。例如分组与群体不同例子1中,性别为混淆变量;分组与群体不同例子2中,血压不是混淆变量,因为其是原因变量导致而影响结果变量。

剔除混淆变量

        数据获取方式:

        1. 观测数据,只是记录数据,不会数据的产生进行干涉;

        2. 试验数据,对试验对象进行干涉,例如对照试验;

        观测数据难以使用因果推断,试验数据易于使用因果推断。因此在随机试验中对试验对象进行干预,使得变量单一,便可剔除混淆变量。但是并不是所有的试验都可以通过随机试验来获得试验数据,而是通过观测数据。

九、A/B test

        A/B test一般使用于互联网公司对新功能上线效果分析。其实现方式为:将线上流量进行分流,使得流量从服务器获得的数据不同,并在客户端观察并记录线上用户对此反应,后根据分析数据进行评价新功能的影响,从而做出决策。以网页为例,通过负载均衡等将线上流量分成A、B(可以更多,即AA/B test、AAA/B test,但都是A/B test),A流量获得新设计的页面,B流量依然获得旧页面。同时,在两个页面上进行点击统计(可以是留存等),分析两个页面之间的差异,从而决定是否进一步推流。

十、总结

        事物普遍存在因果性,同时存在相关性混淆因果关系,因果推断就是有效“武器”。例如,张三是电商,他想发放优惠卷从而提高营业额,结果也如同他所想。但恰巧此时存在双十一活动,那提高营业额是因为优惠卷还是双十一便存在争议。如果对其做随机试验便可以清晰了解双方差异。

        因果推断可以使用概率统计工具对试验数据进行分析,从而总结或者论证一个结构因果模型去阐述事物的因果性。也可以通过结构因果模型去生成数据或者对数据进行优化后分析,从而使得展示效果更加明显。

        在机器学习中,特征之间是存在相关性和因果性的。在做决策和判断时,我们往往需要因果性,因此识别特征之间的因果性是必要的,而因果推断是重要武器。因果推断与机器学习的结合,是有双向促进作用的。

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

《因果推断入门》总结 的相关文章

随机推荐

  • 汇编实现排序——希尔排序

    希尔排序是把记录按下标的一定增量分组 对每组使用直接插入排序算法排序 随着增量逐渐减少 每组包含的关键词越来越多 当增量减至1时 整个文件恰被分成一组 算法便终止 以下是汇编实现的代码 S0 SEGMENT STACK DW 20 DUP
  • RabbitMQ学习(四)——高级特性

    RabbitMQ高级特性 1 1 消息的可靠投递 1 1 1 消息发送端 在使用RabbitMQ的时候 作为消息发送方式希望杜绝任何消息丢失或者投递失败的场景 RabbitMQ为我们提供了两种方式用来控制消息的投递可靠性模式 confirm
  • IDEA断点调试技巧,多张动图包教包会。

    文章目录 一 怎么开启断点调试 二 调试界面咋那么多按钮 1 返回断点位置 2 步过 3 步入 4 5 强制步入 步出 6 回退断点 7 断点跳到光标处 8 表达式计算 9 恢复程序 10 停止程序 11 查看所有断点 12 禁用断点 13
  • vs2017community进行DirectX开发_问题小节

    一 下载并安装vs及DirectX 1 vs版本 vs2017community 免费的 百度就有 2 我下载的DirectX版本 DXSDK Jun10 链接https pan baidu com s 1w7np5N E6QYqJXIr0
  • 微信小程序年月日时分选择器的实现

  • 基于VGG深度学习神经网络的猫狗数据集分类

    摘要 VGG网络是由牛津大学视觉几何组完成的基于深度卷积神经网络的大规模图像识别架构 该网络参考了AlexNet ZFNet OverFeat等经典的网络架构 从而得出的 这个架构参加了ILSVRC 2014比赛 取得了定位冠军 分类亚军的
  • 苹果App Store程序提交审核指南中文版

    注 lt 苹果应用商店审核指南 gt 中文翻译最近一次更新为2013 03 04 文中红色部分是相对于2013 03 04版本的新增内容 绿色部分代表更改的内容 蓝色表示苹果相关官方文档的链接 前言 感谢您付出宝贵的才华与时间来开发iOS应
  • cannot import name ‘__new_empty_tensor‘ 升级版本后依旧出现问题

    问题描述 原因说明 这是因为包版本过低导致的 升级到torchvision 0 9 0就没有这个问题了 后续问题 我发现更新了版本依旧出现 后面发现因为我是多版本Python 运行的时候使用了默认环境 更新包在另一个环境 所有出现了问题 解
  • 含源码,用Python实现浪漫烟花

    目录 前言 环境准备 代码编写 效果展示 前言 Python实现浪漫的烟花特效 现在很多地方都不能放烟花了 既然看不到 那作为程序猿的我们还不能自己用代码做一个吗 今天就带大家用代码做一个烟花特效吧 环境准备 这里使用到的库有 pygame
  • Spring 启动详解

    Springboot启动流程 方法入口 org springframework boot SpringApplication run java lang String StopWatch 开启 公开总运行时间和每个命名任务的运行时间 get
  • 经典的ABA问题与解决方法

    1 AbA问题的产生 要了解什么是ABA问题 首先我们来通俗的看一下这个例子 一家火锅店为了生意推出了一个特别活动 凡是在五一期间的老用户凡是卡里余额小于20的 赠送10元 但是这种活动没人只可享受一次 然后火锅店的后台程序员小王开始工作了
  • C语言中的二级指针(双指针)

    原创作品 转载请标明出处 http blog csdn net yming0221 article details 7220688 C语言更多查看 C语言使用注意事项 一 C语言使用注意事项 二 C语言使用注意事项 三 二级指针又叫双指针
  • el-table实现自适应高度滚动,并处理fixed的问题

    需求 页面只有一页 不能滚动 需要对长的table在内部设置滚动 设置Scss el table自身拥有 flex 1 这项css规则 需要先为table的父级容器设置display flex flex direction column 这
  • iOS音视频—目录

    What you cannot avoid welcome 无法避免的事 就坦然接受 OpenVC iOS音视频 OpenCV初体验马赛克的实现 Shell脚本语言 基础 iOS音视频 Shell脚本语言 第一个脚本应用 iOS音视频 Sh
  • 机器学习(九)------K-Means实现鸢尾花聚类

    机器学习 九 无监督K Means聚类 1 K Means聚类算法流程 误差平方和准则函数 2 K Means实现鸢尾花聚类 import numpy as np import pandas as pd import matplotlib
  • 一文告诉你如何在Linux中设置定时清除运行内存(buff_cache)的脚本

    一文告诉你如何在Linux中设置定时清除运行内存 buff cache 的脚本 前语 1 查看内存缓存状态 2 配置清理缓存的脚本 2 1 新建或打开脚本 2 2 clear buff cache配置文件中增加如下代码 3 设置定时任务 大
  • 最新Web前端面试题精选大全及答案

    目录 HTML CSS相关 Javascript相关 三者的异同 Vue相关 55 Vue路由懒加载 按需加载路由 React相关 react 生命周期函数 为什么虚拟 dom 会提高性能 必考 组件的 状态 state 和属性 props
  • Kali-工具-sqlmap常见用法

    SQLmap常见用法 r 这个参数是将 抓到的请求包复制一个文件中然后使用此参数进行扫描 get post提交方法都支持 例如 rp txt 是抓取的数据包 sqlmap r rp txt 也可以加 p 指定注入点 sqlmap r rp
  • Element UI的表单验证

    Element UI表单有3种验证方式 1 在表单中加rules属性 然后data里面写具体的验证规则就好 rules里面可以写正则表达式验证
  • 《因果推断入门》总结

    内容来源 饺子博士and饭老师 目录 一 概率统计基础工具 二 图模型 三 结构因果模型 四 辛普森悖论 五 D 分隔 六 模型检验和等价类 七 乘积分解法则 八 混淆变量 九 A B test 十 总结 一 概率统计基础工具 1 随机事件