9.4 移動平均モデル

回帰するのに予測対象変数の過去値を使う自己回帰モデルと違って、移動平均モデルは過去の予測誤差を使う回帰に似たモデルです。 \[ y_{t} = c + \varepsilon_t + \theta_{1}\varepsilon_{t-1} + \theta_{2}\varepsilon_{t-2} + \dots + \theta_{q}\varepsilon_{t-q} \] ただし、\(\varepsilon_t\)はホワイトノイズです。これを\(q\)次の移動平均モデル、MA(\(q\))モデルと呼びます。もちろん、\(\varepsilon_t\)の値は観測値ではありません。ですから、実は普通の意味での回帰ではありません。

\(y_t\)の各値は過去のいくつかの予測誤差の加重移動平均(通常、係数の合計は1になりませんが)と考えられますね。しかし、移動平均モデルを、3章で議論した移動平均平滑化と混同してはいけません。移動平均モデルは将来値の予測に使うもので、移動平均平滑化は過去値のトレンド・循環推計に使うものです。

異なるパラメータを持つ移動平均モデルからのデータ2例。左: MA(1)で、$y_t = 20 + \varepsilon_t + 0.8\varepsilon_{t-1}$。右: MA(2)で、$y_t = \varepsilon_t- \varepsilon_{t-1}+0.8\varepsilon_{t-2}$。両ケースで、$\varepsilon_t$は正規分布のホワイトノイズで、平均はゼロ、分散は1

図 9.6: 異なるパラメータを持つ移動平均モデルからのデータ2例。左: MA(1)で、\(y_t = 20 + \varepsilon_t + 0.8\varepsilon_{t-1}\)。右: MA(2)で、\(y_t = \varepsilon_t- \varepsilon_{t-1}+0.8\varepsilon_{t-2}\)。両ケースで、\(\varepsilon_t\)は正規分布のホワイトノイズで、平均はゼロ、分散は1

9.6は、MA(1)モデルとMA(2)モデルからのデータです。パラメータ\(\theta_1,\dots,\theta_q\)を変えることで、時系列パターンが変わります。自己回帰モデルと同様、誤差項\(\varepsilon_t\)の分散を変えても、系列の尺度が変わるだけで、パターンは変わりません。

どんな定常なAR(\(p\))モデルも、MA(\(\infty\))モデルに書き直すことができます。例えば、AR(1)モデルで代入を繰り返すことで、以下のように実演できます。 \[\begin{align*} y_t &= \phi_1y_{t-1} + \varepsilon_t\\ &= \phi_1(\phi_1y_{t-2} + \varepsilon_{t-1}) + \varepsilon_t\\ &= \phi_1^2y_{t-2} + \phi_1 \varepsilon_{t-1} + \varepsilon_t\\ &= \phi_1^3y_{t-3} + \phi_1^2\varepsilon_{t-2} + \phi_1 \varepsilon_{t-1} + \varepsilon_t\\ &\text{と続く。} \end{align*}\] \(-1 < \phi_1 < 1\)とすると、\(k\)が大きくなるにつれ\(\phi_1^k\)値は小さくなります。ですから、最終的には以下を得ます。 \[ y_t = \varepsilon_t + \phi_1 \varepsilon_{t-1} + \phi_1^2 \varepsilon_{t-2} + \phi_1^3 \varepsilon_{t-3} + \cdots \] これはMA(\(\infty\))過程ですね。

MAパラメータにいくつか制約を設ければ、逆もまた真です。その場合、MAモデルは反転可能である、と言います。つまり、どんな反転可能なMA(\(q\))過程も、AR(\(\infty\))過程に書き直せる、ということです。反転可能モデルを導入するのは、MAモデルをARモデルに変換可能にするためだけではありません。このモデルには、数学的に望ましい性質もあるのです。

例えば、MA(1)過程、\(y_{t} = \varepsilon_t + \theta_{1}\varepsilon_{t-1}\)を考えてみましょう。AR(\(\infty\))に変換すると、直近の誤差は、以下のように現在と過去の観測値の線形関数として書けます。 \[\varepsilon_t = \sum_{j=0}^\infty (-\theta_1)^j y_{t-j}\] \(|\theta_1| > 1\)の場合、ラグ数が増えるにつれて加重が増すので、より遠い過去の観測値ほど現在の誤差に強く影響することになります。\(|\theta_1|=1\)の場合、加重は一定なので、遠い過去の観測値は最近の観測値と同じ影響力を持つことになります。どちらの状況もまず意味を成さないので、\(|\theta_1|<1\)でなければならないとします。これだと、最近の観測値の方が遠い過去の観測値よりも大きい加重になります。従って、\(|\theta_1|<1\)の場合に、過程は反転可能です。

他のモデルでの反転可能性の制約も、定常性の制約と似ています。

  • MA(1)モデル: \(-1<\theta_1<1\)
  • MA(2)モデル: \(-1<\theta_2<1,~\) \(\theta_2+\theta_1 >-1,~\) \(\theta_1 -\theta_2 < 1\)

\(q\ge3\)では、より複雑な制約になります。ここでも、モデル推計の際は、fableパッケージがこれら制約の面倒をみてくれます。