20160924 東京r #57 色々試した変化点検知 異常値検知
TRANSCRIPT
色々試した変化点検知ストーリー仕立て
2016年 9月 24日TokyoR #57油井志郎
自己紹介• 名前:油井志郎• お仕事:データマイニング• マイブーム:– 映画鑑賞– 音楽鑑賞
これまで/現在の仕事• WEB デザイナー• ディレクター• ソーシャルゲーム分析• 現在に至る– マッチングアルゴリズム– 会員サイトの売り上げ向上分析
ここから分析業界
とある日・・・・・。
御意!!サクッと変化点検知してほしいスパイク除去してネ!!
とは言いつつも・・・・・。どんな感じで変化点を検知するか・・・・。
ハッ!!
わからないことあったら、みんなのグーグル先生に聞いてみよー!!
その結果!!
目的によって色々使い分けが必要らしい!!• 外れ値検知• 変化点検知 • 異常値検知
■ 外れ値検知同じグループのデータから大きく外れている値を検知する方法
■ 変化点検知時系列データの急激な変化を検出する方法
■ 異常値検知異常が起きている部位を検出する方法
目的によって色々使い分けが必要らしい!!• 外れ値検知• 変化点検知 • 異常値検知
今回はこれ!!
早速データをプロット
スパイクを除去して赤い点線の丸部分を検知したい
わからないことあったら、みんなのグーグル先生に聞いてみよー!!
R パッケージを検索
その結果!!
下記パッケージ発見!!• Twitter AnomalyDetection• Changepoint• depmixS4
Twitter AnomalyDetection とは• Generalized ESD法– 外れ値数の上限 r を設定し、 i=1,2,3,......,r で毎回棄却検定を行います。– https://sites.google.com/site/
scriptofbioinformatics/mian-qiangmemo/waire-zhi-jian-chu-zhi-shi
Changepoint とは• 「ある時点 T が変化点であるかどうか」という問題に対して「区間 [0, n] がすべて同じ母集団に属すると考えるのがもっともらしいか、区間 [0, T] と区間 [T+1, n] が別の母集団に属すると考えるのがもっともらしいか」を数値的に比較する• 具体的には3つの区間でそれぞれ対数尤度を求め、 ML1 + ML2 > ML であれば時点 T が変化点だと言える
depmixS4 とは (隠れマルコフモデル)• 時間的に非定常な観測事象を、「(隠れた)複数の定常状態が、マルコフ性を持つ確率過程で遷移し、それぞれの定常状態の確率分布に従って観測事象が生起される」という考え方で記述しようとするモデル。マルコフ性とは• 「状態間の遷移確率は、過去の経緯とか関係なく、「現在がどの状態か?」のみで決定される」
depmixS4 とは (隠れマルコフモデル)
隠れマルコフモデルは「隠れた定常状態
(上の例では3つ)が存在し、
各定常状態の確率分布
(図下部の青・赤・緑で示された確率分布)に
従って観測事象が表れ、
かつ定常状態間は時間経過と共にマルコフ性を持つ
確率過程で遷移する」という考え方をする。
とりあえず、普通に” Twitter AnomalyDetection” これを試す!!
スパイクを除去しないとやはり話にならん・・・。
スパイクを除去して赤い点線の丸部分を検知したい
区間 n を指定して2σ 以上を前後の平均値に変換
スパイクを除去前
スパイクを除去後
スパイクを除去して下記を試す• Twitter AnomalyDetection• Changepoint• depmixS4
Twitter AnomalyDetection
depmixS4
Changepoint
スパイクを除去して赤い点線の丸部分を検知したい
ありがたき幸せ!!う〜む!世は、満足じゃ!!
enjoy!!