自己相関関数
📂統計的分析自己相関関数
定義
{Yt}t=1n を確率過程とする。
- μt:=E(Yt) を平均関数という。
- 次のように定義された γt,s を自己共分散関数という。
γt,s:=cov(Yt,Ys)=E(Yt−μt)E(Ys−μs)
- 次のように定義された ρt,s を自己相関関数という。
ρt,s:=cor(Yt,Ys)=γt,tγs,sγt,s
- 次のように定義された ρk をラグkの自己相関関数という。
ρk:=cor(Yt,Yt−k)=γt,tγt−k,t−kγt,t−k
- 次のように定義された rk をラグkの標本自己相関関数という。
rk:=∑t=1n(Yt−Y)2∑t=k+1n(Yt−Y)(Yt−k−Y)
説明
自己相関関数とは、時系列データの自己相関性を把握するための関数で、同じ変数でもあるラグを持って自己とどの程度似ているかに関心を持つ。異なる変数の相関関係に関心を持つ回帰分析のアイデアとは異なり、自己がラグkを持ってYtとYt−kに分かれ、二つの変数のように扱われる。
数式的説明
数式的には、YtがMA(q)から出てきたと考えると、Yt=et−k=1∑qθket−kであるためYtを複数の正規分布の和と見ることができ、ρkがθkであるため、MA(q)モデルを見つけるのに有用である。
sACF rkはACF ρkの推定値であり、YtがMA(q)モデルから出てきた場合、k>qの時、正規分布Nρk,n1[1+2j=1∑qρj2]2に従う。数式で表すと
rk∼Nρk,n1[1+2j=1∑qρj2]2
であり、これを利用して仮説検定を行う。
テスト
Yt=et−k=1∑qθket−kが与えられ、k=1,⋯,qとする。
- H0: MA(0)⟺θk=0、つまり、Ytは移動平均モデルに従わない。
- H1: MA(k)⟺θk=0、つまり、Ytはラグkの自己相関関係を持つ。
解釈
帰無仮説の下では、すべてのkに対してρk=θk=0であるため、q=0とrk∼N(0,N1)を仮定し、標準誤差はn1となる。したがって、有意水準αに対して仮説検定を行いたい場合は、∣θk∣が信頼区間上限nz1−α/2を超えるか確認すればよい。超えれば有意なラグの候補となり、超えなければ自己相関関係がないと見なされる。
実践

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

TSA
パッケージのacf()
関数を使用すると、上のように様々なkに対してコレログラムを描いてくれる。頭の中で計算することなく、線を超えれば有意と見てもよく、超えなければ有意でないと見てもよい。基本的に有意水準5%で計算される。
注意すべき点は、k=6をわずかに超えたものも統計的に有意ではあるが、実際に自己相関関係があるとは見なされないことである。時系列分析では、この程度の超出は非常に頻繁であり、精神衛生のためにも、柔軟性を持ってそのまま受け入れることをお勧めする。

上のように実際に線を自分で引いてみることで、自己相関関数を使用した仮説検定を正しく理解したかどうかを確認する方法をお勧めする。Rではたった一行のコードだが、一度でも実行してみることで、rkが正規分布に従い、その標準誤差が複雑な式なしでse(rk)=n1として得られることを受け入れることができる。
コード
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')
参照