Stata中的AI因果推断入门:从基础概念到实战应用

1次阅读
没有评论

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

image.webp

为什么需要因果推断?

在日常数据分析中,我们经常发现两个变量之间存在统计相关性,但这并不意味着其中一个导致了另一个。比如冰淇淋销量和溺水事件呈正相关,但真正的原因是气温升高。因果推断就是要识别变量间真正的因果关系,而不仅仅是相关性。

Stata 中的 AI 因果推断入门:从基础概念到实战应用

在反事实框架下,因果效应定义为:如果一个人接受了治疗和没接受治疗的结局差异。由于现实中我们无法同时观测到两种状态,所以需要借助统计方法进行估计。

Stata 中的三大因果推断方法

1. 匹配法(Matching)

原理 :为处理组寻找相似的对照组样本,模拟随机实验

适用场景 :观察性研究,协变量较多时

优缺点

  • 优点:直观易懂,不需要强函数形式假设
  • 缺点:对重叠区域要求高,样本利用率低

2. 工具变量法(IV)

原理 :利用与处理变量相关但与结果无关的变量

适用场景 :存在未观测混杂时

优缺点

  • 优点:可以处理未观测混杂
  • 缺点:寻找有效工具变量困难

3. 双重差分法(DID)

原理 :比较处理组和对照组在政策前后的变化差异

适用场景 :自然实验或准实验设计

优缺点

  • 优点:控制时间不变混杂因素
  • 缺点:需要平行趋势假设

实战:用 psmatch2 实现倾向得分匹配

// 安装必要命令
ssc install psmatch2

// 加载示例数据
use "https://stats.idre.ucla.edu/stat/stata/faq/training.dta", clear

// 1. 估计倾向得分
psmatch2 treated age education married, logit

// 2. 最近邻匹配(1:1)psmatch2 treated age education married, logit neighbor(1) caliper(0.2)

// 3. 平衡性检验
pstest age education married, both graph

// 4. 计算 ATT 估计
regress outcome treated [pw=_weight], robust

代码说明

  1. psmatch2 命令用于估计倾向得分并执行匹配
  2. neighbor(1) 表示 1:1 匹配
  3. caliper(0.2) 设置最大允许得分差异
  4. pstest 检查匹配后协变量平衡性
  5. 最后用加权回归估计处理效应

常见统计陷阱及应对

混淆变量(Confounding)

问题 :同时影响处理变量和结果的变量

解决方案

  • 测量并控制所有重要混淆变量
  • 使用工具变量法

选择偏差(Selection Bias)

问题 :样本非随机选择导致估计偏差

解决方案

  • 使用倾向得分匹配
  • Heckman 选择模型

过度匹配(Overmatching)

问题 :匹配了中介变量导致低估效应

解决方案

  • 只匹配预处理变量
  • 避免匹配处理后的变量

生产环境避坑指南

  1. 忽略平衡性检验
  2. 错误:直接相信匹配结果
  3. 正确:每次匹配后必须运行 pstest

  4. 错误设置匹配参数

  5. 错误:使用默认带宽
  6. 正确:通过交叉验证选择最优带宽

  7. 样本量不足

  8. 错误:小样本强行匹配
  9. 正确:检查共同支撑区域

  10. 遗漏重要协变量

  11. 错误:只匹配易测变量
  12. 正确:纳入所有理论相关变量

  13. 错误解释结果

  14. 错误:将 ATT 推广到总体
  15. 正确:明确估计的因果参数

进阶思考

  1. 如何处理连续型处理变量的因果效应?
  2. 当协变量维度很高时,有哪些改进匹配方法?
  3. 如何评估因果推断结果的稳健性?

总结

Stata 提供了强大的因果推断工具集,从基础的回归调整到复杂的匹配方法。掌握这些方法需要理解其背后的假设和限制。建议从简单的匹配法开始,逐步探索更复杂的方法。记住,因果推断的核心是设计而非单纯的统计技术。

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