GMM

計量経済学大学院講義ノート

ノートこの章の到達目標

この章の目的は次の 6 点である。

  1. method of moments の考え方を、1 つのモーメント条件から複数のモーメント条件へ拡張して理解する。
  2. GMM が「標本モーメントをできるだけ 0 に近づける」推定法であり、OLS や線形 IV 推定もその一例として読めることを確認する。
  3. 資産価格・投資の Euler 方程式のような応用で、GMM がなぜ自然に現れるかを理解する。
  4. GMM 推定量の漸近正規性を \[ \sqrt{n}(\hat\theta-\theta_0)\overset{d}{\to} N\!\left(0,(G'WG)^{-1}G'WSWG(G'WG)^{-1}\right) \] の形で理解する。
  5. just identifiedover identified の違い、および重み行列 \(W\) が効率性に与える影響を理解する。
  6. 標準誤差、two-step efficient GMMone-step correctionCU-GMMHansen-Sargan の \(J\) 検定 の位置づけを整理する。
重要記法の確認

この章では、モーメント条件 \[ E[g(X_t;\theta_0)]=0 \] を出発点とする。標本モーメントを \[ g_n(\theta)=\frac1n\sum_{t=1}^n g(X_t;\theta) \] と書き、GMM の目的関数を \[ Q_n(\theta)=-\frac12 g_n(\theta)'\widehat W_n g_n(\theta) \] とする。\(Q_n(\theta)\) は負の二次形式なので、\(Q_n(\theta)\) を最大化することは、距離 \[ g_n(\theta)'\widehat W_n g_n(\theta) \] を最小化することと同じである。

さらに、\(\theta\) に関する導関数として \[ d(X_t;\theta)=\frac{\partial g(X_t;\theta)}{\partial\theta'}, \qquad G_n(\theta)=\frac1n\sum_{t=1}^n d(X_t;\theta), \qquad G=E[d(X_t;\theta_0)] \] を用いる。ここで

  • \(g(X_t;\theta)\in\mathbb R^K\)
  • \(\theta\in\mathbb R^p\)
  • \(d(X_t;\theta),G_n(\theta),G\in\mathbb R^{K\times p}\)

である。通常、識別のためには \(K\ge p\) が必要である。

例えば OLS を GMM として見るときは \[ g(X_t;\beta)=x_t(Y_t-x_t'\beta) \] であり、\(K\) は説明変数ベクトル \(x_t\) の次元、\(p\) は回帰係数 \(\beta\) の次元である。

1 導入:モーメント条件から GMM へ

GMM(generalized method of moments)は、モデルが含意する モーメント条件 を使ってパラメータを推定する方法である。モーメント条件とは、真のパラメータ \(\theta_0\) で評価すると平均が 0 になる関数 \[ E[g(X_t;\theta_0)]=0 \] のことである。

最尤法では、分布全体を指定して尤度を最大化する。一方、GMM では分布全体を指定しなくてもよい。モデルから「この平均は 0 になるはずだ」という条件だけを取り出し、その条件が標本でもできるだけ成り立つように \(\theta\) を選ぶ。この意味で、GMM はしばしば limited information 推定と呼ばれる。

1.1 method of moments の最も単純な例

まず、平均 \(\mu_0\) を推定するだけの一番単純な例から始める。\(Y_1,\ldots,Y_n\) が同じ分布から来ていて、平均が \[ E[Y_t]=\mu_0 \] であるとする。この条件は \[ E[Y_t-\mu_0]=0 \] と書き直せる。つまり \[ g(Y_t;\mu)=Y_t-\mu \] とおけば、真の値 \(\mu_0\)\[ E[g(Y_t;\mu_0)]=0 \] を満たす。

母平均 \(E[Y_t-\mu]\) は観測できないので、標本平均で置き換える。標本モーメントは \[ g_n(\mu) = \frac1n\sum_{t=1}^n (Y_t-\mu) = \bar Y_n-\mu \] である。method of moments は、この標本版のモーメント条件 \[ g_n(\hat\mu)=0 \] を解く。したがって \[ \bar Y_n-\hat\mu=0 \] より \[ \hat\mu=\bar Y_n \] が得られる。

この例では、推定したいパラメータは 1 つ、モーメント条件も 1 つである。標本モーメントをちょうど 0 にできるので、推定量は「方程式を解く」だけで出てくる。

1.2 複数のモーメントがある例

次に、1 つのパラメータ \(\theta_0\) について、2 つの情報がある場合を考える。観測データから \[ A_t=\theta_0+\varepsilon_{1t}, \qquad B_t=\theta_0+\varepsilon_{2t} \] が得られるとする。どちらも平均的には \(\theta_0\) を測っているので、 \[ E[A_t-\theta_0]=0, \qquad E[B_t-\theta_0]=0 \] という 2 つのモーメント条件がある。

このとき標本モーメントを \[ g_n(\theta) = \begin{pmatrix} \bar A-\theta\\ \bar B-\theta \end{pmatrix} \] と書ける。もし標本で \[ \bar A=\bar B \] なら、\(\theta=\bar A=\bar B\) とすれば 2 つの標本モーメントを同時に 0 にできる。しかし一般には、標本誤差のために \(\bar A\)\(\bar B\) は一致しない。すると \[ \bar A-\theta=0, \qquad \bar B-\theta=0 \] を同時に満たす \(\theta\) は存在しない。

ここに GMM が必要になる理由がある。複数のモーメント条件があり、しかもモーメントの数がパラメータの数より多いと、標本ではすべての条件を同時に完全には満たせないことが多い。そのときは、「どの条件もなるべく小さくする」ような妥協点を選ぶ必要がある。

例えば重み \(w_1,w_2>0\) を使って \[ w_1(\bar A-\theta)^2+w_2(\bar B-\theta)^2 \] を最小化すると、一階条件は \[ -2w_1(\bar A-\theta)-2w_2(\bar B-\theta)=0 \] なので、 \[ \hat\theta = \frac{w_1\bar A+w_2\bar B}{w_1+w_2} \] になる。つまり、GMM は複数のモーメント条件を重みつき平均のように組み合わせている。

ここで重要なのは、重みの選び方で推定量が変わることである。もし \(A_t\) が精度の高い測定で、\(B_t\) がノイズの大きい測定なら、\(\bar A\) をより強く信じ、\(\bar B\) を弱く信じる方が自然である。一般の GMM では、この「どのモーメントをどれだけ信用するか」を重み行列 \(W\) が決める。

1.3 GMM の基本形

一般に、\(K\) 個のモーメント条件 \[ E[g(X_t;\theta_0)]=0, \qquad g(X_t;\theta)\in\mathbb R^K \] があり、推定したいパラメータが \[ \theta\in\mathbb R^p \] であるとする。標本モーメントは \[ g_n(\theta)=\frac1n\sum_{t=1}^n g(X_t;\theta) \] である。

GMM は、標本モーメント \(g_n(\theta)\) の大きさを \[ g_n(\theta)'\widehat W_n g_n(\theta) \] で測り、これを小さくする \(\theta\) を選ぶ。ここで \(\widehat W_n\) は正定値対称な重み行列である。このノートでは、推定量を極値推定量として扱うため、同じ問題を最大化問題として \[ Q_n(\theta) = -\frac12 g_n(\theta)'\widehat W_n g_n(\theta) \] と書く。\(Q_n(\theta)\) を最大化することは、二次形式 \(g_n(\theta)'\widehat W_n g_n(\theta)\) を最小化することと同じである。

モーメント条件の数 \(K\) とパラメータの数 \(p\) の関係に応じて、状況は大きく 2 つに分かれる。

  • \(K=p\) の場合を just identified という。この場合、標本方程式 \(g_n(\theta)=0\) が解ければ、重み行列は推定量の一階の漸近分散に影響しない。
  • \(K>p\) の場合を over identified という。この場合、標本ではすべてのモーメントを同時に 0 にできないことが多く、重み行列の選び方が効率性を左右する。

1.4 最も単純な GMM の例:OLS

線形回帰 \[ Y_t=x_t'\beta_0+u_t \] を考える。\(x_t\) は定数項を含む説明変数ベクトルで、\(\beta_0\) が推定したい回帰係数である。OLS の標準的な外生性条件は \[ E[x_tu_t]=0 \] である。\(u_t=Y_t-x_t'\beta_0\) だから、この条件は \[ E[x_t(Y_t-x_t'\beta_0)]=0 \] と書ける。したがって \[ g(X_t;\beta)=x_t(Y_t-x_t'\beta) \] をモーメント関数と見れば、OLS は GMM の一例である。

標本モーメントは \[ g_n(\beta) = \frac1n\sum_{t=1}^n x_t(Y_t-x_t'\beta) \] である。just identified の場合、GMM 推定量は \[ g_n(\hat\beta)=0 \] を解く。これは \[ \frac1n\sum_{t=1}^n x_t(Y_t-x_t'\hat\beta)=0 \] であり、行列表記では \[ X'(Y-X\hat\beta)=0 \] である。よって \[ \hat\beta=(X'X)^{-1}X'Y \] が得られる。これは通常の OLS 推定量そのものである。

この見方は重要である。OLS は「残差平方和を最小化する推定量」でもあり、「残差が説明変数と直交するというモーメント条件を合わせる推定量」でもある。後者の見方を一般化したものが GMM である。

1.5 重要な応用例:線形モデルの IV 推定

OLS の次に重要な例は、線形モデルの IV(instrumental variables, 操作変数)推定である。構造方程式 \[ Y_t=x_t'\beta_0+u_t \] を考える。ここで \(x_t\) の一部が内生的であると、一般には \[ E[x_tu_t]\ne 0 \] となる。この場合、OLS のモーメント条件 \[ E[x_t(Y_t-x_t'\beta_0)]=0 \] は正しくない。

IV 推定では、説明変数 \(x_t\) そのものではなく、操作変数 \(z_t\) を使う。操作変数に必要な基本条件は、直観的には次の 2 つである。

  1. \(z_t\)\(x_t\) と十分に相関している。
  2. \(z_t\) は構造誤差 \(u_t\) と相関していない。

2 つ目の条件は、モーメント条件として \[ E[z_tu_t]=0 \] と書ける。\(u_t=Y_t-x_t'\beta_0\) なので、 \[ E[z_t(Y_t-x_t'\beta_0)]=0 \] である。したがって \[ g(X_t;\beta)=z_t(Y_t-x_t'\beta) \] をモーメント関数とすれば、線形 IV 推定は GMM の一例である。

標本モーメントは \[ g_n(\beta) = \frac1n\sum_{t=1}^n z_t(Y_t-x_t'\beta) \] である。行列表記では、\(Z\) を操作変数の行列、\(X\) を説明変数の行列とすると、 \[ g_n(\beta)=\frac1n Z'(Y-X\beta) \] である。

まず、操作変数の数とパラメータの数が同じ just identified の場合を考える。このとき、IV 推定量は \[ g_n(\hat\beta)=0 \] を解く。つまり \[ Z'(Y-X\hat\beta)=0 \] であり、 \[ Z'Y-Z'X\hat\beta=0 \] だから、\(Z'X\) が可逆なら \[ \hat\beta_{\mathrm{IV}}=(Z'X)^{-1}Z'Y \] が得られる。もし \(z_t=x_t\) なら \(Z=X\) なので、この式は OLS の \[ (X'X)^{-1}X'Y \] に戻る。したがって、OLS は「説明変数自身を操作変数として使った IV」とも見られる。

次に、操作変数の数がパラメータの数より多い場合を考える。このとき \(K>p\) なので over identified であり、一般には \[ Z'(Y-X\beta)=0 \] をすべて同時に満たす \(\beta\) は存在しない。そこで GMM は \[ g_n(\beta)'\widehat W_n g_n(\beta) \] を最小にする \(\beta\) を選ぶ。

特に \[ \widehat W_n=\left(\frac1n Z'Z\right)^{-1} \] を使うと、目的関数は定数倍を除いて \[ (Y-X\beta)'Z(Z'Z)^{-1}Z'(Y-X\beta) \] になる。これは \(Z\) の列空間への射影行列 \[ P_Z=Z(Z'Z)^{-1}Z' \] を使って \[ (Y-X\beta)'P_Z(Y-X\beta) \] と書ける。この目的関数を最小化すると \[ \hat\beta_{\mathrm{2SLS}} = (X'P_ZX)^{-1}X'P_ZY \] が得られる。これは通常の 2 段階最小二乗法(2SLS)である。

この例は、GMM の考え方を理解するうえで非常に重要である。IV 推定では、経済理論や制度的な知識から「この操作変数は構造誤差と直交するはずだ」というモーメント条件を作る。操作変数が多いと over identified になり、重み行列の選び方、効率性、そしてあとで扱う \(J\) 検定が自然に問題になる。

1.6 有名な応用例:資産価格・投資の Euler 方程式

GMM の有名な応用は、資産価格や投資の Euler 方程式の推定である。直観的には、投資家が最適に行動しているなら、今日 1 単位の資源を減らして投資し、将来のリターンを得るという小さな変更から、期待限界便益は 0 になるはずである。この最適性条件が Euler 方程式である。

ここで最も大事なのは、Euler 方程式は本来 条件付き期待値の条件 として出てくる、という点である。時点 \(t\) に投資家が知っている情報を \(\mathcal F_t\) と書く。投資家は \(\mathcal F_t\) に含まれる情報を使って、時点 \(t\) の投資・保有量を選ぶ。最適化の一階条件は、「時点 \(t\) の情報で見たときに、追加的に投資しても期待限界利益が 0 である」という形になる。

例えば、確率的割引ファクターを \(m_{t+1}(\theta)\)、資産のグロスリターンを \(R_{t+1}\) と書くと、基本的な Euler 方程式は \[ E[m_{t+1}(\theta_0)R_{t+1}-1\mid \mathcal F_t]=0 \] である。左辺は「時点 \(t\) に利用可能な情報で条件づけた、割引後リターンの期待超過分」である。真のパラメータ \(\theta_0\) の下で投資家が最適に選んでいるなら、この期待値は 0 になる。

消費ベースのモデルなら、典型的には \[ m_{t+1}(\theta) = \beta \left(\frac{C_{t+1}}{C_t}\right)^{-\gamma}, \qquad \theta=(\beta,\gamma)' \] のように書く。ここで \(\beta\) は主観的割引因子、\(\gamma\) は相対的危険回避度である。

この条件付き期待値の条件は、非常に強い条件である。なぜなら、\(\mathcal F_t\) に含まれるどんな情報を使っても、予測可能な利益機会が残っていないことを要求しているからである。しかしデータ分析では、\(\mathcal F_t\) 全体をそのまま扱うことはできない。そこで、時点 \(t\) で観測できる変数のベクトル \(z_t\) をいくつか選ぶ。\(z_t\)\(\mathcal F_t\) に含まれる、つまり時点 \(t\) に既に観測されている変数であるとする。

このとき、条件付き期待値の性質から無条件モーメント条件が得られる。具体的には、\(z_t\)\(\mathcal F_t\)-measurable なので、 \[ \begin{aligned} E\!\left[ z_t\{m_{t+1}(\theta_0)R_{t+1}-1\} \right] &= E\!\left[ z_t E\{m_{t+1}(\theta_0)R_{t+1}-1\mid \mathcal F_t\} \right] \\ &=0. \end{aligned} \] これが GMM で使うモーメント条件である。つまり GMM は、条件付き Euler 方程式そのものを直接推定しているのではなく、そこから導かれる有限個の無条件モーメント条件を使っている。

複数の資産リターンや複数の操作変数 \(z_t\) を使えば、モーメント条件の数はすぐにパラメータの数より多くなる。例えば \(R_{t+1}\)\(J\) 個の資産リターンを含み、\(z_t\)\(L\) 個の情報変数を含むなら、単純には \(J\times L\) 個のモーメント条件が得られる。したがって、この種の Euler 方程式の推定では over identified GMM が自然に現れる。

企業投資の Euler 方程式でも構造は同じである。企業が時点 \(t\) の情報 \(\mathcal F_t\) に基づいて投資を選んでいるなら、最適投資の一階条件は \[ E[\xi_{t+1}(\theta_0)\mid \mathcal F_t]=0 \] という形で書けることが多い。ここで \(\xi_{t+1}(\theta)\) は「最適投資なら条件付き平均が 0 になるはずの Euler 方程式の誤差」である。

研究者は \(\mathcal F_t\) 全体を使う代わりに、その中から観測可能な変数 \(z_t\) を選ぶ。すると、上と同じ反復期待法則により \[ E[z_t \xi_{t+1}(\theta_0)] = E\!\left[ z_t E\{\xi_{t+1}(\theta_0)\mid \mathcal F_t\} \right] =0 \] が得られる。実証研究では、投資率、キャッシュフロー、資本ストック、ラグ付きの売上成長率など、時点 \(t\) で利用可能な変数を \(z_t\) として選び、それらと Euler 方程式の誤差 \(\xi_{t+1}(\theta)\) を掛け合わせたモーメント条件を GMM で合わせる。

この例で GMM が便利なのは、資産リターン、消費成長率、投資、資本ストックなどの完全な同時分布を指定しなくても、動学的最適化から得られる条件付き Euler 方程式を、有限個の無条件モーメント条件に変換して構造パラメータを推定できるからである。

ヒント直観

GMM の推定誤差は、M 推定と同じく

  • モーメントの標本誤差
  • 目的関数の局所曲率

の 2 つの要素から決まる。ただし GMM では、score の代わりに標本モーメント \(g_n(\theta_0)\) がノイズの源になり、曲率は \(G'WG\) という形で現れる。このあと導く漸近正規性は、この直観を数式で表したものである。

2 漸近正規性の詳細

2.1 基本定理

ここからは、導入の例で見た考え方を一般の \(K\) 個のモーメント条件に対して書く。この章ではまず \[ \hat\theta\overset{p}{\to}\theta_0 \] という一致性が成り立つと仮定し、そのうえで推論に必要な漸近正規性を導く。一致性そのものは、前章の極値推定の議論と同じく、母目的関数の識別と標本モーメントの一様収束から確認する。

この章の漸近分散と標準誤差の議論では、簡単化のためデータは独立同分布、すなわち i.i.d. とする。

鍵になるのは一階条件である。もし \(\hat\theta\) が内部の厳密な最大化点なら \[ \frac{\partial Q_n(\hat\theta)}{\partial\theta}=0 \] である。ただし実際の計算では、数値最適化で完全に 0 まで解かないこともある。そのため理論では、厳密な 0 ではなく \[ \frac{\partial Q_n(\hat\theta)}{\partial\theta}=o_p(n^{-1/2}) \] という 近似的一階条件 を仮定する。これは、推定量の主要な揺らぎが \(n^{-1/2}\) の大きさなので、最適化誤差がそれより小さければ一次の漸近分布には影響しない、という意味である。

まず、\(g(X_t;\theta)\)\(\theta\) に関して滑らかな場合の標準的な漸近理論を述べる。

定理 1 (GMM 推定量の漸近正規性) \(\hat\theta\)\[ \frac{\partial Q_n(\hat\theta)}{\partial\theta}=o_p(n^{-1/2}) \tag{1}\] を満たすとする。さらに次を仮定する。

  1. \(X_1,\ldots,X_n\) は i.i.d. である。
  2. \(\hat\theta\overset{p}{\to}\theta_0\).
  3. \(\widehat W_n\overset{p}{\to} W\),ただし \(W\) は正定値対称行列である。
  4. \(\theta_0\)\(\Theta\) の内部点である。
  5. 任意の \(X_t\) に対して \(g(X_t;\theta)\)\(\theta\) について連続微分可能である。
  6. \[ \sqrt n\,g_n(\theta_0)\overset{d}{\to} N(0,S), \] ただし \(S\) は正定値である。
  7. \(\theta_0\) のある凸・コンパクト近傍 \(N\) が存在して \[ E\!\left[\sup_{\theta\in N}\|d(X_t;\theta)\|\right]<\infty. \]
  8. \(G=E[d(X_t;\theta_0)]\) は full column rank \(p\) をもつ。

このとき \[ \sqrt n(\hat\theta-\theta_0) \overset{d}{\to} N\!\left(0, (G'WG)^{-1}G'WSWG(G'WG)^{-1} \right). \]

証明. 近似的一階条件 式 1 を用いると \[ \frac{\partial Q_n(\hat\theta)}{\partial\theta} = -G_n(\hat\theta)'\widehat W_n g_n(\hat\theta) =o_p(n^{-1/2}) \] である。ここで \(g_n(\hat\theta)\)\(\theta_0\) のまわりで展開する。\(g_n(\theta)\) はベクトル値関数なので、厳密にはヤコビアンの積分平均を使うときれいに書ける。すなわち \[ \bar G_n = \int_0^1 G_n\!\left(\theta_0+s(\hat\theta-\theta_0)\right)\,ds \] とおけば、 \[ g_n(\hat\theta) = g_n(\theta_0)+\bar G_n(\hat\theta-\theta_0) \] である。これを一階条件に代入すると \[ o_p(1) = \bigl(G_n(\hat\theta)'\widehat W_n \bar G_n\bigr)\sqrt n(\hat\theta-\theta_0) + G_n(\hat\theta)'\widehat W_n \sqrt n\,g_n(\theta_0) \] を得る。ここでは、もとの一階条件の両辺に \(\sqrt n\) を掛けている。

一様大数法則と一致性により \[ G_n(\hat\theta)\overset{p}{\to} G, \qquad \bar G_n\overset{p}{\to} G \] が成り立つので、 \[ G_n(\hat\theta)'\widehat W_n \bar G_n\overset{p}{\to} G'WG \] である。\(G\) が full column rank で \(W\) が正定値なので、\(G'WG\) は可逆である。したがって \[ \sqrt n(\hat\theta-\theta_0) = -(G'WG)^{-1}G'W\sqrt n\,g_n(\theta_0)+o_p(1), \] となる。最後に \[ \sqrt n\,g_n(\theta_0)\overset{d}{\to} N(0,S) \] と Slutsky の定理を用いると、右辺は平均 0、分散 \[ (G'WG)^{-1}G'WSWG(G'WG)^{-1} \] の正規分布に収束する。

2.2 漸近分散の分解

上の定理では \[ H=G'WG, \qquad \Sigma=G'WSWG \] と書けば、 \[ \Omega=H^{-1}\Sigma H^{-1} \] という 曲率とノイズの分解 になる。

  • \(G\) はモーメント条件がパラメータにどれだけ敏感かを表す。
  • \(W\) は研究者が選ぶ重みである。
  • \(S\) は標本モーメント \(\sqrt n\,g_n(\theta_0)\) の漸近分散である。

この形を見ると、GMM の推定精度は

  1. モーメントの情報量(\(G\)
  2. モーメントのノイズ(\(S\)
  3. ノイズをどう重みづけるか(\(W\)

の 3 つに依存することが分かる。

2.3 just identified と over identified

2.3.1 just identified の場合

\(K=p\)\(G\) が可逆なら、 \[ (G'WG)^{-1}G'WSWG(G'WG)^{-1} = G^{-1}S(G')^{-1} \] となり、重み行列 \(W\) は打ち消し合う。この中間計算を少しだけ書くと、 \[ (G'WG)^{-1} = G^{-1}W^{-1}(G')^{-1} \] なので \[ (G'WG)^{-1}G'W=G^{-1}, \qquad WG(G'WG)^{-1}=(G')^{-1} \] である。したがって sandwich の左右で \(W\) が消える。

直観的には、just identified の場合には \(K=p\) 本の標本方程式 \[ g_n(\hat\theta)=0 \] を解けばよい。解がちょうど 0 を達成するなら、その 0 までの距離をどの重みで測っても同じ点が選ばれる。したがって just identified モデルでは \(W\) の選び方は漸近分散に影響しない

2.3.2 over identified の場合

\(K>p\) では \(G\) は正方行列でないため、この打ち消しは起きない。したがって over identified モデルでは \(W\) の選び方が効率性を左右する

重要重要な含意

over identified GMM では、同じモーメント条件でも重み行列の選び方が悪いと標準誤差が大きくなり、信頼区間も広くなる。GMM の実務では「モーメント条件をどう作るか」だけでなく、「どの重みで評価するか」も本質的である。

2.4 最適重み付けと効率性

over identified の場合、標本モーメントは \(K\) 個あり、パラメータは \(p\) 個である。\(K>p\) なので、標本では \[ g_n(\theta)=0 \] を完全には解けないことが多い。そこで、どの方向のモーメントのズレを重く見るかを決める必要がある。その結論が次の命題である。

重要命題:効率的な GMM 重み

次を仮定する。

  1. \(\sqrt n\,g_n(\theta_0)\overset{d}{\to}N(0,S)\).
  2. \(S\) は正定値である。
  3. \(G=E[\partial g(X_t;\theta_0)/\partial\theta']\) は full column rank \(p\) をもつ。

このとき、正定値な重み行列 \(W\) を用いた GMM 推定量の漸近分散は \[ \Omega(W) = (G'WG)^{-1}G'WSWG(G'WG)^{-1} \] である。この漸近分散は \[ W=S^{-1} \] のとき最小になり、その最小値は \[ \Omega_{\mathrm{eff}}=(G'S^{-1}G)^{-1} \] である。つまり、任意の正定値行列 \(W\) について \[ \Omega(W)\succeq \Omega_{\mathrm{eff}} \] が成り立つ。ここで \(\succeq\) は半正定値行列の意味での大小である。

証明. 定理の証明で見たように、重み \(W\) を使った GMM では \[ \sqrt n(\hat\theta-\theta_0) = -A_W\sqrt n\,g_n(\theta_0)+o_p(1), \qquad A_W=(G'WG)^{-1}G'W \] と書ける。ここで \(A_W\)\(p\times K\) 行列であり、\(K\) 次元の標本モーメントの誤差を \(p\) 次元のパラメータ推定誤差へ変換する。

この \(A_W\)\[ A_WG=I_p \] を満たす。これは、パラメータを \(h\) だけ動かしたときに生じるモーメントの変化 \(Gh\) を、きちんと \(h\) に戻せるという意味である。over identified では \(G\) が縦長なので、このような左逆行列は一意ではない。

そこで一般に、\(AG=I_p\) を満たす \(p\times K\) 行列 \(A\) を考える。\(Z_n=\sqrt n\,g_n(\theta_0)\) とおくと、\(Z_n\) の漸近分散は \(S\) であり、\(AZ_n\) の漸近分散は \[ ASA' \] である。したがって、\(AG=I_p\) を満たす \(A\) の中で \(ASA'\) を最小にするものを選べばよい。

その候補は \[ A_*=(G'S^{-1}G)^{-1}G'S^{-1} \] である。実際、 \[ A_*G=I_p \] である。

任意の \(A\)\(AG=I_p\) を満たすとする。\(C=A-A_*\) とおくと \[ CG=0 \] である。また \[ A_*S = (G'S^{-1}G)^{-1}G' \] なので、 \[ A_*SC' = (G'S^{-1}G)^{-1}G'C' =0. \] したがって \[ \begin{aligned} ASA' &=(A_*+C)S(A_*+C)'\\ &=A_*SA_*' + CSC'. \end{aligned} \] ここで \(CSC'\) は半正定値である。よって \[ ASA'\succeq A_*SA_*' \] である。さらに \[ A_*SA_*'=(G'S^{-1}G)^{-1}. \] したがって \(A_*\) が最も小さい漸近分散を与える。

最後に、GMM の重みとして \(W=S^{-1}\) を選ぶと \[ A_W=(G'S^{-1}G)^{-1}G'S^{-1}=A_* \] となる。したがって効率的な重みは \(W=S^{-1}\) であり、効率的漸近分散は \((G'S^{-1}G)^{-1}\) である。

直観的には、\(S^{-1}\) は次の 2 つを同時に行っている。

  1. ノイズの大きいモーメントには小さい重みを置く。
  2. 互いに強く相関したモーメントを、独立な情報であるかのように二重に数えない。

この不等式は、GMM における効率性の中心結果であり、実務的には two-step efficient GMM の理論的根拠になる。

2.4.1 two-step efficient GMM

実装は通常 2 段階で行う。

  1. まず \(\widehat W_n=I_K\) など単純な重みで一段階推定量 \(\tilde\theta\) を得る。
  2. 次に \(\tilde\theta\) を使って \(S\) を推定し、その逆行列を重みとしてもう一度 GMM を解く。

こうして得られる二段階推定量 \(\hat\theta\) は、適当な条件の下で効率的漸近分散 \[ (G'S^{-1}G)^{-1} \] をもつ。

第一段階の重みは効率的である必要はない。必要なのは、第一段階の推定量 \(\tilde\theta\)\(\theta_0\) に十分近づき、それを使って \(S\) を一貫推定できることである。第二段階で \(\widehat S^{-1}\) を使うことで、漸近的には最適重みに到達する。

2.4.2 数値例:最適重みで標準誤差が小さくなる

最適重みの効果を、単純な例で確認する。1 つのパラメータ \(\theta_0\) を、2 つの測定値から推定する。 \[ A_t=\theta_0+\varepsilon_{1t}, \qquad B_t=\theta_0+\varepsilon_{2t}, \] ただし \[ \operatorname{Var}(\varepsilon_{1t})=1, \qquad \operatorname{Var}(\varepsilon_{2t})=9 \] とする。\(B_t\)\(A_t\) より 9 倍ノイズが大きい。

モーメント条件は \[ E[A_t-\theta_0]=0, \qquad E[B_t-\theta_0]=0 \] であり、 \[ g_n(\theta) = \begin{pmatrix} \bar A-\theta\\ \bar B-\theta \end{pmatrix}. \]

単位行列 \(W=I_2\) を使うと \[ \hat\theta_I=\frac{\bar A+\bar B}{2} \] であり、ノイズの大きい \(\bar B\)\(\bar A\) と同じだけ信じてしまう。一方、真の \[ S= \begin{pmatrix} 1&0\\ 0&9 \end{pmatrix} \] を使った最適重み \(S^{-1}\) では \[ \hat\theta_{\mathrm{eff}} = \frac{\bar A+(1/9)\bar B}{1+1/9} = 0.9\bar A+0.1\bar B \] となる。精度の高い \(\bar A\) を強く、精度の低い \(\bar B\) を弱く使っている。

漸近分散は \[ \operatorname{Avar}\{\sqrt n(\hat\theta_I-\theta_0)\}=2.5, \qquad \operatorname{Avar}\{\sqrt n(\hat\theta_{\mathrm{eff}}-\theta_0)\}=0.9 \] である。したがって、最適重みを使うと標準誤差はかなり小さくなる。

次のシミュレーションでは、この違いを有限標本で確認する。

表 1
set.seed(123)

n <- 200
R <- 5000
theta0 <- 1

simulate_once <- function() {
  A <- theta0 + rnorm(n, sd = 1)
  B_meas <- theta0 + rnorm(n, sd = 3)

  theta_I <- (mean(A) + mean(B_meas)) / 2
  theta_eff <- (mean(A) + (1 / 9) * mean(B_meas)) / (1 + 1 / 9)

  c(identity = theta_I, optimal = theta_eff)
}

sim <- replicate(R, simulate_once())

simulation_summary <- data.frame(
  weight = c("W = I", "W = S^{-1}"),
  empirical_sd = apply(sim, 1, sd),
  theoretical_se = c(sqrt(2.5 / n), sqrt(0.9 / n))
)

simulation_summary$empirical_sd <- round(simulation_summary$empirical_sd, 4)
simulation_summary$theoretical_se <- round(simulation_summary$theoretical_se, 4)

print(simulation_summary, row.names = FALSE)
     weight empirical_sd theoretical_se
      W = I       0.1117         0.1118
 W = S^{-1}       0.0669         0.0671
plot(
  density(sim["identity", ]),
  lwd = 2,
  col = "gray35",
  xlab = expression(hat(theta)),
  main = "GMM estimates across simulations"
)
lines(density(sim["optimal", ]), lwd = 2, col = "steelblue")
abline(v = theta0, lty = 2)
legend(
  "topright",
  legend = c("W = I", expression(W == S^{-1}), expression(theta[0])),
  col = c("gray35", "steelblue", "black"),
  lwd = c(2, 2, 1),
  lty = c(1, 1, 2),
  bty = "n"
)
図 1: 重み行列による GMM 推定量のばらつきの違い

2.4.3 R 実装:二段階 GMM

同じ例で、\(S\) を知らない場合の二段階 GMM を実装してみる。第一段階では \(W=I_2\) を使い、第二段階では第一段階の推定量でモーメントの分散共分散行列を推定して、その逆行列を重みに使う。

two_step_gmm <- function(A, B_meas) {
  n <- length(A)

  # 第 1 段階: W = I.
  theta_1 <- (mean(A) + mean(B_meas)) / 2

  # 第 1 段階の推定量で S を推定する。
  g_1 <- cbind(A - theta_1, B_meas - theta_1)
  g_1_centered <- sweep(g_1, 2, colMeans(g_1), "-")
  S_hat <- crossprod(g_1_centered) / n
  W_hat <- solve(S_hat)

  # 第 2 段階: gbar(theta)' W_hat gbar(theta) を最小化する。
  m <- c(mean(A), mean(B_meas))
  one <- c(1, 1)
  theta_2 <- as.numeric(t(one) %*% W_hat %*% m /
                          (t(one) %*% W_hat %*% one))

  # 効率的 GMM の標準誤差。
  G_hat <- matrix(c(-1, -1), ncol = 1)
  Omega_hat <- solve(t(G_hat) %*% W_hat %*% G_hat)
  se_2 <- sqrt(as.numeric(Omega_hat) / n)

  c(theta_1 = theta_1, theta_2 = theta_2, se_2 = se_2)
}

set.seed(456)
A <- theta0 + rnorm(n, sd = 1)
B_meas <- theta0 + rnorm(n, sd = 3)

round(two_step_gmm(A, B_meas), 4)
theta_1 theta_2    se_2 
 1.1764  1.0324  0.0677 

この例では、二段階目の推定量 theta_2 が、ノイズの大きい \(B_t\) よりも精度の高い \(A_t\) を強く使う推定量になっている。標準誤差 se_2 は、二段階 GMM の plug-in 標準誤差である。

3 標準誤差の推定

3.1 基本的な plug-in 推定

一般形の漸近分散 \[ \Omega=(G'WG)^{-1}G'WSWG(G'WG)^{-1} \] を推定するには、\(G\)\(S\) をそれぞれ推定すればよい。ここで \(\Omega\)\[ \sqrt n(\hat\theta-\theta_0) \] の漸近分散である。したがって、\(\hat\theta_j\) 自体の標準誤差は \[ \operatorname{se}(\hat\theta_j) = \sqrt{\frac{\widehat\Omega_{jj}}{n}} \] として計算する。

\(G\) の自然な推定量は \[ \widehat G=\frac1n\sum_{t=1}^n d(X_t;\hat\theta) \] である。したがって、一般形の sandwich 推定量は \[ \widehat\Omega = (\widehat G'\widehat W_n\widehat G)^{-1} \widehat G'\widehat W_n\widehat S \widehat W_n\widehat G (\widehat G'\widehat W_n\widehat G)^{-1} \tag{2}\] である。これは M 推定で出てきた sandwich 推定量と同じ形をしている。外側の \[ (\widehat G'\widehat W_n\widehat G)^{-1} \] が曲率の逆行列、中央の \[ \widehat G'\widehat W_n\widehat S \widehat W_n\widehat G \] が一階条件に入るノイズの分散に対応する。

3.2 独立データの場合

データが i.i.d. であれば、異なる時点のモーメントは相関しないので、 \[ S=E[g(X_t;\theta_0)g(X_t;\theta_0)'] \] である。

したがって \[ \widehat S = \frac1n\sum_{t=1}^n g(X_t;\hat\theta)g(X_t;\hat\theta)' \] あるいは \[ \widehat S = \frac1n\sum_{t=1}^n \bigl(g(X_t;\hat\theta)-g_n(\hat\theta)\bigr) \bigl(g(X_t;\hat\theta)-g_n(\hat\theta)\bigr)' \] を用いればよい。

最初の式は、真の値では \(E[g(X_t;\theta_0)]=0\) であることをそのまま使う推定量である。2 つ目の式は、標本平均 \(g_n(\hat\theta)\) を引いて中心化している。漸近的には同じ値に近づくが、有限標本では中心化した方が安定することがある。

一致性が成り立てば、式 2\(\Omega\) の一貫推定量になる。

3.3 効率的 GMM の標準誤差

もし \(\widehat W_n=\widehat S^{-1}\) を使っていれば、漸近分散は \[ \Omega_{\mathrm{eff}}=(G'S^{-1}G)^{-1} \] だから、推定量は簡約されて \[ \widehat\Omega_{\mathrm{eff}} = (\widehat G'\widehat S^{-1}\widehat G)^{-1} \] となる。実務ではこの形が最もよく使われる。ただし、ここでも実際に報告する標準誤差は \[ \sqrt{\frac{(\widehat\Omega_{\mathrm{eff}})_{jj}}{n}} \] である。

4 one-step correction

one-step correction は、\(\sqrt n\)-一致な初期推定量を出発点にして、一回だけ線形化による更新を行い、効率的 GMM と同じ一次の漸近分布を得る方法である。

注意しておきたいのは、普通の小さな GMM 問題では、one-step correction が特に必要ないことも多い、という点である。たとえば線形 IV や低次元の滑らかな GMM なら、第 2 段階の目的関数をそのまま最適化しても大きな負担ではない。

one-step correction が有益になるのは、第 2 段階の「1 回の最適化」が実際にはかなり重い場合である。数値最適化では、1 回の最適化の中で目的関数やモーメントを何十回、何百回も評価することがある。構造推定、シミュレーションを含むモーメント、非線形で局所解が多い目的関数、大きなブートストラップや多数の仕様チェックでは、この繰り返し評価が無視できなくなる。

このとき、初期推定量 \(\tilde\theta\) がすでに \(\sqrt n\)-一致なら、その近くでモーメント条件を一度だけ線形化して更新するだけで、一次の漸近分布は効率的 GMM と同じになる。これが one-step correction の考え方である。

\(\tilde\theta\)\(\sqrt n\)-一致な初期推定量とし、\(\widehat W_n\) を効率的重みとする。\(\tilde\theta\) の近くで \[ g_n(\theta) \approx g_n(\tilde\theta)+\widetilde G(\theta-\tilde\theta), \qquad \widetilde G=G_n(\tilde\theta) \] と線形化する。\(\Delta=\theta-\tilde\theta\) とおくと、線形化された GMM 問題は \[ \min_{\Delta} \{g_n(\tilde\theta)+\widetilde G\Delta\}' \widehat W_n \{g_n(\tilde\theta)+\widetilde G\Delta\} \] である。この一階条件は \[ \widetilde G'\widehat W_n \{g_n(\tilde\theta)+\widetilde G\Delta\}=0 \] なので、 \[ \Delta = - (\widetilde G'\widehat W_n\widetilde G)^{-1} \widetilde G'\widehat W_n g_n(\tilde\theta) \] となる。したがって \[ \hat\theta_{\mathrm{1step}} = \tilde\theta - (\widetilde G'\widehat W_n\widetilde G)^{-1} \widetilde G'\widehat W_n \left(\frac1n\sum_{t=1}^n g(X_t;\tilde\theta)\right), \] と定める。これは、線形化された GMM 問題を解く Gauss-Newton / Newton 型の one-step 更新である。

すると適当な条件の下で \[ \sqrt n(\hat\theta_{\mathrm{1step}}-\theta_0) \overset{d}{\to} N\!\left(0,(G'S^{-1}G)^{-1}\right) \] が成り立つ。つまり、初期推定量がすでに \(\sqrt n\) の速度で真の値に近づいていれば、一回の Newton 型ステップだけで漸近的には効率的 になる。

ヒントいつ有利か

one-step correction は、次のような状況で有用である。

  • 第 2 段階の非線形最適化が、目的関数評価を多数回必要とする。
  • モーメントの計算にシミュレーションや大きな数値計算が入る。
  • ブートストラップ、モンテカルロ、多数の初期値、多数の仕様で、同じ GMM 推定を何度も繰り返す。
  • 初期推定量とヤコビアン \(G_n(\tilde\theta)\) は比較的簡単に得られる。

逆に、線形 IV や単純な低次元 GMM のように第 2 段階を簡単に解ける場合には、無理に one-step correction を使う必要はあまりない。

5 過剰識別制約の検定

over identified モデルでは \(K-p\) 個の余剰モーメント条件があり、それらを使ってモデルの適合度を検定できる。

考え方は単純である。\(K>p\) の場合、推定では \(p\) 個のパラメータを動かして \(K\) 個の標本モーメントをできるだけ 0 に近づける。もしモデルのモーメント条件がすべて正しければ、推定後に残る標本モーメントのズレは、純粋な標本誤差の範囲に収まるはずである。逆に、そのズレが標本誤差としては大きすぎるなら、少なくともいくつかのモーメント条件が疑わしい。

5.1 \(J\) 統計量

帰無仮説は \[ H_0:\quad E[g(X_t;\theta_0)]=0 \text{ を満たす }\theta_0\in\Theta \text{ が存在する} \] である。検定統計量は \[ J=-2nQ_n(\hat\theta) = n\,g_n(\hat\theta)'\widehat W_n g_n(\hat\theta) \tag{3}\] である。

定理 2 (Hansen-Sargan の \(J\) 検定) 定理 1 の仮定に加え、さらに \[ \widehat W_n\overset{p}{\to} S^{-1} \] を仮定する。このとき、帰無仮説の下で \[ J\overset{d}{\to}\chi^2_{K-p} \] が成り立つ。

証明. 平均値展開により \[ \sqrt n\,g_n(\hat\theta) = \sqrt n\,g_n(\theta_0)+G\sqrt n(\hat\theta-\theta_0)+o_p(1) \] である。さらに効率的 GMM の線形表示 \[ \sqrt n(\hat\theta-\theta_0) = -(G'S^{-1}G)^{-1}G'S^{-1}\sqrt n\,g_n(\theta_0)+o_p(1) \] を代入すると、 \[ \sqrt n\,g_n(\hat\theta) = \left[ I_K-G(G'S^{-1}G)^{-1}G'S^{-1} \right]\sqrt n\,g_n(\theta_0)+o_p(1) \] を得る。

ここで \[ Z_n=S^{-1/2}\sqrt n\,g_n(\theta_0), \qquad M=S^{-1/2}G \] とおく。仮定より \(Z_n\overset{d}{\to}N(0,I_K)\) である。また、\(\widehat W_n\to_p S^{-1}\) なので、Slutsky の定理により \[ S^{-1/2}\sqrt n\,g_n(\hat\theta) = \left[ I_K-M(M'M)^{-1}M' \right]Z_n+o_p(1) \] である。したがって \[ J = Z_n' \left[ I_K-M(M'M)^{-1}M' \right] Z_n +o_p(1) \] と書ける。

行列 \[ P=I_K-M(M'M)^{-1}M' \] は、\(M\) の列空間に直交する方向への射影行列である。\(G\) が full column rank \(p\) をもつので \(M\) も rank \(p\) をもち、したがって \(P\) の rank は \(K-p\) である。標準正規ベクトル \(Z\) について、rank \(r\) の直交射影行列 \(P\) に対する二次形式 \(Z'PZ\)\(\chi^2_r\) に従う。よって \[ J\overset{d}{\to}\chi^2_{K-p} \] である。

この検定は

  • test of over-identifying restrictions
  • Hansen-Sargan test
  • J test

などと呼ばれる。

重要何が分かり、何は分からないか

\(J\) 検定で棄却されると、「少なくともいくつかのモーメント条件が誤指定されている」ことは分かる。しかし、どのモーメント条件が悪いのかまでは教えてくれない。したがって、棄却後はモーメント条件の個別診断が必要である。

5.2 有名な使われ方

\(J\) 検定は、単独で大きな経済的主張をするというより、GMM で使ったモーメント条件がデータと大きく矛盾していないかを確認するために使われることが多い。

代表例は Hansen and Singleton (1982) である。この論文は、非線形の合理的期待モデルを、確率的 Euler 方程式から直接 GMM で推定・検定する古典的な応用である。消費者や投資家の動学的最適化から出てくる直交条件を標本でどれだけ満たせるかを見て、モデルの含意を検証する。

もう 1 つの有名な例は Arellano and Bond (1991) の動学パネル GMM である。ラグ変数を操作変数として使うと多くのモーメント条件が生まれるため、Sargan/Hansen 型の過剰識別制約検定は、操作変数集合が全体として妥当かを確認するための標準的な診断として使われる。

これらの例での読み方は共通している。\(J\) 検定で棄却されなければ、使ったモーメント条件が正しいことが証明されたわけではない。しかし、少なくともデータがそのモーメント条件全体と明らかに矛盾している、とは言いにくい。一方、棄却されれば、モデル、操作変数、または一部の直交条件を見直す強い理由になる。

6 Continuously-updated GMM

6.1 定義

効率的 GMM を 2 段階で実装する代わりに、重み行列自体を \(\theta\) の関数にして 1 回の最適化で済ませる方法が continuously-updated GMM(CU-GMM) である。目的関数は \[ Q_n(\theta)=-\frac12 g_n(\theta)'\widehat W_n(\theta)g_n(\theta) \] である。

典型的には \[ \widehat W_n(\theta) = \left( \frac1n\sum_{t=1}^n g(X_t;\theta)g(X_t;\theta)' \right)^{-1} \] あるいは \[ \widehat W_n(\theta) = \left( \frac1n\sum_{t=1}^n g(X_t;\theta)g(X_t;\theta)' -g_n(\theta)g_n(\theta)' \right)^{-1} \] のようにとる。

通常の二段階 GMM では、第二段階の最適化をするときに \(\widehat W_n\) は固定されている。一方、CU-GMM では \(\theta\) を動かすたびに \(\widehat W_n(\theta)\) も変わる。そのため有限標本の一階条件には、\(g_n(\theta)\) の微分だけでなく、\(\widehat W_n(\theta)\) の微分も入る。

ただし、一次の漸近分布だけを見ると、重み行列の微分から来る項は通常は高次の項になる。理由は、真の値の近くでは \(g_n(\theta_0)=O_p(n^{-1/2})\) なので、\(\widehat W_n(\theta)\) の微分に掛かる \(g_n(\theta)g_n(\theta)'\) 型の項は \(O_p(n^{-1})\) になるからである。したがって、適当な正則条件の下で、CU-GMM も効率的 GMM と同じ一次の漸近分散をもつ。

6.2 CU-GMM の意味

CU-GMM は形式上は GMM だが、より広くは generalized empirical likelihood の一部として理解できる。理論的には、高次のバイアス項が小さくなるなど、通常の二段階 GMM より望ましい有限標本特性をもつことがある。つまり、一次の漸近分散は二段階効率的 GMM と同じでも、有限標本や高次近似では違いが出る可能性がある。

一方で、重み行列も同時に最適化対象になるため、数値計算は重くなりやすい。したがって、

  • 二段階 GMM
  • one-step correction
  • CU-GMM

のどれが最も実用的かは、モデルの複雑さと数値最適化の難しさによって決まる。

7 まとめ

この章の要点は次の通りである。

  1. method of moments は、母集団のモーメント条件を標本版に置き換えて方程式を解く推定法である。
  2. 複数のモーメント条件があり、標本では同時に 0 にできないとき、GMM は重みつき二次形式を最小化して妥協点を選ぶ。
  3. OLS は、残差が説明変数と直交するというモーメント条件を用いた GMM として見ることができる。
  4. 線形 IV 推定は、操作変数が構造誤差と直交するというモーメント条件を用いた GMM として見ることができ、over identified の場合には 2SLS や効率的 GMM につながる。
  5. 投資家の Euler 方程式のような応用では、複数の資産・操作変数から多くのモーメント条件が生まれるため、over identified GMM が自然に現れる。
  6. GMM 推定量の漸近分散は \[ (G'WG)^{-1}G'WSWG(G'WG)^{-1} \] で与えられる。
  7. just identified モデルでは重み行列は漸近分散に影響しないが、over identified モデルでは影響する。
  8. 効率的重みは \(W=S^{-1}\) であり、そのとき漸近分散は \[ (G'S^{-1}G)^{-1} \] に簡約される。
  9. 標準誤差の推定では、独立データの下で標本モーメントの分散共分散行列を plug-in する。
  10. over identified モデルでは \(J\) 検定により過剰識別制約を検定できる。
  11. 効率的推定の実装法として、二段階 GMM、one-step correction、CU-GMM がある。
ノート次章への接続

次の SMM 章では、GMM のモーメント条件 \[ g_n(\theta)=\frac1n\sum_{t=1}^n g(X_t;\theta) \] のうち、モデル側のモーメントが閉形式で書けない場合を扱う。GMM の骨格はそのまま残るが、シミュレーション誤差 が新たなノイズ源として加わる。