logo

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

自己相関関数

定義 1

{Yt}t=1n\left\{ Y_{t} \right\}_{t=1}^{n}確率過程で、時差kkに対してYt1,,Yt(k1)Y_{t-1}, \cdots , Y_{t-(k-1)}によってYtY_{t}回帰分析した残差をet^\widehat{e_{t}}YtkY_{t-k}回帰分析した残差をetk^\widehat{e_{t-k}}としよう。

  1. 次のように定義されるϕkk\phi_{kk}を時差kk偏自己共分散関数という。 ϕkk:=cor(et^,etk^) \phi_{kk} := \text{cor} ( \widehat{e_{t}} , \widehat{e_{t-k}} )
  2. 次のように定義されるϕkk\phi_{kk}を時差kk標本偏自己共分散関数という。 ϕkk^:=rkj=1k1ϕ(k1),jrkj1j=1k1ϕ(k1),jrjϕk,j:=ϕ(k1),jϕkkϕ(k1),(kj) \widehat{ \phi_{kk} } := {{ r_{k} - \sum_{j=1}^{k-1} \phi_{(k-1),j} r_{k-j} } \over { 1 - \sum_{j=1}^{k-1} \phi_{(k-1),j} r_{j} }} \\ \phi_{k,j} := \phi_{(k-1),j} - \phi_{kk} \phi_{(k-1),(k-j)}

説明

偏自己相関関数とは、自己相関性を把握しながら、YtY_{t}YtkY_{t-k}の間にあるYt1,,Yt(k1)Y_{t-1}, \cdots , Y_{t-(k-1)}の影響を削除し、純粋に二つの関係性だけを把握しようとするものだ。定義からいきなり回帰分析が飛び出てきて複雑そうに見えるが、実際は単純だ。et^\widehat{e_{t}}だけを見てみよう。YtY_{t}Yt1,,Ytk+1Y_{t-1}, \cdots , Y_{t-k+1}で回帰分析するとは、次の式に入るβ1,,βk1\beta_{1} , \cdots , \beta_{k-1}を見つけることを意味する。 Yt=β1Yt1+βk1Yt(k1)+et^ Y_{t} = \beta_{1} Y_{t-1} + \cdots \beta_{k-1} Y_{t-(k-1)} + \widehat{e_{t}} 再び書くと et^=Yt(β1Yt1+βk1Yt(k1)) \widehat{e_{t}} = Y_{t} - \left( \beta_{1} Y_{t-1} + \cdots \beta_{k-1} Y_{t-(k-1)} \right) これはet^\widehat{e_{t}}Yt1,,Yt(k1)Y_{t-1}, \cdots , Y_{t-(k-1)}で説明できる部分が削除されたという意味だ。同様に、etk^\widehat{e_{t-k}}Yt1,,Yt(k1)Y_{t-1}, \cdots , Y_{t-(k-1)}で説明できそうな部分はすべて削除されているため、cor(et^,etk^)\text{cor} ( \widehat{e_{t}} , \widehat{e_{t-k}} )を計算するとはYt1,,Yt(k1)Y_{t-1}, \cdots , Y_{t-(k-1)}がない状態でのYtY_{t}YtkY_{t-k}だけの相関関係を見ようとすることだ。興味のある変数だけに着目するという点で、「偏」自己相関関数という名前は適切であることが分かる。[ : 概念が単純であってもsPACFを実際に計算するのはかなり難しいが、レビンソンLevinsonとダービンDurbinが提案したメソッドのおかげでϕkk^\widehat{ \phi_{kk} }を再帰的に計算できるようになったこと。 ]

数式的説明

数式的には、YtY_{t}AR(p)AR(p)から出たと考えた場合Yt=k=1pϕkYtk+et\displaystyle Y_{t} = \sum_{k=1}^{p} \phi_{k} Y_{t-k} + e_{t}であるためYtkY_{t-k}の係数ϕk\phi_{k}を計算する際、他の変数を除外することができ、AR(p)AR(p)モデルを見つけるのに役立つ。

sPACF ϕkk^\widehat{\phi_{kk}}はPACF ϕkk\phi_{kk}の推定値であり、YtY_{t}AR(p)AR(p)モデルから出ている場合k>pk>p正規分布N(0,1n)\displaystyle N \left( 0 , {{ 1 } \over { n }} \right)に従う。数式で表すと ϕkk^N(0,1n) \widehat{\phi_{kk}} \sim N \left( 0 , {{ 1 } \over { n }} \right) であり、これを利用して仮説検定を行う。

テスト

Yt=k=1pϕkYtk+et\displaystyle Y_{t} = \sum_{k=1}^{p} \phi_{k} Y_{t-k} + e_{t}が与えられ、k=1,,pk = 1 , \cdots , pとしよう。

  • H0H_{0}AR(0)    θk=0AR(0) \iff \theta_{k} = 0、つまり、YtY_{t}は自己回帰モデルに従わない。
  • H1H_{1}AR(k)    θk0AR(k) \iff \theta_{k} \ne 0、つまり、YtY_{t}は時差kkの偏自己相関関係を持つ。

解釈

帰無仮説の下では、p=0p=0と同時にϕkk^N(0,1n)\widehat{\phi_{kk}} \sim N \left( 0 , {{ 1 } \over { n }} \right)を仮定し、標準誤差1n\displaystyle {{1} \over {\sqrt{n}}}になる。したがって、有意水準α\alphaで仮説検定を行いたい場合は、ϕk| \phi_{k} |が信頼区間上限z1α/2n\displaystyle {{ z_{1 - \alpha/2} } \over { \sqrt{n} }}を超えるかどうかを確認すれば良い。超えれば有意な時差の候補となり、超えなければ偏自己相関関係がないとみなされる。

実習

20190724\_101017.png

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

3.png

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

4.png

偏自己相関関数を利用した仮説検定を正しく理解したかどうかを確認する方法として、上のように実際に線を直接描いてみることをお勧めする。Rではたった一行のコードだが、一度実行してみると、ϕ^kk\widehat{\phi}_{kk}が正規分布に従い、その標準誤差se(rk)=1n\displaystyle \text{se} ( r_{k} ) = {{1} \over {\sqrt{n}}}で計算されることを受け入れることができる。

コード

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

関連項目


  1. Cryer. (2008). Time Series Analysis: With Applications in R(2nd Edition): p112. ↩︎