1

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

唉,scipy.stats.gaussian_kde我只看到了一个自动带宽选择。set_bandwidth据我所知,该方法仅将自动选择的值与一些校正比率相乘。我只需要设置我想要设置的带宽。

我不想在 KDE 中使用我手写的 Python 代码:它运行起来有点太慢了。

你不知道有什么替代品scipy.stats.gaussian_kde吗?

4

4 回答 4

1

You can also try the KDE's in scikit-learn (sklearn): http://scikit-learn.org/stable/modules/density.html It has a variety of different kernels you can try, and lets you directly set bandwidth, but apparently (!) has no methods for automatic bandwidth selection.

于 2014-11-03T18:30:34.587 回答
1

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

于 2013-08-28T19:41:48.153 回答
1

您可能对statsmodels中的KDE感兴趣。这里的例子。

于 2013-09-24T03:52:16.507 回答
0

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

于 2020-05-13T21:09:36.427 回答