在python的多元正态密度函数中传递二维数据?

在python的多元正态密度函数中传递二维数据?,python,machine-learning,scipy,computer-vision,gaussian,Python,Machine Learning,Scipy,Computer Vision,Gaussian,我想计算二维数据的高斯PDF,我正试图在python中使用scipy.stats.multivariable\u normal函数来计算,但我不明白如何将数据传递给它 multivariable\u normal是否仅用于分析n维中的一维数据,或者我是否也可以用于我的数据集 data set-> X = [X1,X2....Xn] 每个 Xi=[x1 x2] 是二维的。要计算密度函数,请使用对象的pdf()方法。第一个参数是数组X。接下来的两个参数是分布的平均值和协方差矩阵 例如:

我想计算二维数据的高斯PDF,我正试图在python中使用
scipy.stats.multivariable\u normal
函数来计算,但我不明白如何将数据传递给它

multivariable\u normal
是否仅用于分析n维中的一维数据,或者我是否也可以用于我的数据集

data set-> X = [X1,X2....Xn] 
每个

Xi=[x1 x2] 

是二维的。

要计算密度函数,请使用对象的
pdf()
方法。第一个参数是数组
X
。接下来的两个参数是分布的平均值和协方差矩阵

例如:

In [72]: import numpy as np

In [73]: from scipy.stats import multivariate_normal

In [74]: mean = np.array([0, 1])

In [75]: cov = np.array([[2, -0.5], [-0.5, 4]])

In [76]: x = np.array([[0, 1], [1, 1], [0.5, 0.25], [1, 2], [-1, 0]])

In [77]: x
Out[77]: 
array([[ 0.  ,  1.  ],
       [ 1.  ,  1.  ],
       [ 0.5 ,  0.25],
       [ 1.  ,  2.  ],
       [-1.  ,  0.  ]])

In [78]: p = multivariate_normal.pdf(x, mean, cov)

In [79]: p
Out[79]: array([ 0.05717014,  0.04416653,  0.05106649,  0.03639454,  0.03639454])