C kawaguchiの課題についての補足

Olleyらの方法に倣えば非線形最小二乗法として係数\(\beta_{A},\beta_{K}\)を求める必要があるが, 課題では退出行動を省略し, \(\omega_{t}\)の構造もシンプルなためOlleyらのような複雑な式の導出はなく, 非線形一般化モーメント法 (非線形GMM)で推定することを課している. GMMの解説はすくなく, 非線形GMMとなるとなおさらなので50, ここで少し脱線して課題では何をやっているのかを書いておく.

練習用データは\(\omega_{t}\)をAR(1)過程の乱数として生成しているので, 課題では係数\(\alpha\)は未知であるもののAR(1)であることは分かっているという前提である. つまり, 以下のように仮定している51ので, \[\begin{aligned} h(\omega_{t+1})= & \alpha\omega_{t}+\nu_{t},\\ \nu_{t}\sim & \mathcal{N}(0,\sigma_{\nu}^{2})\forall t\end{aligned}\]

\[\begin{aligned} \hat{\xi}_{t+1}:= & \omega_{t+1}-\alpha\left(\hat{\phi}(k_{t},\mathit{inv}_{t})-\beta_{A}-\beta_{K}k_{t+1}\right)\end{aligned}\] とすると, \[\begin{aligned} y_{t+1}= & \beta_{L}l_{t+1}+\beta_{A}+\beta_{K}k_{t+1}+\alpha\left(\hat{\phi}(k_{t},\mathit{inv}_{t})-\beta_{A}-\beta_{K}k_{t+1}\right)+\hat{\xi}_{t+1}+\varepsilon_{t+1}\end{aligned}\] となり, これを変形すると以下のようになる. \[\begin{aligned} \hat{\xi}_{t+1}+\varepsilon_{t+1}= & y_{t+1}-\hat{\beta}_{L}l_{t+1}-\beta_{A}-\beta_{K}k_{t+1}-\alpha\left(\hat{\phi}(k_{t},\mathit{inv}_{t})-\beta_{A}-\beta_{K}k_{t+1}\right)\end{aligned}\] 既に書いた仮定では \(\hat{\xi}_{t+1}+\varepsilon_{t+1}\)は同時点のいくつかの変数と相関する可能性が残るが同時点の\(k_{t+1}\)および1時点前の\(k_{t},\mathit{inv}_{i,t}\)と無相関なので以下のようなモーメント条件が成り立つ. \[\begin{aligned} \mathrm{E}(\hat{\xi}_{t+1}+\varepsilon_{t+1})\begin{bmatrix}k_{t+1}\\ k_{t}\\ \mathit{inv}_{t} \end{bmatrix}= & \mathbf{0}\end{aligned}\]

\(\hat{\xi}_{t}+\varepsilon_{t}\)にはパラメータに対して非線形な項が含まれるので非線形モデルということになる. 線形モデルの場合は単にGMMと呼ばれ, 今回のような非線形モーメント条件を特定した場合を非線形GMMと呼び, ニュートン法などの非線形最適化の方法で計算することになる. なお計算には新たに\(y_{t}-\hat{\beta}_{L}l_{t}\),\(\hat{\phi}_{t}\), \(k_{t},\mathit{inv}_{t}\)のラグ項が必要になるが, これらは既にで作成している.

RでGMM推定法を計算するパッケージには gmm, plmがある52. 後者のplmはGMMだけでなく, FE/REモデルなどパネルデータを想定したモデルの計算用関数が用意されている. 今回もパネルデータを利用しているが, 個別効果を想定していないためplmを必ず使わなければならないわけではない. 実際のところ, plm::pgmm()でできるGMMは既に少しだけ言及したArellano-Bond/Blundell-Bondの動学パネルデータモデルの推定だけであるので, 今回のような非線形GMMには使えない. 一方でgmmパッケージは非線形GMMにも対応しているので, 今回はこちらを使う.

また, GMMを使う場合も標準誤差はブートストラップ法で計算する必要がある. しかしカーネル回帰は非常に時間がかかるため, 100回も1000回も繰り返すのは現実的ではない. 今回時間がかかるのは主に最適バンド幅を計算するnpplregbw()の実行なので, 最初の計算で得たバンド幅を全てのブートストラップ標本で共用することにした. しかし, npパッケージは引数に対する挙動がかなり意味不明で混乱を招く. 所与のバンド幅でデータを変えて再計算したい場合の方法が不明瞭である. いろいろ試したが, dataに与えるだけではバンド幅計算時の結果がそのまま出力されるようだ. txdat, tydat, tzdatにそれぞれ新しい数値を与える必要があるらしい.

C.1 gmmパッケージの解説

gmmの使い方はヘルプを見れば十分なのだが, タダで見られてかつ日本語のGMMの解説は少なく, 非線形GMMの解説は一層少ない. そういうものを求める人のためにここで少しだけ解説しておく. まず, 線形の場合はlm()などと同じようにformulaオブジェクトでモーメント条件を指定できる. 例えば, \[\begin{aligned} \mathrm{E}(y_{i}-\alpha-\beta x_{i})\begin{bmatrix}z_{i,1}\\ z_{i,2}\\ z_{i,3} \end{bmatrix}= & \mathbf{0}\end{aligned}\] のようなモーメント条件をもとにGMM推定したい場合は,

となる53. data はデータフレームまたはmatrixで与える.

非線形モデルの場合はこのようにモデルをformulaで表現できないため, 代わりに標本モーメントを返す関数を与える. この関数関数は第1, 第2引数にそれぞれパラメータと入力データを与えて\(N\times q\)行列を返すものが要求される. \(N\)は入力データの件数, \(q\)はモーメント式の本数である. つまり上記の期待値の部分で, \[\begin{aligned} m_{i}(\alpha,\beta;x_{i}):= & (y_{i}-\alpha-\beta x_{i})\begin{bmatrix}z_{i,1}\\ z_{i,2}\\ z_{i,3} \end{bmatrix}\end{aligned}\] という部分であり, 返す行列は \[\begin{aligned} \begin{bmatrix}m_{1}z_{1,1} & m_{1}z_{1,2} & m_{1}z_{1,3}\\ m_{2}z_{2,1} & m_{2}z_{2,2} & m_{2}z_{2,3}\\ \vdots & \vdots & \vdots\\ m_{N}z_{N,1} & m_{N}z_{N,2} & m_{Z}z_{N,3} \end{bmatrix}\end{aligned}\] という形になる.

非線形GMMとは\(m_{i}(\theta,x_{i})\)の部分について, 例えば\(m_{i}(\theta,x_{i}):=(y_{i}-\alpha-\gamma\beta x_{i})\begin{bmatrix}z_{i,1} & \cdots & z_{i,3}\end{bmatrix}^{\top}\)のような非線形関数の場合を指す. この\(m_{i}\)の標本平均の重み付きノルム\(F_{n}\)を目的関数として最小化するのがGMMである54. \[\begin{aligned} F_{n}(\alpha,\beta)= & \left[\frac{1}{N}\sum_{i=1}^{N}m_{i}(\theta,x_{i})\right]^{\top}\hat{\mathbf{W}}^{-1}\left[\frac{1}{N}\sum_{i=1}^{N}m_{i}(\theta,x_{i})\right]\end{aligned}\]

非線形GMMはニュートン法でも計算できるため, 目的関数\(F_{n}(\cdots)\)を計算する関数さえ作れば, 係数だけならgmmパッケージを使わなくともoptim()で簡単に推定できる. そこで, 念のためoptim()も使って検算するのも良いだろう.

Ackerberg, Daniel A., Kevin Caves, and Garth Frazer. 2015. “Identification Properties of Recent Production Function Estimators.” Econometrica 83 (6): 2411–51. https://doi.org/10.3982/ECTA13408.

Anderson, T. W., and Cheng Hsiao. 1981. “Estimation of Dynamic Models with Error Components.” Journal of the American Statistical Association 76 (375): 598–606. https://doi.org/10.1080/01621459.1981.10477691.

———. 1982. “Formulation and Estimation of Dynamic Models Using Panel Data.” Journal of Econometrics 18 (1): 47–82. https://doi.org/10.1016/0304-4076(82)90095-1.

Arellano, Manuel, and Stephen Bond. 1991. “Some Tests of Specification for Panel Data: Monte Carlo Evidence and an Application to Employment Equations.” The Review of Economic Studies 58 (2): 277. https://doi.org/10.2307/2297968.

Blundell, R, and Steven Bond. 1998. “Initial Conditions and Moment Restrictions in Dynamic Panel Data Models.” Journal of Econometrics 87 (1): 115–43. https://doi.org/10.1016/S0304-4076(98)00009-8.

Blundell, Richard, and James L. Powell. 2003. “Endogeneity in Nonparametric and Semiparametric Regression Models.” In Advances in Economics and Econometrics, edited by Mathias Dewatripont, Lars Peter Hansen, and Stephen J. Turnovsky, 312–57. Cambridge: Cambridge University Press. https://doi.org/10.1017/CBO9780511610257.011.

Cameron, AC, and PK Trivedi. 2005. Microeconometrics: Methods and Applications. Cambridge: Cambridge University Press. https://doi.org/10.1017/CBO9781107415324.004.

Efron, B. 1979. “Bootstrap Methods: Another Look at the Jackknife.” The Annals of Statistics 7 (1): 1–26. https://doi.org/10.1214/aos/1176344552.

Griliches, Zvi, and Jacques Mairesse. 1999. “Production Functions: The Search for Identification.” In Econometrics and Economic Theory in the 20th Century, edited by Steinar Strom, 169–203. Cambridge: Cambridge University Press. https://doi.org/10.1017/CCOL521633230.006.

Hastie, Trevor, Robert Tibshriani, and Jerome Friedman. 2009. The Elements of Statistical Learning: Data Mining, Inference, and Prediction. 2nd ed. Springer. https://web.stanford.edu/~hastie/ElemStatLearn/.

Hayashi, Fumio. 2000. Econometrics. Princeton: Princeton University Press.

Igami, Mitsuru. 2018. “Artificial Intelligence as Structural Estimation: Economic Interpretations of Deep Blue, Bonanza, and AlphaGo.” http://arxiv.org/abs/1710.10967.

Kawaguchi, Kohei. 2019. “ECON 6120I Topics in Empirical Industrial Organization.” https://kohei-kawaguchi.github.io/EmpiricalIO/.

Levinsohn, James, and Amil Petrin. 2003. “Estimating Production Functions Using Inputs to Control for Unobservables.” Review of Economic Studies 70 (2): 317–41. https://doi.org/10.1111/1467-937X.00246.

Li, Qi, and Jeffrey Scott Racine. 2007. Nonparametric Econometrics: Theory and Practice. Princeton, N.J: Princeton University Press.

Lucas, Robert E. 1976. “Econometric Policy Evaluation: A Critique.” Carnegie-Rochester Confer. Series on Public Policy 1 (C): 19–46. https://doi.org/10.1016/S0167-2231(76)80003-6.

Lütkepohl, Helmut. 2007. New Introduction to Multiple Time Series Analysis. 1. ed., corr. 2. printing. Berlin: Springer.

Mairesse, Jacques. 1990. “Time-Series and Cross-Sectional Estimates on Panel Data: Why Are They Different and Why Should They Be Equal?” In Panel Data and Labor Market Studies, edited by Joop Hartog, Geert Ridder, and Jules Theeuwes, 81–95. North-Holland: Elsevier Science Publishers B.V.

Mas-Colell, Andreu, Michael D. Whinston, and Jery R. Green. 1995. Microeconomic Theory. Oxford University Press.

Merton, Robert C. 1974. “On the Pricing of Corporate Debt: The Risk Structure of Interest Rates.” The Journal of Finance 29 (2): 449. https://doi.org/10.2307/2978814.

Olley, G. Steven, and Ariel Pakes. 1996. “The Dynamics of Productivity in the Telecommunications Equipment Industry.” Econometrica 64 (6): 1263–97. https://doi.org/10.2307/2171831.

Pakes, Ariel, and Steven Olley. 1995. “A Limit Theorem for a Smooth Class of Semiparametric Estimators.” Journal of Econometrics 65 (1): 295–332. https://doi.org/10.1016/0304-4076(94)01605-Y.

Reiss, Peter C., and Frank A. Wolak. 2007. “Structural Econometric Modeling: Rationales and Examples from Industrial Organization.” In Handbook of Econometrics, edited by James J. Heckman and Edward E. Leamer, 6:4277–4415. Handbook of Econometrics. Elsevier. https://doi.org/10.1016/S1573-4412(07)06064-3.

Scott, Steven L., and Hal R. Varian. 2014. “Predicting the Present with Bayesian Structural Time Series.” International Journal of Mathematical Modelling and Numerical Optimisation 5 (1/2): 4. https://doi.org/10.1504/IJMMNO.2014.059942.

Varian, Hal R. 1992. Microeconomic Analysis. 3rd ed. New York: Norton.

Wooldridge, Jeffrey M. 2010. Econometric Analysis of Cross Section and Panel Data. 2nd ed. The MIT Press. https://mitpress.mit.edu/books/econometric-analysis-cross-section-and-panel-data.

中島, 上智, and 渡部敏明. 2012. “時変ベクトル自己回帰モデル -サーベイと日本のマクロデータへの応用-.” 経済研究 63 (3): 193–208. https://doi.org/10.15057/25864.

久保, 拓哉. 2012. データ解析のための統計モデリング入門. 岩波書店.

北川, 源四郎. 2005. 時系列解析入門. 岩波書店.

北村, 行伸. 2016. “応用ミクロ計量経済学の手法と論点.” In 経済セミナー増刊 進化する経済学の実証分析, 28–36. 日本評論社. http://www.ier.hit-u.ac.jp/~kitamura/PDF/A254.pdf.

千木良, 弘朗, 早川和彦, and 山本拓. 2011. 動学的パネルデータ分析. 東京: 知泉書館.

坂本, 亘, 井筒理人, and 白旗慎吾. 2009. “罰則付きスプラインによる非線形回帰構造の推測.” 計算機統計学 21 (1-2): 55–94. https://doi.org/10.20551/jscswabun.21.1-2_55.

奥井, 亮. 2016. “動学的パネルデータモデル.” http://www.sigmath.es.osaka-u.ac.jp/~Estat/h28_datascience2/okui_handai28_v2.pdf.

星野, 崇宏. 2009. 調査観察データの統計科学 –因果推論・選択バイアス・データ融合. 岩波書店.

沖本, 竜義. 2010. 経済・ファイナンスデータの計量時系列分析. 朝倉書店.

渡部, 敏明. 2016. “ルーカス批判とマクロ計量分析.” In 経済セミナー増刊 進化する経済学の実証分析, 37–41. 日本評論社.

西村, 和雄. 1990. ミクロ経済学. 東洋経済新報社.

高井, 啓二, 星野崇宏, and 野間久史. 2016. 欠測データの統計科学. 岩波書店.

高橋, 将宜, and 渡辺美智子. 2017. 欠測データ処理 — R による単一代入法と多重代入法—. 統計学 One Point 5. 共立出版.


  1. 非線形GMMは Hayashi (2000) を始め大学院向け標準レベルの教科書なら必ずと言っていいほど載っているが, 日本語の教科書では線形GMMまでしか書いていないことが多い. 私が以前書いたブログ記事でも肝心の非線形GMMの説明がなかった. どんなモーメント条件であっても求められるわけではなく, ニュートン法は目的関数が凹関数でなければ一意な解を得られない. 実際には一致性や漸近分布を保証するためにさらにいくつかの十分条件を考える必要がある. それらの議論も詳しくは教科書を参照してほしい.

  2. 課題文にも書いてあるように, 本来は\(\omega_{t}\)の決定メカニズムを知ることは難しいため現実の問題に対してこのような強い仮定を置くことは好ましくない.

  3. formulaの構文はデフォルトで定数項を加えるため, 1 は必須ではない. そもそもformulaの構文が分からない場合は 『71. 回帰分析と重回帰分析 - R-Source』や私が以前書いた『予測モデルを作るには formula を活用せよ』などを参照

  4. 典型的なGMMでは重み行列\(\hat{\mathbf{W}}\)に共分散行列の推定値を与えるが, 課題では簡略化のため単位行列を与えるよう指示がある. 単位行列の場合, 線形モデルでいう2段階最小二乗法 (2SLS) と等価な計算になる. 重み行列の役割は主に標準誤差の縮小なのでブートストラップ法で計算する今回のケースではさほど重要ではない.