1 次元の異常検知では見えない異常がある。「CPU/メモリ/IO それぞれは普通だが組み合わせが異常」── これを多変量で捉える手法を扱います。
Mahalanobis 距離
共分散を考慮した距離。各変数の相関を踏まえた「いつもの組合せからの乖離」を測る。
Mahalanobis 距離での異常検知
Python
from scipy.spatial.distance import mahalanobisimport numpy as np
mean = X.mean(axis=0)cov_inv = np.linalg.inv(np.cov(X.T))
distances = np.array([mahalanobis(x, mean, cov_inv) for x in X])threshold = np.percentile(distances, 99)anomalies = X[distances > threshold]PCA + 再構成誤差
PCA で次元圧縮 → 元に復元した時の誤差で異常検知。「いつものパターン」から外れているほど復元が困難になる。Isolation Forest と LOF の中間的な手法。
での活用
マルチメトリック監視
CPU + メモリ + ディスク IO + ネットワーク + リクエスト数を 1 つの多変量異常検知器に。Datadog の Watchdog や New Relic の Apdex はこれの応用。
ふくふくの進め方
多変量メトリックの監視基盤構築、Datadog/New Relic 連携を含めて 1〜2 ヶ月でご支援。
次回予告
EP.06 はオートエンコーダによる異常検知:深層学習版。
この記事の感想を教えてください
あなたの 1 クリックで、本当にこの記事は更新されます。「もっと詳しく」「続編希望」が一定数集まった記事は、 ふくふくが 実際に内容を拡充したり続編記事を公開 します。 送信したリアクションはお使いのブラウザに記録され、再カウントされません。