logo

自己相関関数 📂統計的分析

自己相関関数

定義 1

$\left\{ Y_{t} \right\}_{t=1}^{n}$ を確率過程とする。

  1. $\mu_{t} := E ( Y_{t} )$ を平均関数という。
  2. 次のように定義された $\gamma_{ t , s }$ を自己共分散関数という。 $$ \gamma_{t , s} : = \text{cov} ( Y_{t} , Y_{s} ) = E ( Y_{t} - \mu_{t} ) E ( Y_{s} - \mu_{s} ) $$
  3. 次のように定義された $\rho_{ t , s }$ を自己相関関数という。 $$ \rho_{ t , s } := \text{cor} ( Y_{t} , Y_{s} ) = {{ \gamma_{t , s} } \over { \sqrt{ \gamma_{t , t} \gamma_{s , s} } }} $$
  4. 次のように定義された $\rho_{ k }$ をラグ$k$の自己相関関数という。 $$ \rho_{ k } := \text{cor} ( Y_{t} , Y_{t-k} ) = {{ \gamma_{t , t - k} } \over { \sqrt{ \gamma_{t , t} \gamma_{t-k , t-k} } }} $$
  5. 次のように定義された $r_{ k }$ をラグ$k$の標本自己相関関数という。 $$ r_{ k } := {{ \sum_{t = k+1}^{n} \left( Y_{t} - \overline{Y} \right) \left( Y_{t-k} - \overline{Y} \right) } \over { \sum_{t=1}^{n} \left( Y_{t} - \overline{Y} \right)^2 }} $$

説明

自己相関関数とは、時系列データの自己相関性を把握するための関数で、同じ変数でもあるラグを持って自己とどの程度似ているかに関心を持つ。異なる変数の相関関係に関心を持つ回帰分析のアイデアとは異なり、自己がラグ$k$を持って$Y_{t}$と$Y_{t-k}$に分かれ、二つの変数のように扱われる。

数式的説明

数式的には、$Y_{t}$が$MA(q)$から出てきたと考えると、$\displaystyle Y_{t} = e_{t} - \sum_{k=1}^{q} \theta_{k} e_{t-k}$であるため$Y_{t}$を複数の正規分布の和と見ることができ、$\rho_{k}$が$\theta_{k}$であるため、$MA(q)$モデルを見つけるのに有用である。

sACF $r_{k}$はACF $\rho_{k}$の推定値であり、$Y_{t}$が$MA(q)$モデルから出てきた場合、$k > q$の時、正規分布$\displaystyle N \left( \rho_{k} , {{1} \over {n}} \left[ 1 + 2 \sum_{j=1}^{q} \rho_{j}^{2} \right]^2 \right)$に従う。数式で表すと $$ r_{k} \sim N \left( \rho_{k} , {{1} \over {n}} \left[ 1 + 2 \sum_{j=1}^{q} \rho_{j}^{2} \right]^2 \right) $$ であり、これを利用して仮説検定を行う。

テスト

$\displaystyle Y_{t} = e_{t} - \sum_{k=1}^{q} \theta_{k} e_{t-k}$が与えられ、$k = 1 , \cdots , q$とする。

  • $H_{0}$: $MA(0) \iff \theta_{k} = 0$、つまり、$Y_{t}$は移動平均モデルに従わない。
  • $H_{1}$: $MA(k) \iff \theta_{k} \ne 0$、つまり、$Y_{t}$はラグ$k$の自己相関関係を持つ。

解釈

帰無仮説の下では、すべての$k$に対して$\rho_{k} = \theta_{k} = 0$であるため、$q = 0$と$\displaystyle r_{k} \sim N \left( 0 , {{1} \over {N }} \right)$を仮定し、標準誤差は$\displaystyle {{1} \over {\sqrt{n} }}$となる。したがって、有意水準$\alpha$に対して仮説検定を行いたい場合は、$| \theta_{k} |$が信頼区間上限$\displaystyle {{ z_{1 - \alpha/2} } \over { \sqrt{n} }}$を超えるか確認すればよい。超えれば有意なラグの候補となり、超えなければ自己相関関係がないと見なされる。

実践

20190723\_125305.png

ma1.2.sデータは、$MA(1)$モデルから得られたTSAパッケージのサンプルデータである。実際にARIMAモデルで分析する際も、推定値の絶対値が標準誤差の2倍を超えるかどうかを基準に、有意な係数かどうかを判断する。

1.png

TSAパッケージのacf()関数を使用すると、上のように様々な$k$に対してコレログラムを描いてくれる。頭の中で計算することなく、線を超えれば有意と見てもよく、超えなければ有意でないと見てもよい。基本的に有意水準$5 \%$で計算される。

注意すべき点は、$k=6$をわずかに超えたものも統計的に有意ではあるが、実際に自己相関関係があるとは見なされないことである。時系列分析では、この程度の超出は非常に頻繁であり、精神衛生のためにも、柔軟性を持ってそのまま受け入れることをお勧めする。

2.png

上のように実際に線を自分で引いてみることで、自己相関関数を使用した仮説検定を正しく理解したかどうかを確認する方法をお勧めする。Rではたった一行のコードだが、一度でも実行してみることで、$r_{k}$が正規分布に従い、その標準誤差が複雑な式なしで$\displaystyle \text{se} ( r_{k} ) = {{1} \over {\sqrt{n}}}$として得られることを受け入れることができる。

コード

library(TSA)
data(ma1.2.s); win.graph(6,4); acf(ma1.2.s)
arima(ma1.2.s, order=c(0,0,1))
abline(h=1.96*1/sqrt(length(ma1.2.s)),col='red')

参照


  1. Cryer. (2008). 時系列分析:Rによるアプリケーション(第2版): p11, 109。 ↩︎