K_DM Book
用語集
対象者 標準
対象者別の入口 →

対象者の設定はこのブラウザの中にだけ保存されます。

言語 JA

異常検知

02.8

異常検知

まとめ
この章では、時系列と表形式データの異常検知で使う代表手法を 4 ページで学びます。時系列には ADTK の LevelShiftAD・SeasonalAD・InterQuartileRangeAD・AutoregressionAD のようなルールベースの検出器を、表形式データには IsolationForest と OneClassSVM を使い、同じデータで検出結果がどう違うかを図で比べます。読み終えると、contamination や nu、IQR の係数 c のような「異常の割合・閾値」を決める引数の意味が分かり、誤検知と見逃しのどちらを減らしたいかに応じて検出器を選べるようになります。

直感 #

たとえばサーバーの使用率が毎日 8 時間だけ 80% まで上がるデータでは、「80% は異常か」という問いに答えられません。深夜に 80% なら異常で、昼間なら正常だからです。異常検知ではアルゴリズム選びと同じくらい「何を異常と定義するか」が結果を決めます。この章では、値そのものの大きさ(InterQuartileRangeAD)、直前からの急変(PersistAD・LevelShiftAD)、周期パターンからのズレ(SeasonalAD)、多次元空間での孤立(IsolationForest)という 4 種類の定義を、検出器を切り替えながら確かめます。

詳細な解説 #

このチャプターで学べること #

  • 統計的手法(IQR法など)による外れ値検知の考え方
  • 機械学習ベースの検知(PCA、LOF、Isolation Forest)の特性と使い分け
  • 時系列データに対する異常検知(自己回帰モデル、ADTK)の適用方法

これがわかるとできること #

  • データの種類(1次元時系列・多次元表形式)に応じて適切な検知手法を選べる
  • 閾値調整やアラート設計を含めた実運用の監視フローを組み立てられる
  • 検知精度と誤検知率のバランスを評価指標で判断できる

学習の進め方 #

まず 異常検知① で、NAB の時系列データ(5 分間隔・2 週間分の 4,032 点)に InterQuartileRangeAD や LevelShiftAD など 5 つの検出器を当て、同じ系列でも検出器ごとに赤く塗られる場所が変わることを確かめます。次に 異常検知② で value2 という 2 列目を足し、OutlierDetector(LOF)・RegressionAD・PcaAD のような多次元の検出器に進みます。最後に Isolation Forest と One-Class SVM で、contamination=0.1 や nu=0.05 のように「全体の何 % を異常とみなすか」を決める引数が閾値をどう動かすかを読み取ります。