【发布时间】:2018-09-01 03:38:21
【问题描述】:
我正在尝试在 python 中集成多元分布。为了测试它,我使用二元正态分布构建了这个玩具示例。我使用nquad() 以便稍后将其扩展到两个以上的变量。代码如下:
import numpy as np
from scipy import integrate
from scipy.stats import multivariate_normal
def integrand(x0, x1, mean, cov):
return multivariate_normal.pdf([x0, x1], mean=mean, cov=cov)
mean = np.array([100, 100])
cov = np.array([[20, 0], [0, 20]])
res, err = integrate.nquad(integrand,
[[-np.inf, np.inf], [-np.inf, np.inf]],
args=(mean, cov))
print(res)
我得到的结果是9.559199162933625e-10。显然,这是不正确的。它应该(接近)1。
这里有什么问题?
【问题讨论】:
标签: python numerical-integration