# BALANCE: Bayesian Linear Attribution for Root Cause Localization
> [!abstract]
> 分散データシステムの根本原因分析(RCA)に、説明可能 AI(XAI)の帰属フレームワークを適用した論文。ベイズ多重共線性特徴選択(BMFS)・帰属分析・KPI 間マージの 3 コンポーネントからなる BALANCE を提案し、bad SQL 箇所特定・コンテナ障害箇所特定・Exathlon 障害型診断の 3 実タスクで最先端手法を 6% 以上上回る精度を達成。Ant Group と OceanBase の本番環境でデプロイ済み。
## 論文情報
| 項目 | 内容 |
|---|---|
| 論文名 | BALANCE: Bayesian Linear Attribution for Root Cause Localization |
| 著者 | Chaoyu Chen・Hang Yu・Zhichao Lei・[[Jianguo Li]]・Shaokang Ren・Tingkai Zhang・Silin Hu・Jianchao Wang([[Ant Group]])、Wenhui Shi([[OceanBase]]) |
| 掲載誌 | Proc. ACM Manag. Data (PACMMOD) Vol.1, No.1, Article 95 (May 2023) |
| DOI | https://doi.org/10.1145/3588949 |
| コード | https://github.com/ant-research/BayesianLinearAttributionForRootCauseLocalization_BALANCE |
| ファイル slug | `2026_Unknown_BALANCE_Bayesian_Linear_Attribution_Root` |
## 概要
既存の RCA は「多次元箇所特定(Adtributor・Hotspot・HALO)」か「グラフベース因果推論(PC アルゴリズム + ランダムウォーク)」の 2 系統に収まっていた。前者は加法的 KPI という強い仮定が必要で、後者は因果グラフ構築コストが高く・標本数が少ない障害時刻には不安定である。
本論文は RCA を**帰属問題(attribution problem)**として再定式化する。XAI の帰属スコアは「モデルの予測を各入力特徴にどれだけ帰属できるか」を数値化するが、同じ枠組みを「alarmed KPI の異常を候補根本原因にどれだけ帰属できるか」に転用する。
![[wiki/sources/_attachments/2023__PACMMOD__BALANCE/fig01_balance_framework.png]]
BALANCE の全体フレームワーク(図 1)。データ収集→対象 KPI の異常検知→候補の異常検知(任意)→BMFS 順伝播→帰属分析逆伝播→マージ→回復判断器 の流れ。
## 問題設定
6 つの設計要件(desiderata d1〜d6)を定義:
- **d1**: 異常時刻周辺の短い時系列のため、観測数 n が小さい
- **d2**: 候補数 p が大きく変動し p > n のケースが頻繁に発生する(bad SQL: n=61, p=数千)
- **d3**: 相関する複数の根本原因を同時に出力すること
- **d4**: 欠損値に対処すること
- **d5**: 効率性(実時間 RCA の要件)
- **d6**: 出力が解釈可能で、スコアでランク付けできること
多次元 RCA は「加法 KPI ≡ 属性値の和」という仮定が外れると破綻する。グラフベース手法は因果グラフ構築コストが高く・PC アルゴリズムは短時系列で信頼性が低い。BALANCE はこれらを**スパース線形帰属モデル**で回避する。
## 提案手法
### コンポーネント 1: BMFS(ベイズ多重共線性特徴選択)
順伝播モデル `y = Xβ + ε` のスパース推定。3 問題を同時に解く。
**多重共線性への対処**: g-prior `p(β|g,σ²,X) = N(0, gσ²(X^T X)^{-1})` は特徴間の経験的相関行列 X^T X を事前分布に組み込み、Lasso が「多重共線特徴のうち 1 つしか選べない」問題を解決する。
**スパース性への対処**: ホースシュー事前分布(half-Cauchy の混合スケール正規分布)は 0 と大きい非ゼロ値の密度が高く、Student-T や Laplace より未知スパース性に頑強。
**BMFS**: 上記 2 つを統合した**相関ホースシュー事前分布**(`p(β|γ,λ,X)`)を提案。変分推論(平均場近似 + 自然勾配降下)で事後分布を効率的に推定し、チューニングパラメータをデータからオンラインで学習する(グリッドサーチ不要)。
欠損値はベイズ推定で補完(点推定の平均代入より精度良好)。ソフト閾値処理で係数をゼロ/非ゼロに分類(GMM で U 字分布の谷を自動検出)。
![[wiki/sources/_attachments/2023__PACMMOD__BALANCE/fig03_bmfs_graph.png]]
BMFS のグラフィカルモデル表現。N は繰り返し回数。
### コンポーネント 2: 帰属分析(逆伝播)
線形モデルでは帰属スコア計算が大幅に簡略化される。Shapley 値の全公理(完全性・ヌルプレーヤー・対称性・線形性・連続性)が自動的に満たされる([2] Ancona+ ICML 2019)。
3 種類の帰属スコアを定義:
1. **感度(sensitivity)**: `r_j = |⟨β_j⟩|`(係数の絶対値)
2. **顕著性(salience)**: `r_j = |⟨β_j⟩ x_j|`(係数 × 特徴値)
3. **差分帰属(最終採用)**: `r_j = ⟨β_j⟩Δx_j / Δy`
差分帰属は正常期間の平均からの偏差 Δx_j を用い、異常の寄与度を測る。y のスケールで正規化するためスケール不変。
### コンポーネント 3: マージ(交差・和集合)
複数 KPI が alarmed の場合、各 KPI に対して帰属スコアを計算した後、上位 κ を選択し **交差(intersection)** または **和集合(union)** で統合。交差は「全 KPI に影響する根本原因」、和集合は「少なくとも 1 KPI に影響する根本原因」。
## 新規性
- RCA を帰属問題として定式化した最初期の研究(XAI 帰属メソッドを SRE ドメインに適用)
- 多重共線性・大次元小標本(p >> n)・欠損値を同時に扱う BMFS の設計
- 帰属スコアが Shapley 値の公理を満たすことの証明(線形モデル選択の理論的根拠)
- チューニングパラメータを変分推論でデータから学習することによる実用的な効率性
## 実験設定
**合成データ**: n=100, p=20〜1000, 多重共線性 3 段階(absent/partial/perfect), ノイズ, スパース比, 欠損値比を変化させ 100 試行平均。比較手法: Lasso / E-Net(Elastic Net) / ARD。
**実タスク 3 種**:
1. **bad SQL 箇所特定**(OceanBase の SQL 診断プラットフォーム): n=61, p=数百〜数千, 欠損最大 50%, 90 サンプル
2. **コンテナ障害箇所特定**(Ant Group の障害診断プラットフォーム): n=30, p=10 (p < n), 100 サンプル
3. **Exathlon 障害型診断**: Spark 10 アプリの 5 障害種別, n=66, p≈150, 73 ケース
## 実験結果
### 合成データ
![[wiki/sources/_attachments/2023__PACMMOD__BALANCE/fig05_f1_score_dimension.png]]
- 多重共線性がない場合: ARD と BMFS が Lasso/E-Net を大幅に上回る
- 多重共線性がある場合: BMFS が ARD も上回る(g-prior の効果)
- p=1000 まで F1 スコアが 0.97+ を維持(Lasso は 0.29 まで低下)
- 実行時間は BMFS が他と同等以下
### bad SQL 箇所特定
![[wiki/sources/_attachments/2023__PACMMOD__BALANCE/fig06_bad_sql_and_table6.png]]
| 手法 | 精度 | 実行時間(秒) |
|---|---|---|
| ARD | 75.6% | 1.92 |
| Lasso | 71.1% | 3.15 |
| E-Net | 72.2% | 2.95 |
| fsMTS | 54.4% | 12.0 |
| **BMFS** | **83.3%** | **1.78** |
本番デプロイ後: 精度 95%。SRE 手動診断(平均 3 分)に対し平均 1.78 秒。
### コンテナ障害箇所特定
![[wiki/sources/_attachments/2023__PACMMOD__BALANCE/fig07_container_fault.png]]
| 手法 | 再現率 | 適合率 | F1 | 時間(秒) |
|---|---|---|---|---|
| ARD | 0.478 | 0.988 | 0.627 | 0.354 |
| Lasso | 0.508 | 0.522 | 0.471 | 0.496 |
| E-Net | 0.735 | 0.552 | 0.593 | 0.458 |
| fsMTS | 0.483 | 0.524 | 0.466 | 0.701 |
| **BMFS** | **0.818** | **0.914** | **0.857** | **0.152** |
BMFS の F1 は第 2 位 ARD を 20% 以上上回る。相関する CPU メトリクス(cpu_util/cpu_sys/cpu_user)に対して BMFS は類似帰属スコアを割り当てる(連続性公理の充足)が、他手法は不安定。
### Exathlon 障害型診断
| 手法 | 精度 | 実行時間(秒) |
|---|---|---|
| ARD | 73.97% | 1.29 |
| Lasso | 69.86% | 1.58 |
| E-Net | 67.12% | 1.67 |
| fsMTS | 49.32% | 44.5 |
| **BMFS** | **79.45%** | **1.60** |
## 考察
**p > n の問題**: Lasso は p > n で最大 n 個の特徴しか選択できない制約(ℓ1 ノルムの性質)があり、多重共線特徴では 1 つしか選ばない。BMFS は g-prior で多重共線特徴を同等に選択し、d6(出力の解釈可能性)を満たす。
**ベイズ vs 頻度主義**: BMFS と ARD はチューニングパラメータを変分推論で学習するため、Lasso/E-Net のグリッドサーチより速い。大次元でも性能が安定する。
**線形モデルの選択理由**: ニューラルネット(LIME/SHAP)は p>>n/少標本で訓練不可。さらに描写精度(descriptive accuracy)の最小化が目的であり、NN では局所線形近似の誤差が入る。線形モデルで描写誤差をゼロにしつつ Shapley 値の公理を厳密に満たす。
**異種 KPI と候補の組み合わせ**: コンテナ事例では y(trace failures)と X(CPU/メモリ/TCP)が異種だが、異常時には「スパイク」や「急増」という共通の波形パターンが現れるため線形近似が有効。
## 強み
- グラフ構造不要・計装不要で汎用的に適用可能
- 大規模本番システム(OceanBase・Ant Group のコンテナ基盤)でデプロイ済み
- 実行速度が速い(SRE の 3 分診断を 1.78 秒に短縮、本番 95% 精度)
- p > n かつ多重共線かつ欠損データの3条件を同時に処理
## 弱点・課題
- 線形モデルのため、KPI と候補間の関係が非線形の場合は精度が落ちる可能性(著者も言及)
- 将来の拡張候補として一般化線形モデルや非線形 forward モデルを挙げる
- グラフベース手法との関係の統一的な理論化は今後の課題
- 評価が Ant Group/OceanBase の内部データに偏っており、公開ベンチマーク(Exathlon のみ)が少ない
## 関連
- [[根本原因分析]] — RCA の地図ページ。BALANCE は帰属分析を RCA に適用した最初期研究として位置づけ
- [[帰属手法]] — SHAP・Integrated Gradients・LRP 等との比較。線形モデルでの統一
- [[Fault Localization]] — bad SQL/コンテナ箇所特定での具体的応用
- [[データベース自律診断]] — OceanBase/Ant Group の本番 DB 診断への展開
- [[説明可能RCA]] — XAI フレームワークを RCA に転用する研究系統
- [[Jianguo Li]] / [[Ant Group]] / [[OceanBase]] / [[Chaoyu Chen]]
## 出典
- Chen et al. (2023). BALANCE: Bayesian Linear Attribution for Root Cause Localization. *Proc. ACM Manag. Data*, Vol.1, No.1, Article 95. https://doi.org/10.1145/3588949