Scipy.stats 范数和多元范数之间的差异

问题描述 投票:0回答:1

scipy.stats 函数“multivariate_normal”不会产生所需的分布。我使用多元正态来考虑作为物理项目的一部分的通用性,但向量的 z 分量的分布并不符合预期,即使标准差矩阵只有 z 分量,如下所示:

from scipy import stats
import numpy as np

mu = np.array([0,0,2000])
sigma = np.diag([0,0,50])
vals = stats.multivariate_normal(mu, sigma, allow_singular=True).rvs(10000)

没有按照预期在 vals[2] 中产生所需的分布,即标准差为 50、平均值为 2000 的正态分布。相反,平均值是正确的,但标准差比应有的小得多。 我在这里做错了什么?

python scipy physics scipy.stats
1个回答
0
投票

multivariate_normal
的参数是均值和协方差。在您的情况下,使用对角协方差,这实际上是 3 列的平均值和方差

因此,您得到的第三列的 variance 是 50(变量与其自身的协方差是其方差)。 因此,您应该预期方差为 50、标准差为 √50

的正态分布
© www.soinside.com 2019 - 2024. All rights reserved.