Skip to content

因果发现——从观测数据中自动学习因果图结构,何时可能何时不可能

原文提炼

因果推断的两大任务

"Causal discovery asks: given observational data, can we learn the causal graph? This is fundamentally different from causal effect estimation, which assumes the graph is already known."

因果发现 (Discovery) 因果效应估计 (Estimation)
输入 数据 \(D\),无因果图 数据 \(D\) + 已知因果图 \(G\)
输出 因果图 \(\hat{G}\) 因果效应 \(\hat{\tau}\)
难度 极高(组合爆炸 + 不可识别) 中(需满足识别假设)
典型问题 我们能从观测数据中学到什么? 在给定图中,这个效应是多少?

因果发现的三种方法论

1. 约束方法(Constraint-based)——PC 算法

基于条件独立性检验构建图的骨架: - 若 \(X \perp\!\!\!\perp Y | Z\),则 \(X\)\(Y\) 在给定 \(Z\) 时 d 分离 → \(X\)\(Y\) 之间无边 - 通过系统性检验所有三元组的条件独立性,重建图的骨架 - 局限:只能学到 Markov 等价类(多个 DAG 可能产生相同的条件独立模式),不能确定所有边的方向

2. 得分方法(Score-based)——GES(Greedy Equivalence Search)

用得分函数(如 BIC)搜索最优 DAG: $$ \text{Score}(G, D) = \log P(D|G) - \frac{d}{2} \log n $$

  • 在 DAG 空间中贪婪搜索得分最高的图
  • 局限:DAG 空间是超指数的——10 个变量已有 \(4.2 \times 10^{18}\) 个可能的 DAG

3. 函数因果模型(Functional Causal Models)——LiNGAM

假设线性非高斯模型: $$ X_i = \sum_{j \in \text{Pa}(i)} b_{ij} X_j + e_i, \quad e_i \text{ 非高斯} $$

  • 突破:如果噪声是非高斯的,可以识别所有边的方向(而不只是 Markov 等价类)
  • 这是因果发现领域最重要的理论进展之一

因果发现的三条戒律

戒律 含义 为什么重要
你不能从纯观测数据中学到完整的因果图 Markov 等价类是无法避免的边界 防止过度自信
你永远需要领域知识 算法只能缩小等价类,不能唯一确定 因果发现不是纯自动化问题
干预是最可靠的因果发现工具 随机化打破等价类 A/B 测试 = 因果发现的黄金标准

三条实践原则

  1. 因果发现是探索性工具,不是确认性工具——它告诉你"图可能是这样的",不是"图一定是这样的"
  2. 约束方法和得分方法各有优势——约束方法对小样本更鲁棒,得分方法对大样本更准确
  3. 永远不要只报告一个图——报告 Markov 等价类或多个高得分图,量化不确定性

跨域链接