深入りしない時系列分析のエッセンス

時系列は難しい、まず時系列解析をどこから始めればいいのか悩むと思う。
そういうときにまずは最低限ここからやるべしというのが本記事の総点である。
数式はほとんど用いずに書きたいと思う。

全体の学習の流れ

f:id:whisponchan:20190919012119j:plain
学習の流れ

絶対覚えるべきこと

定常時系列と非定常時系列の違いを理解してください。

代表的な定常時系列

f:id:whisponchan:20190919010955j:plain
定常時系列

時間によって値 y_tが周期的に変化しない時系列データのことです。

代表的な非定常時系列

f:id:whisponchan:20190919011033j:plain
非定常時系列
時間によって値 y_tが周期的に変化する時系列データのことです。

以上です。
次に前処理というフェーズがあります。

時系列予測は非定常の時系列のままだと学習が難しいです。
そのため、非定常時系列→定常時系列にします。その処理が平滑化です。

平滑化の種類

移動平均は移動の幅wという正の整数を任意に指定して、時系列 x_tに対してtをずらしながらwの数だけ平均を取っていく方法です。 階差は時系列データx_t = x_t - x_{t-1}という定式である。これが一階階差である。二階階差は一階階差をベースにその前の階差を用いて差を取る手法である。

※例外的にARIMAは移動平均をモデルに組み込んであり、非定常時系列から定常時系列に変換しているので、前処理のフェーズをスキップできます。 (別に前処理してもいいですが、精度はほとんど変わりません。)

モデルの選び方

情報量規準のAICの値が小さいモデルを選択します。
深入りするので「時系列 AIC 」などで、ググってそれっぽいものを見てください。

その他

機械学習モデルによる時系列分析もあります。
時系列データは常に更新されていくので新しいデータを推論に活用したい場合があります。

f:id:whisponchan:20190919013436j:plain
サーバの実行回数の予測

このようなケースはRNNでも決定木でも、ニューラルネットワークでも実現できます。 ですが、かならずしも古典的なARMA、ARIMAなどに精度で勝てるかといわれればそんなこともありません。

おわり