因果推断实战:深入解析倾向分匹配(PSM)与因果森林的核心原理与应用场景

1次阅读
没有评论

共计 1734 个字符,预计需要花费 5 分钟才能阅读完成。

image.webp

从 AB 测试到观察性研究

在理想情况下,我们通过随机对照试验 (如 AB 测试) 来评估干预效果,因为随机化能保证处理组和对照组的协变量分布平衡。但现实中很多场景无法进行随机实验,例如:

因果推断实战:深入解析倾向分匹配 (PSM) 与因果森林的核心原理与应用场景

  • 医学研究中无法随机分配患者接受高风险手术
  • 经济政策实施后需要评估历史数据影响
  • 营销活动无法对同一用户同时展示不同策略

这时候就需要因果推断方法从观察性数据中估计因果效应。今天重点讨论两种主流方法:适用于低维数据的倾向分匹配 (PSM) 和擅长高维非线性的因果森林。

倾向分匹配 (PSM) 原理详解

PSM 的核心思想是:通过建模处理分配概率来模拟随机实验。具体分为三个阶段:

  1. 倾向分估计
    使用逻辑回归建模处理分配概率:
    $$\hat{e}(X_i) = P(T_i=1|X_i) = \frac{1}{1+exp(-X_i\beta)}$$
    其中 $X_i$ 是协变量向量,$T_i$ 是处理指示变量

  2. 匹配阶段

  3. 最近邻匹配:为每个处理组样本寻找倾向分最接近的对照组样本
  4. 卡钳匹配(Caliper):设置最大允许差异 $\delta$,通常取倾向分标准差的 0.2 倍
  5. 核匹配:使用核函数加权多个对照组样本

  6. 平衡性检验
    匹配后需检查标准化均值差异(SMD):
    $$SMD = \frac{\bar{X}{treat} – \bar{X}$$
    所有协变量的 SMD 应 <0.1}}{\sqrt{(s_{treat}^2 + s_{control}^2)/2}

因果森林的机器学习实现

因果森林建立在广义随机森林框架上,通过以下机制解决异质性处理效应估计:

  1. 分裂准则
    最大化处理组间的效应差异:
    $$\Delta(\tau) = \frac{1}{N_{left}} \sum_{i \in left} (\tau_i – \bar{\tau}{left})^2 + \frac{1}{N)^2$$}} \sum_{i \in right} (\tau_i – \bar{\tau}_{right

  2. 局部估计
    在叶子节点内求解局部方程:
    $$\hat{\tau}(x) = argmin_{\tau} \sum_{i=1}^n \alpha_i(x)[(Y_i – m(X_i)) – \tau(W_i – e(X_i))]^2$$
    其中 $m(X_i)$ 是结果模型,$e(X_i)$ 是倾向模型

Python 实战演示

PSM 案例:教育对收入的影响

from causalinference import CausalModel

# 加载数据集
causal = CausalModel(Y=df['income'].values,  # 结果变量
    D=df['college'].values, # 处理变量(是否上大学)
    X=df[['age','gender','parent_edu']].values # 协变量
)

# 估计倾向分
causal.est_propensity()

# 最近邻匹配
causal.est_via_matching(matches=1, bias_adj=True)

# 输出 ATE 估计
print(causal.estimates)

因果森林案例:用户补贴效果

from econml.grf import CausalForest

# 初始化模型
cf = CausalForest(
    n_estimators=2000,
    honest=True,  # 启用诚实树
    max_depth=20
)

# 训练模型
cf.fit(
    X=user_features,
    T=discount_amounts,
    y=conversion_rates
)

# 预测个体处理效应
ite = cf.predict(user_features)

常见陷阱与解决方案

PM 中遗漏重要变量

  • 问题表现:匹配后仍有协变量不平衡
  • 解决方案
  • 进行敏感性分析评估遗漏变量的潜在影响
  • 使用双重稳健估计结合结果模型

因果森林过拟合

  • 问题表现:样本外预测效果差
  • 解决方案
  • 设置 honest=True 分离训练 / 预测样本
  • 增加 min_samples_leaf 限制叶子节点大小

延伸思考

当存在未观测混杂变量时,可考虑:
1. 工具变量法(IV):利用外生变量间接估计
2. 差分法(DID):利用时间维度变化
3. 断点回归(RD):利用临界点的准随机性

因果推断从来不是单一方法的比拼,而是需要根据数据特征选择合适工具,甚至组合多种方法交叉验证。希望本文介绍的两个 ” 法宝 ” 能成为你分析工具箱中的得力助手。

正文完
 0
评论(没有评论)