LoginSignup
9
10

More than 5 years have passed since last update.

時系列データで知っておくべきこと(Mediumより)

Posted at

Mediumの記事を読んでとても役に立ったのでメモしておきます。

まとめ

・時系列データを使った予測において、定常性(stationary)、季節性(seasonality)、自己相関(autocorrelation)に注意しなければいけない。
・主なモデル化手法として移動平均法、指数平滑法、ARIMA等がある。
・詳しく知りたい人用のチュートリアルはこちら

前置き

・トレンドや金融市場などの予測では"時間"が重要な要素となる。
・時系列データとは、時系列に沿って並んだデータのこと。
・時系列データにおいて、時間は説明変数(independent variable)である。
 ※説明変数:何かの原因となっている変数 ⇔ 目的変数:結果となっている変数。
  (例)バネにおもりをつける事象の場合、説明変数は「おもりの重さ」、目的変数は「バネの伸び」となる。
・時系列データを使う目的は将来の予測。
・時系列データを利用する際の注意点として、定常性(stationary)、季節性(seasonality)、自己相関(autocorrelation)が挙げられる。

自己相関

・自己相関とは、時間差に応じて発生する観測点の間の類似性と言える。
autocorrelation.png
・この画像で、時刻0と時刻24、時刻12と時刻36などの関係を、自己相関が高いと言う。
・自己相関は季節性のヒントとなる。

季節性

・周期的な変動、のこと。例えば電気消費量は日中に増え夜間に減る、クリスマス前にネット販売は増える、など。
seasonality
・これは明らかな季節性の時系列データ。夜間に向けてピークを迎え、日付が変わるころに最低となる。
・「自己相関が見られるデータの間隔」が季節の長さとなる。

定常性

・統計量が期間を通じて変化しないことを定常性と言う。つまり、平均と分散、共分散が時刻に依存しなければ定常性があると言える。
seasonality
・これは平均も分散も大きく変動していないため、定常性がある時系列データである。
・株式価格の推移は定常性がないことがある。例えば上昇相場の場合やボラティリティが増加していく場合には、平均や分散が変動するため定常性がない。
・モデリングにおいては定常性のある時系列データがあることが理想的。
・全ての時系列データに定常性があるわけではないが、適切なデータの変換によって定常性を持たせることが出来る。

定常性の有無の検証方法

・Dickey-Fuller検定で定常性の有無を検証できる。これは単位根の有無を検証する仮設検定である。単位根が存在するのであれば定常性がない。
(参考)Wikipedia
・検定の帰無仮説は単位根が存在すること、対立仮説は単位根が存在しないこと。
・帰無仮説が棄却できない->単位根が存在する=定常性がない。
・帰無仮説が棄却できる->単位根は存在しない=定常性がある。
DickeyFuller
・これは平均が一定ではないため定常性がない。

時系列データのモデリング

・ここでは移動平均法、指数平滑法、ARIMA(Autoregressive, Integrated and Moving Average:自己回帰和分移動平均)を挙げる。
・移動平均法は最も単純で、過去データの平均を以って次のデータの予測値とするモデルのこと。単純だが、モデリングの入り口としては良く、トレンドの発見にも使える。
・(単純)指数平滑法は移動平均法と似ているが、予測時点から離れたデータほど重みを小さくし、遠い過去のデータの重要性を小さくしている。
Exponential smoothing
・数式で表すとこのようになる。αは平滑化定数で、古いデータの重要性をどれだけ早く減らすかを決定する(αが0に近づくと移動平均法へ近づく)。

・二重指数平滑法は、指数平滑を二回繰り返したモデル。
Double exponential smoothing
・上記式が二重指数平滑法を表しており、βはトレンド平滑化定数。

・三重指数平滑法は、更に季節性平滑化定数(※)を追加したモデル。
(※正しい日本語訳か自信ないです)
Triple exponential smoothing
・季節性をモデリングすることが出来る。

・SARIMA(Seasonal autoregressive integraded moving average model )は自己回帰モデル(AR(p)モデル)と季節性を組み合わせたモデル。
・詳しく知りたい人はこちらのチュートリアル参照。

所感

証券アナリストの勉強をしていて時系列データ分析のさわりが出てきたことを思い出した。当時は理論的な部分をざっくり学習しただけだったが、せっかくチュートリアルを見つけたので次はコーディングをしてみようと思う。

9
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
10