Python Scipy多维核密度估计

Python Scipy多维核密度估计,python,scipy,Python,Scipy,我一直在试图得到30x30数组的内核密度估计。下面是一个简短的例子 from scipy.stats import gaussian_kde x = arange(-0.5,0.51,1/29.) y = arange(-0.5,0.51,1/29.) z = randn(30,30) vec = vstack((x,y)) KDE = gaussian_kde(z.T) KDE2 = KDE(vec) 这会产生以下错误: ValueError: points have dimensio

我一直在试图得到30x30数组的内核密度估计。下面是一个简短的例子

from scipy.stats import gaussian_kde

x = arange(-0.5,0.51,1/29.)
y = arange(-0.5,0.51,1/29.)
z = randn(30,30)

vec = vstack((x,y))

KDE = gaussian_kde(z.T)
KDE2 = KDE(vec)
这会产生以下错误:

ValueError: points have dimension 2, dataset has dimension 30
我在这里发现了一些其他帖子,这些帖子建议在估算之前需要对数据进行重塑,但我不确定如何正确进行

谢谢你的帮助
D

使用
KDE=gaussian_KDE(z.T)
30
随机变量(检查
KDE.n
)进行核密度估计,每个变量的维数
30
(检查
KDE.D

如果您正在研究一些数据,那么这些数据就是
gaussian_kde()
的输入

然后使用
KDE(vec)
估计
z
的内核密度。输入必须具有形状
(30,)
(30,N)
,其中
30
是维度数
KDE.d
。看医生


用这些形状填充
x,y
没有任何意义。这个例子应该让你开始学习。在那个例子中,
d=2
n=2000

你能为这些帖子提供一些建议吗?