statsmodels.nonparametric.kernel_regression.KernelReg

class statsmodels.nonparametric.kernel_regression.KernelReg(endog, exog, var_type, reg_type='ll', bw='cv_ls', defaults=None)[source]

Nonparametric kernel regression class.

Calculates the conditional mean E[y|X] where y = g(X) + e. Note that the “local constant” type of regression provided here is also known as Nadaraya-Watson kernel regression; “local linear” is an extension of that which suffers less from bias issues at the edge of the support.

Parameters
  • endog (array-like) – This is the dependent variable.

  • exog (array-like) – The training data for the independent variable(s) Each element in the list is a separate variable

  • var_type (str) –

    The type of the variables, one character per variable:

    • c: continuous

    • u: unordered (discrete)

    • o: ordered (discrete)

  • reg_type ({'lc', 'll'}, optional) – Type of regression estimator. ‘lc’ means local constant and ‘ll’ local Linear estimator. Default is ‘ll’

  • bw (str or array_like, optional) – Either a user-specified bandwidth or the method for bandwidth selection. If a string, valid values are ‘cv_ls’ (least-squares cross-validation) and ‘aic’ (AIC Hurvich bandwidth estimation). Default is ‘cv_ls’. User specified bandwidth must have as many entries as the number of variables.

  • defaults (EstimatorSettings instance, optional) – The default values for the efficient bandwidth estimation.

bw

The bandwidth parameters.

Type

array_like

Methods

aic_hurvich(bw[, func])

Computes the AIC Hurvich criteria for the estimation of the bandwidth.

cv_loo(bw, func)

The cross-validation function with leave-one-out estimator.

fit([data_predict])

Returns the mean and marginal effects at the data_predict points.

loo_likelihood()

r_squared()

Returns the R-Squared for the nonparametric regression.

sig_test(var_pos[, nboot, nested_res, pivot])

Significance test for the variables in the regression.