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

求助:生成零均值单位方差不相关标准正态随机向量协方差异常

问题分析与解决

你的代码问题出在用法错误,和随机变量的相关性无关——这些标准正态变量本身是不相关的,只是你没正确计算变量间的协方差。

核心错误说明

  • 你两次调用np.random.normal(0,1,size=17),生成的是两个独立的一维数组,而非包含17个变量的随机向量(需要用二维数组存储:每行是一个样本,每列是一个变量)。
  • np.cov接收一维数组时,会将其视为单个随机变量的17个观测值,计算的是这个变量的样本方差。标准正态分布的总体方差是1,样本方差会围绕1波动,你看到的0.9是正常的样本估计结果,和变量间的协方差无关。

正确实现代码

要验证17个不相关标准正态变量的协方差,需要生成足够多的样本,让协方差的样本估计接近理论值:

import numpy as np
# 生成1000个样本,每个样本包含17个独立的标准正态变量
# 形状为(样本数, 变量数)
random_data = np.random.normal(0, 1, size=(1000, 17))
# rowvar=False 指定每一列代表一个变量
cov_matrix = np.cov(random_data, rowvar=False)
print(cov_matrix)

此时输出的协方差矩阵中:

  • 对角线元素接近1(单个变量的样本方差)
  • 非对角线元素接近0(变量间的协方差,符合不相关的预期)

补充说明

样本量越大,协方差矩阵的估计值会越接近理论上的单位矩阵(对角线为1,其余为0)。如果用极小的样本量(比如1个样本),协方差矩阵的估计会完全偏离理论值,这是样本统计量的固有特性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 13:24:52