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

问题描述 投票:0回答:4

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

唉,在 scipy.stats.gaussian_kde 我只看到了自动选择带宽。在这里,我只看到了自动选择带宽。set_bandwidth 方法,据我所知,只是将自动选择的值与一些修正比例相乘。而我只需要设置我想设置的带宽。

我不想在KDE中使用我手写的Python代码:它的工作速度太慢了。

你不知道有什么可以替代 scipy.stats.gaussian_kde?

python kde
4个回答
1
投票

scipy.stats.gaussian_kde。,你可以为 bw_method 选项。这将设置 kde.factor 变量,是指乘以协方差矩阵的数字,所以应该与带宽相同。kde.factor 是协方差矩阵乘以的数字,所以它应该与带宽相同。


1
投票

您可能会对以下内容感兴趣 KDE 在statsmodels中。例子 此处.


1
投票

你也可以试试scikit-learn(sklearn)中的KDE。http:/scikit-learn.orgstablemodulesdensity.html。它有各种不同的内核,你可以尝试,并让你直接设置带宽,但显然(!)没有自动选择带宽的方法。


0
投票

你可以使用 内核平滑 类中的OpenTURNS。中提供了一个例子 非参数分布拟合 而理论是 此处. 有一个自动多维带宽规则,但带宽可以由用户设置。另外,该库还提供了Sheather和Jones的 "解方程 "插件规则,该规则对多模态分布很有效,还有一个混合规则(比前者更不消耗CPU)。

© www.soinside.com 2019 - 2024. All rights reserved.