# linearmodels.iv.covariance.KernelCovariance¶

class linearmodels.iv.covariance.KernelCovariance(x: ndarray, y: ndarray, z: ndarray, kernel: str = 'bartlett', bandwidth: = None, debiased: bool = False, kappa: = 1)[source]

Kernel weighted (HAC) covariance estimation

Parameters:
x: ndarray

Model regressors (nobs by nvar)

y: ndarray

Series ,modeled (nobs by 1)

z: ndarray

Instruments used for endogenous regressors (nobs by ninstr)

params: ndarray

Estimated model parameters (nvar by 1)

kernel: str = 'bartlett'

Kernel name. Supported kernels are:

• ”bartlett”, “newey-west” - Triangular kernel

• ”parzen”, “gallant” - Parzen’s kernel;

bandwidth: = None

Non-negative bandwidth to use with kernel. If None, automatic bandwidth selection is used.

debiased: bool = False

Flag indicating whether to use a small-sample adjustment

kappa: = 1

Value of kappa in k-class estimator

Notes

Covariance is estimated using

$n^{-1} V^{-1} \hat{S} V^{-1}$

where

$\begin{split}\hat{S}_0 & = n^{-1} \sum_{i=1}^{n} \hat{\epsilon}^2_i \hat{x}_i^{\prime} \hat{x}_{i} \\ \hat{S}_j & = n^{-1} \sum_{i=1}^{n-j} \hat{\epsilon}_i\hat{\epsilon}_{i+j} (\hat{x}_i^{\prime} \hat{x}_{i+j} + \hat{x}_{i+j}^{\prime} \hat{x}_{i}) \\ \hat{S} & = \sum_{i=0}^{bw} K(i, bw) \hat{S}_i\end{split}$

where $$\hat{\gamma}=(Z'Z)^{-1}(Z'X)$$, $$\hat{x}_i = z_i\hat{\gamma}$$ and $$K(i,bw)$$ is a weight that depends on the kernel. If debiased is true, then $$S$$ is scaled by n / (n-k).

$V = n^{-1} X'Z(Z'Z)^{-1}Z'X$

where $$X$$ is the matrix of variables included in the model and $$Z$$ is the matrix of instruments, including exogenous regressors.

Methods

Properties

 config cov Covariance of estimated parameters debiased Flag indicating if covariance is debiased s HAC score covariance estimate s2 Estimated variance of residuals.