我正在寻找一种获取数据集核密度函数并绘制任意数据点的方法。使用Scipy统计模块,我得出了以下代码:
import numpy as np
import scipy.stats as st
def get_pdf(data):
a = np.array(data)
ag = st.gaussian_kde(a)
x = np.linspace(0, max(data), max(data)*10)
y = ag(x)
return x, y
这样做可以得到预期的结果,但是当数据集规模较大时,性能非常差。
我发现 fastkde
是一种快速核密度估计的实现。但我无法找到一种像使用Scipy stats KDE一样使用它的方法。
有人能给我一些见解吗?
谢谢