mcpField
C
causal-inference-root-cause

causal-inference-root-cause

github.com/lyndonklデータ・データベース187108 回インストール9 週間前に更新
リポジトリ

causal-inference-root-cause について

causal-inference-root-causeは、エンジニアリング、製品、政策、ソフトウェアの問題を調べる構造化スキルです。結果の定義から仮説比較、因果検証、不確実性の記録までを導きます。

主な機能

  1. 015段階の根本原因分析
  2. 02競合仮説と因果モデル
  3. 03因果検証と証拠の階層
  4. 04交絡要因と不確実性の確認
  5. 05構造化された結果と評価基準

活用シーン

  1. 01サービス停止や性能低下の調査
  2. 02製品指標の変化の分析
  3. 03政策の結果の評価
  4. 04ソフトウェア不具合の原因特定

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/lyndonkl/claude --skill causal-inference-root-cause

インストール後、Claude Code で/causal-inference-root-causeを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

resources/
methodology.md
template.md
resources/evaluators/
rubric_causal_inference_root_cause.json
resources/examples/
database-performance-degradation.md

詳細

因果推論と根本原因分析

目次

主要な概念:根本原因(根源的な問題)、直接原因(直近の引き金)、交絡変数(見せかけの相関を生み出す第三の要因)、反実仮想(「X がなかったら何が起きていたか?」)、因果メカニズム(X が Y に影響する経路)。

簡単な例:

# Effect: Website conversion rate dropped 30%

## Competing Hypotheses:
1. New checkout UI is confusing (proximate)
2. Payment processor latency increased (proximate)
3. We changed to a cheaper payment processor that's slower (root cause)

## Test:
- Rollback UI (no change) → UI not cause
- Check payment logs (confirm latency) → latency is cause
- Trace to processor change → processor change is root cause

## Counterfactual:
"If we hadn't switched processors, would conversion have dropped?"
→ No, conversion was fine with old processor

## Conclusion:
Root cause = processor switch
Mechanism = slow checkout → user abandonment

ワークフロー

このチェックリストをコピーして、進捗を記録してください。

Root Cause Analysis Progress:
- [ ] Step 1: Define the effect
- [ ] Step 2: Generate hypotheses
- [ ] Step 3: Build causal model
- [ ] Step 4: Test causality
- [ ] Step 5: Document and validate

ステップ 1:効果を定義する

効果/結果を記述し(何が起きたかを具体的に示す)、可能であれば定量化し(規模、頻度)、タイムラインを確定し(いつ始まったか、現在も続いているか)、ベースラインを特定し(通常の状態は何か、何が変わったか)、関係者を特定します(誰が影響を受けているか、誰が回答を必要としているか)。主な問い:何を具体的に説明するのか。一度限りの出来事か、繰り返し起こるパターンか。客観的にどう測定するのか。

ステップ 2:仮説を立てる

直接原因(直近の引き金/症状)を列挙し、考えられる根本原因(根底にある要因)を特定し、交絡因子(見せかけの関連を生み出す第三の要因)を考慮し、前提に疑問を投げかけます(最初の仮説が間違っていたらどうなるか)。手法:5 Whys(「なぜ」を繰り返し尋ねる)、フィッシュボーン図(原因を分類する)、タイムライン分析(効果が生じる前に何が変わったか)、鑑別診断(症状を説明するほかの要因は何か)。単純な調査には resources/template.md を使用します。複雑な問題については、resources/methodology.md で高度な手法を学んでください。

ステップ 3:因果モデルを構築する

因果の連鎖(A → B → C → 効果)を図示し、必要原因と十分原因を特定し、交絡関係を整理し(原因と効果の両方に影響するものは何か)、時間的な順序を確認し(原因が効果より先に起こることは、因果関係に必要です)、メカニズムを明確にします(X がどのように Y を引き起こすのか)。モデルの要素:直接原因(X → Y)、間接原因(X → Z → Y)、交絡(Z → X かつ Z → Y)、媒介変数(X → M → Y)、調整変数(X → Y の関係が M に依存する)。

ステップ 4:因果関係を検証する

時間的な順序を確認し(原因は効果より先か)、関連の強さを評価し(強い相関があるか)、用量反応関係を調べ(原因が増えるほど効果も大きくなるか)、反実仮想を検証し(原因が存在しない/取り除かれたらどうなるか)、メカニズムを調べて(どのように起こるかを説明し)、一貫性を確認し(異なる状況でも成り立つか)、交絡因子を除外します。エビデンスの階層:RCT(ゴールドスタンダード)>自然実験>縦断研究>症例対照研究>横断研究>専門家の意見。Bradford Hill の基準を使用します(9 つの要因:関連の強さ、一貫性、特異性、時間性、用量反応関係、もっともらしさ、整合性、実験、類似性)。

ステップ 5:文書化して検証する

causal-inference-root-cause.md を作成し、効果の説明/定量化、競合する仮説、因果モデル(連鎖、交絡因子、メカニズム)、エビデンスの評価、信頼度を付した根本原因、推奨する検査/介入、限界/代替案を記載します。resources/evaluators/rubric_causal_inference_root_cause.json を使用して検証します。直接原因と根本原因を区別したか、交絡因子を制御したか、メカニズムを説明したか、エビデンスを体系的に評価したか、不確実性を記載したか、介入策を推奨したか、代替案を認めたかを確認してください。最低基準:スコア ≥ 3.5。

よくあるパターン

インシデント調査(エンジニアリング)の場合:

  • 影響:システム障害、パフォーマンスの低下
  • 仮説:直近のデプロイ、トラフィックの急増、依存関係の障害、リソースの枯渇
  • モデル:タイムライン+依存関係グラフ+直近の変更
  • 検証:ログ、メトリクス、ロールバック実験
  • 出力:根本原因と再発防止計画を記載したポストモーテム

メトリクスの変化(プロダクト/ビジネス)の場合:

  • 影響:コンバージョンの低下、収益の変化、ユーザーエンゲージメントの変化
  • 仮説:プロダクトの変更、季節性、市場の変化、測定上の問題
  • モデル:ユーザージャーニー+外部要因+直近の実験
  • 検証:コホート分析、A/B テストのデータ、セグメンテーション
  • 出力:推奨アクションを添えた因果関係の説明

政策評価(研究/公共政策)の場合:

  • 影響:健康アウトカム、経済指標、社会指標
  • 仮説:政策介入、交絡因子、長期的な傾向
  • モデル:交絡因子とメカニズムを含む DAG
  • 検証:差の差分析、回帰不連続デザイン、傾向スコアマッチング
  • 出力:信頼区間を伴う因果効果の推定値

デバッグ(ソフトウェア)の場合:

  • 影響:バグ、予期しない動作、テストの失敗
  • 仮説:直近の変更、エッジケース、競合状態、依存関係の問題
  • モデル:コードパス+データフロー+タイミング
  • 検証:再現、切り分け、二分探索、git bisect
  • 出力:根本原因と修正を記載したバグレポート

ガードレール

実施すること:

  • 相関と因果関係を明確に区別する
  • 複数の競合する仮説を立てる(最初の仮説の確認だけに終始しない)
  • 交絡変数を洗い出し、制御する
  • 因果メカニズム(X がどのように Y を引き起こすのか)を明示する
  • 反実仮想(「X が起きていなかったらどうなっていたか?」)を検証する
  • 確信度と不確実性を示す
  • 別の説明の可能性を認める
  • 根本原因に基づき、検証可能な介入策を推奨する

避けること:

  • 近接原因と根本原因を混同する
  • 最初の仮説を裏付ける証拠だけを選び出す
  • 相関があれば因果関係があると決めつける
  • 交絡変数を無視する
  • メカニズムの説明を省略する(相関を述べるだけにする)
  • 強い証拠がないのに確信度を誇張する
  • 代替案を検証せず、もっともらしい最初の説明で止める
  • 根本原因を特定せずに介入策を提案する

よくある落とし穴:

  • 事後原因の誤謬(Post hoc ergo propter hoc):「これの後に起きた、だからこれが原因だ」(時間的な前後関係 ≠ 因果関係)
  • 疑似相関:第三の要因または偶然により、2 つの事象に相関が生じる
  • 交絡:第三の変数が X と Y の両方を引き起こす
  • 逆因果:X が Y を引き起こすのではなく、Y が X を引き起こす
  • 選択バイアス:サンプルが母集団を代表していない
  • 平均への回帰:極端な値は自然に平均へ近づく

クイックリファレンス

  • テンプレート:resources/template.md - 根本原因分析のための構造化フレームワーク
  • 方法論:resources/methodology.md - 高度な手法(DAG、交絡の制御、ブラッドフォード・ヒルの基準)
  • 品質評価基準:resources/evaluators/rubric_causal_inference_root_cause.json
  • 出力ファイル:causal-inference-root-cause.md
  • 重要な区別:相関(X と Y が連動する)と因果関係(X → Y のメカニズム)
  • ゴールドスタンダードの検証法:ランダム化比較試験(交絡を排除する)
  • 必須基準:時間的な順序(原因が結果より先に起きる)、メカニズム(どのように作用するか)、反実仮想(原因がなかったらどうなっていたか)

コメント