method'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.


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

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


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.


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


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)}


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