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]

将密度估计附加到 KDEUnivariate 类。

Parameters:
kernelstr

要使用的内核。选项包括:

  • “biw” 表示双权重

  • “cos” 表示余弦

  • “epa” 表示 Epanechnikov

  • “gau” 表示高斯。

  • “tri” 表示三角形

  • “triw” 表示 triweight

  • “uni” 表示均匀

bwstr, float, callable

要使用的带宽。选项包括:

  • “scott” - 1.059 * A * nobs ** (-1/5.), 其中 A 是 min(std(x),IQR/1.34)

  • “silverman” - .9 * A * nobs ** (-1/5.), 其中 A 是 min(std(x),IQR/1.34)

  • “normal_reference” - C * A * nobs ** (-1/5.),其中 C 是从核函数计算得出的。等效于(最多 2 位小数)高斯核的“scott”带宽。参见 bandwidths.py

  • 如果给定一个浮点数,其值将用作带宽。

  • 如果给定一个可调用对象,则使用其返回值。 该可调用对象应恰好接受两个参数,即 fn(x, kern),并返回一个浮点数,其中:

    • x - 裁剪后的输入数据

    • kern - 使用的内核实例

fftbool

是否使用FFT。FFT实现具有更高的计算效率。然而,仅实现了高斯核。如果FFT为False,则会创建一个‘nobs’ x ‘gridsize’的中间数组。

gridsizeint

如果 gridsize 为 None,则使用 max(len(x), 50)。

cutfloat

定义了网格的长度,使其超出x的最小值和最大值,以便核函数趋近于零。端点为 min(x) - cut * adjust * bwmax(x) + cut * adjust * bw

adjustfloat

一个用于调整带宽的因子。带宽变为 bw * adjust。

Returns:
KDEUnivariate

实例拟合,


Last update: Oct 16, 2024