causal-inference-root-cause について
causal-inference-root-causeは、エンジニアリング、製品、政策、ソフトウェアの問題を調べる構造化スキルです。結果の定義から仮説比較、因果検証、不確実性の記録までを導きます。
主な機能
- 015段階の根本原因分析
- 02競合仮説と因果モデル
- 03因果検証と証拠の階層
- 04交絡要因と不確実性の確認
- 05構造化された結果と評価基準
活用シーン
- 01サービス停止や性能低下の調査
- 02製品指標の変化の分析
- 03政策の結果の評価
- 04ソフトウェア不具合の原因特定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ lyndonkl/ claude --skill causal-inference-root-causeインストール後、Claude Code で/causal-inference-root-causeを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
resources/methodology.mdtemplate.mdresources/evaluators/rubric_causal_inference_root_cause.jsonresources/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 のメカニズム)
- ゴールドスタンダードの検証法:ランダム化比較試験(交絡を排除する)
- 必須基準:時間的な順序(原因が結果より先に起きる)、メカニズム(どのように作用するか)、反実仮想(原因がなかったらどうなっていたか)