2014-01-13 99 views
1

我一直在試圖得到一個30x30陣列的核密度估計。一個簡短的例子如下,需要估計之前重塑Scipy多維核密度估計

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

+1

你能否提供這些建議? – Llopis

回答

3

KDE = gaussian_kde(z.T)你正在30隨機變量(檢查KDE.n),每個30尺寸(檢查KDE.d)的變量的核密度估計。

如果你正在研究一些數據,那該數據是輸入到gaussian_kde()

隨着KDE(vec)你然後估計核仁密度z。輸入必須有形狀(30,)(30,N)其中30是維數KDE.d。請參閱文檔here

喂這個形狀x,y沒有任何意義。示例here應該讓你開始。在那個例子中,d=2n= 2000