因果推理学习笔记

星期六, 11月 16, 2024 | 4分钟阅读 | 更新于 星期六, 11月 16, 2024

@

因果推理入门级简介

因果推理

定义——对比实验

实验组的 干预 是因,与对照组 区别 是果

因果关系之梯 - 知乎

【综述长文】因果关系是什么?结构因果模型入门 - 知乎

介入主义 (Interventionism)

  • 模型组成
    • 系统(受干预的对象) $u \in U $
    • 介入方式 $t \in T$,并定义「不介入」为 $c$
    • 状态函数 $Y$,记作 $y = Y_t(u)$,特别地,默认状态 为 $Y_c(u)$

结构因果模型 Structural Causal Model

虚拟事实模型 Rubin Causal Model

  • 对单个系统而言,定义「结果」为 $\delta(u) = Y_t(u) - Y_c(u)$

  • 期望 扩展到群体 $E[\delta(u)] = E[Y_t(u)] - E[Y_c(u)]$ (线性)

  • 因果推断的 根本问题:无法同时知晓完全相同的系统在 不同介入 后的状态 $Y_c(u)$ 和 $Y_t(u)$

    • 个体处理效应稳定假设 (Stable unit treatment value assumption, SUTVA):对个体 $u_1$ 的干预 不影响任意其他个体 $u_2$
    • 同效果假设:对每个个体,某种介入 的影响相同
    • 同质性假设:对每个个体,所有介入 的影响相同
  • 缺陷

    • 一次仅修改一个变量
    • 黑箱

贝叶斯网络

  • 有向无环 的概率图模型,引入先验的「条件独立」信息

  • 每个节点的概率分布为: $$ P(X = x|\mathrm{pa}(X)) $$

  • 即使有大量 缺失、未知变量 信息,仍可通过 边缘化操作 进行推断

  • 可以解决

    • 条件概率(包含空条件)
    • 最大后验概率

三个节点的关系

  • cascade $A → B → C$
    • $ A ⊥̸ C$ 且 $(A \perp C) | B$
    • 对应因果推断中的「chain」结构
  • common parent $A ← B → C$
    • $ A ⊥̸ C$ 且 $(A \perp C) | B$
    • 对应因果推断中的「Fork」结构
  • V-structure $A→ B ← C$
    • 与上述两种情况相反,$ A \perp C$ 且 $(A ⊥̸ C) | B$
    • 对应因果推断中的「Collider」结构

d-connected / d-separated(有向连接 / 分割)

  • 如果所有的「依赖路径」都被阻隔,则为 d-separated
  • 只要有一条未被阻隔,即为 d-connected

结构方程模型 Structural Equation Model

$$ X = f_X(\mathrm{pa}(X), u(X)) $$

  • $X$ 依赖于 内生变量 $\mathrm{pa}(X)$ 和 外生变量 $u(X)$
  • 不同于贝叶斯网络(许多连续概率分布 可逆),这里采用 函数式 方程,用于打破对称性
  • $f_X$ 可以是非线性的,描述一种「变化传递

干预

  • 不同于 条件概率 进行的「缩小观察范围」SEM 还允许「干预」操作 $$ P(Y|do(X = x_0)) $$

    • 将 $X$ 赋值为 $x_0$,并切断所有 指向 $X$ 的边(包括内生、外生变量)

    • 与观察不同,干预会影响模型的「默认状态

      观察:$X = x_0$ 条件下 $Y = y_0$ 的概率

      介入:令 $X = x_0$ 为当前默认状态,求 $Y = y_0$

      (已知仪器示数 / 拆下仪器电池)

调整公式 Adjustment Formula

$$ P(Y = y|do(X = x)) = \sum\limits_{z} P(Y = y| X = x, Z = z) P(Z = z) \\ P(Y = y|do(X = x)) = \sum\limits_{z} P(Y = y| X = x, PA = z) P(PA = z) $$

  • 类似全概率公式(加权求和)但更简单

    https://github.com/FeatherBlade91/featherblade91.github.io/tree/main/img
    
  • 可以仅通过「观测数据」计算 干预 后结果

    • 使用要求:Z 是可观测的

    • 应用举例:辛普森悖论(男 357,女 343,共 700)

      服药组治愈率 未服药组治愈率
      男性 $\frac{81}{87} = 0.93$ $\frac{234}{270} = 0.87$
      女性 $\frac{192}{263} = 0.73$ $\frac{55}{80} = 0.69$
      总计 $\frac{273}{350} = 0.78$ $\frac{289}{350} = 0.83$

      实际上应该计算 $$ \begin{eqnarray} && P(治愈| do(服药)) \\ &=& \sum P(治愈 | 服药, 性别)P(性别) \\ &=& P(治愈 | 服药, 男)P(男) + P(治愈 | 服药, 女)P(女) \\ &=& 0.93 * \frac{357}{700} + 0.73 * \frac{343}{700}\\ &=& 0.832 \\ \\ && P(治愈| do(不服药)) \\ &=& \sum P(治愈 | 不服药, 性别)P(性别) \\ &=& P(治愈 | 不服药, 男)P(男) + P(治愈 | 不服药, 女)P(女) \\ &=& 0.87 * \frac{357}{700} + 0.69 * \frac{343}{700}\\ &=& 0.781 \end{eqnarray} $$

后门调整

  • 后门路径:连接 $X, Y$ 的路径中,存在「直接指向 $X$ 的箭头」,则为 $X$ 的后门路径

    • 若不存在后门路径,则 $P(Y = y|do(X = x)) = P(Y = y|X = x)$
    • 否则上述等式不成立
  • 后门调整:如果要计算 $P(Y = y|do(X = x))$,而 $X$ 存在后门路径,在干预时需进行 阻断(控制)

    可以选择阻断满足下列条件的一组变量 $Z$ ,对这一组 $Z$,调整公式成立(同上)

    • $Z$ 都不是 $X$ 的 后代
    • 以 $Z$ 为条件将阻断 $X, Y$ 间的所有 后门路径
    • 不会产生新的 $X$ 的后门路径($Z$ 不为 collider 及其子节点)

    $$ P(Y = y|do(X = x)) = \sum\limits_{z} P(Y = y| X = x, Z = z) P(Z = z) \ $$

前门调整

$$ P(Y = y|do(X = x)) = \sum_zP(Z = z|X = x)\sum_{x’} P(Y = y| X = x’, Z = z)P(X = x’) $$

  • 前门调整

    • $X, Z$ 之间没有 未阻断的路径
    • 以 $Z$ 为条件将阻断 $X, Y$ 间的所有 后门路径
    • $Z$ 和 $Y$ 之间所有的 后门路径 被 $X$ 阻断
  • 推导过程(后门 + 全概率)

逆概率加权

  • 有时 $Z$ 取值过多不好遍历,可以套一层条件概率公式

$$ \begin{eqnarray} P(Y = y|do(X = x)) &=& \sum\limits_{z} P(Y = y| X = x, Z = z) P(Z = z)\\ &=& \sum_z\frac{ P(Y = y, X = x, Z = z)}{P(X = x|Z = z)} \end{eqnarray} $$

线性情况

  • 相互独立

    • 离散:$P(Y|X, Z) = P(Y|Z)$

    • 连续:$E[Y|X, Z] = E[Y|Z]$

      • 线性建模 $$ E[Y|X_1 = x_1, \dots, X_n = x_n] = r_0 + r_1x_1 + \dots + r_nx_n $$ 其中 $r_i$ 称为 回归系数,是对观测数据归纳出的结果,并反应因果特性

        另外有一部分参数在有向边上,称为 路径系数

      • 示例 $$ \begin{eqnarray} Y &=& dZ + eW + U_Y\\ &=& dZ + e(bX + U_W + cZ) + U_Y \\ &=& (d + ce)Z + ebX + U_Y + eU_W \\ &=& \dots \end{eqnarray} $$

路径系数的计算

  • 断开 $X$ 与 $Y$ 的边

    • 如果有 一组变量 $Z$ 能将 $X$ 和 $Y$ d-separate,则有 线性回归模型

    $$ Y = r_X X + r_Z Z + \epsilon $$

反事实推理

  • 计算施加干预后的概率 $$ P (Y|do(T = t), U = u) $$

    • 一般需要假设所有「外生变量」$U$ 可观测
    • 然而现实中,$U$ 往往无法全部得到,因此反事实推理普遍困难

因果发现

因果图的建立

  • 基于约束的遍历方法
  • 基于得分的搜索方法
  • 基于结构性方程假设的方法

因果效应评估

参考资料:

可解释人工智能导论 第3章 (https://space.lib.buaa.edu.cn/space/searchDetailLocal/mbb2b289855b830a211e8ef7a19b5f0d9)

因果推断漫谈(二):倾向性得分匹配介绍 | Yishi Lin

因果推断漫谈(三):倾向性得分加权介绍 | Yishi Lin

  • 最佳方式:随机对照试验 (Randomized Controlled Trial, RCT)
    • 但现实中成本过高,或样本 难以获取
  • 解决方法:观测性数据(仍可分组对比,但存在 混淆偏差

样本匹配法

  • 为每个样本 匹配 其反事实组

  • 每组样本除干预变量外,其余性质尽可能相近,可通过定义「距离」衡量近似度 $$ c(i) = \arg \min\limits_{j:t_j = 1 - t_i} \mathrm{dist} (\boldsymbol x_i, \boldsymbol x_j) $$

    • 计算量大,且难以求解

基于倾向性得分的方法

  • 倾向性得分 (Propensity Score) 给定观测变量,被干预 的条件概率,即「属于实验组 的 “倾向性”」 $$ e(X) = P(T|X) $$ 这是一种 balancing score,具有两个很好的性质 $$ T_i \perp X_i | e(X_i) \ T_i \perp Y_i | e(X_i) $$ 即,对于 倾向性得分相同 的用户

    1. 干预与 特征 独立
    2. 干预与 潜在结果 独立
  • 倾向性匹配」可用于代替距离衡量 近似度,将样本匹配法中公式改写为 $$ c(i) = \arg \min\limits_{j:t_j = 1 - t_i} |e_i - e_j| $$

  • 逆倾向性得分加权」:调整实验组、对照组 分布相同 (干预组除以 $e_i$,非干预组除以 $1-e_i$ ) $$ w_i = \frac{t_i}{e_i} + \frac{1 - t_i}{1 - e_i} $$

  • 然而,倾向性得分常常是 未知

    • 估算方法:监督学习,如 Logistic Regression

混淆变量平衡 Directly Confounder Balancing

  • 为避免倾向性得分的 模型假设错估,直接平衡样本的 混淆变量 分布

    • 思路:$分布相等 \iff 分布的各阶矩相等 $
    • 各阶矩:$E_X[X, X^2, X_iX_j, X^3, X_iX_jX_k, \dots]$
  • 实践中,只平衡 一阶矩 ,并添加 权重的熵 作为惩罚项 $$ \min \sum_{i: t_i = 0} w_i \log w_i \\s.t. ||\overline{X_t} -X_c\boldsymbol{w}||_2^2 = 0 \\ \sum _{i: t_i=0} w_i = 1, \\ \quad \boldsymbol{w} \geqslant 0 $$

© 2024 FeatherBlade

🌱 Powered by Hugo with theme Dream.

Me

祝福你,陌生人

我只愿面朝大海,春暖花开