在python中,有几种方法可以进行内核密度估计,我想知道它们之间的区别,并做出一个好的选择。在
它们是:
在scipy.stats.高斯分布, http://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.gaussian_kde.html
在sklearn.neighbors.KernelDensity,http://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KernelDensity.html#sklearn.neighbors.KernelDensity
statsmodel公司 http://statsmodels.sourceforge.net/stable/nonparametric.html#kernel-density-estimation
我想我们可以和1d, 2d
、bandwidth selection
、Implementation
和{
我只有sklearn.neighbors.KernelDensity
的经验。我知道的是:
速度通常很快,可以在多维上执行,但在决定带宽方面没有帮助。在
我看了scipy.kde
,好像有一个带宽选择方法。在
选择模型超参数的“sklearn方法”是网格搜索,通过交叉验证来选择最佳值。看看http://mark-kay.net/2013/12/24/kernel-density-estimation/一个如何将其应用于核密度估计的示例。在
看起来文章Kernel Density Estimation in Python正是您要找的:
相关问题 更多 >
编程相关推荐