【发布时间】:2015-09-22 05:55:15
【问题描述】:
我正在使用 KDE 的 scipy 实现来查找 3 维数据 kde source 的密度估计。我想知道如何在 scipy.kde 中获取 kde 的带宽矩阵。对于 1D,它只是一个缩放器,但对于 3d,它假设是一个 3X3 矩阵。但我不知道如何输出矩阵。谁能帮忙谢谢!
import numpy as np
from scipy import stats
data = np.array([[1, 4, 3], [2, .6, 1.2], [2, 1, 1.2],
[2, 0.5, 1.4], [5, .5, 0], [0, 0, 0],
[1, 4, 3], [5, .5, 0], [2, .5, 1.2]])
data = data.T
kde = stats.gaussian_kde(data)
minima = data.T.min(axis=0)
maxima = data.T.max(axis=0)
space = [np.linspace(mini,maxi,20) for mini, maxi in zip(minima,maxima)]
grid = np.meshgrid(*space)
coords = np.vstack(map(np.ravel, grid))
#Evaluate the KD estimated pdf at each coordinate
density = kde(coords)
【问题讨论】:
标签: python scipy bandwidth kernel-density