一般化モーメント法
ただし、ステップ1における推定量 θ ^ ( 1 ) {\displaystyle \scriptstyle {\hat {\theta }}_{(1)}} を用いた。この行列は Ω に確率収束し、ゆえにこの加重行列を用いて推定量 θ ^ {\displaystyle \scriptstyle {\hat {\theta }}} を計算すれば、その推定量は漸近的に効率的である。
繰り返しGMM(英: Iterated GMM)
行列 W ^ T {\displaystyle {\hat {W}}_{T}} を複数回計算することを除けば、本質的には2段階GMMと同じ方法である。つまりステップ2で得た推定量を加重行列として再び用いて推定量を計算し、これを繰り返す。このような推定量は、 θ ^ ( i ) {\displaystyle \scriptstyle {\hat {\theta }}_{(i)}} と記すが、以下のシステム方程式を解いた場合と同値になる。
R Programming wikibook, Method of Moments
R
Stata
EViews
SAS
利用可能なデータは T 個の観測値 {Yt } t = 1,...,T からなると仮定する。ここでそれぞれの観測値 Yt は n 次元の多次元確率変数であるとする。ここでこのデータはある統計モデルから生成されるとし、その統計モデルは未知パラメーター θ ∈ Θ によって定義されるものとする。この推定問題の目的は真のパラメーター θ0 もしくは少なくとも適度に近い推定量を見つけることである。
一般化モーメント法の一般的な仮定はデータ Yt が弱定常(英語版)かつエルゴード(英語版)な確率過程であることである(独立かつ同一分布に従う確率変数 Yt はこの条件の特殊ケースである)。
一般化モーメント法を適用する為に、モーメント条件を特定する必要がある。つまり以下のようなベクトル値関数 g(Y,θ) が既知でなくてはならない。
m ( θ 0 ) ≡ E  [ g ( Y t , θ 0 ) ] = 0 , {\displaystyle m(\theta _{0})\equiv \operatorname {E} [\,g(Y_{t},\theta _{0})\,]=0,}
ここで E は期待値、Yt は一般的な観測値を表す。加えて関数 m(θ) は θ ≠ θ0 ならば0と異なる値を取らなくてはならない。そうでなければパラメーター θ は識別不可能である。
一般化モーメント法の基本的なアイデアは理論的な期待値 E[⋅] を実証的なもの、つまり標本平均に置き換えることである。
m ^ ( θ ) ≡ 1 T ∑ t = 1 T g ( Y t , θ ) {\displaystyle {\hat {m}}(\theta )\equiv {\frac {1}{T}}\sum _{t=1}^{T}g(Y_{t},\theta )}