Scipy中的多变量正常pdf

时间:2016-06-13 19:49:33

标签: python numpy scipy

尝试评估scipy的multivariate_normal.pdf函数,但不断出错。 MWE:

import numpy as np
from scipy.stats import multivariate_normal as mvnorm

x = np.random.rand(5)
mvnorm.pdf(x)

给出

TypeError: pdf() takes at least 4 arguments (2 given)

docs表示meancov参数都是可选的,x的最后一个轴标记了组件。自x.shape = (4L,)以来,似乎所有人都是犹太人。我期待一个数字作为输出。

1 个答案:

答案 0 :(得分:3)

看起来这些参数不是可选的。

如果我传递meancov的默认值,例如:

import numpy as np
from scipy.stats import multivariate_normal as mvnorm

x = np.random.rand(5)
mvnorm.pdf(x, mean=0, cov=1)

我得到以下输出:

array([ 0.35082878,  0.27012396,  0.26986049,  0.39887847,  0.36116341])

使用时:

import numpy as np
from scipy.stats import multivariate_normal as mvnorm

x = np.random.rand(5)
mvnorm.pdf(x)

给了我同样的错误:

TypeError: pdf() takes at least 4 arguments (2 given)