linearmodels.iv.model.IVGMM.fit

IVGMM.fit(*, iter_limit: int = 2, tol: float = 0.0001, initial_weight: Float64Array | None = None, cov_type: str = 'robust', debiased: bool = False, **cov_config: Any) OLSResults | IVGMMResults[source]

Estimate model parameters

Parameters:
iter_limit: int = 2

Maximum number of iterations. Default is 2, which produces two-step efficient GMM estimates. Larger values can be used to iterate between parameter estimation and optimal weight matrix estimation until convergence.

tol: float = 0.0001

Convergence criteria. Measured as covariance normalized change in parameters across iterations where the covariance estimator is based on the first step parameter estimates.

initial_weight: Float64Array | None = None

Initial weighting matrix to use in the first step. If not specified, uses the average outer-product of the set containing the exogenous variables and instruments.

cov_type: str = 'robust'

Name of covariance estimator to use. Available covariance functions are:

  • ”unadjusted”, “homoskedastic” - Assumes moment conditions are homoskedastic

  • ”robust”, “heteroskedastic” - Allows for heteroskedasticity but not autocorrelation

  • ”kernel” - Allows for heteroskedasticity and autocorrelation

  • ”cluster” - Allows for one-way cluster dependence

debiased: bool = False

Flag indicating whether to debiased the covariance estimator using a degree of freedom adjustment.

**cov_config

Additional parameters to pass to covariance estimator. Supported parameters depend on specific covariance structure assumed. See linearmodels.iv.gmm.IVGMMCovariance for details on the available options. Defaults are used if no covariance configuration is provided.

Returns:

Results container

Return type:

linearmodels.iv.results.IVGMMResults