1.概要
ARMAモデルのインパルス応答関数の計算法
\begin{eqnarray}
g_0 &=& 1 & \text{ } \\
g_k &=& \sum^{k}_{i=1}a_i g_{k-i}-b_i & \qquad (k > 0)
\end{eqnarray}
を示します。
2.ARMAモデル
ARMAモデルは、過去のデータ(自己回帰成分)と過去の誤差(移動平均成分)を用いて時系列データを予測する統計モデルで、
y_n = \sum_{i=1}^{m}a_i y_{n-i} +v_n + \sum_{i=1}^{l}b_iv_{n-i}
と示されます。
- $y_n$ : 現在の時刻$n$における時系列データの観測値
- $y_{n-i}$: 過去の時刻$n−i$における時系列データの観測値
- $v_n$: 現在の時刻$n$における誤差項で、予測値と実際の観測値の差
- $v_{n-i}$: 過去の時刻$n-i$における誤差項で、予測値と実際の観測値の差
- $a$: 自己回帰係数
- $m$: 自己回帰の次数
- $b$: 移動平均係数
- $l$: 移動平均の次数
ARMAモデルでは、予測値と実際の観測値の差は、時刻に依存せず、分散が$\sigma^2$の一定の値で表されます。この差は、平均がゼロ、標準偏差が$\sigma$の正規分布に従い、異なる時刻の差は互いに無関係(独立)であると仮定します。この場合、共分散と期待値は以下のように表されます。
\text{Cov}[v_{n-i}, v_{n-j}] = E[(v_{n-i} - E[v_{n-i}])(v_{n-j} - E[v_{n-j}])] = E[v_{n-i}v_{n-j}]
したがって、独立性の仮定により、
E[v_{n-i}v_{n-j}] = \sigma^2 \delta_{ij} \tag{1}
と表せます。
以降の式変形を簡単にするために、$j>m$のとき$a_j=0$、$j>l$のとき$b_j=0$とおき
y_n = \sum_{i=1}^{\infty} \left( a_i y_{n-i} + b_iv_{n-i} \right)+v_n \tag{2}
と表します。
3.インパルス応答関数
ARMAモデル(2)式は、過去の誤差項$v_{n-i}$に基づく影響を表すインパルス応答関数$g_j$を用いて、
y_n = \sum_{j=0}^{\infty}g_j v_{n-j} \tag{3}
と表現できます。
4.インパルス応答-関数と自己回帰係数、移動平均係数の関係
インパルス応答関数$g_j$と自己回帰係数$a_j$、移動平均係数$b_j$の関係を冒頭に示した
\begin{eqnarray}
g_0 &=& 1 & \text{ } \\
g_k &=& \sum^{k}_{i=1}a_i g_{k-i}-b_k & \qquad (k > 0)
\end{eqnarray}
で表されることを示します。
まず、(2)式右辺の第1項にある$y_{n-i}$をインパルス応答関数の式(3)を使うと
y_{n-i} = \sum_{j=0}^{\infty}g_j v_{n-i-j} \tag{4}
と表せます。
(3)、(4)式を(1)式に代入すると、
\begin{eqnarray}
y_n &=& \sum_{i=1}^{\infty} \left( a_i y_{n-i} + b_iv_{n-i} \right)+v_n \tag{1} \\
\sum_{j=0}^{\infty}g_j v_{n-j} &=& \sum_{i=1}^{\infty} \left( a_i \sum_{j=0}^{\infty}g_j v_{n-i-j} + b_iv_{n-i} \right)+v_n
\end{eqnarray}
と書けます。さらに両辺に$v_{n-k}$をかけて期待値をとると、
\begin{eqnarray}
E \left[ \sum_{j=0}^{\infty}g_j v_{n-j}v_{n-k} \right] &=& E \left[ \sum_{i=1}^{\infty} \left( a_i \sum_{j=0}^{\infty}g_j v_{n-i-j} + b_iv_{n-i} \right)v_{n-k}+v_nv_{n-k}\right] \\
\sum_{j=0}^{\infty}g_j E \left[v_{n-j}v_{n-k} \right] &=& \sum_{i=1}^{\infty} \left( a_i \sum_{j=0}^{\infty}g_j E \left[v_{n-i-j}v_{n-k}\right] + b_i E\left[v_{n-i} v_{n-k}\right] \right)+E\left[v_nv_{n-k}\right] \\
\sum_{j=0}^{\infty}g_j \sigma^2\delta_{n-j,n-k} &=& \sum_{i=1}^{\infty} \left( a_i \sum_{j=0}^{\infty}g_j \sigma^2\delta_{n-i-j,n-k} + b_i \sigma^2\delta_{n-i,n-k}\right)+\sigma^2\delta_{n,n-k} \\
\sum_{j=0}^{\infty}g_j \sigma^2\delta_{j,k} &=& \sum_{i=1}^{\infty} \left( a_i \sum_{j=0}^{\infty}g_j \sigma^2\delta_{i+j,k} + b_i \sigma^2\delta_{i,k}\right)+\sigma^2\delta_{0,k} \\
\sum_{j=0}^{\infty}g_j \sigma^2\delta_{j,k} &=& \sum_{i=1}^{\infty} \sum_{j=0}^{\infty} a_ig_j \sigma^2\delta_{j,k-i} + \sum_{i=1}^{\infty}b_i \sigma^2\delta_{i,k}+\sigma^2\delta_{0,k}
\end{eqnarray}
と変形でき、両辺を$\sigma^2$で割って整理すると、
\begin{eqnarray}
g_k &=& \sum_{i=1}^{\infty} \sum_{j=0}^{\infty} a_ig_j \delta_{j,k-i} + \sum_{i=1}^{\infty}b_i \delta_{i,k}+\delta_{0,k} \tag{5}
\end{eqnarray}
と書けます。
k=0のとき
$k=0$を(5)式に代入すると
\begin{eqnarray}
g_0 &=& \sum_{i=1}^{\infty} \sum_{j=0}^{\infty} a_ig_j \delta_{j,0-i} + \sum_{i=1}^{\infty}b_i \delta_{i,0}+\delta_{0,0}
\end{eqnarray}
となります。ここで、右辺第1項に$j=0-i$を満たす項がないので
\begin{eqnarray}
\sum_{i=1}^{\infty} \sum_{j=0}^{\infty} a_ig_j \delta_{j,0-i} = 0
\end{eqnarray}
となり、右辺第2項に$i=0$を満たす項がないので
\begin{eqnarray}
\sum_{i=1}^{\infty}b_i \delta_{i,0} = 0
\end{eqnarray}
となります。したがって、右辺は$\delta_{0,0}=1$だけが残り、
\begin{eqnarray}
g_0 &=& 1
\end{eqnarray}
が得られます。
k>0のとき
$\delta_{i,0}=0$なので、
式(5)は
\begin{eqnarray}
g_k &=& \sum_{i=1}^{\infty} \sum_{j=0}^{\infty} a_ig_j \delta_{j,k-i} + \sum_{i=1}^{\infty}b_i \delta_{i,k}
\end{eqnarray}
となります。ここで、右辺第1項は$j=k-i$を満たす項のうち$i \geq 0$と$k-i \geq 0$を満たすものについての和になるので、
\begin{eqnarray}
\sum_{i=1}^{\infty} \sum_{j=0}^{\infty} a_ig_j \delta_{j,k-i} = \sum_{i=1}^{k} a_ig_{k-i}
\end{eqnarray}
となり、右辺第2項は$i=k$を満たす項だけが残り、
\begin{eqnarray}
\sum_{i=1}^{\infty}b_i \delta_{i,k} = b_{k}
\end{eqnarray}
となります。したがって、
\begin{eqnarray}
g_k &=& \sum_{i=1}^{k} a_ig_{k-i} + b_{k}
\end{eqnarray}
が得られます。
まとめ
以上から、インパルス応答関数$g_k$が自己回帰係数$a_i$および移動平均係数$b_i$とどのように関連しているかが示されました。特に、$g_0 = 1$であること、$g_k$が自己回帰項と移動平均項の組み合わせで表現されることが確認できました。この関係を用いることで、ARMAモデルの予測やデータ分析において、インパルス応答関数がどのように動作するか確認できます。
次は具体的なARMAモデルを挙げ、それに対応するインパルス応答関数を見ていきたいと思います。