# RCD
## 概要
Root Cause Discovery の略。[[Azam Ikram]] ほか([[Purdue University]] / [[Adobe Research]])が NeurIPS 2022 で提案した因果推論ベース RCA 手法。障害を根本原因ノードへの **soft intervention** としてモデル化し、(1) 階層分割統治と (2) F-NODE 近傍の局所学習を組み合わせた **Ψ-PC アルゴリズム**で完全因果グラフ学習を回避する。
主な特徴:
- **ドメイン知識不要**: コールグラフ・パラメトリック仮定・過去障害履歴が不要
- **介入データ活用**: 正常時データ(観測)と障害時データ(介入)の分布不変性を利用
- **スケーラビリティ**: 合成データ 500 ノードで 22 秒以内(Ψ-PC フル実行の 150 分超に対して約 400 倍高速)
- **精度**: 合成データ 100 ノードで top-1 再現率 98%、[[Sock Shop]] テストベッドおよび AWS 本番 3 障害ケースで競合ベースラインを上回る
## アルゴリズム詳細
**F-NODE** と呼ぶ二値変数ノード($F=0$: 正常、$F=1$: 障害)を導入し、$X \perp\!\!\!\perp F | Pa_X$ の条件付き独立性検定で分布不変性を確認する。根本原因候補は F-NODE の近傍ノードとして同定される。
**RCD のループ**:
1. 全変数をサイズ $\gamma=5$ のランダムサブセットに分割
2. 各サブセット上で Ψ-PC を実行し根本原因候補を抽出
3. 全サブセットの候補の和集合で次ステップへ
4. 候補セットが $k$ 以下になるまで繰り返す
**健全性定理**: 完全な条件付き独立性オラクル・因果充足性・拡張 faithfulness 仮定のもとで、RCD は真の根本原因変数を返す(Theorem 1)。
## 限界
- 交絡変数(latent confounder)が存在すると Ψ-PC の仮定が崩れ性能が低下する(AWS Outage B での失敗例)
- RCAEval 2025 ベンチ([[@2025__WWW Companion__RCAEval - A Benchmark for Root Cause Analysis of Microservice Systems with Telemetry Data]])では実システム障害で AC@1=0.09 と低迷——合成データでの高性能との乖離が顕著
- 完全因果グラフを学習しないため、下流タスクへのパス説明(Explainability)が薄い
## 関連
- 論文: [[@2022__NeurIPS__Root Cause Analysis of Failures in Microservices through Causal Discovery]]
- 著者: [[Azam Ikram]] / [[Saurabh Bagchi]] / [[Murat Kocaoglu]] / [[Sarthak Chakraborty]] ほか
- 概念: [[因果推論ベースRCA]] / [[マイクロサービスアーキテクチャ]] / [[根本原因分析]]
- テストベッド: [[Sock Shop]]
- コード: https://github.com/azamikram/rcd