mcpField
S
stat-causal-inference

stat-causal-inference

github.com/asgard-ai-platform数据与数据库24356 次安装21 周前更新
代码仓库

关于 stat-causal-inference

面向因果分析的统计方法技能,帮助研究者根据数据结构选择识别策略,并估计处理效应。强调明确检验方法假设、反事实和敏感性分析。

主要功能

  1. 01提供方法选择指南
  2. 02涵盖匹配、IV、DID、RDD 等方法
  3. 03列出分析步骤与识别假设
  4. 04强调敏感性分析和效度威胁

适用场景

  1. 01评估政策或事件的影响
  2. 02分析非随机处理的效果
  3. 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.md
references/
causal-dags.md
did-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)根据某个阈值分配处理阈值上下方的观测值具有可比性
合成控制法一个处理单位、多个对照单位(汇总数据)加权合成组合与处理前趋势相匹配
分析步骤
  1. 明确因果问题:处理是什么?结果是什么?
  2. 识别有效性威胁:哪些混杂因素可能解释这种关联?
  3. 选择方法:依据数据结构和可用的识别策略
  4. 检查假设:每种方法都有可检验和不可检验的假设
  5. 估计效应:运行分析
  6. 敏感性分析:如果假设部分不成立,结果会有多大变化?

输出格式

# 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