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つで、対照群が複数ある場合(集計データ)合成した加重平均が処置前のトレンドと一致する
分析手順
  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 を参照してください

コメント