linearmodels.iv.model.IVGMMCUE.estimate_parameters

IVGMMCUE.estimate_parameters(starting: ndarray[tuple[int, ...], dtype[float64]], x: ndarray[tuple[int, ...], dtype[float64]], y: ndarray[tuple[int, ...], dtype[float64]], z: ndarray[tuple[int, ...], dtype[float64]], display: int = 0, opt_options: dict[str, Any] | None = None) → tuple[ndarray[tuple[int, ...], dtype[float64]], int][source]

Estimate the parameters by minimizing the objective function.

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

Starting values for the optimization.

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).

display: int = 0

Number of iterations between displaying. Set to 0 to suppress output. The default is 0.

opt_options: dict[str, Any] | None = None

Dictionary containing additional keyword arguments to pass to scipy.optimize.minimize. The default is to pass none.

Returns:

  • params (numpy.ndarray) – Estimated parameters (nvar by 1).

  • iterations (int) – Number of iterations used by the optimizer.

See also

scipy.optimize.minimize

Minimization of a scalar function.

Notes

Exposed to facilitate estimation with other data, e.g., bootstrapped samples. Performs no error checking. The bandwidth of a kernel weight matrix that is estimated from the data is the one that is estimated from the data of the model, see j(), and not from x, y and z.