logo

時系列分析の加法的アウトライアー 📂統計的分析

時系列分析の加法的アウトライアー

ビルドアップ

1.png

上のグラフで一番目立つ点は、2015年2月の近くにある巨大な外れ値だ。このような極端な値が分析に悪影響を及ぼす可能性がある。幸い、文字通り一瞬の外れ値で終わったことだ。

定義 1

データの変動自体を変えない外れ値を加算外れ値additive Outlierと呼ぶ。

実践

このような加算外れ値は直感的に見つけてもいいし、TSAパッケージのdetectAO()関数を使ってもいい。使用方法は以下の通りだ。

  1. 元のデータで加算外れ値を考慮せずに時系列分析を行う。
  2. 返されたモデル自体をdetectAO()関数に入れると、次のような結果が得られる。 20190825\_194758.png
  3. ラムダの絶対値が最大のインデックスを最優先の候補とする。上のスクリーンショットでは55番目だ。
  4. 加算外れ値を反映して再分析する。納得のいく結果が出るまで繰り返す。

加算外れ値を反映した分析には動的回帰モデルが必要だ。アイデアは単純だ。69番目のデータがAOだと思えば、69番目の値だけが1で、残りはすべて0のダミーデータを作って回帰分析を行う。理論上では純粋なパルス関数に相当し、コードもそれほど難しくない。

12.png

実際にAOが反映された後は、AOの地点だけでなく、他の場所のフィッティングも改善されていることがわかる。

コード

以下はRで書かれたサンプルコードだ。適切な例がなかったため、データを添付したが、コードにリンクがそのまま載せられているため、わざわざ直接ダウンロードする必要はない。


  1. Cryer. (2008). Time Series Analysis: With Applications in R(2nd Edition): p257. ↩︎