12.3 ベクトル自己回帰

ここまで検討してきたモデルの限界の一つは、予測対象変数は予測変数から影響を受けるが、その逆はない、という単方向の関係を押し付けていることです。全ての変数同士がお互いに影響し合えるよう、逆方向もありにすべきケースは多くあります。10.2節で、個人消費の伸び率(\(C_t\))を可処分所得の伸び率(\(I_t\))で予測しました。しかし、このケースでは、\(I_t\)増が\(C_t\)増につながるし、その逆もあり、といった双方向の関係の方がより適切かもしれません。

そうした状況の例は、2008–2009年の国際金融危機の際にオーストラリアで起きました。オーストラリア政府はクリスマスでの支出に間に合うよう2008年12月に現金支給を含む景気刺激パッケージを実施しました。結果として、小売業は力強い売上を報告することになり、経済は刺激されました。そして、所得も増えました。

そうしたフィードバックの関係は、ベクトル自己回帰(VAR)のフレームワークでは可能です。このフレームワークでは、全ての変数は対称として扱われます。等しくお互いに影響し合うよう、全ての変数がモデル化されます。より公式な言い方をすれば、全ての変数は「内生」として扱われる、ということです。このことを表すため、ここでは表記を変えて、全ての変数を\(y\)と書きます。\(y_{1,t}\)は変数\(y_1\)\(t\)番目の観測値を表し、\(y_{2,t}\)は変数\(y_2\)\(t\)番目の観測値を表す、などなどです。

VARモデルは、単変量自己回帰モデルを、時系列ベクトル予測のために一般化したものです。23 システム内の1つの変数当たり1つの方程式から成っています。各方程式の右辺は、定数とシステム内の全ての変数のラグを含みます。単純化のため、1つのラグを持つ2変数VARを考えましょう。2次元VAR(1)モデルは、以下のように書きます。 \[\begin{align} y_{1,t} &= c_1+\phi _{11,1}y_{1,t-1}+\phi _{12,1}y_{2,t-1}+\varepsilon_{1,t} \tag{12.1}\\ y_{2,t} &= c_2+\phi _{21,1}y_{1,t-1}+\phi _{22,1}y_{2,t-1}+\varepsilon_{2,t} \tag{12.2} \end{align}\] ただし、\(\varepsilon_{1,t}\)\(\varepsilon_{2,t}\)は、同時に相関しているかもしれないホワイトノイズ過程です。係数\(\phi_{ii,\ell}\)は変数\(y_i\)\(\ell\)番目のラグから自身への影響を取り込み、係数\(\phi_{ij,\ell}\)は変数\(y_j\)\(\ell\)番目のラグから\(y_i\)への影響を取り込みます。

系列が定常なら、データに直接VAR(「水準でのVAR」と言います)を適合させて予測します。系列が非定常なら、定常にするためデータの差分を取ってからVARモデル(「差分でのVAR」と言います)を適合させます。どちらの場合も、モデルは方程式一つ一つが最小2乗法で推計されます。つまり、方程式ごとに\(\varepsilon_{i,t}\)値の2乗和を最小化してパラメータが推計されます。

本書の範囲を超えており、だからここでは深入りしないのですが、他の可能性としては、系列は非定常だが、それらの線形結合に定常なものが存在するという、共和分がある場合があります。この場合、誤差修正メカニズムを含むVAR仕様(通常、ベクトル誤差修正モデルと言います)を含めるべきで、最小2乗法に替わる推計法を使うべきです。24

予測は再帰的なやり方でVARから生成します。VARはシステムに含まれる変数それぞれの予測を生成します。このプロセスを例示するため、(12.1)(12.2)式で記述した2次元VAR(1)モデルを\(T\)時点までの全ての観測値に適合させた、としましょう。すると、1期先予測は、以下のように生成します。 \[\begin{align*} \hat y_{1,T+1|T} &=\hat{c}_1+\hat\phi_{11,1}y_{1,T}+\hat\phi_{12,1}y_{2,T} \\ \hat y_{2,T+1|T} &=\hat{c}_2+\hat\phi _{21,1}y_{1,T}+\hat\phi_{22,1}y_{2,T} \end{align*}\] これは、(12.1)(12.2)式から誤差をゼロにし、パラメータを推計値に入れ替えた表記です。\(h=2\)では、予測は以下のようになります。 \[\begin{align*} \hat y_{1,T+2|T} &=\hat{c}_1+\hat\phi_{11,1}\hat y_{1,T+1|T}+\hat\phi_{12,1}\hat y_{2,T+1|T}\\ \hat y_{2,T+2|T}&=\hat{c}_2+\hat\phi_{21,1}\hat y_{1,T+1|T}+\hat\phi_{22,1}\hat y_{2,T+1|T} \end{align*}\] ここでも、(12.1)(12.2)式から誤差をゼロにし、パラメータを推計値に入れ替え、そして、\(y_1\)\(y_2\)の未知の値を予測値に入れ替えた表記です。このようにして、プロセスを将来の全ての時期まで繰り返せます。

VARを予測に使う際は、2つの決定をする必要があります。システムに含めるべき変数の数(\(K\)で表します)とラグ数(\(p\)で表します)の2つです。VARで推計される係数の数は\(K+pK^2\)個(方程式当たり\(1+pK\)個)になります。例えば、\(K=5\)個の変数と\(p=3\)個のラグを持つVARでは、方程式当たり16個の係数、総計では80個の係数を推計することになります。推計しなければならない係数の数が増えると、予測に入り込む推計誤差が大きくなります。

実務上は、お互いに相関があり、それゆえお互いを予測するのに役立つ変数だけを含めて、\(K\)を小さくしておくのが普通です。含めるべきラグ数の選択には、情報量規準を使うのが普通です。AICcを使うと大きいラグ数を選択する傾向があるので、注意が必要です。私たちは、VARモデルでは替わりにBICを使うことが多いです。このモデルのより洗練されたバージョンは(多くの係数をゼロにする)「疎なVAR」です。別のアプローチは、(係数を小さくする)「縮小推計」を使います。

VARが直面する批判は、理論的でないことです。つまり、方程式に理論的な構造を押し付ける経済理論の上に構築されたものではない、ということです。システム内の全ての変数はお互いに影響し合うと想定するので、係数の推計値を直接解釈するのが難しくなっています。こうした批判にもかかわらず、VARが役立つ文脈が、以下のようにいくつかあります。

  1. 明示的な解釈が必要とされずに、関連する変数群を予測する場合
  2. ある変数が他の変数を予測するのに役立つか検定する(グレンジャー因果性検定の基礎となる)場合
  3. 他の変数が突然だが一時的に変化した際の、ある変数の応答を分析するインパルス応答分析の場合
  4. 各変数の予測分散のうち他の変数の影響に帰せる比率を得る、予測誤差分散分解の場合

事例: 米国個人消費予測のためのVARモデル

fit <- us_change %>%
  model(
    aicc = VAR(vars(Consumption, Income)),
    bic = VAR(vars(Consumption, Income), ic = "bic")
  )
fit
#> # A mable: 1 x 2
#>               aicc              bic
#>            <model>          <model>
#> 1 <VAR(5) w/ mean> <VAR(1) w/ mean>

glance(fit)
#> # A tibble: 2 × 6
#>   .model sigma2        log_lik   AIC  AICc   BIC
#>   <chr>  <list>          <dbl> <dbl> <dbl> <dbl>
#> 1 aicc   <dbl [2 × 2]>   -373.  798.  806.  883.
#> 2 bic    <dbl [2 × 2]>   -408.  836.  837.  869.

(デフォルトの)AICcを使うとVAR(5)モデルが、BICを使うとVAR(1)モデルが選ばれます。いつもBICの方がAICcよりもパラメータ数に強いペナルティを課すので、こうしたことはよくあることです。

fit %>%
  augment() %>%
  ACF(.innov) %>%
  autoplot()
2つのVARモデルからの残差のACF。VAR(5)モデルはAICcで、VAR(1)モデルはBICで選択

図 12.13: 2つのVARモデルからの残差のACF。VAR(5)モデルはAICcで、VAR(1)モデルはBICで選択

VAR(1)モデル(bic)からの残差には個人消費で有意な自己相関があるのに対し、VAR(5)モデルはデータ内の全ての情報を効率的に取り込んだことが見て取れます。

12.14は、VAR(5)モデルから生成された予測をプロットしたものです。

fit %>%
  select(aicc) %>%
  forecast() %>%
  autoplot(us_change %>% filter(year(Quarter) > 2010)) +
  labs(level = "区間予測")
VAR(5)モデルから生成された米国個人消費と可処分所得の予測

図 12.14: VAR(5)モデルから生成された米国個人消費と可処分所得の予測

参考文献

Athanasopoulos, G., Poskitt, D. S., & Vahid, F. (2012). Two canonical VARMA forms: Scalar component models vis-à-vis the echelon form. Econometric Reviews, 31(1), 60–83. [DOI]
Hamilton, J. D. (1994). Time series analysis. Princeton University Press, Princeton. [Amazon]
Lütkepohl, H. (2007). General-to-specific or specific-to-general modelling? An opinion on current econometric terminology. Journal of Econometrics, 136(1), 234–319. [DOI]

  1. より柔軟な一般化ならベクトルARMA過程になるでしょう。しかし、VARは比較的単純なので、予測では支配的になりました。興味のある読者は G. Athanasopoulos et al. (2012) を参照すると良いでしょう。↩︎

  2. 興味のある読者は Hamilton (1994)Lütkepohl (2007) を参照するべきです。↩︎