2016-08-30 6 views
-2

IPythonで関数pdf_multivariate_gauss()を実行するために必要なモジュールはどれですか?Pythonのpdf_multivariate_gauss()関数

私は以下のコードを実行しようとしますが、 "インポートエラー"と "名前エラー"のようなエラーが表示されます。

コード:

import numpy as np 
from matplotlib import pyplot as plt 
from matplotlib.mlab import bivariate_normal 
import parzen_window_est 
import pdf_multivariate_gauss ######## ImportError ######## 
import operator 


from mpl_toolkits.mplot3d import Axes3D 

############################################## 
### Predicted bivariate Gaussian densities ### 
############################################## 


mu_vec = np.array([0,0]) 
cov_mat = np.array([[1,0],[0,1]]) 
x_2Dgauss = np.random.multivariate_normal(mu_vec, cov_mat, 10000) 
# generate a range of 400 window widths between 0 < h < 1 
h_range = np.linspace(0.001, 1, 400) 

# calculate the actual density at the center [0, 0] 
mu = np.array([[0],[0]]) 
cov = np.eye(2) 
actual_pdf_val = pdf_multivariate_gauss.pdf_multivariate_gauss(np.array([[0],[0]]), mu, cov) 
######## NameError ######### 

# get a list of the differnces (|estimate-actual|) for different window widths 
parzen_estimates = [np.abs(parzen_window_est.parzen_window_est(x_2Dgauss, h=1, center=[0, 0])) for i in h_range] 

# get the window width for which |estimate-actual| is closest to 0 
min_index, min_value = min(enumerate(parzen_estimates), key=operator.itemgetter(1)) 

IPython output

+0

scipy.stats.multivariate_normal

一つは、このようにそれを使用します知っているatleast)。 'scipy.stats'を調べることをお勧めします。 あなたは例を取ってもらえますか?[form this](http://stackoverflow.com/questions/23101977/trying-to-plot-multivariate-gaussian-dist-in-a-3d-plot-matplotlib-returns-an- em)?この関数はテキストに定義されており、望むように結果が得られればそれを使ってみることができます。 –

+0

はい、そうです。 scipy.statsでは "pdf_multivariate_gauss"ではなく "multivariate_normal"を見つけました。あなたのリンク(ソリューション)でテストしたところ、相対関数は正常に動作しました。ありがとうございました! – wasilis

答えて

1

(すでに指摘したように)私の知る限り、pdf_multivariate_gaussのようなものはありません。これのPython実装は、しかし、scipyである:私はあなたが私の知る限りとして(Pythonで `がpdf_multivariate_gaus`いないようなモジュールと混同していると思います

from scipy.stats import multivariate_normal 
mvn = multivariate_normal(mu,cov) #create a multivariate Gaussian object with specified mean and covariance matrix 
p = mvn.pdf(x) #evaluate the probability density at x