You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Scipy.stats multivariate_normal异常:z分量标准差不符合预期

问题原因与解决办法

你的问题出在对scipy.stats.multivariate_normal参数的理解上:

  • 该函数的第二个参数cov要求传入协方差矩阵,而非标准差矩阵。
  • 你当前传入的np.diag([0,0,50])中,50是方差值,对应的标准差为√50≈7.07,这就是实际结果标准差远小于预期50的原因。

修正后的代码如下:

from scipy import stats
import numpy as np

mu = np.array([0,0,2000])
# 协方差是标准差的平方,这里用50²=2500作为z分量的协方差
sigma = np.diag([0,0,50**2])
vals = stats.multivariate_normal(mu, sigma, allow_singular=True).rvs(10000)

# 验证z分量的标准差
print(vals[:,2].std())  # 输出应接近50

内容的提问来源于stack exchange,提问作者Sploogemeister

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 23:03:09