statsmodels.nonparametric.kde.KDEUnivariate.fit

KDEUnivariate.fit(kernel='gau', bw='normal_reference', fft=True, weights=None, gridsize=None, adjust=1, cut=3, clip=(-inf, inf))[source]

Attach the density estimate to the KDEUnivariate class.

Parameters
kernelstr

The Kernel to be used. Choices are:

  • “biw” for biweight

  • “cos” for cosine

  • “epa” for Epanechnikov

  • “gau” for Gaussian.

  • “tri” for triangular

  • “triw” for triweight

  • “uni” for uniform

bwstr, float

The bandwidth to use. Choices are:

  • “scott” - 1.059 * A * nobs ** (-1/5.), where A is min(std(X),IQR/1.34)

  • “silverman” - .9 * A * nobs ** (-1/5.), where A is min(std(X),IQR/1.34)

  • “normal_reference” - C * A * nobs ** (-1/5.), where C is calculated from the kernel. Equivalent (up to 2 dp) to the “scott” bandwidth for gaussian kernels. See bandwidths.py

  • If a float is given, it is the bandwidth.

fftbool

Whether or not to use FFT. FFT implementation is more computationally efficient. However, only the Gaussian kernel is implemented. If FFT is False, then a ‘nobs’ x ‘gridsize’ intermediate array is created.

gridsizeint

If gridsize is None, max(len(X), 50) is used.

cutfloat

Defines the length of the grid past the lowest and highest values of X so that the kernel goes to zero. The end points are -/+ cut*bw*{min(X) or max(X)}

adjustfloat

An adjustment factor for the bw. Bandwidth becomes bw * adjust.