关于 stat-causal-inference
面向因果分析的统计方法技能,帮助研究者根据数据结构选择识别策略,并估计处理效应。强调明确检验方法假设、反事实和敏感性分析。
主要功能
- 01提供方法选择指南
- 02涵盖匹配、IV、DID、RDD 等方法
- 03列出分析步骤与识别假设
- 04强调敏感性分析和效度威胁
适用场景
- 01评估政策或事件的影响
- 02分析非随机处理的效果
- 03检查因果结论对假设的敏感程度
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ asgard-ai-platform/ skills --skill stat-causal-inference安装后在 Claude Code 中输入/stat-causal-inference确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
examples/sample_scenario.mdreferences/causal-dags.mddid-implementation.md详细介绍
因果推断
框架
IRON LAW: Correlation Is Not Causation — But Causation Is Estimable
Observational data cannot prove causation through correlation alone.
BUT with the right methodology (matching, IV, DID, RDD), we CAN
estimate causal effects from observational data — IF the assumptions
of each method are satisfied and explicitly tested.
The key question is always: "What would have happened WITHOUT the treatment?"
(the counterfactual)
根本问题
我们观测到:Y_i(treated) —— 处理组单位发生了什么。
我们想知道:Y_i(treated) - Y_i(untreated) —— 因果效应。
我们永远无法观测到:同一单位在同一时间的 Y_i(untreated)。
所有因果推断方法都在估计反事实——即未接受处理时会发生什么。
方法选择指南
| 方法 | 适用情况 | 关键假设 |
|---|---|---|
| RCT | 可以进行随机分配 | 随机分配可消除混杂因素 |
| 倾向得分匹配(PSM) | 处理并非随机,但取决于可观测变量 | 不存在未观测混杂因素(基于可观测变量进行选择) |
| 工具变量(IV) | 存在未观测混杂因素,但有可用的工具变量 | 工具变量会影响处理,但不会直接影响结果 |
| 双重差分(DID) | 政策或事件形成自然的处理组和对照组 | 平行趋势:若没有处理,各组的趋势本应相似 |
| 回归不连续设计(RDD) | 根据某个阈值分配处理 | 阈值上下方的观测值具有可比性 |
| 合成控制法 | 一个处理单位、多个对照单位(汇总数据) | 加权合成组合与处理前趋势相匹配 |
分析步骤
- 明确因果问题:处理是什么?结果是什么?
- 识别有效性威胁:哪些混杂因素可能解释这种关联?
- 选择方法:依据数据结构和可用的识别策略
- 检查假设:每种方法都有可检验和不可检验的假设
- 估计效应:运行分析
- 敏感性分析:如果假设部分不成立,结果会有多大变化?
输出格式
# Causal Analysis: {Treatment} → {Outcome}
## Causal Question
- Treatment: {what intervention/event}
- Outcome: {what we're measuring}
- Counterfactual: {what would have happened without treatment}
## Identification Strategy
- Method: {PSM / IV / DID / RDD / etc.}
- Rationale: {why this method fits}
- Key assumption: {stated explicitly}
- Assumption test: {how we check, or acknowledge if untestable}
## Results
- Estimated causal effect: {magnitude with CI}
- Robustness checks: {alternative specifications}
## Limitations
{What could still invalidate these results}
注意事项
- “控制 X”不能保证因果关系:在回归中添加控制变量可以减少一些混杂,但无法消除未观测混杂因素。如果处理并非随机分配,那么使用控制变量的 OLS 并不能得出因果结论。
- 平行趋势无法检验:对于 DID,我们可以检查处理前的平行趋势,但无法证明这种趋势会持续下去。这是一个假设,而非事实。
- 弱工具变量会使 IV 失效:几乎不影响处理的工具变量会产生有偏估计(通常比 OLS 更糟)。使用第一阶段 F 统计量(> 10)检验工具变量强度。
- 外部有效性:在一种情境下估计的因果效应未必能推广到其他情境。针对阈值附近用户估计的效应(RDD)可能不适用于整体人群。
- 因果推断需要领域知识:仅靠统计方法无法判断什么是混杂因素、什么是中介变量或碰撞变量。应先绘制因果图(DAG)。
参考资料
- 有向无环图(DAG),参见
references/causal-dags.md - Python/R 中的 DID 实现,参见
references/did-implementation.md
评论
支持 Markdown