外れ値検出
Isolation Forestによる数値データの異常検出. Isolation Forestアルゴリズムで外れ値を識別します。異常スコアが高いデータポイントは、汚染率の閾値に基づいて潜在的な異常として検出されます。
Isolation Forestアルゴリズムで外れ値を識別します。異常スコアが高いデータポイントは、汚染率の閾値に基づいて潜在的な異常として検出されます。
Isolation Forest外れ値検出とは?
Isolation Forest は、外れ値が「少数かつ異質」であるという原理に基づく教師なし機械学習の異常検知アルゴリズムである。外れ値は正常点よりも分離しやすい。距離ベースの手法とは異なり、距離や密度を計算しないため、大規模データセットに対して非常に効率的である。
このアルゴリズムは、ランダムな分離木(isolation tree)のアンサンブルを構築する。各木は、特徴量と分割値をランダムに選びながらデータを再帰的に分割する。異常値は希少かつ特徴的であるため、分離に必要な分割回数が少ない(根から葉までの経路長が短い)。一方、正常点は密集しているため、より多くの分割を必要とする。
異常スコアは、全ての木にわたる平均経路長を、データセットの大きさに対する期待経路長で正規化して求める。スコアが 1 に近いほど異常、0.5 に近いほど正常を示す。contamination(汚染率)パラメータは想定される異常値の割合を指定し、分類のためのスコアしきい値を決定する。
Formula: Anomaly Score s(x, n) = 2^(-E(h(x)) / c(n)) c(n) = 2H(n-1) - 2(n-1)/n where h(x) = path length, c(n) = average path length in BST, H(i) = harmonic number ≈ ln(i) + 0.5772
計算例
contamination = 0.05(外れ値が約 5 個と想定)のデータ点 100 個。分離木を 100 本構築する。点 A は平均経路長 3.2(速やかに分離される → 異常スコア 0.82 → 検出)。点 B は平均経路長 8.7(分離しにくい → 異常スコア 0.45 → 正常)。4 点がしきい値を超え、異常として検出された。
この計算機を使用する場面
- 受入検査データレビュー時にサプライヤー品質問題や測定誤差を示す可能性のある異常測定値をフラグ付けするため
- 統計分析前のデータセットクリーニング時 — 検出されない外れ値が平均、標準偏差、能力指数を深刻に歪める可能性
- 標準管理図が多変量データで見逃す可能性のある異常な生産パターンを検出するための大量生産SPC
- 設備劣化や工程ドリフトの初期兆候を特定するための設備モニタリングセンサーまたはIoTデータ分析時
- 記録エラー、試験装置の故障、工程異常を示す可能性のあるデータ異常を見つけるための品質監査時
よくある間違い
- フラグ付けされたすべての異常値を調査なしに自動除去 — 外れ値はデータクリーンアップではなく是正措置が必要な実際の重要な工程イベントを表す可能性
- 汚染度を高く設定しすぎて正常変動を異常としてフラグ付け — 保守的に開始(0.01-0.05)しドメイン知識がより高い異常率を示唆する場合のみ増加
- 非常に小さなデータセット(50点未満)にIsolation Forestを使用 — アルゴリズムが意味のある分離木を構築するには十分なデータが必要;小サンプルにはより単純な方法(Zスコア、IQR)を使用
- 異常スコア分布の無視 — バイナリ分類のみに依存せずスコア分布を検討して検出された異常の重大度勾配を理解
結果の解釈方法
- 異常スコア1.0に近い — ポイントが強く分離され真の異常である可能性が高い;即座に調査
- 異常スコア0.6-0.8 — ポイントが中程度に異常;ドメインの文脈で検討し措置が必要か判断
- 異常スコア約0.5 — ポイントは正常;メインデータ分布内に埋め込まれている
- 異常割合が予想よりも有意に高い — 汚染パラメータが高すぎるか工程に想定以上の問題がある
- 類似した特徴値での異常のクラスター — ランダムな外れ値ではなく別個のサブ集団を表す可能性;体系的原因を調査
関連規格・参考文献
- Liu, Ting & Zhou (2008), "Isolation Forest", IEEE ICDM — ここで実装されているアルゴリズムと異常スコアを定義した原著論文
- ISO 16269-4 — データの統計的解釈:外れ値の検出と処理。外れ値の取り扱い判断の枠組みとなる国際規格
- ASTM E178 — 外れ値の取り扱いに関する標準実務。フラグされた点の除去が正当化される場合を扱う
- NIST/SEMATECH e-Handbook §1.3.5.17 — 単一特徴量データのクロスチェックに有用な古典的な単変量外れ値検定(Grubbs)
よくある質問
contamination パラメータはどのように設定すればよいですか?
contamination は、データに含まれる異常値の想定割合です。過去の異常発生率(例:不良率 2%)が分かっていれば、その値を使います。不明な場合は 0.05-0.10 から始め、現場の知見に基づいて調整してください。低すぎる → 実際の異常を見逃します。高すぎる → 正常点まで異常として検出されます。検出された点を目視で確認すると較正の助けになります。
Isolation Forest は他の外れ値検出手法と比べて、どのような場合に使うべきですか?
Isolation Forest は、高次元データ、大規模データセット、そして外れ値が大域的に際立っている場合に威力を発揮します。局所的な密度が重要な場合(近傍に対して相対的に外れている場合)は LOF を使います。単純な一変量データには統計的手法(Z-score、IQR)が適します。クラスタリングも同時に必要なら DBSCAN を使います。Isolation Forest は O(n log n) の計算量であり、最もスケーラブルな選択肢です。