如何计算Scipy中x点的多元高斯概率?
我试过了

    probability = multivariate_normal(x, mean, v)

其中xmeanv都是大小正确的向量,但我得到:
    probability = multivariate_normal(x, mean, v )
TypeError: __call__() takes at most 3 arguments (4 given)

最佳答案

首先是错误。当您调用multivariate_normal时,实际上是在调用__call__类的multivariate_normal_gen(第555行的source)。因为它是一个方法,所以它把自己作为一个始终是第一个参数的参数。然后再添加三个参数时,参数总数为四个。
关于您的问题,您可以通过调用selfpdf来评估给定点的概率密度函数。例子:

from scipy.stats import multivariate_normal
import numpy as np
x = np.array([[1,2], [3,4]])
multivariate_normal.pdf(x, mean=[0, 1], cov=[5, 2])

打印出来的是:
Out[44]: array([ 0.0354664 ,  0.00215671])

关于python - 如何计算Scipy中多元高斯的概率?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29025747/

10-15 00:19