【統計】時系列分析(自己相関、自己共分散)

自己相関、自己共分散について、視覚的に分かるようにメモ。

【目次】


自己相関、「自己」とつくので、ちょっと分かりづらい。

計算式


■ 自己共分散

\quad \gamma\left( s \right)=Cov \left(x_{t},\ x_{t-s} \right) =\dfrac{1}{N} \sum \{ \left(x_{t} - \overline{x} \right) \left(x_{t-s} - \overline{x} \right) \}

■ 自己相関

\quad \rho\left( s \right) = \dfrac{\gamma\left( s \right)}{\gamma\left( 0 \right)} = \dfrac{Cov \left(x_{t},\ x_{t-s} \right)}{Cov \left(x_{t},\ x_{t} \right)} = \dfrac{Cov \left(x_{t},\ x_{t-s} \right)}{Var \left(x_{t} \right) }

\qquad\quad
= \dfrac{\dfrac{1}{N}\sum \{ \left(x_{t} - \overline{x} \right) \left(x_{t-s} - \overline{x} \right) \}}{\dfrac{1}{N}\sum \left(x_{t} - \overline{x} \right)^{2}} = \dfrac{\sum \{ \left(x_{t} - \overline{x} \right) \left(x_{t-s} - \overline{x} \right) \}}{\sum \left(x_{t} - \overline{x} \right)^{2}}

 ※t=時期、s=ラグ

ノート


サンプルデータで動きを見てみる。
Rで準備したデータ。3期で1サイクルの何らかのデータ。特に値に意味はない。

ads <- data.frame(
  AVAL=c(10,8,6,10,7,5,9,8,5,10,8,5)
)

f:id:cochineal19:20210227222714p:plain:w300

自己相関と自己共分散は acf 関数 で計算できる。
plot=FALSEにするとコンソールに自己相関などの値を出してくれ、
plot=TRUEにするとコレログラムを描画してくれる。

acf(ads, plot=F, type="correlation")  #-- 自己相関
acf(ads, plot=F, type="covariance")  #-- 自己共分散
#-- 自己偏相関もある(type="partial")


plot=FASEで出した結果。

> acf(ads, plot=F, type="correlation")
Autocorrelations of series ‘ads’, by lag
     0      1      2      3      4      5      6      7      8      9     10 
 1.000 -0.322 -0.466  0.695 -0.208 -0.436  0.465 -0.032 -0.283  0.235 -0.002 

> acf(ads, plot=F, type="covariance")
Autocovariances of series ‘ads’, by lag
       0        1        2        3        4        5        6        7        8        9       10 
 3.57639 -1.15336 -1.66782  2.48438 -0.74537 -1.55845  1.66319 -0.11516 -1.01157  0.84201 -0.00579 


plot=TRUEで出したコレログラム(自己相関のみ掲載)。
f:id:cochineal19:20210227185549p:plain:w300

これらは時期 t とそこから s 期分ずらした時期 t-s(LAG s)の AVAL について相関や共分散を出している。
つまり、過去のどの時点と関係性があるかを示すことができる。
今回の架空データは3期で1サイクルのため、特に LAG 3 に中程度以上の相関がみられる。
LAG 0 は現時点と現時点を見比べるため、当然ながら自己相関=1になる。
これを見ることで周期性を探れる。

Excelで計算方法を見てみる。
f:id:cochineal19:20210228004053p:plain 緑列は基本情報。
timeは時間単位、AVALは本記事の最初に示したもの。
偏差と偏差平方は、例えば、time=1 では AVAL=10、AVALの平均≒7.58 のため、
偏差=(10 - 7.58)=2.42、偏差平方=2.422≒5.84 になる。

黄色列は偏差積。
例えば、LAG 1 の time=2 は1期前の time=1 との偏差積をとり、0.42×2.42≒1.007 になる。
LAG 2 の time=3 は、2時期ずらして time=1 との偏差積をとり、(-1.6)×2.42≒-3.826 となる。

最後に青列は、自己共分散と自己相関。
黄色列の LAG s をそれぞれ総和(偏差積和)して、N=12 で割ったものが自己共分散。
LAG0 は分散 Var[AVAL]≒3.5764 になる。
そして、LAG s の偏差積和 ÷ AVALの偏差平方和、もしくは LAG s の共分散 ÷ 分散 Var[AVAL] とすれば、LAG s の自己相関になる。

今回はここまで。

参考


統計学(出版:東京図書), 日本統計学会編

本ブログは個人メモです。 本ブログの内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。