python-3.x - Python 3 - Scipy 和 KDEpy
问题描述
我正在使用 python-3.x 并且我想使用 KDEpy 在提供的一组点上评估估计的 pdf,但我做错了,
我使用了scipy.stats.gaussian_kde并且当我应用 pdf 方法时它很好并且工作得很好,因为我对在提供的一组点上评估估计的 pdf感兴趣。
所以问题是如果我使用 KDEpy FFTKDE,如何从 scipy.stats.kde 获得相同的结果
这是一个描述我正在寻找的小例子:
from scipy.stats.kde import gaussian_kde
data = np.array([[-1.84134663, -1.42036525, -1.38819347],
[-2.58165693, -2.49423057, -1.57609454],
[-0.78776371, -0.79168188, 0.21967791],
[-1.0165618 , -1.78509185, -0.68373997],
[-1.21764947, -0.43215885, -0.34393573]])
my_pdf = gaussian_kde(data.T, bw_method = None )
my_pdf1.pdf(data.T)
print (my_pdf1.pdf(data.T)) # here we will Evaluate the estimated pdf on a provided set of points
结果是:
[0.24234078 0.22071922 0.23802877 0.22474656 0.25402297]
如何使用KDEpy FFTKDE获得相同的结果
from KDEpy import FFTKDE
my_pdf2 = FFTKDE(kernel="gaussian").fit(data.T).evaluate()
但我不知道如何在提供的一组点上评估估计的 pdf,类似于scipy.stats.kde with pdf 方法。
解决方案
您可以使用 eg 创建一个等距网格numpy.linspace
并将其传递给.evaluate()
:
from KDEpy import FFTKDE
import numpy as np
x_grid = np.linspace(-10, 10, num=2**10)
my_pdf = FFTKDE(kernel="gaussian").fit(data.T).evaluate(x_grid)
推荐阅读
- python - 如何使符号的用户输入不区分大小写
- regex - VBA 正则表达式单行标志
- ios - 使用 Apple ID 在多个设备上登录
- javascript - 盖茨比:TypeError:无法读取 null 的属性“地图”
- symfony - 如何在 Symfony 中用自定义装饰器替换服务装饰器?
- c - 谁能解释一下,当你在数字中加上一个点有什么区别?
- c# - 从 List 中的三个连续值中删除两个 int
- wildfly - 在具有不同 JBOSS_HOME 的同一台机器上运行 2 个 Wildfly
- python - Zip 参数#2 必须支持迭代。为什么在重新分配 ndarray 时会产生此错误?
- groovy - 使用 Groovy beta 3,但找不到可以运行的 Spock 版本