我想使用的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多维数据吗?