データを観測・解析していくと、ごく少数現れる特異な状態に気づくことがしばしばあります。
例えば、 サーバーの不正アクセスなんかもそうですよね。
普通の状態と、この特異な状態を線引きし、特異な状態が現れたときに、検知してくれる方法として「異常検知」というものがあります。
異常検知とは
“異常”という物々しい言い方ですが、要するに一般的に得られるであろう値よりも大幅に外れた値をもつデータを抽出する手法になります。例えば全国の高校生の偏差値は正規分布で平均値が50で標準偏差が10になります。
偏差値が平均値+標準偏差の2倍=70以上であるデータは、群を抜いている。すごく成績が良いわけですが、全体から見ると異常値として抽出することができます。
上位2.3%の成績の人を異常値と言うのは失礼な話かもしれませんが(笑)。
偏差値についてはこちら
今回は、標準偏差の「2倍」で異常値を説明しましたが、実際には抽出したい割合や件数等に合わせて基準を変えて使います。
例えば製造業では3倍など、業界毎で慣習があったりします。
(正確には上記の説明は異常検知のうちの「外れ値検知」と呼ばれるものの説明になります。時系列データの異常についてはまた別の考え方が存在します)
どんな時に使える?
「通常とは異なった振る舞いや状態を持つような一部のデータを抽出したい」というようなニーズがあれば、それは異常検知の出番かもしれません。
具体例としては以下のようなものが挙げられます
- 製造業における、不良品発生の検知
- 生産設備やセンサーの故障の検知
- サーバーの不正アクセス検知
- 不正送金の検知
- EC業界における不正注文の検知
- 脈拍データから不整脈を検知
- 医療画像から病理診断
かっこでの活用例
かっこではECサイト等の不正注文を検知するサービスであるO-PLUXを提供しています。
O-PLUXの精度を高めていくためには、日々変化する不正手法をモニタリングで見つけていくことが重要になります。
そのモニタリングの起点として、「通常とは異なる取引傾向となっている注文群」を異常検知の手法を用いて抽出することで、新たな手口の不正発見に役立てています。
「ある地区における1週間の注文群」は通常このような分布であり、それと大きく外れている注文群は異常≒不正な取引なのでは?という考え方を取り入れることで、異常検知手法をモニタリングに活用できるようになりました。
まとめ
異常検知は通常とは異なった振る舞いや状態を持つような一部のデータを抽出したいときに、幅広く活用できる技術である。
この記事を読んで、
「ウチでいうとあそこに異常検知を適用してみたら良いのでは?」
とか
「通常の機械学習的なアプローチでは上手く行かなかったけど、異常検知のアプローチなら結果が出せるのかも?」
と思ってもらえたら幸いです。
異常検知を業務に取り入れたくなったら、ぜひ、かっこのデータサイエンスまで、ご相談ください。