【入門】異常検知とは?:その手法の種類紹介から活用事例やメリットも徹底解説!

はじめに

機械の故障を検知・推測するために「機械学習」を活用することで異常検知をする事例も増えてきました。そこで異常検知によく使われる仕組みや手法、機械学習の学習モデルを紹介します。

異常検知とは

異常検知とは、データセット中の他の大多数のデータと一致していない観測結果、 すなわち通常のパターンとは異なる挙動を検出・識別することを指します。

「異常」とは、通常の動作とは異なるデータパターンのことで、アプリケーションや状況によって、外れ値 (Outlier) 、変化点 (Change point) 、逸脱 (Deviation) 、誤作動 (Fault) 、侵入 (Intrusion) 、詐欺 (Fraud) などと呼ばれます。

一言で言えば、異常検知とは、他の大多数のデータ 通常のパターンとは振る舞いが異なるデータを検出する技術のことです。

異常検知アルゴリズムには基本的に教師なし学習を用います

教師なし学習を用いる一つ目の理由としては、異常データの「希少性」です。「希少」であるからこそ、正常ではなく「異常」なわけです。 特に異常がクリティカルな事態となる医療や工場といった現場では、異常データを数百~数千も集めるのは困難を極めます。

二つ目の理由としては、 異常データの「多様性」です。 一口に「異常」と言っても、様々な種類の「異常」があります。正常から外れたものは全て「異常」と扱われるわけですから、「異常」には多種多様な性質が存在します。そのため、 「正常か異常か」を分類するモデルよりも、「正常か正常じゃないか」を分類するモデルを構築する方が簡単となります。 後者は異常データに関して言及しておらず、正常データの構造理解のみで達成可能です。ただし、教師なし学習を行う際のサンプルには異常データが含まれていない、もしくは圧倒的少数であると仮定できる必要があります。

一言で言うと、異常検知に教師なし学習を用いる理由は、「異常」の「希少性」と「多様性」とまとめることができます。

機械学習で異常検知を行うことのメリット

機械で自動的に異常検知することによるメリットは、大きく分けると次のような3つに分類されます。

  • 診断:異常を自動で診断することにより人的工数を削減
  • 予知:現在の状態から将来的な異常を検知することにより、突然の異常による人的、経済的ロスを低減
  • 処方:将来的な異常を自動で修正することにより、稼働率・生産性を向上

機械学習を用いた異常検知を導入すると解決できる課題

異常検知には専門家の目視による古典的な方法も有効ですが、機械学習を用いることで、多くの変数やサンプル数から構成される複雑なデータが対象であっても、自動でかつより早期に異常を見つけ出すことが期待できます。

  • 人件費の削減
    人が行う目視検査は、検査数が多いほど人件費がかかってしまいます。しかし、外観検査システムを導入することで、人件費を大幅に削減できるようになります。外観検査システムを使うにはソフトウェア、ハードウェアが必要になるとはいえ、ランニングコストを考えると検査員を雇って目視検査するより低コストになる可能性が高いです。
  • ヒューマンエラーの予防
    人が行う検査では、不良品を誤って流してしまうといったヒューマンエラーをどのようにしても防ぐことはできません。しかし、機械学習を検査に用いることで、目視検査と比べてより高い精度で異常を検知できるだけでなく、ヒューマンエラーによる異常も検知できるようになります。
  • 業務の属人化予防
    多くの製造業の外観検査現場では、熟練検査員による属人的な作業が問題になっています。人による外観検査には、長年の経験によるノウハウがあり、熟練検査員は新人検査員では見逃してしまうような異常も見つけることができます。しかし、その熟練検査員たちが退職すると、職場には経験の浅い人材だけが残る可能性があります。すると、経験の浅い検査員がうっかり不良品を見逃し流してしまうヒューマンエラーが起こる可能性が高くなってしまいます。そこで、システムを導入して外観検査を自動化することで、業務の属人化を予防することができます。

異常検知の活用事例

センサーやネットワーク・計算機の飛躍的な発展によりビッグデータの活用が盛んになる中で、異常検知の応用分野は多岐にわたっています。異常検知の具体的な活用シーンとしては、以下のようなものがあります。

  • 製品の品質チェックの自動化
    画像認識と異常検知によって、今まで人間がひとつずつ目視して手作業で完成品をチェックしていたものを自動化します。
  • 機器・システムの故障を検知
    センサーから取得した正常に機能している部品のデータに基づいて、異常データを検出するようにモデルを構築します。
  • マネーロンダリングの検知
  • クレジットカードの不正利用検知
  • 医療用画像から疾患部位を特定
  • 監視カメラから侵入者を検知

異常検知の仕組みや手法一覧

異常検知は、目的に合わせて手法を選択する必要があります。異常検知の代表的な手法としては、外れ値検知異常部位検出変化点検知の3種類があります。ここではそれぞれの手法について詳細に説明していきます。

外れ値検知

外れ値検出とは、普段では発生すると考えられないようなデータ点を検知する場合に用いられる手法です。例えば、株価などに外れ値検索を適用することで、株価の急騰落 (急激な上昇や下降) を自動的に検知し、アラートを発生させることができます。

異常部位検出

異常部位検出とは、明らかな異常が起きている部分時系列を検出する際に用いられる手法です。例えば、心拍数のデータから異常部位(急激な心拍数の変動部分)のみを抜き出したいときなどに異常部位検出が使用されます。先ほどの外れ値検知はデータ点が異常かどうかを判断するのに対し、異常部位検出では部分時系列が異常かどうかを判断して検出します。

変化点検知

変化点検知とは、時系列データのパターンが急激に変化する箇所を検知するための手法です。
例えば、アイスやコタツといった季節性のあるワードや、一発屋芸人の〇〇といった一過性を帯びたワードなどの検索数の推移を調べてみると、ある時期を境に異常に多くなることがよくあります。このような転換期を検知できる手法が変化点検知です。

異常検知の代表的な種類・手法

機械学習による異常検知の手法は、大きく分けると以下のように分類できます。

  • 統計モデルに基づいた手法
  • データ間の距離に基づいた手法

どのような統計モデルを仮定するか、どのようにデータ間の距離を定義するのかによって様々な異常検知手法が提案されています。ここでは統計モデルに基づく手法としてホテリング理論を、距離に基づく手法としてk近傍法局所外れ値因子法 (lof法) を紹介します。

ホテリング理論 (ホテリングのT2法)

ホテリング理論とは、平均や分散といったデータの基本的な分布情報をもとにして、観測値より算出した異常度を用いて外れ値を検知するといった統計モデルを用いた手法です。 より詳しく説明すると、この統計モデルとは、正規分布を仮定することで異常度がχ2乗分布に従う性質を利用したモデルのことです。統計的モデルを使用することで人の主観に左右されずに客観的に異常を検知できるため、ホテリング理論は異常値を検出する場合の、最も基礎的な方法として知られています。

しかし、ホテリング理論には以下の2つの弱点があります。

  1. データが単一の正規分布から発生していると仮定しているため、対象データが正規分布から著しく外れている場合、分布が複数の山を持つ場合などは異常値を正しく判断できなくなる
  2. 正規分布のパラメータは不変と仮定しているため、分布のパラメータが変化するような時系列データには適用することができない

1.の問題点を解決するための手法として、距離に基づく異常検知手法や混合分布を用いた異常検知があります。データ間の距離に基づいた異常検知の手法を以下で解説します。

k近傍法

異常検知を行うデータが、正常なデータが点在した多数のクラスターからなる場合、 データが正規分布から生成されていると仮定するホテリング理論では異常値を取り除けません。この代わりにk近傍法(K-Nearest Neighbor Algorithm)を用いることで、 確率分布を決めず、k番目に近い点までの距離を計算して異常値を検知することができるようなります。

k近傍法とは、ある未知のデータが、既存のデータセットの中から類似するk個それぞれのクラスの中でも最も数が多いクラスに、多数決の方式でデータを分類する教師あり学習の手法です。

異常検知の手法としては、主に時系列データの外れ値を検知する際に利用します。


このときの閾値の設定、つまり、k番目に近い点までの距離がどこまで大きくなったら異常点と判定するのかは分析者の経験則であったり分析分野の慣例といった定性的な判断になるため、慎重に行う必要があります。


距離の定義にはユークリッド距離が使われることが多いですが、マハラノビス距離マンハッタン距離などその他任意の距離を用いることもできます。

局所外れ値因子法 (lof法)

局所外れ値因子法 (lof法) は、特定のデータの集まりの中から外れ値を見つけ出す手法が用いられます。lof法の原理は、 自身の局所密度と近傍点の局所密度が等しいときほど正常データであり、その差が大きいほど外れ値である可能性が高いという考え方に基づいています。これを定式化することで、ある点が外れ値である可能性を表す外れ値スコアを求めることができます。  この外れ値スコアは、大きい値をとるほど外れ値である可能性が高いということを表しています。外れ値検知では、このような外れ値スコアに閾値を設けることで、その閾値を超えるものを異常値と判断することが多いです。

lof法のメリットとして、特定の閾値や基準を設定しづらい複雑な要素で構成されるデータ分布における外れ値検知にも強いということが挙げられます。

なおこのスコアに対する閾値の設定は、k近傍法の時と同様に、分析者の定性的な判断に委ねられます。

また、 lof法はk近傍法がうまくいかないような問題にも比較的妥当な結果を返すことが経験的に知られています。

コメントする

*
*
* (公開されません)

Return Top
Close Bitnami banner
Bitnami