無粋な日々に

頭の中のメモ。分からないことを整理する

時系列分析:ARモデルの性質と定常性(1/2)

ARモデルはシンプルな時系列モデルですが、自己共分散や自己相関はMAモデルほど簡素な表現はなく、Yule-Walker方程式のような連立方程式を解いていくのが一般的のようです。本投稿では2回に分けてARモデルの期待値、自己相関および定常性などの性質を整理したいと思います。

ARモデル

ARモデルは現在の値が、過去の自分自身の状態を引きずっている(記憶している)という構造を持つモデルです。世の中の現象ってだいたい過去の状態を引きずっていそうです。 ARモデルではこの過去の記憶を、過去の値の線形和で表現します。p次のARモデルは以下のように定式化されます。

\displaystyle{


\begin{align}
y_t &= c + \phi_{1}y_{t-1} + \phi_{2}y_{t-2} + \dots + \phi_{p}y_{t-p} + \varepsilon_t\\
&=c + \sum_{k=1}^{p}\phi_ky_{t-k} + \varepsilon_t\\
\\
\\
\varepsilon_t &\sim \operatorname{W.N.}(\sigma_{\varepsilon}^2)
\end{align}

}

ここで\displaystyle{c}は定数項でベースのレベルを決めます(直流成分)。中心化をして\displaystyle{c=0}を前提とすることも多いです。\displaystyle{\varepsilon_t}はホワイトノイズで、\displaystyle{\varepsilon_t}は、\displaystyle{t-1}以前には含まれていない\displaystyle{t}時点で新しく加わった情報でイノベーションとも呼ばれています。

AR(1)の例

いくつかAR過程の具体例を見てみます。ここでは\displaystyle{c=0}とし、\displaystyle{\phi_1}の値をいくつか変えて生成し、その原系列とACFをプロットします。生成に使ったPythonスクリプトw3_1.py · GitHubに置いています。

\displaystyle{\phi_1=1}の場合(ランダムウォーク ):

1次のAR過程のうち\displaystyle{\phi_1=1}かつホワイトノイズに同分布を仮定するとランダムウォークと呼ばれる有名な過程になります。

\displaystyle{


y_{t} = y_{t-1} + \varepsilon_t
\\
\\
\varepsilon_t \sim \operatorname{iid}(0, \sigma_{\varepsilon}^2)

}

生成したランダムウォークの推移とACFは次のようになりました。

f:id:messefor:20200814182540p:plain
acf_phi_0.3

\displaystyle{\phi_1=0.3}の場合:

f:id:messefor:20200814182500p:plain

\displaystyle{\phi_1=1.1}の場合:

f:id:messefor:20200814182618p:plain

同じAR(1)過程でも\displaystyle{\phi}のとる値によって印象は随分違います。\displaystyle{\phi_1=1.1} の例が発散していることからも明らかなようにAR過程は\displaystyle{\phi}の値によって定常性も異なります。

期待値

AR過程の期待値を計算してみます。

AR(1)の場合:

1次のARモデル\displaystyle{y_t = c + \phi_{1}y_{t-1} + \varepsilon_t}の期待値をとると

\displaystyle{


\begin{align}
E[y_{t}] &= E[c + \phi_{1}y_{t-1} + \varepsilon_t]\\
&=c + \phi_{1}E[y_{t-1}]
\end{align}

}

ここで定常を仮定とすると期待値は時刻\displaystyle{t}に依存しないため、\displaystyle{E[y_t]=E[y_{t-1}]}となります。\displaystyle{E[y_t]=E[y_{t-1}]=\mu}と置くと次のようになります。

\displaystyle{


\begin{align}

\mu &=c + \phi_{1}\mu \\
\\
\mu &= \frac{c}{1-\phi_1}
\end{align}

}

AR(p)の場合:

p次の場合も同様に期待値をとって

\displaystyle{


\begin{align}
E[y_t] &= E[c + \phi_{1}y_{t-1} + \phi_{2}y_{t-2} + \dots + \phi_{p}y_{t-p} + \varepsilon_t]\\
\\
&=c + \phi_{1}E[y_{t-1}] + \phi_{2}E[y_{t-2}] + \dots + \phi_{p}E[y_{t-p}] \\
\end{align}

}

定常を仮定して、\displaystyle{E[y_t]=E[y_{t-1}]=\dots=\mu}と置くと次のようになります。

\displaystyle{


\begin{align}

\mu &=c + \phi_{1}\mu + \phi_{2}\mu +\dots + \phi_{p}\mu \\
\\
\mu &= \frac{c}{1-\phi_{1}-\phi_{2} - \dots - \phi_{p}}
\end{align}

}

また上式より直流成分\displaystyle{c=0}のとき、定常なARモデルの期待値は常に0になることが分かります。

自己分散・共分散

自己分散・共分散は少し工夫が必要になります。まずは愚直に計算してみましょう。

AR(1)の場合:

分散:

AR(1)モデル\displaystyle{y_t = c + \phi_{1}y_{t-1} + \varepsilon_t}の分散を計算します。

\displaystyle{


\begin{align}
\operatorname{Var}[y_{t}] &= \operatorname{Var}[c + \phi_{1}y_{t-1} + \varepsilon_t]\\
&= \operatorname{Var}[c] + \operatorname{Var}[\phi_1y_{t-1}] + \operatorname{Var}[\varepsilon_t]  \\&+ 2\operatorname{Cov}(c, \phi_1y_{t-1})+ 2\operatorname{Cov}(\phi_1y_{t-1}, \varepsilon_t) + 2\operatorname{Cov}(c, \varepsilon_t) \\
&=\phi_{1}^2\operatorname{Var}[y_{t-1}] + \sigma_{\varepsilon}^2
\end{align}

}

定常を仮定して、\displaystyle{\operatorname{Var}[y_t]=\operatorname{Var}[y_{t-1}]=\gamma_0}と置くと以下のようになります。

\displaystyle{


\begin{align}
\gamma_0
&=\phi_{1}^2\gamma_0 + \sigma_{\varepsilon}^2
\\
\\
\gamma_0 &= \frac{\sigma_{\varepsilon}^2}{1-\phi_1^2} \tag{1}
\end{align}\\

}

自己共分散:

\displaystyle{y_t}\displaystyle{y_{t-k}}の共分散をとります。

\displaystyle{


\begin{align}
\operatorname{Cov}(y_{t}, y_{t-k}) &= \operatorname{Cov}(c + \phi_{1}y_{t-1} + \varepsilon_t, y_{t-k})\\
&= \operatorname{Cov}(c, y_{t-k}) + \phi_{1}\operatorname{Cov}(y_{t-1}, y_{t-k}) + \operatorname{Cov}(\varepsilon_t, y_{t-k})\\
&= \phi_{1}\operatorname{Cov}(y_{t-1}, y_{t-k})
\end{align}

}

2行目への展開は、共分散を分配しています。3行目への展開は、定数や独立な変数との共分散は0であることを利用しています。分散・共分散の計算は以下を参考にしてください。

messefor.hatenablog.com

ここで\displaystyle{\operatorname{Cov}(y_{t}, y_{t-k})}はラグ\displaystyle{k}の自己共分散なので\displaystyle{\gamma_k}、また\displaystyle{y_{t-1}}\displaystyle{ y_{t-k}}のラグは\displaystyle{k-1}なので同様に\displaystyle{\operatorname{Cov}(y_{t-1}, y_{t-k})}\displaystyle{\gamma_{k-1}}と置くと

\displaystyle{


\gamma_k = \phi_1\gamma_{k-1} \tag{2}

}

という自己共分散の関係式が現れます。\displaystyle{k=1}の自己共分散は\displaystyle{(1)(2)}式を使って次のように表せます。

\displaystyle{


\begin{align}
\gamma_1 = \phi_1\gamma_0
&=\phi_1\frac{\sigma_{\varepsilon}^2}{1-\phi_1^2}
\end{align}

}

Yule-Walker方程式

さらに\displaystyle{(2)}式を\displaystyle{\gamma_0}で割ると、自己相関でも同様の関係が成り立つことが分かります。

\displaystyle{


\begin{eqnarray}
\frac{\gamma_k}{\gamma_0} = \phi_1\frac{\gamma_{k-1}}{\gamma_0}
\\
\rho_k = \phi_1\rho_{k-1} \tag{3}
\end{eqnarray}

}

\displaystyle{(3)}式はYule-Walker方程式と呼ばれているものです。

AR過程の自己相関が\displaystyle{y_t}が従うAR過程と同一の係数をもつ差分方程式に従うことを示す

引用:経済・ファイナンスデータの計量時系列分析- 沖本 竜義

\displaystyle{(3)}式の関係性を繰り返し適用すると、ラグ\displaystyle{k}の自己相関は\displaystyle{\rho_0}を使って次のように書けます。

\displaystyle{


\rho_k = \phi_1\rho_{k-1} = \phi_1^2\rho_{k-2} = \dots = \phi_1^k\rho_0

}

ラグ0の自己相関\displaystyle{\rho_0=1}なので

\displaystyle{


\rho_k = \phi_1^k

}

このようにAR(1)の自己相関は非常にシンプルな形で表現できることが分かります。また\displaystyle{|\phi_1| \lt 1}のとき自己相関は\displaystyle{k}が大きくなるにつれて減衰することが分かります。

AR(2)の場合:

AR(1)のケースでは素直に分散・自己共分散を算出できましたが、同じことをAR(2)でも試してみます。

分散:

AR(2)モデル\displaystyle{y_t = c + \phi_{1}y_{t-1}+ \phi_{2}y_{t-2} + \varepsilon_t}の分散を計算します。

\displaystyle{


\begin{align}
\operatorname{Var}[y_{t}] &= \operatorname{Var}[c + \phi_{1}y_{t-1} + \phi_{2}y_{t-2}+ \varepsilon_t]\\
&= \operatorname{Var}[\phi_1y_{t-1}] +\operatorname{Var}[\phi_2y_{t-2}]+\operatorname{Var}[\varepsilon_t] + 2\operatorname{Cov}(\phi_1y_{t-1}, \phi_2y_{t-2}) \\
&=\phi_{1}^2\operatorname{Var}[y_{t-1}] + \phi_{2}^2\operatorname{Var}[y_{t-2}] + \sigma_{\varepsilon}^2 + 2\phi_{1}\phi_{2}\operatorname{Cov}(y_{t-1}, y_{t-2})

\end{align}

}

定常を仮定すると\displaystyle{\operatorname{Var}[y_{t}] = \operatorname{Var}[y_{t-1}] = \operatorname{Var}[y_{t-1}] = \gamma_0, \operatorname{Cov}(y_{t-1}, y_{t-2})=\gamma_1}といえるので

\displaystyle{


\gamma_0 =\phi_{1}^2\gamma_0 + \phi_{2}^2\gamma_0 + \sigma_{\varepsilon}^2 + 2\phi_{1}\phi_{2}\gamma_1 \tag{4}

}

このように\displaystyle{\gamma_0}\displaystyle{\gamma_1}の関係式が出てきました。つまり分散を知るには、ラグ1の自己共分散\displaystyle{\gamma_1}が必要になります。

自己共分散:

ラグ1の自己共分散\displaystyle{\gamma_1}を計算します。

\displaystyle{


\begin{align}
\gamma_1 &= \operatorname{Cov}(y_{t}, y_{t-1})\\
&= \operatorname{Cov}(c + \phi_{1}y_{t-1} + \phi_{2}y_{t-2}+ \varepsilon_t, y_{t-1})\\
&=\operatorname{Cov}(c, y_{t-1}) + \phi_{1}\operatorname{Cov}(y_{t-1},y_{t-1}) + \phi_{2}\operatorname{Cov}(y_{t-2}, y_{t-1})+ \operatorname{Cov}(\varepsilon_t, y_{t-1})\\
&=\phi_{1}\gamma_0 + \phi_{2}\gamma_1

\\
\\
\gamma_1 &= \frac{\phi_1}{1-\phi_2}\gamma_0 \tag{5}
\end{align}

}

\displaystyle{(4)}式に\displaystyle{(5)}を代入して整理すると、

\displaystyle{


\begin{eqnarray}
\frac{1-\phi_2  - \phi_2^2 + \phi_2^3 - \phi_1^2 - \phi_1^2\phi_2}{1-\phi_2}\gamma_0 = \sigma_{\varepsilon}^2
\\
\gamma_0 = \frac{1-\phi_2}{1+\phi_1}\frac{\sigma_{\varepsilon}^2}{((1-\phi_2)^2 - \phi_1^2)} \tag{6}
\end{eqnarray}

}

ということで分散が求まりました。さらに\displaystyle{\gamma_1}\displaystyle{(5)}式に\displaystyle{(6)}を代入して

\displaystyle{


\gamma_1 = \frac{\phi_1}{1+\phi_1}\frac{\sigma_{\varepsilon}^2}{((1-\phi_2)^2 - \phi_1^2)}

}

となります。同様に\displaystyle{\gamma_2}以降も求めることができます。 このようにAR過程ではあるラグでの自己共分散を求める際、他のラグの自己共分散の値を使って連立方程式を解く必要があります。これらの操作は次のYule-Walker方程式を使って統一的かつ簡潔に表現できます。

\displaystyle{


\rho_k = \phi_1\rho_{k-1} + \phi_2\rho_{k-2} + \dots + \phi_p\rho_{k-p}, \ k >0

}

次回、Yule-Walker方程式を用いたAR(p)の自己相関関数や定常性について整理します。

まとめ

  • ARモデルは過去の状態の線形和使って現在の値を表現します
  • ARモデルの定常性は係数によって決まります
  • AR(1)の期待値、分散、自己相関係数はそれぞれ次のようになります
\displaystyle{


\begin{align}

\mu &= \frac{c}{1-\phi_1}\\
\\
\gamma_0 &= \frac{\sigma_{\varepsilon}^2}{1-\phi_1^2}\\
\\
\rho_k &= \phi_1^k

\end{align}\\

}
  • AR過程の自己相関は\displaystyle{y_t}が従うAR過程と同一の係数をもつ差分方程式に従います(Yule-Walker方程式)
\displaystyle{


\rho_k = \phi_1\rho_{k-1}

}
  • ARモデルの分散や自己相関は上記の関係性を使うことで求めることができます

AR(2)の共分散の式展開が合わずに時間を無駄に使いました。とほほ。中年の残りすくない時間を。。。日々精進

参考文献