Simulated Method of Moments
計量経済学大学院講義ノート
原ノートとの対応
この講義ノートは Tim Christensen, Econometrics II の Chapter 5 “Simulated Method of Moments” をもとに、日本語の大学院向けノートとして再構成したものである。GMM の考え方を引き継ぎつつ、ここでは キャリブレーション・シミュレーション誤差・SMM の標準誤差 を整理する。
この章の目的は次の 5 点である。
- SMM を「推論可能なキャリブレーション」として理解する。
- シミュレーションにより得られるモーメント \(\gamma_m(\theta)\) が連続・微分可能でないことがある理由を理解する。
- SMM の漸近分布に現れる \[ 1+\tau, \qquad \tau=\lim_{n\to\infty}\frac{n}{m} \] という効率性コストの意味を理解する。
- 数値微分を用いた標準誤差の推定方法を理解する。
- シミュレーション回数を増やさずに精度を改善する補助モーメントの考え方を学ぶ。
SMM では、データから計算されるターゲット・モーメントを \[ g_n=\frac1n\sum_{t=1}^n g(X_t) \] と書く。モデルが含意する理論モーメントを \(\gamma(\theta)\) とするが、閉形式で計算できないため、シミュレーションにより \[ \gamma_m(\theta)=\frac1m\sum_{s=1}^m \gamma(X_s^\theta;\theta) \] で近似する。
目的関数は \[ Q_n(\theta) = -\frac12 \bigl(g_n-\gamma_m(\theta)\bigr)' \widehat W_n \bigl(g_n-\gamma_m(\theta)\bigr) \] である。
また、理論モーメントのヤコビアンを \[ \Gamma(\theta)=\frac{\partial \gamma(\theta)}{\partial\theta'}, \qquad \Gamma=\Gamma(\theta_0) \] と書く。
1 導入:SMM とキャリブレーション
計量経済学では、構造モデルは観測可能変数の分布やモーメントに対する制約として現れる。パラメータ推定だけでなく、その不確実性を定量化すること が重要である。とりわけ政策実験や counterfactual analysis を行うなら、推定誤差を無視できない。
一方、マクロや構造ミクロでは、モデルから生成されるモーメントをデータのモーメントに近づけるようにパラメータを「合わせる」だけの calibration がしばしば用いられる。大きく分けると、キャリブレーションには次の 3 類型がある。
- 外部研究や既存文献に合わせてパラメータ値を固定する。
- モデルをシミュレートして、いくつかのデータ・モーメントに近づくようにパラメータを選ぶ。
- 1 と 2 の折衷をとる。
SMM は、特に 2 のタイプを 推定法 として定式化し、さらに標準誤差まで与える方法だと理解できる。
SMM では、\(\theta\) が変わっても 同じ乱数系列(同じ seed) を使って \(\gamma_m(\theta)\) を計算するのが基本である。そうしないと、同じ \(\theta\) に対しても目的関数値がランダムに揺れ、最適化アルゴリズムが不安定になりやすい。
2 なぜ SMM は GMM より難しいのか
GMM ではモーメント関数 \(g(X_t;\theta)\) が滑らかなら、平均値展開で漸近理論を進められた。しかし SMM では、シミュレーション・モーメント \(\gamma_m(\theta)\) が必ずしも連続ですらない。
2.1 不連続性の例
たとえば \(X\) が成功確率 \(\theta\) の Bernoulli 分布で、\(\gamma(X;\theta)=X\) とする。シミュレーションでは \(U_s\sim U[0,1]\) を発生させて \[ X_s^\theta=1\{U_s\le\theta\} \] とおくので、 \[ \gamma_m(\theta)=\frac1m\sum_{s=1}^m 1\{U_s\le\theta\} \] である。これは \(\theta\) の階段関数であり、連続でも微分可能でもない。
したがって SMM の漸近理論では、GMM のような「まず一階条件を線形化する」という手法が必ずしも使えない。代わりに、目的関数全体が \(\theta_0\) の近くで二次近似できるか を見る。
3 漸近正規性
3.1 局所二次近似の考え方
一般論として、縮小近傍で \[ Q_n(\theta) = Q_n(\theta_0) + \left(\frac{1}{\sqrt n}Z_n\right)'(\theta-\theta_0) - \frac12(\theta-\theta_0)'H(\theta-\theta_0) + o_p(\|\theta-\theta_0\|^2) \] が成り立ち、\(H\) が正定値、\(Z_n\overset{d}{\to}N(0,\Sigma)\) なら、最大化点 \(\hat\theta\) は \[ \sqrt n(\hat\theta-\theta_0)=H^{-1}Z_n+o_p(1) \] を満たす。SMM ではこの一般結果を使う。
3.2 モデルとシミュレーションの 2 つのノイズ
モデルが正しく特定されていて \[ E[g(X_t)]=\gamma(\theta_0) \] とする。まず、データ側のノイズとして \[ \sqrt n\bigl(g_n-\gamma(\theta_0)\bigr)\overset{d}{\to}N(0,S) \] がある。
次に、シミュレーション側にも \[ \sqrt n\bigl(\gamma_m(\theta_0)-\gamma(\theta_0)\bigr) \] というノイズがある。ここで \[ \frac{n}{m}\to \tau\ge 0 \] と仮定すると、 \[ \sqrt n\bigl(\gamma_m(\theta_0)-\gamma(\theta_0)\bigr) \overset{d}{\to} N(0,\tau S) \] となる。実データとシミュレーションが独立なら両者は独立に足し合わさるので \[ \sqrt n\bigl(g_n-\gamma_m(\theta_0)\bigr) \overset{d}{\to} N(0,(1+\tau)S) \tag{1}\] を得る。
\(\tau=n/m\) は「サンプルサイズに比べてシミュレーション回数がどれだけ少ないか」を表す。
- \(m\gg n\) なら \(\tau\approx 0\) で、シミュレーション誤差はほぼ無視できる。
- \(m=n\) なら \(\tau=1\) で、分散は 2 倍になる。
- したがって標準誤差はおよそ \(\sqrt 2\) 倍、つまり約 41% 増える。
SMM でシミュレーション回数が不足すると、推定量はかなり不精密になりうる。
3.3 基本定理
定理 1 (SMM 推定量の漸近正規性) 次を仮定する。
- \(\hat\theta\overset{p}{\to}\theta_0\).
- \(n/m\to\tau\ge 0\).
- 式 1 が成り立つ。
- \(\widehat W_n\overset{p}{\to}W\),ただし \(W\) は正定値対称行列である。
- \(\gamma(\theta)\) は \(\theta_0\) の近傍で連続微分可能で、\(\Gamma=\partial\gamma(\theta_0)/\partial\theta'\) は full column rank \(p\) をもつ。
- 目的関数の二次近似 \[ Q_n(\theta) = Q_n(\theta_0) + \left(\frac{1}{\sqrt n}Z_n\right)'W\Gamma(\theta-\theta_0) - \frac12(\theta-\theta_0)'\Gamma'W\Gamma(\theta-\theta_0) + o_p(\|\theta-\theta_0\|^2) \] が成り立ち、\(Z_n\overset{d}{\to}N(0,(1+\tau)S)\).
このとき \[ \sqrt n(\hat\theta-\theta_0) \overset{d}{\to} N\!\left( 0, (1+\tau)(\Gamma'W\Gamma)^{-1}\Gamma'WSW\Gamma(\Gamma'W\Gamma)^{-1} \right). \]
証明. 目的関数を \[ Q_n(\theta) = -\frac12(g_n-\gamma_m(\theta))'\widehat W_n(g_n-\gamma_m(\theta)) \] と書き、\(\gamma_m(\theta)-\gamma_m(\theta_0)\) を理論モーメントの差 \(\gamma(\theta)-\gamma(\theta_0)\) で近似する。さらに \[ \gamma(\theta)-\gamma(\theta_0) = \Gamma(\theta-\theta_0)+o(\|\theta-\theta_0\|) \] を用いれば、局所的に \[ Q_n(\theta) = Q_n(\theta_0) + \left(\frac1{\sqrt n}Z_n\right)'W\Gamma(\theta-\theta_0) - \frac12(\theta-\theta_0)'\Gamma'W\Gamma(\theta-\theta_0) + o_p(\|\theta-\theta_0\|^2) \] が得られる。したがって一般の二次近似定理より \[ \sqrt n(\hat\theta-\theta_0) = (\Gamma'W\Gamma)^{-1}\Gamma'WZ_n+o_p(1) \] であり、最後は \(Z_n\) の極限定理から従う。
3.4 効率的重み付け
over identified モデルでは、やはり最適重みは \[ W=S^{-1} \] である。このとき漸近分散は \[ (1+\tau)(\Gamma'S^{-1}\Gamma)^{-1} \tag{2}\] に簡約される。
注意すべき点は、たとえ重みを最適に選んでも、\(\tau>0\) ならなお効率性ロスが残ることである。真に最小の分散 \[ (\Gamma'S^{-1}\Gamma)^{-1} \] を得るには \(\tau=0\)、つまり \(m\) が \(n\) に比べて十分大きい必要がある。
SMM を使うなら、少なくとも次の 2 点が重要である。
- over identified なら \(W\approx S^{-1}\) を使う。
- 可能な限りシミュレーション回数 \(m\) を大きくする。
つまり、SMM では「どのモーメントを合わせるか」に加えて、「何回シミュレートするか」も推定精度の本質である。
4 標準誤差の推定
4.1 \(S\) の推定
i.i.d. または m.d.s. の場合、\(S\) は \[ S=E[(g(X_t)-\gamma(\theta_0))(g(X_t)-\gamma(\theta_0))'] \] であるが、\(\gamma(\theta_0)\) は定数ベクトルなので、実務上は \(g(X_t)\) の標本共分散から推定できる。依存データなら GMM と同様に HAC 推定を使う。
4.2 \(\Gamma\) の数値微分
理論モーメント \(\gamma(\theta)\) を閉形式で書けないことが SMM の前提なので、\(\Gamma\) もたいてい解析的には求まらない。そこでシミュレーション・モーメントを用いた数値微分を使う。
第 \(i\) 列について、中心差分 \[ \widehat\Gamma_{\cdot i} = \frac{ \gamma_m(\hat\theta_1,\ldots,\hat\theta_i+\delta,\ldots,\hat\theta_p) - \gamma_m(\hat\theta_1,\ldots,\hat\theta_i-\delta,\ldots,\hat\theta_p) }{2\delta} \] で近似する。\(\delta\to 0\) かつ \(m\to\infty\) なら、適当な条件の下で \(\widehat\Gamma\overset{p}{\to}\Gamma\) である。
数値微分では、\(\theta_i+\delta\) と \(\theta_i-\delta\) の両方で 同じ乱数系列 を使うのが重要である。そうしないと有限差分のばらつきが大きくなり、\(\widehat\Gamma\) が極めて不安定になる。
4.3 漸近分散の推定
一般形の漸近分散は \[ \Omega = (1+\tau)(\Gamma'W\Gamma)^{-1}\Gamma'WSW\Gamma(\Gamma'W\Gamma)^{-1} \] だから、その plug-in 推定量は \[ \widehat\Omega = \left(1+\frac{n}{m}\right) (\widehat\Gamma'\widehat W_n\widehat\Gamma)^{-1} \widehat\Gamma'\widehat W_n\widehat S\widehat W_n\widehat\Gamma (\widehat\Gamma'\widehat W_n\widehat\Gamma)^{-1}. \] 特に効率的重み \(\widehat W_n=\widehat S^{-1}\) を使っていれば \[ \widehat\Omega_{\mathrm{eff}} = \left(1+\frac{n}{m}\right) (\widehat\Gamma'\widehat S^{-1}\widehat\Gamma)^{-1} \] に簡約される。
この公式により、いわゆる「method 2 の calibration」にも標準誤差を付けられる。
5 シミュレーション回数を増やさずに精度を上げる
SMM の弱点は、計算負担が重いモデルでは \(m\) を大きくできず、\(\tau=n/m\) が大きくなってしまうことである。ここでは、\(m\) を増やさなくても精度を改善する方法を考える。
5.1 補助モーメントの追加
シミュレーションに使う原始ショックを \(u_s\) とし、 \[ X_s^\theta = X(u_s;\theta) \] と書く。さらに、期待値が 0 と分かっている関数 \[ h(u)\in\mathbb R^L, \qquad E[h(u)]=0 \] を選ぶ。すると \[ h_m=\frac1m\sum_{s=1}^m h(u_s) \] も 0 に近いはずであるから、モーメント条件を拡張して \[ \begin{pmatrix} g_n-\gamma_m(\theta) \\ -h_m \end{pmatrix} \] を使うことができる。
拡張された目的関数は \[ Q_n^{\mathrm{full}}(\theta) = -\frac12 \begin{pmatrix} g_n-\gamma_m(\theta) \\ -h_m \end{pmatrix}' \widehat W_n^{\mathrm{full}} \begin{pmatrix} g_n-\gamma_m(\theta) \\ -h_m \end{pmatrix}. \]
5.2 なぜ効くのか
\(h_m\) はパラメータには依存しないが、シミュレーション誤差には依存する。したがって、うまく選ばれた \(h(u)\) を入れると、\(g_n-\gamma_m(\theta)\) に混入している余計なシミュレーション・ノイズを部分的に 射影除去 できる。
理論的には、拡張モーメントの効率的重みを使うと、漸近分散は \[ (\Gamma_{\mathrm{full}}'\Sigma_{\mathrm{full}}^{-1}\Gamma_{\mathrm{full}})^{-1} \] となり、通常の SMM の分散 \[ (1+\tau)(\Gamma'\Sigma_{gg}^{-1}\Gamma)^{-1} \] よりも小さくなる。
特に \(m=n\) で \(\tau=1\) でも、補助関数 \(h(u)\) を十分豊かに選べば、理想的な効率的分散に近づけることができる。
追加した \(h_m\) は「シミュレーションがたまたま高かった/低かった」というノイズを測る温度計の役割を果たす。温度計を一緒に使えば、シミュレーション誤差をよりうまく差し引けるので、同じ \(m\) でも推定精度を上げられる。
6 まとめ
この章の要点は次の通りである。
- SMM は、キャリブレーションを推定理論の上に載せた方法として理解できる。
- シミュレーション・モーメント \(\gamma_m(\theta)\) は不連続なことがあり、GMM のような滑らかな一階条件だけでは理論化できない。
- 漸近分散には \[ 1+\tau,\qquad \tau=\lim n/m \] が現れ、シミュレーション回数不足は標準誤差を押し上げる。
- 効率的重みを使えば分散は \[ (1+\tau)(\Gamma'S^{-1}\Gamma)^{-1} \] になる。
- 標準誤差推定では、\(S\) の推定に加えて、\(\Gamma\) を数値微分で評価する必要がある。
- 補助モーメント \(h(u)\) を加えると、シミュレーション回数を増やさずに精度を改善できる。
次の Minimum Distance 章では、SMM からシミュレーション誤差を取り除いた極限的な場合を扱う。理論モーメント \(\gamma(\theta)\) が閉形式で与えられれば、SMM の多くの式はそのまま MD の式に簡約される。