linearmodels.panel.model.FirstDifferenceOLS.fit

FirstDifferenceOLS.fit(*, cov_type: str = 'unadjusted', debiased: bool = True, **cov_config: bool | float | str | ndarray | DataFrame | PanelData) PanelResults[source]

Estimate model parameters

Parameters:
cov_type: str = 'unadjusted'

Name of covariance estimator. See Notes.

debiased: bool = True

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

**cov_config

Additional covariance-specific options. See Notes.

Returns:

Estimation results

Return type:

linearmodels.panel.results.PanelResults

Examples

>>> from linearmodels import FirstDifferenceOLS
>>> mod = FirstDifferenceOLS(y, x)
>>> robust = mod.fit(cov_type="robust")
>>> clustered = mod.fit(cov_type="clustered", cluster_entity=True)

Notes

Three covariance estimators are supported:

  • “unadjusted”, “homoskedastic” - Assume residual are homoskedastic

  • “robust”, “heteroskedastic” - Control for heteroskedasticity using White’s estimator

  • “clustered` - White’s. Configuration options are:

    • clusters - Input containing 1 or 2 variables. Clusters should be integer values, although other types will be coerced to integer values by treating as categorical variables

    • cluster_entity - Boolean flag indicating to use entity clusters

  • “kernel” - Driscoll-Kraay HAC estimator. Configurations options are:

    • kernel - One of the supported kernels (bartlett, parzen, qs). Default is Bartlett’s kernel, which is produces a covariance estimator similar to the Newey-West covariance estimator.

    • bandwidth - Bandwidth to use when computing the kernel. If not provided, a naive default is used.

When using a clustered covariance estimator, all cluster ids must be identical within a first difference. In most scenarios, this requires ids to be identical within an entity.