Tomoya Hiroe

Blog

VAR,LPを用いた財政政策ショックの効果推定

2025-03-06

1. イントロダクション

財政政策や金融政策の効果を検証する際,政策実施前と実施後のマクロ経済変数の値を比較するだけでは,政策の効果を推定することはできない.なぜならば,マクロ経済変数は長期的に動的かつ相互に影響し合っているため,政策実施前と実施後の単純な比較では政策による純粋な効果のみを取り出すことができないからだ.

そこで,マクロ経済学の実証研究においては,変数間の動的な関係を表現するいくつかのモデルが導入される.モデルには,経済学の理論に基づいて何かしらの制約が課される.この制約により,モデルから “外生的な政策による影響” を取り出すことができる.最終的に,取り出された “政策による外生的な影響” はインパルス応答(Impulse Response)として可視化される.

本研究はマクロ経済学の実証ツールへの理解を深めることが目的である.まず,モデルとしてベクトル自己回帰モデル(Vector Autoregression; VAR),ローカル予測モデル(Local Projections; LP)を紹介し,識別制約としてリカーシブ制約(recursive restrictions)を解説する.続いて,R言語の lpirfs パッケージに付属している interest_rules_var_data データセットを用いて実際にインパルス応答をプロットする.最後に条件をそろえた場合,VAR と LP で同様のインパルス応答が描かれることを解説し実際にプロットして見せる.

2. 分析手法

本章では,金融政策の波及効果を例に取り,分析手法について詳しい説明を試みる.

2.1 データ

データはR言語の lpirfs パッケージに付属している interest_rules_var_data データセットを利用する.このデータセットには,アメリカ合衆国の1955年第1四半期から2003年第1四半期までのGDPギャップ,インフレ率,金利が含まれている.GDPギャップは実質GDPと潜在GDPのギャップ率,インフレ率はGDPの四半期インフレ率,連鎖加重物価指数(年率%),金利はFF金利の四半期平均(年率%)である.

2.2 分析手法

政策の効果は “政策による外生的なショック” を識別することで推定可能である.“外生的” (exogenous)とは経済主体の意思決定とは無関係に発生する変数の変化のことを意味する.“ショック” とは,リーマン・ショックやオイルショックなどマクロ経済変数に予期せぬ変化を与えるものを指す.中央銀行が政策金利を誘導する金融政策も “金融政策ショック”(monetary policy shocks) と呼ばれ,金融政策の効果は “金融政策ショックの波及効果” や “金融政策ショックの伝播”(propagation of shocks)と表現される.また,“識別”(identification)とは,データから興味のあるパラメータを推定することを意味する.特にパラメータの推定が困難な場合に “識別問題” と呼ばれたり,“〜のため識別できない” などというように表現される.

上記で説明した経済学特有の表現は,これ以降注釈なしに使用する.

ベクトル自己回帰モデル

VAR はSims(1980)によって提唱されたモデルである.まず,一般的なVAR の式を紹介する.

$$\begin{equation} Y_t = \sum_{j = 1}^{P} \Phi_j Y_{t-j} + u_t \:\;\;\; E(u_t) = 0 \;\;\;\; E(u_t u_t^\prime) = \Omega\end{equation}$$

$Y_t$はt期における変数のベクトル,$P$は$Y_t$を何期前までの$Y$で説明するかを表す “ラグ” ,$\Phi$は回帰係数行列,

$u_t$はモデルの誤差項ベクトル,$u_t^\prime$は$u_t$の転置ベクトルである.また,誤差項の期待値は0,誤差項の分散共分散行列を$\Omega$とする.さらに,回帰係数行列$\Phi_j$は固有値1未満の定常性の仮定が置かれる.

以降,簡単化のためにラグを1,GDPギャップ$y_t$と金利$r_t$を変数とするVAR(1)の具体例を用いて説明する.VARはラグの数によってVAR(p)のように表現されることがある.

$$\begin{equation} \begin{bmatrix} y_t \\ r_t \end{bmatrix} = \begin{pmatrix} \phi_{11} & \phi_{12} \\ \phi_{21} & \phi_{22} \end{pmatrix} \begin{bmatrix} y_{t-1} \\ r_{t-1} \end{bmatrix} + \begin{bmatrix} u_{yt} \\ u_{rt} \end{bmatrix} \end{equation}$$

次の連立方程式は式2と全く同じ式である.VARが複数の変数が将来の変数の値に相互に影響を与え合うモデルであることが理解できる.VARではt-1期とt期の関係を表す回帰係数行列$\Phi$が,t-2期とt-1期や,t-3期とt-2期でも成り立つと仮定している.

$$\left\{ \, \begin{aligned} & y_t = \phi_{11}y_{t-1} + \phi_{12}r_{t-1} + u_{yt} \\ & r_t = \phi_{21}y_{t-1} + \phi_{22}r_{t-1} + u_{rt} \end{aligned} \right.$$

式2は現実のデータから例えばOLSなどで推定可能な “誘導形” (reduced-form)の式である.しかしながら,後に分かるが、誘導系の誤差項ベクトル$(u_{yt} \;\;u_{yr})^{T}$からは “金融政策ショックがGDPギャップにどのような影響を及ぼすか” という問いに答えるための有益な情報は得られない.そこで,実際には観察できない真の経済モデルが次の式で与えられると仮定する.

$$\begin{equation} \begin{aligned} \begin{pmatrix} \alpha_{11} & \alpha_{12} \\ \alpha_{21} & \alpha_{22} \end{pmatrix} \begin{bmatrix} y_t \\ r_t \end{bmatrix} &= \begin{pmatrix} \beta_{11} & \beta_{12} \\ \beta_{21} & \beta_{22} \end{pmatrix} \begin{bmatrix} y_{t-1} \\ r_{t-1} \end{bmatrix} + \begin{bmatrix} \varepsilon^{Demand}_t \\ \varepsilon^{MonPol}_t \end{bmatrix} \\ E(\varepsilon_t \varepsilon_t^\prime) &= I \end{aligned} \end{equation}$$

式3は,同時点の変数$y_t, r_t$に相関関係があることを仮定している.このように何かしらの構造を仮定するVARを,誘導形と対比して 構造形VAR(Structural VAR; SVAR)と呼ぶ.この式において$(\varepsilon_t^{Demand} \;\;\varepsilon_t^{MonPol})^\prime$はベクトルの要素がそれぞれ,ディマンドショックと金融政策ショックを表している.$E(\varepsilon_t \varepsilon_t^\prime) = I$はショックの分散は1,共分散は0とする仮定を表している.式3を変形し,係数行列を再定義すると式4が導ける.

$$\begin{bmatrix} y_t \\ r_t \end{bmatrix} = \begin{pmatrix} \alpha_{11} & \alpha_{12} \\ \alpha_{21} & \alpha_{22} \end{pmatrix}^{-1} \begin{pmatrix} \beta_{11} & \beta_{12} \\ \beta_{21} & \beta_{22} \end{pmatrix} \begin{bmatrix} y_{t-1} \\ r_{t-1} \end{bmatrix} + \begin{pmatrix} \alpha_{11} & \alpha_{12} \\ \alpha_{21} & \alpha_{22} \end{pmatrix}^{-1} \begin{bmatrix} \varepsilon^{Demand}_t \\ \varepsilon^{MonPol}_t \end{bmatrix}$$

$$\begin{equation} \begin{bmatrix} y_t \\ r_t \end{bmatrix} = \begin{pmatrix} \phi_{11} & \phi_{12} \\ \phi_{21} & \phi_{22} \end{pmatrix} \begin{bmatrix} y_{t-1} \\ r_{t-1} \end{bmatrix} + \begin{pmatrix} b_{11} & b_{12} \\ b_{21} & b_{22} \end{pmatrix} \begin{bmatrix} \varepsilon_{t}^{Demand} \\ \varepsilon_{t}^{MonPol} \end{bmatrix} \end{equation}$$

ここで,式2と式4から実際に観測される$(u_{yt} u_{yr})^{T}$についての誘導形の式を導くことができる.

$$\begin{equation} \left\{ \, \begin{aligned} u_{yt} &= b_{11}\varepsilon_t^{Demand} + b_{12}\varepsilon_t^{MonPol} \\ u_{rt} &= b_{21}\varepsilon_t^{Demand} + b_{22}\varepsilon_t^{MonPol} \end{aligned} \right . \end{equation}$$

この式5の$u_{yt}$を確認すると,誤差項$u_{yt}$には金融政策ショック$\varepsilon_t^{MonPol}$だけでなくディマンドショック$\varepsilon_t^{Demand}$も含まれる.したがって,式2の誤差項ベクトルから直接金融政策ショックの効果を推定できないことがわかる.

一方で,この式5からは,金融政策ショックがGDPギャップに与える影響が$b_{12}$で表すことができるとわかる.なぜなら,金融政策ショック$\varepsilon_t^{MonPol}$は係数$b_{12}$倍だけ誤差項$u_{yt}$を増加(もしくは減少)させ,結果的に誤差項を通して$y_t$の値を変化させるからである.

式5を行列表現に直すと次のようになる.

$$\begin{equation} u_t = B \varepsilon_t \end{equation}$$

したがって,ショックがマクロ経済変数に与える影響を推定する問題は,誤差項$u_t$をいかにしてショック$\varepsilon_t$に分解するのかという問題に置き換えられる.

ここで,式6の左辺の誘導形の誤差項と右辺の構造形の関係を利用すると,式1の分散共分散行列を次のように展開できる.

$$\begin{equation} \Omega = E[u_t u_t^\prime] = E[B\varepsilon_t\varepsilon_t^\prime B^\prime] = B \Sigma_\varepsilon B^\prime = BIB^\prime = BB^\prime \end{equation}$$

式7より,データから直接的に推定できる$(u_{yt}\; u_{rt})$を使って,直接は観測できないはずの構造ショック$(\varepsilon_{yt}\; \varepsilon_{rt})$を識別する問題は,$\Omega = B B^\prime$を満たす 行列$B$を探すことに集約された.

しかしながら,これを満たす行列Bは無数に考えられる.誤差項の分散共分散行列を書き下すと,

$$\begin{equation} \begin{bmatrix} \sigma_y^2 & \sigma_{yr}^2 \\ \sigma_{yr}^2 & \sigma_r^2 \end{bmatrix} = \begin{bmatrix} b_{11} & b_{12} \\ b_{21} & b_{22} \end{bmatrix} \begin{bmatrix} b_{11} & b_{21} \\ b_{12} & b_{22} \end{bmatrix} \end{equation}$$

これを連立方程式の形に書き直すと,

$$\begin{equation} \left\{ \, \begin{aligned} & \sigma_y^2 = b_{11}^2 + b_{12}^2 \\ & \sigma_{yr}^2 = b_{11}b_{21} + b_{12}b_{22} \\ & \sigma_{yr}^2 = b_{11}b_{21} + b_{12}b_{22} \\ & \sigma_r^2 = b_{21}^2 + b_{22}^2 \end{aligned} \right. \end{equation}$$

式9の2つ目と3つ目の式は同じなので,連立方程式は式を3つしか持たない.したがって,行列Bの4つの要素の解を一意に求めることができない.そこで,経済学の理論に基づいて行列 Bに何かしらの仮定を置くことで4つ目の関係式を追加する.この追加される式は “制約” や “識別制約”,もしくは “制約条件” と呼ばれる.

次の項から具体的な識別制約として,リカーシブ制約(recursive restriction)について解説する.

リカーシブ制約

リカーシブ制約とは,例えば,金融政策ショックはGDPギャップに対して同時的な影響を持たないと仮定することである.つまり,t期の金融政策ショック$\varepsilon_{rt}$は次期のGDPギャップ$y_{t+1}$には影響を与えても,同時期のGDPギャップ$y_t$には影響を与えないということを意味する.金融政策は一般的にその効果が発揮されるまでに時間がかかるとされているため,このような仮定を置く.

一方で,ディマンドショックが金利に同時期的な影響を与えると仮定するのは,今回使用するデータが四半期データなのに対して,中央銀行が金融政策を変更し得るタイミングが4回よりも多く存在するからである.本論文で使用するデータはアメリカのマクロ経済データであるが,アメリカでは金融政策を決定する会合である連邦公開市場委員会(Federal Open Market Committee; FOMC)が年に8回開かれる.また,日本でも同様に金融政策決定会合(Monetary Policy Meetings; MPM)が年に8回開催される.したがって,政府は四半期毎のGDPギャップの値を考慮に入れて同時期のうちに市場金利を操作することが可能である.

この仮定は次の式のように$b_{12} = 0$を意味する.

$$\begin{equation} \begin{bmatrix} y_t \\ r_t \end{bmatrix} = \begin{pmatrix} \phi_{11} & \phi_{12} \\ \phi_{21} & \phi_{22} \end{pmatrix} \begin{bmatrix} y_{t-1} \\ r_{t-1} \end{bmatrix} + \begin{pmatrix} b_{11} & 0 \\ b_{21} & b_{22} \end{pmatrix} \begin{bmatrix} \varepsilon_{t}^{Demand} \\ \varepsilon_{t}^{MonPol} \end{bmatrix} \end{equation}$$

この制約により行列Bは識別可能となる.実際に行列Bの各要素の値を求める.式8にリカーシブ制約を課すと,

$$\begin{equation} \begin{bmatrix} \sigma_y^2 & \sigma_{yr}^2 \\ \sigma_{yr}^2 & \sigma_r^2 \end{bmatrix} = \begin{bmatrix} b_{11} & 0 \\ b_{21} & b_{22} \end{bmatrix} \begin{bmatrix} b_{11} & b_{21} \\ 0 & b_{22} \end{bmatrix} \end{equation}$$

式11を連立方程式の形に書き下すと,

$$\begin{equation} \left\{ \, \begin{aligned} & \sigma_y^2 = b_{11}^2 \\ & \sigma_{yr}^2 = b_{11}b_{21} \\ & \sigma_r^2 = b_{21}^2 + b_{22}^2 \end{aligned} \right. \end{equation}$$

式12を解くと,行列Bの要素が全て求まるので,リカーシブ制約を用いてショックの識別が可能となることが確かめられた.

$$\begin{equation} \left\{ \, \begin{aligned} & b_{11} = \sigma_y \\ & b_{12} = 0 \\ & b_{21} = \frac{\sigma_{yr}^2}{\sigma_y} \\ & b_{22} = \sqrt{\sigma_r^2 - \frac{(\sigma_{yr}^2)^2}{\sigma_y^2}} \end{aligned} \right. \end{equation}$$

式13を用いると2変数のVARは以下のように表すことができる,

$$\begin{equation} \begin{bmatrix} y_t \\ r_t \end{bmatrix} = \begin{pmatrix} \phi_{11} & \phi_{12} \\ \phi_{21} & \phi_{22} \end{pmatrix} \begin{bmatrix} y_{t-1} \\ r_{t-1} \end{bmatrix} + \begin{pmatrix} \sigma_y & 0 \\ \frac{\sigma_{yr}^2}{\sigma_y} & \sqrt{\sigma_r^2 - \frac{(\sigma_{yr}^2)^2}{\sigma_y^2}} \end{pmatrix} \begin{bmatrix} \varepsilon_{t}^{Demand} \\\varepsilon_{t}^{MonPol} \end{bmatrix} \end{equation}$$

式11〜14の計算をより一般化した計算手法をコレスキー分解(Cholesky decomposition)と呼ぶ.式7のように,ある行列$\Omega$を下三角行列$B$とその転置行列$B^\prime$の積に分解する際に用いられる計算手法で,$2\times2$の正方行列だけでなく,より行数と列数の大きい正方行列についても同様に分解可能である.コレスキー分解はR や Python などのプログラミング言語の関数を使用すれば1行で実装することができる.

本項では,2変数VARモデルを例にリカーシブ制約について説明を試みたが,3変数以上のVARモデルにおいても適切な仮定を増やすことでリカーシブ制約を用いたショックの識別が可能である.

インパルス応答

インパルス応答(Impulse Response)を計算する目的は,外生的なショックが時間を通して内生変数にどのように波及するのか,を知ることである.GDPギャップと金利の例をとると,我々は次のようなことをインパルス応答から読み取ることができる.金融政策ショックが発生した時にGDPギャップは下がるのか,上がるのか,また,その効果はどの程度有意に持続するのか,どれくらいの期間で効果は収束するのか.

VARにおけるインパルス応答は,VARの式を再帰的に代入することで求まる.

$$\begin{aligned}Y_t &= \Phi Y_{t-1} + B \varepsilon_t \\Y_t &= \Phi (\Phi Y_{t-2} + B \varepsilon_{t-1}) + B\varepsilon_t \\Y_t &= B\varepsilon_t + \Phi B \varepsilon_{t-1} + \Phi^2 Y_{t-2} \\ Y_t &= B\varepsilon_t + \Phi B \varepsilon_{t-1} + \Phi^2 B \varepsilon_{t-2} + \Phi^3 Y_{t-3} \\&... \\ Y_t &= B\varepsilon_t + \Phi B \varepsilon_{t-1} + \Phi^2 B \varepsilon_{t-2} + \Phi^3 B \varepsilon_{t-3} + ... + \Phi^\infin Y_{t-\infin} \\ \end{aligned}$$

$$\begin{equation}Y_t = \Phi^\infin Y_{t-\infin} + \sum_{j=1}^{\infin} \Phi^j B \varepsilon_{t-j}\end{equation}$$

式15において,この章の初めに行列$\Phi$の固有値は1未満であると仮定しているため$\Phi^\infin$は0に収束する.したがって,$Y_t$はベクトル$\varepsilon_t$のラグ付き変数のみで表現できる.

$$\begin{equation}\begin{aligned} Y_t &= B\varepsilon_t + \Phi B \varepsilon_{t-1} + \Phi^2 B \varepsilon_{t-2} + \Phi^3 B \varepsilon_{t-3} + ... \\Y_t &= \begin{pmatrix} b_{11} & b_{12} \\ b_{21} & b_{22} \end{pmatrix} \begin{bmatrix} \varepsilon_{t}^{Demand} \\ \varepsilon_{t}^{MonPol} \end{bmatrix} \\ &+\begin{pmatrix} \phi^{I}{11} & \phi^{I}{12} \\ \phi^{I}{21} & \phi^{I}{22} \end{pmatrix} \begin{pmatrix} b_{11} & b_{12} \\ b_{21} & b_{22} \end{pmatrix} \begin{bmatrix} \varepsilon_{t-1}^{Demand} \\ \varepsilon_{t-1}^{MonPol} \end{bmatrix} \\&+\begin{pmatrix} \phi^{I\hspace{-1.2pt}I}{11} & \phi^{I\hspace{-1.2pt}I}{12} \\ \phi^{I\hspace{-1.2pt}I}{21} & \phi^{I\hspace{-1.2pt}I}{22} \end{pmatrix} \begin{pmatrix} b_{11} & b_{12} \\ b_{21} & b_{22} \end{pmatrix} \begin{bmatrix} \varepsilon_{t-2}^{Demand} \\ \varepsilon_{t-2}^{MonPol} \end{bmatrix}\\&+\begin{pmatrix} \phi^{I\hspace{-1.2pt}I\hspace{-1.2pt}I}{11} & \phi^{I\hspace{-1.2pt}I\hspace{-1.2pt}I}{12} \\ \phi^{I\hspace{-1.2pt}I\hspace{-1.2pt}I}{21} & \phi^{I\hspace{-1.2pt}I\hspace{-1.2pt}I}{22} \end{pmatrix} \begin{pmatrix} b_{11} & b_{12} \\ b_{21} & b_{22} \end{pmatrix} \begin{bmatrix} \varepsilon_{t-3}^{Demand} \\ \varepsilon_{t-3}^{MonPol} \end{bmatrix}\\ &+ ... \end{aligned} \end{equation}$$

インパルス応答の値はショックの係数行列で表現されている.式16から金融政策ショックのGDPギャップに対するインパルス応答は,ホライゾン$h = 0$のとき$b_{12}$,$h = 1$のとき$\phi^I_{12}b_{22}$,$h = 2$のとき$\phi^{I\hspace{-1.2pt}I}{12}b{22}$となり以降も任意のホライゾンまで求めることができる.ホライゾンとはショックが起きた時点から何期先の時点かを表す数のことである.

ここで,ラグ演算子を用いたインパルス応答の表し方を説明する.

$$\begin{equation} \begin{aligned} &Y_t = \sum_{j-1}^P \Phi_j Y_{t-j} + B \varepsilon_t \\ &Y_t = \Phi_1 Y_{t-1} + \Phi_2 Y_{t-2} + ... + \Phi_p Y_{t-p} + B \varepsilon_t \\ &Y_t - \Phi_1 Y_{t-1} - \Phi_2 Y_{t-2} - ... - \Phi_p Y_{t-p} = B \varepsilon_t \\ \end{aligned} \end{equation}$$

$$\begin{equation} \Phi(L) = I - \Phi_1 L- \Phi_2 L^2 - ... - \Phi_p L^p \end{equation}$$

$$\begin{equation} \begin{aligned} \Phi(L)Y_t &= B \varepsilon_t \\ Y_t &= \Phi(L)^{-1}B\varepsilon_t \end{aligned} \end{equation}$$

式17はラグ演算子(lag operator)と呼ばれる式18の表現を用いると式19のように非常に簡潔な形にまとめることができる.式19のショックに対する係数部分$\Phi(L)^{-1}B$はインパルス応答関数と呼ばれる.

ローカル予測モデル

LPはJordà(2005)によって提唱されたモデルである.LPを用いることでVARよりも弱い仮定のもとで直接的にインパルス応答を求めることができる.

$$\begin{equation} Y_{t+h} = \Gamma_h Y_t + \sum_{j = 1}^P A_j Y_{t-j} + u_h \end{equation}$$

Yは内生変数のベクトル,$\Gamma_h$は回帰係数行列,$\sum_{j = 1}^p A_j Y_{t-j}$はt期以前の内生変数が$Y_{t+h}$に与える影響を取り除くためのコントロール群である.LPでは,ショックの時点 t期から直接,任意のホライゾン t + h期への影響を推定する.つまり,10期先への影響を知りたければ$Y_{t+10}$を$Y_t$に回帰し,同様に,15期先への影響を知りたければ$Y_{t+15}$を$Y_t$に回帰すれば良い.

例えば$h = 20$までのショックの波及効果を推定したい場合は,次のように$h = 1$から$h = 20$まで,逐次回帰を行う.

$$\begin{equation} \left\{ \, \begin{aligned} Y_{t+1} &= \Gamma_1 Y_t + \sum_{j=1}^{P} A_j Y_{t-j} + u_1\\ Y_{t+2} &= \Gamma_2 Y_t + \sum_{j=1}^{P} A_j Y_{t-j} + u_2\\ ...\\ Y_{t+20} &= \Gamma_{20} Y_t + \sum_{j=1}^{P} A_j Y_{t-j} + u_{20}\\ \end{aligned} \right . \end{equation}$$

式21の回帰係数行列$\Gamma_1$から$\Gamma_{20}$はそのままインパルス応答を表している.ここからは,なぜ$\Gamma_h$がそのままインパルス応答となるのかを説明する.

$$\begin{equation} \begin{aligned} Y_{t+10}& = \Gamma_{10} Y_t + u_{10} \\ &= u_{10} + \Gamma_{10} u_{0} + \Gamma_{10}^2Y_{t-10} \\ &...\\ &= \Gamma_{10}^\infin Y_{t-\infin} + u_{10} + \Gamma_{10}u_0 + \Gamma_{10}^2 u_{-10} + ...\\ \end{aligned} \end{equation}$$

式22は,コントロール項を省略して$Y_{t + 10}$を$Y_t$に回帰した式について,再帰的に代入を行なった結果である.VARと同様に$\Gamma_h$の固定値が1未満という仮定を置き,誤差項ベクトルをリカーシブ制約のもとで$u_h = B_h \varepsilon_h$に分解可能とすると,式22は次のようになる.

$$\begin{equation} Y_{t+10} = IB_{10}\varepsilon_{10} + \Gamma_{10}B_{10}\varepsilon_{0} + \Gamma_{10}^2 B_{10} \varepsilon_{-10} + ... \end{equation}$$

ショックはt期に1度だけ発生すると考えるので,式23から$h = 10$の時のインパルス応答は$\Gamma_{10} B_{10}$と求まることがわかった.式23と同様の式は任意のホライゾン全てで成り立つため,LPにおいて回帰係数行列$\Gamma_h$がそのままインパルス応答となることがわかる.