Python Scipy多维核密度估计
我一直在试图得到30x30数组的内核密度估计。下面是一个简短的例子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
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
你能为这些帖子提供一些建议吗?