# CIRCA
## 概要
Causal Inference-based Root Cause Analysis の略。[[Mingjie Li]] ほか([[Tsinghua University]] / BizSeer)が KDD 2022 で提案した因果推論ベース RCA 手法。RCA 問題を「介入認識(intervention recognition, IR)」という新しい因果推論タスクとして定式化し、Pearl の Causal Hierarchy Theorem から IR が因果の梯子の**第 2 層(介入知識 L2)**に属することを証明した。
主な特徴:
- **理論的基盤**: Pearl の Causal Hierarchy で RCA を初めて定式化(Theorem 3.1・3.4)、Sage(ASPLOS 2021)の反実仮想分析(L3)を不要にすることを Corollary 3.3 で証明
- **構造グラフ(Structural Graph, SG)**: アーキテクチャ知識(コールグラフ)とゴールデンシグナル(Traffic/Saturation/Latency/Errors)で因果グラフを構築
- **回帰ベース仮説検定(RHT)**: SVR(シグモイドカーネル)で正常期間の期待値を予測、残差の正規分布近似でスコア化
- **子孫調整(Descendant Adjustment)**: 異常スコアが高い子孫を持つメトリクスへスコアを伝播することで正常分布の不完全観測を補正
- **精度**: Oracle データベースの実世界データセット(99 件の高 AAS 障害、197 メトリクス)で AC@1=0.404(最良ベースライン NSigma 0.323 比 +25%)、Avg@5=0.603
## アルゴリズム詳細
1. **構造グラフ構築**: コールグラフと「Traffic → {Saturation, Latency, Errors}」「Saturation → Latency」等の因果仮定で各サービスのメタメトリクス間に骨格を生成。実メトリクスをメタメトリクスへマッピング(Oracle DB 例: 197 メトリクス → 2,641 エッジ)
2. **異常スコア計算**: $a_{V_i}^{(t)} = \frac{v_i^{(t)} - \bar{v}_i^{(t)} - \mu_{\epsilon,i}}{\sigma_{\epsilon,i}}$, $s_{V_i} = \max_t a_{V_i}^{(t)}$
3. **子孫調整**: $s'_{V_i} = s_{V_i} + \max(S(V_i))$($V_i$ の子孫の最大スコアを加算)。3σルールでスコア < 3 の子孫は除外
4. **ランキング出力**: 調整スコア $s'_{V_i}$ の降順で AC@k を計算
## 限界
- 構造グラフ構築にアーキテクチャ知識とメトリクス → メタメトリクスのマッピング作業が必要(OSS 以外のドメインへの汎用性が低い)
- マルコフ仮定(外生変数の独立性)の違反: 一部のメタメトリクスに対応する監視メトリクスが存在しない場合、隠れた共通原因が下流に影響
- 子孫調整の効果は Oracle DB 1 件でのみ検証
- 障害時刻 $t_d$ の精確な指定が必要(60 秒誤差で性能大幅悪化、[[@2024__ASE__Root Cause Analysis for Microservices based on Causal Inference - How Far Are We]])
- [[@2025__WWW Companion__RCAEval - A Benchmark for Root Cause Analysis of Microservice Systems with Telemetry Data]] のマルチソース化実験では AC@1 が 0.32 → 0.06 と劣化、因果グラフ系はモダリティ追加に脆い
## 関連
- 論文: [[@2022__KDD__Causal Inference-Based Root Cause Analysis for Online Service Systems with Intervention Recognition]]
- 著者: [[Mingjie Li]] / [[Dan Pei]] / [[Kanglin Yin]] / [[Xiaohui Nie]] / [[Wenchi Zhang]] / [[Kaixin Sui]]
- 所属: [[Tsinghua University]] / BizSeer
- 概念: [[因果推論ベースRCA]] / [[根本原因分析]] / [[Fault Localization]]
- 評価対象: [[Oracle Database]](該当 entity 未作成)
- 包括評価: [[@2024__ASE__Root Cause Analysis for Microservices based on Causal Inference - How Far Are We]]
- 同年比較: [[RCD]]([[@2022__NeurIPS__Root Cause Analysis of Failures in Microservices through Causal Discovery]])
- コード: https://github.com/NetManAIOps/CIRCA