# 因果推論ベースRCA ## 定義 因果推論ベース RCA(Causal Inference-based Root Cause Analysis)は、マイクロサービスシステムのメトリクス時系列データから**因果グラフ**を構築し、そのグラフ上でスコアリング手法を適用して障害の根本原因サービス・メトリクスを特定するアプローチである。因果グラフの各ノードはサービスのメトリクスを表し、有向エッジは因果関係を示す。通信していないサービス間の関係(同一 VM 上でのリソース競合等)も捉えられる点が相関ベース手法との差異である。([[@2024__ASE__Root Cause Analysis for Microservices based on Causal Inference - How Far Are We]]) 主なパイプラインは **因果探索(Causal Discovery)→ スコアリング(Scoring)** の 2 段構成: 1. **因果探索**: メトリクス時系列から有向非巡回グラフ(DAG)を推定(PC・FCI・Granger・LiNGAM・GES・NOTEARS 系等) 2. **スコアリング**: 推定グラフ上でランダムウォーク・PageRank・DFS・仮説検定を用いて根本原因を特定 あるいは因果グラフを構築せずに仮説検定のみで行う手法(NSigma・BARO・ε-Diagnosis)も広義で因果推論ベースに分類される。 ## 主要な手法類型 ### 因果探索アルゴリズム - **PC / FCI**: 条件付き独立性検定ベース。PC が最も普及。FCI は交絡変数を扱える - **Granger 因果性**: 時系列 A が B の予測に統計的有意な情報を提供するか検定 - **LiNGAM**: 線形非ガウスモデル。交絡なしを仮定 - **GES / fGES**: 貪欲探索 + BIC スコア。計算効率が高い - **PCMCI**: 時間遅れ因果関係を扱える PC 変種 - **DAG-GNN(CausalRCA)**: 勾配ベース変分オートエンコーダで DAG を学習 ### RCA 手法(代表) - **CloudRanger・Microscope・MS-Rank・AutoMap・MicroCause**: PC 系 + ランダムウォーク/PageRank - **CIRCA**: ドメイン知識構築グラフ + 介入認識による仮説検定。障害時刻の精確な指定が必要 - **RCD**: 分割統治 Ψ-PC。効率性と時刻誤差への耐性を両立 - **CausalRCA**: DAG-GNN + PageRank。障害時刻指定不要 - **BARO**: 中央値/IQR ベイズオンライン変化点検知。グラフ不要・高速・時刻誤差頑健 - **NSigma**: z スコア仮説検定。グラフ不要・超高速だが時刻誤差に敏感 ## 横断的知見 - **CIRCA(KDD'22)と RCD(NeurIPS'22)は同年に発表された因果推論 RCA の二大設計対比をなす——「ドメイン知識・正確性」軸と「ドメイン知識不要・スケーラビリティ」軸**: CIRCA はアーキテクチャ知識(コールグラフ + ゴールデンシグナル分類)と回帰仮説検定 + 子孫調整で Oracle DB 99 件の実障害で AC@1=0.404(ベースライン最良比 +25%)を達成する。一方 RCD は障害を soft intervention としてモデル化し、F-NODE 近傍の局所学習 + 階層分割統治 Ψ-PC によって**コールグラフ不要・パラメトリック仮定不要**で 500 ノード 22 秒(対 Ψ-PC 150 分超)のスケーラビリティを実現した。両者の対比は後続研究の評価軸として定着し、[[@2024__ASE__Root Cause Analysis for Microservices based on Causal Inference - How Far Are We]] の包括評価では CIRCA を「障害時刻が正確なら強い、ドメイン知識依存」・RCD を「スケールするが実システムでは合成ベンチほど機能しない(Sock Shop AC@1=0.09)」として両極に位置づける。[[@2025__WWW Companion__RCAEval - A Benchmark for Root Cause Analysis of Microservice Systems with Telemetry Data]] のマルチソース実験でも CIRCA(0.32→0.06)と RCD(0.09→0.10)が同じく無改善か悪化する系統的傾向が確認され、**「ドメイン知識軸 vs スケーラビリティ軸」は別系統だが、マルチモーダル拡張には共通して脆い**ことが明らかになった。(Source: [[@2022__KDD__Causal Inference-Based Root Cause Analysis for Online Service Systems with Intervention Recognition]], [[@2022__NeurIPS__Root Cause Analysis of Failures in Microservices through Causal Discovery]], [[@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]]) - **RCD は障害を「介入」とする因果推論ベース RCA における第二の理論的基盤——CIRCA の「介入認識」と相補的**: CIRCA は介入認識(IR)を「親ノードへの条件付き分布の変化」(Theorem 3.4)として定式化したのに対し、RCD は同じ「障害=介入」観点に立ちつつ「観測データと介入データにまたがる分布不変性」(distributional invariance)を使い、F-NODE($F=0$ 正常 / $F=1$ 障害)を導入して $X \perp\!\!\!\perp F | Pa_X$ の条件付き独立性検定で根本原因でないノードを除外する。両者の対比: CIRCA は介入後の分布変化を**直接スコアリング**するのに対し、RCD は分布変化を**フィルタとして使ってグラフ探索を局所化**する設計。前者はグラフ全体を所与とする条件で高精度、後者は完全因果グラフ学習を避けることでスケールする。Pearl の Causal Hierarchy における L2 介入知識を実用化する 2 つの異なる戦略として、両論文は補完関係にある。(Source: [[@2022__KDD__Causal Inference-Based Root Cause Analysis for Online Service Systems with Intervention Recognition]], [[@2022__NeurIPS__Root Cause Analysis of Failures in Microservices through Causal Discovery]]) - **RCD は本番クラウド障害でのケーススタディ(AWS 3 件)を最初に公開した因果推論ベース RCA、ただし潜在変数の存在で top-1 が崩れる失敗モードを実証**: RCD の論文は AWS 25 マイクロサービス・150 メトリクスの本番 3 障害(Outage A/B/C)で評価し、Outage A(オートスケーリング失敗)では top-2 内に DB メモリフットプリントを同定、Outage C(計測スコープ外の AWS コンポーネント障害)では「最近傍の影響ノード」を返すという**観測限界の境界条件**を明示した。Outage B では Memcached の hit ratio という潜在変数(latent confounder)の存在で top-1 を外し、Ψ-PC の交絡なし仮定が崩れる失敗モードを定量化している。本番評価ケース数の少なさ(3 件)は限界だが、その後の本番評価(例: [[@2024__EuroSys__Automatic Root Cause Analysis via Large Language Models for Cloud Incidents]] の Microsoft Transport)が「単一サービスドメインに特化した評価」へ移行する中で、RCD の AWS 評価は「ドメイン横断・潜在変数あり」という汎用 RCA の境界を最初に具体化した事例として位置づけられる。(Source: [[@2022__NeurIPS__Root Cause Analysis of Failures in Microservices through Causal Discovery]], [[@2024__EuroSys__Automatic Root Cause Analysis via Large Language Models for Cloud Incidents]]) - **CIRCA は Pearl の Causal Hierarchy Theorem を使って RCA を L2 介入知識に位置づけた最初の手法であり、後続の因果推論 RCA 研究の理論的基準点となる**: CIRCA(KDD 2022)は Pearl の因果の梯子(Ladder of Causation)の観測(L1)・介入(L2)・反実仮想(L3)の 3 層を RCA に明示的に当てはめ、「障害の根本原因を特定する」ことが L2 介入知識を要するタスク(介入認識, IR)であることを Corollary 3.3 と Theorem 3.4 で証明した。これは PC/PCMCI ベースの手法(CloudRanger・MicroCause)が観測データ(L1)に限定されること、および Sage(ASPLOS 2021)が L3 反実仮想を必要とすることをそれぞれ理論的限界として定位する。[[@2024__ASE__Root Cause Analysis for Microservices based on Causal Inference - How Far Are We]] は CIRCA の実験的な位置づけを包括評価で再確認したが、理論的な階層整理は CIRCA の固有貢献であり先行研究に見当たらない。(Source: [[@2022__KDD__Causal Inference-Based Root Cause Analysis for Online Service Systems with Intervention Recognition]], [[@2024__ASE__Root Cause Analysis for Microservices based on Causal Inference - How Far Are We]]) - **ドメイン知識ベースのグラフ構築(CIRCA の Structural Graph)と統計的グラフ構築(PC 系)では、根本原因スコアリング手法との相性が体系的に分かれる**: CIRCA の Figure 3 は、DFS 系・CIRCA スコアリングはドメイン知識ベースの Structural Graph と最も相性が良く(AC@5 改善)、ランダムウォーク系(RW-Par/RW-2)は PCTS と相性が良いが時間コストが 24.7 秒対して CIRCA は 0.578 秒という対比を示す。[[@2018__TNSM__Mining Causality of Network Events in Log Data]] が G-square 対 Fisher-Z の選択をデータ密度に基づいて論じたのと同様、グラフ構築手法の選択はデータ特性(連続/離散、密/疎)だけでなくスコアリング手法との相性に依存することを CIRCA は実験的に定量化した。(Source: [[@2022__KDD__Causal Inference-Based Root Cause Analysis for Online Service Systems with Intervention Recognition]], [[@2018__TNSM__Mining Causality of Network Events in Log Data]]) - **PC アルゴリズムはネットワーク syslog(2018 年)とマイクロサービスメトリクス(2024 年)の両ドメインで因果推論 RCA の中核ツールだが、データの疎密がどの条件付き独立性検定を使えるかを決める**: [[@2018__TNSM__Mining Causality of Network Events in Log Data]] はスパース二値 syslog に対して PC + G-square が Fisher-Z より大幅に優れる(クラスタリング係数低・最大クリーク小・偽陽性比率 1.1% 以下・タイムアウトなし)ことを定量化した。一方 [[@2024__ASE__Root Cause Analysis for Microservices based on Causal Inference - How Far Are We]] では連続メトリクス(CPU/レイテンシ等)を対象とした同じ PC 系手法が辺方向推定を共通ボトルネックとして持つことを示す。**スパースデータ = G-square(二値・情報理論)、連続データ = Fisher-Z または相関ベース** という使い分けが経験則として確立しており、データ特性を無視して検定を選ぶと偽陽性が爆発するか(Fisher-Z on syslog)辺方向が壊れるか(PC on 大規模メトリクス)という異なる失敗モードに陥る。(Source: [[@2018__TNSM__Mining Causality of Network Events in Log Data]], [[@2024__ASE__Root Cause Analysis for Microservices based on Causal Inference - How Far Are We]]) - **因果推論ベース RCA は前処理の設計が精度を左右する、という点でドメインを超えて一致する**: ネットワーク syslog では全メッセージの 93% が周期的イベント(cron・NTP 等)で、これを除去しないと PC アルゴリズムが偽陽性エッジを大量生成する([[@2018__TNSM__Mining Causality of Network Events in Log Data]])。マイクロサービスメトリクスでは大規模グラフ(50 ノード超)での計算爆発と合成データの現実乖離が全手法の共通課題となる([[@2024__ASE__Root Cause Analysis for Microservices based on Causal Inference - How Far Are We]])。どちらも「因果探索アルゴリズム自体」ではなく、入力データの前処理・分割・絞り込みが出力品質の支配因子であり、**アルゴリズム選択より入力設計が先に考慮されるべき**という横断的な設計原則が成立する。(Source: [[@2018__TNSM__Mining Causality of Network Events in Log Data]], [[@2024__ASE__Root Cause Analysis for Microservices based on Causal Inference - How Far Are We]]) - **Dummy ベースラインを超えない手法が多数存在する**: PC/FCI/Granger/LiNGAM/fGES/NTLR-PageRank/ランダムウォーク、CausalAI、RUN、MicroCause の多くは、ランダム選択(Dummy)と同等以下の精度を示す。この知見は Pham et al. (ASE 2024) が Dummy ベースラインを初めて導入して発見したもので、先行研究が因果探索手法を過大評価してきた可能性を示唆する。([[@2024__ASE__Root Cause Analysis for Microservices based on Causal Inference - How Far Are We]]) - **合成データセットの性能は実システムを反映しない**: 合成データで高性能な RCD が CIRCA 合成データでは低性能。実システムで高性能な CausalRCA が合成データでは低性能(RCD10 での Avg@5 が 0.1)。この乖離は、合成データ生成器(RCD 生成器は条件確率を変化させてフォルトを注入するが、実際の障害は CPU スパイク等の連続的な変化をとる)の現実乖離に起因する。([[@2024__ASE__Root Cause Analysis for Microservices based on Causal Inference - How Far Are We]])、([[@2025__arXiv__Rethinking the Evaluation of Microservice RCA with a Fault Propagation-Aware Benchmark]]) - **辺方向推定が因果グラフベース手法全般の共通ボトルネック**: 全 9 種の因果探索手法で F1(方向考慮)は F1-S(骨格のみ)を系統的に下回る。グラフ規模が大きくなるほど差が拡大し、PCMCI の 50 ノードでの SHD は 1,000 を超える。因果グラフを前提とした RCA の性能低下はグラフ構築の失敗に直接起因する。([[@2024__ASE__Root Cause Analysis for Microservices based on Causal Inference - How Far Are We]]) - **仮説検定系(BARO・NSigma・CIRCA)は正確な障害時刻があれば因果グラフ構築を迂回して高精度を達成する**: BARO は Train Ticket(212 メトリクス)でも CPU=0.90・MEM=0.96 の Avg@5 を達成。しかし NSigma・CIRCA は 60 秒の誤差で大幅悪化する。BARO の頑健性は中央値/IQR 利用によるものであり、平均/標準偏差を使う NSigma・CIRCA との設計差が性能差を生む。([[@2024__ASE__Root Cause Analysis for Microservices based on Causal Inference - How Far Are We]]) - **大規模グラフ(50+ ノード)では全手法が実用的な精度・効率を失う**: Train Ticket(212 メトリクス)で MicroCause・RUN・NTLR 系は 2 時間制限を超過。CIRCA は 3792 秒、CausalRCA は 1326 秒かかる。本番の数百〜数千サービス環境は現在の全手法にとって未解決の課題である。([[@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]] は CIRCA・RCD のマルチソース改造版(著者が時系列ログ/トレースを扱えるよう拡張)を提供したが、Train Ticket / RE2 の 6 障害平均で CIRCA: メトリクス単独 AC@1=0.32 → マルチソース 0.06、RCD: 0.09 → 0.10 と、ほぼ無改善か悪化する手法が大半。例外として BARO はメトリクス 0.67 → マルチソース 0.69 と維持(LOSS で +0.14)、PDiagnose は元々マルチソース設計で 0.48 を達成。因果グラフ系手法はモダリティ追加によりノイズが増え、辺方向推定の既存ボトルネック([[@2024__ASE__Root Cause Analysis for Microservices based on Causal Inference - How Far Are We]] の F1 < F1-S)が悪化する可能性。仮説検定系(BARO)はモダリティ拡張に頑健で、因果探索系より統合に向く。(Source: [[@2025__WWW Companion__RCAEval - A Benchmark for Root Cause Analysis of Microservice Systems with Telemetry Data]] §5, Table 6) - **トレース系手法(TraceRCA)が因果推論系メトリクス手法と並んで強い、という新たな比較軸**: 同じ Train Ticket / RE2 で、TraceRCA はメトリクス系の単独最強 BARO とほぼ同等(AC@1: TraceRCA 0.66 vs BARO 0.67)で、ネットワーク障害では BARO を超える(DELAY: 0.85 vs 0.47)。因果推論ベース RCA がメトリクス時系列の DAG 推定で根本原因を絞るのに対し、トレース系はサービス呼び出し関係のスパン情報を直接使う——「因果関係を推定する」(causal discovery)vs「明示的な呼び出し関係を読む」(trace structure)の対比が、ベンチで定量化された。(Source: [[@2025__WWW Companion__RCAEval - A Benchmark for Root Cause Analysis of Microservice Systems with Telemetry Data]] Table 6) ## 未解決の問い - **RCD の Ψ-PC は交絡なし(causal sufficiency)仮定に依存しており、潜在変数を含む本番システムでの限界が未解決**: RCD の Outage B 評価では Memcached の hit ratio という観測不可能な潜在変数が top-1 失敗の原因となった。Ψ-FCI(latent confounder を扱える PC 変種)への拡張は将来課題とされたが、その後 2025 年時点でも公開実装は存在しない。[[@2024__ASE__Root Cause Analysis for Microservices based on Causal Inference - How Far Are We]] は Ψ-PC のスケール限界(500 ノードで 150 分超)を再確認したが、潜在変数の影響を体系的に評価した研究は未着手。本番システムは観測スコープの境界に必ず潜在変数を持つため、Ψ-FCI 系手法の実装と評価が因果推論ベース RCA の次のマイルストーンとなる。(Source: [[@2022__NeurIPS__Root Cause Analysis of Failures in Microservices through Causal Discovery]]) - **RCD の分割統治パラメータ $\gamma$(サブセットサイズ、デフォルト 5)の最適値は実験では固定されたまま未解明**: RCD のアルゴリズムは Algorithm 1 で全変数をサイズ $\gamma$ のランダムサブセットに分割するが、$\gamma$ がノード数・障害種別・グラフ密度に応じてどう変化するかの体系的探索は付録のみで簡単に扱われている。CIRCA がドメイン知識ベースの構造グラフで「サブセット」概念を必要としないのに対し、RCD はドメイン知識を捨てた代わりに $\gamma$ という構造的ハイパーパラメータを抱える。$\gamma$ のチューニングがシステム規模・トポロジ・障害伝播パターンとどう連動するかは、RCD 系手法の実用化に必要な詳細設計。(Source: [[@2022__NeurIPS__Root Cause Analysis of Failures in Microservices through Causal Discovery]]) - **CIRCA の子孫調整(Descendant Adjustment)は Oracle DB データセット 1 件でのみ検証されており、多様な実システムへの汎化性が未確認**: CIRCA のアブレーション実験(Table 4)では子孫調整が AC@1=0.328 → 0.404 に大きく寄与するが、この効果は 99 件の高 AAS 障害を含む 1 つの実世界データセット D_O のみで測定されている。[[@2024__ASE__Root Cause Analysis for Microservices based on Causal Inference - How Far Are We]] の包括評価では CIRCA(障害時刻正確時)が他手法と比較されたが、子孫調整の効果をデータセットを変えて測定した研究は存在しない。子孫調整の効果がシステム規模(197 対数千メトリクス)・障害種別(データベース対マイクロサービス)・障害時刻の誤差に対してどう変わるか未解決。(Source: [[@2022__KDD__Causal Inference-Based Root Cause Analysis for Online Service Systems with Intervention Recognition]]) - **Pearl の Causal Hierarchy における L2 介入知識が実際の観測データから導けるか、という理論的ギャップ**: CIRCA は IR タスクが L2 に属することを証明したが、正常分布 L1 の不完全な観測(Figure 1 の分布重複問題)が L2 知識の推定精度をどこまで劣化させるかは理論的に未確立。RHT が仮定する「正常期間のリニアな回帰モデル」が崩れるトラフィックスパイク・季節性・コールドスタート等のシナリオでは、L2 → L1 の降格(観測ベース手法への劣化)が起こるか定量化されていない。(Source: [[@2022__KDD__Causal Inference-Based Root Cause Analysis for Online Service Systems with Intervention Recognition]]) - **ネットワーク syslog への適用でリアルタイム処理が課題**: Kobayashi+ 2018 は通常 50 秒 DAG 生成だが障害時に 600 秒超となる。障害箇所特定技術との組み合わせが必要とされるが、その具体的な統合アーキテクチャは未設計。(Source: [[@2018__TNSM__Mining Causality of Network Events in Log Data]]) - **入力メトリクス選択**: 大規模システムで有効なメトリクスサブセット選択手法は何か([[MetricSifter]] の変化点検知 + 因果探索との統合可能性) - **時刻推定との統合**: BARO/CIRCA 等の時刻依存手法と異常検知器を統合したエンドツーエンドパイプラインはどう設計すべきか - **合成データ生成**: 実際のマイクロサービス障害パターン(CPU スパイク・リソース競合・連鎖障害)を模倣する生成手法は可能か - **LLM ベース手法との比較**: [[RCAgent]]・TAMO 等の LLM エージェントベース RCA は因果推論ベース手法と何が違い、どこで補完関係があるか - **辺方向問題の解決策**: 因果探索の辺方向推定を改善する手法(ドメイン知識の活用・コールグラフの利用)はどの程度有効か - **モダリティ拡張時の頑健性**: BARO(仮説検定系)は単独/マルチソースで安定だが、CIRCA・RCD(因果グラフ系)は単独の方が高精度。因果グラフ系手法を「グラフ構築を共有 + モダリティ別スコアリング」のように分割設計したらマルチソース化の劣化を避けられるか。([[@2025__WWW Companion__RCAEval - A Benchmark for Root Cause Analysis of Microservice Systems with Telemetry Data]]) - **コードレベル障害(RCAEval F1〜F5)では因果推論ベースの数値が公開されていない**: RCAEval 2025 の予備実験はリソース 4 + ネットワーク 2 のみで、コードレベル障害(F1〜F5)での因果推論ベースの性能は GitHub のデモ任せ。コードレベル障害はメトリクス時系列の変化として現れにくい(レイテンシ・エラー率に依存)ため、因果推論ベース手法の適用上限を露呈する評価軸となるはず。([[@2025__WWW Companion__RCAEval - A Benchmark for Root Cause Analysis of Microservice Systems with Telemetry Data]]) ## 関連 - [[根本原因分析]] — 上位概念。本概念はその統計・因果探索的アプローチを集約する - [[Fault Localization]] — 関連概念。箇所特定の目標は共有するがアプローチが異なる - [[異常検知]] — 前処理として因果推論 RCA のパイプラインに組み込まれることが多い - [[マイクロサービスアーキテクチャ]] — 適用対象ドメイン - [[AIOps]] — 上位フレームワーク ## 出典 - [[@2018__TNSM__Mining Causality of Network Events in Log Data]](Kobayashi et al., TNSM 2018 — ネットワーク syslog への PC + G-square 適用の先駆的論文) - [[@2022__KDD__Causal Inference-Based Root Cause Analysis for Online Service Systems with Intervention Recognition]](Li et al., KDD 2022 — CIRCA: 介入認識による定式化、ドメイン知識ベースの構造グラフ + 仮説検定の系統) - [[@2022__NeurIPS__Root Cause Analysis of Failures in Microservices through Causal Discovery]](Ikram et al., NeurIPS 2022 — RCD: 階層分割統治と局所学習 Ψ-PC で完全因果グラフ学習を回避、500 ノード 22 秒) - [[@2024__ASE__Root Cause Analysis for Microservices based on Causal Inference - How Far Are We]](Pham et al., ASE 2024 — 包括評価の一次資料) - [[@2025__arXiv__Rethinking the Evaluation of Microservice RCA with a Fault Propagation-Aware Benchmark]](合成データの妥当性批判) - [[@2025__WWW Companion__RCAEval - A Benchmark for Root Cause Analysis of Microservice Systems with Telemetry Data]](§4.1 9 種のメトリクス系因果推論ベースライン整理、Table 6 Train Ticket / RE2 のメトリクス vs マルチソース版性能差)