小编jet*_*jet的帖子

使用带有2维数据的scipy.stats.gaussian_kde

我想使用的scipy.stats.gaussian_kde类来平滑经度和纬度信息收集了一些离散数据,所以它显示为有点类似于在最后一个等高线图,其中高密度的峰值密度和低密度的山谷.

我很难将二维数据集放入gaussian_kde课堂.我已经玩弄了解它如何与1维数据一起工作,所以我认为2维将是这样的:

from scipy import stats
from numpy import array
data = array([[1.1, 1.1],
              [1.2, 1.2],
              [1.3, 1.3]])
kde = stats.gaussian_kde(data)
kde.evaluate([1,2,3],[1,2,3])
Run Code Online (Sandbox Code Playgroud)

这就是说我有3分[1.1, 1.1], [1.2, 1.2], [1.3, 1.3].我希望在x和y轴上使用宽度为1的1到3进行核密度估计.

创建gaussian_kde时,它一直给我这个错误:

raise LinAlgError("singular matrix")
numpy.linalg.linalg.LinAlgError: singular matrix
Run Code Online (Sandbox Code Playgroud)

查看源代码gaussian_kde,我意识到我正在考虑数据集的含义与维度的计算方式完全不同,但我找不到任何示例代码,显示多维数据如何与模块一起工作.有人可以通过一些示例方法帮助我使用gaussian_kde多维数据吗?

scipy multidimensional-array kernel-density

7
推荐指数
2
解决办法
7551
查看次数