一个简单的固定带宽一维高斯KDE Python实现

一个简单的固定带宽一维高斯KDE Python实现,python,kernel-density,Python,Kernel Density,我需要一个简单的核密度估计与固定带宽和高斯核 唉,在scipy.stats.gaussian_kde中,我只看到了自动带宽选择。在我看来,设置带宽的方法只会将自动选择的值与一些校正比率相乘。我只需要设置我想要设置的带宽 我不想为KDE使用我手工编写的Python代码:它的工作速度有点太慢了 难道你不知道有什么可以替换的scipy.stats.gaussian_kde?在中,你可以为bw_方法选项提供标量。这将设置kde.factor变量kde.factor是协方差矩阵乘以的数字,因此它应该与带宽

我需要一个简单的核密度估计与固定带宽和高斯核

唉,在
scipy.stats.gaussian_kde
中,我只看到了自动带宽选择。在我看来,设置带宽的方法只会将自动选择的值与一些校正比率相乘。我只需要设置我想要设置的带宽

我不想为KDE使用我手工编写的Python代码:它的工作速度有点太慢了


难道你不知道有什么可以替换的
scipy.stats.gaussian_kde

在中,你可以为
bw_方法
选项提供标量。这将设置
kde.factor
变量
kde.factor
是协方差矩阵乘以的数字,因此它应该与带宽相同。

您可能对statsmodels感兴趣。示例。

您也可以在scikit learn(sklearn)中尝试KDE:
它有多种不同的内核,您可以尝试,并允许您直接设置带宽,但显然(!)没有自动选择带宽的方法。

您可以在OpenTURNS中使用该类。文中给出了一个实例,并给出了理论分析。有一个自动多维带宽规则,但带宽可以由用户设置。此外,该库还提供了Sheapler和Jones的“求解方程”插件规则,该规则对多模态分布非常有效,并提供了一个混合规则(与前者相比CPU消耗更少)

所以,我必须给它sqrt(sigma)?你的意思是你想知道带宽是如何与标准偏差相关的?它们不是一回事。您可能正在寻找“带宽的实际估计”一节中出现的公式: