LOF異常検出
Local Outlier Factorによる異常検出. Local Outlier Factor(LOF)を使用して、近傍に対するデータポイントの局所密度偏差を測定します。密度が著しく低いポイントが異常として分類されます。
Local Outlier Factor(LOF)を使用して、近傍に対するデータポイントの局所密度偏差を測定します。密度が著しく低いポイントが異常として分類されます。
LOF(局所外れ値因子)とは?
Local Outlier Factor(LOF、局所外れ値因子)は密度に基づく異常検知アルゴリズムであり、ある点の局所密度をその近傍点の密度と比較することで外れ値を特定する。大域的な手法とは異なり、LOF は密度の異なるクラスタが混在するデータセットでも外れ値を検出できる。ある点は疎なクラスタの中では正常でも、密なクラスタの近くでは異常となりうるからである。
このアルゴリズムは、各点について k 近傍に基づく到達可能距離と局所到達可能密度(LRD)を計算する。LOF スコアは、その点の LRD と近傍点の LRD の平均との比である。LOF ≈ 1 は近傍と同程度の密度(正常)を意味し、LOF >> 1 は密度が著しく低いこと(異常)を意味する。
近傍点の数(k)は局所性を制御する。k が小さいとごく局所的な構造に着目し、k が大きいとより広い近傍にわたって平滑化される。contamination(汚染率)は、LOF スコアの順位に基づいて異常と分類される点の割合を決める。
Formula: reach-dist(A,B) = max(k-dist(B), dist(A,B)) LRD(A) = 1 / (Σ reach-dist(A,Oᵢ) / k) LOF(A) = (Σ LRD(Oᵢ) / LRD(A)) / k LOF ≈ 1: normal, LOF >> 1: outlier
計算例
k=5 の近傍を用いた場合:密なクラスタ内の点 P₁ は LRD=10、その 5 個の近傍点の LRD の平均は 9.5。LOF = 9.5/10 = 0.95(正常)。クラスタ縁辺の点 P₂ は LRD=2、近傍点の LRD の平均は 8。LOF = 8/2 = 4.0(明らかな外れ値)。contamination=0.05 とすると、LOF スコアが上位 5% の点が検出される。
この計算機を使用する場面
- データに密度の異なるクラスターがある場合 — LOFはZスコアやIsolation Forestなどのグローバル手法が見逃す局所的異常を検出
- 異なるテストステーションからの測定値が異なるばらつきと自然なクラスターを形成する多変量品質検査時
- 正常動作モードが異なる特性パターンと密度を持つ設備振動やセンサーデータの分析時
- Isolation Forestの異常検出結果が密集クラスター近くの異常を見逃すように見える場合 — LOFの密度ベースアプローチがこのケースに対応
- グローバル範囲内にあっても局所的な近傍に対して異常なデータポイントを特定する工程トラブルシューティング時
よくある間違い
- k(近傍数)を小さく設定しすぎてノイズに敏感 — 非常に小さなk値はアルゴリズムを不安定にする;k=20から開始し結果に基づいて調整
- 非常に高次元のデータにLOFを使用 — LOFは高次元で意味が薄れる距離メトリクスに依存(次元の呪い);まず次元削減を検討
- LOF > 1のすべてのポイントを異常として扱う — LOF > 1は近傍より若干低い密度を意味するだけ;汚染閾値または意味のあるLOFカットオフ(例:LOF > 2)を使用
- LOF適用前に特徴のスケーリングを行わない — 数値範囲が大きい特徴が距離計算を支配;すべての特徴を平均0、単位分散に標準化
結果の解釈方法
- LOF ≈ 1.0 — ポイントは近傍と同様の密度;局所クラスターの正常メンバー
- LOF 1.5-3.0 — ポイントは近傍に比べて密度が低い領域;クラスター境界または軽度の外れ値の可能性
- LOF > 3.0 — ポイントは近傍よりはるかに低い密度;強い局所外れ値であり調査が必要
- LOF < 1.0 — ポイントは近傍より密度が高い領域;タイトなクラスター中心のポイントで一般的
- 多くのポイントが高いLOFスコアを示す場合、データに明確なクラスターがない可能性 — LOFがこのデータセットに適切な方法か検討
関連規格・参考文献
- Breunig, Kriegel, Ng & Sander (2000), "LOF: Identifying Density-Based Local Outliers", ACM SIGMOD — ここで計算されるLOFスコアを定義した原著論文
- ISO 16269-4 — データの統計的解釈:外れ値の検出と処理。フラグされた観測値の取り扱いを規定する規格
- ASTM E178 — 外れ値の取り扱いに関する標準実務。単変量の外れ値判断を補完する古典的規格
- Aggarwal, Outlier Analysis (Springer) — LOFのような密度ベース手法を分離ベース・距離ベースの代替手法と比較する包括的な参考書
よくある質問
近傍点の数(k)はどのように選べばよいですか?
まずは妥当な既定値として k=20 から始めます。k が小さい(5-10)とごく局所的な異常を検出できますが、ノイズに敏感になります。k が大きい(50+)と結果は滑らかになりますが、局在した異常を見逃すおそれがあります。実務的には、複数の k 値を試し、同じ点が一貫して検出されるかを確認するとよいでしょう。異なる k 値でも残り続ける外れ値は、真の異常である可能性が高くなります。
Isolation Forest ではなく LOF を使うべきなのは、どのような場合ですか?
データに密度の異なるクラスタが含まれる場合は LOF を使います。LOF は各点をその局所的な近傍に対して相対的に評価するためです。密なクラスタからは遠いが疎なクラスタには近い点は正常でありうるため、大域的な手法が誤って検出しかねない状況でも LOF は正しく扱えます。高次元データや、LOF の O(n²) の計算量が許容できないほど大規模なデータセットには Isolation Forest を使ってください。