linearmodels.iv.model.IVGMMCUE.j

IVGMMCUE.j(params: ndarray[tuple[int, ...], dtype[float64]], x: ndarray[tuple[int, ...], dtype[float64]], y: ndarray[tuple[int, ...], dtype[float64]], z: ndarray[tuple[int, ...], dtype[float64]]) → float[source]

Optimization target.

Parameters:
params: ndarray[tuple[int, ...], dtype[float64]]

Parameter vector (nvar).

x: ndarray[tuple[int, ...], dtype[float64]]

Regressor matrix (nobs by nvar).

y: ndarray[tuple[int, ...], dtype[float64]]

Regressand matrix (nobs by 1).

z: ndarray[tuple[int, ...], dtype[float64]]

Instrument matrix (nobs by ninstr).

Returns:

GMM objective function, also known as the J statistic.

Return type:

float

Notes

The GMM objective function is defined as

\[J(\beta) = \bar{g}(\beta)'W(\beta)^{-1}\bar{g}(\beta)\]

where \(\bar{g}(\beta)\) is the average of the moment conditions, \(z_i \hat{\epsilon}_i\), where \(\hat{\epsilon}_i = y_i - x_i\beta\). The weighting matrix is some estimator of the long-run variance of the moment conditions.

Unlike tradition GMM, the weighting matrix is simultaneously computed with the moment conditions, and so has explicit dependence on \(\beta\).

If the bandwidth of a kernel weight matrix is estimated from the data, it is estimated once, from the residuals of the first step estimates of the data of the model, the first time that it is needed, and the same bandwidth is used each time that the function is evaluated. The function is then smooth in the parameters.