読者です 読者をやめる 読者になる 読者になる

異常検知のメモ

統計・機械学習

異常検知というよりは機械学習の基礎題材として勉強中.少しずつ追記していこう.

参考文献

日本語だと異常検知だけを扱った本として以下の3冊があるみたい.
* 山西, "データマイニングによる異常検知", 2009.
* 井手, "入門機械学習による異常検知", コロナ社, 2015.
* 井手, "異常検知と変化検知", 講談社, 2015.

基本方針

  • 理論的背景はホテリング理論が最重要.
  • 正常データ D から正常なデータの分布 p(x|D)を推定する.
  • あるデータ x'の確率(尤度と等しい)の負の対数の値を異常度 a(x')と定義する,つまり  a(x') = -ln(p(x'|D)
  • 異常度がしきい値を超えたら異常と判定する.しきい値はをどうやって決める?
  • 色々と難しいことはやらず簡単にやる方法は?実は単純だけど意外と便利なのが上位,下位の数%を除去する.異常値の除去が目的だとこれで充分な場合も多い.

ホテリング理論と使い方

  • N個の観測データがそれぞれ単一の正規分布N(μ,σ)に独立に従う時,異常度a(x')は自由度1,スケール因子1のカイ二乗分布χ(1,1)に従う.(スケール因子というのは)
  • つまり,異常度の分布がχ(1,1)に従うので異常判定しきい値 a(x')_thが容易に計算できる.重要な事はデータに依存しない,ということ. ・あとは,データ毎の異常度を \frac{x-\mu}{\sigma}^2から計算して,この閾値と比較する.但し,異常度は負の対数尤度で定義してる. ・ここで,異常度を情報量-log(p)と定義しているが,各事象の発生確率が正規分布に従うとき,LogとExpが打ち消し合って,異常度がマハラノビス距離になるため,ある程度異常度を情報量で定義するというのは意味を持つ.但し,それは事象の発生が正規分布に従う場合,という前提があることに注意する.

マハラノビス距離の意味 [tex:{\displaystyle d = (x-\mu)T\Sigma(x-\mu) }]は平均からのズレを幅を考えるんだけど,各軸ごとのもともとの分散で正規化している,というイメージ.つまり,もともと分散が大きい軸のズレと分散が小さい軸のズレを平等に扱うということ.