理系学生日記

おまえはいつまで学生気分なのか

時系列データにおける周期の求め方

往々にして、時系列データには周期性があります。例えばスーパーの売り上げの周期は年になることが想定されるし、野球の月別観客動員数も同様でしょう。

ではこの周期が必ずしも自明でないときに、どのようにしてその周期を求めれば良いのでしょうか。

自己相関

時系列データにおいて、元の時系列$\lbrace y_{t} | t=1,2,\cdots,T \rbrace$を時点を$h$だけずらした時系列$\lbrace y_{t+h} | t=1,2,\cdots,T-h \rbrace$を考えます。 この$h$が周期の候補です。

この2つの系列の相関係数$r_{h}$を求め、それを$h$の関数とみなしたものを自己相関関数と呼びます。高い$r_{h}$をもたらす$h$は、周期である可能性が高いということですね。なお、このとき$h$はラグと呼ばれます。

$r_{h}$の求め方ですが、以下で定義されます。

$$ r_{h} = \frac{\text{Cov}(y_{t}, y_{t+h})}{\sqrt{\text{Var}(y_{t})}\sqrt{\text{Var}(y_{t+h})}} $$

ここで$\text{Var}(y_{t+h})$がラグ$h$に依らないという前提をおけば、以下のようにも表現できます。

$$ r_{h} = \frac{\text{Cov}(y_{t}, y_{t+h})}{\text{Var}(y_{t})} $$

自己共分散関数を用いた自己相関係数

ここで、自己共分散関数$C_{h}$として以下を定義します。

$$ \text{Cov}(y_{t}, y_{t+h}) = C_{h} = \frac{1}{T}\sum_{t=1}^{T-h} (y_{t}-\bar{y})(y_{t+h}-\bar{y}) $$

ここで$C_{0}$を考えてみます。

$$ C_{0} = \frac{1}{T}\sum_{t=1}^{T} (y_{t}-\bar{y})(y_{t}-\bar{y}) = \text{Var}(y_{t}) $$

よって、この自己共分散関数を用いると自己相関係数$r_{h}$は以下のようにも表せます。

$$ r_{h} = \frac{\text{Cov}(y_{t}, y_{t+h})}{\text{Var}(y_{t})} = \frac{C_{h}}{C_{0}} $$

周期を見つけるためのコレログラム

横軸としてラグ$h$、縦軸に自己相関係数$r_{h}$をプロットしたグラフをコレログラムと呼びます。 wikipedia:Correlogramより引用しますが、以下の下側のグラフがコレログラムです。

このようにして、自己相関係数$r_{h}$を大きくする$h$を見つけ、周期を類推します。