読んでいる本(出典): 入門 機械学習による異常検知―Rによる実践ガイド | 井手 剛 |本 | 通販 | Amazon
前回: ノート2 / 次回: まだ
目次: 入門 機械学習による異常検知―Rによる実践ガイド
読んだページ: 44~52ページ
以下、メモと雑談。
前回までのあらすじ
- データが多次元正規分布にしたがう場合、 で異常度を定義できる。
観測データが i.i.d. に多次元正規分布にしたがうなら、この異常度は F 分布にしたがう。- 例.(ノート2と同じ例)2017年1月1日~18日の東京の最低/最高気温は、1.63±1.99℃/10.47±2.77℃だった。
気象庁|過去の気象データ検索
このうち、2017年1月8日の東京の最低気温は1.6℃、最高気温は6.0℃だった。2017年1月8日は異常な日だったのだろうか。但し、ここで恣意的に、「14%も起こらないこと」を異常の閾値にする。
→ A. 最低気温と最高気温を1変数ずつみると異常ではないが、2変数の組合せは異常となる(以下)。- 2017年1月8日の最低気温だけみると1.6℃で、これはこの18日間の平均値1.63℃にかなり近いので異常値ではないだろう(証明略)。
- 2017年1月8日の最高気温だけみると6.0℃とこの18日間で2番目に低いが、最高気温が独立同一正規分布にしたがうなら、「14%も起こらないこと」ではない(異常度 2.331211 < F分布の上側14%点 2.396771)。x1 <- c(2.0, 3.8, 3.5, 3.6, 3.7, 1.5, 0.1, 1.6, 3.8, 3.5, 3.9, 0.7, 1.4, -1.3, -2.3, -2.0, 0.7, 1.1)
x2 <- c(13.8, 13.3, 13.7, 14.0, 10.4, 8.8, 8.7, 6.0, 11.1, 12.7, 11.0, 12.1, 12.7, 6.3, 4.7, 8.0, 10.9, 10.3)
> a <- (18-1)/(18+1) * (x2[8]-mean(x2))^2 / (var(x2)*(18-1)/18)
> a
[1] 2.331211
> F_0.14 <- qf(df1=1, df2=18-1, 0.86)
> F_0.14
[1] 2.396771 - 2017年1月8日の最低/最高気温の組合せだと、最低/最高気温が独立同一2次元正規分布にしたがうなら、「14%も起こらないこと」といえる(F分布の上側14%点 2.228783 < 異常度 2.248451)。
- なぜ異常度が F 分布にしたがうかという以前に、i.i.d. に 次元正規分布にしたがう観測データからの、平均ベクトルと共分散行列の最尤推定値の導出の復習…。
- それで、なぜ異常度 が F 分布にしたがうのか(44~48ページ)。
今回のお話- 多次元のホテリング理論で「最高/最低気温の組合せが異常」というのは検知できるが、もっといえば、最高気温と最低気温のどちらが/あるいは両方が異常だったのかも知りたい。→ 正常であることが期待されるデータ群 から、全データの1変数あたりのマハラノビス距離を計算し、ここまでが正常という閾値を適当に決め、異常なデータの1変数あたりのマハラノビス距離をこの閾値と比較する。
- 例. 各都道府県の最低賃金、合計特殊出生率、高齢化率についてみてみる。最低賃金: 地域別最低賃金の全国一覧 |厚生労働省これらのデータをつかっているのは、教科書と違う例で、乱数でなく親しみをもてる(?)データをつかってみたいというだけで、きっとモデルは適切ではないし、これで何か主張するということでは全くないです。
合計特殊出生率: 出生率、沖縄が1.94でトップ 46都道府県で上昇 :日本経済新聞
高齢化率: 第1章 高齢化の状況|平成27年版高齢社会白書(概要版) - 内閣府
最低賃金が平成27年度、合計特殊出生率は2015年、高齢化率は平成26年のデータを参照しています。- 上記のデータをプロットすると以下。
等高線は2次元に周辺化したときの確率密度分布の等高線。既にこの時点で異常っぽい東京都、神奈川県、沖縄県にはラベルを付けてある。 - 1変数あたりのマハラノビス距離を求める。やはり東京、神奈川、沖縄の値は大きい。閾値は2.5くらいにする。すると宮城と島根も閾値に引っかかる。
閾値に引っかかった都道府県のデータは以下。 pref wage birth aging
4 Miyagi 726 1.31 0.246
13 Tokyo 907 1.17 0.225
14 Kanagawa 905 1.34 0.232
32 Shimane 696 1.80 0.318
47 Okinawa 693 1.94 0.190 - これらの都道府県のSN比解析は以下。SN比が正に大きい変数が異常度に寄与している。上の図とも合わせて、例えば沖縄は明らかに合計特殊出生率が高く、高齢化率が低い。
宮城は、SN比でみると合計特殊出生率が最も異常度に寄与している。でもそのSN比も突出して大きくはない。上の図とも合わせると、宮城の3変数の組合せの異常度が大きくなっている要因は、「同じような最低賃金の水準の都道府県の中では合計特殊出生率が低い」「同じような最低賃金水準の都道府県の中では高齢化率が低い」というところにありそう。
- 上記のデータをプロットすると以下。
- 例. 各都道府県の最低賃金、合計特殊出生率、高齢化率についてみてみる。
- 例.(ノート2と同じ例)2017年1月1日~18日の東京の最低/最高気温は、1.63±1.99℃/10.47±2.77℃だった。