Python np.cov给出了意外数量的值
在10个值的随机数据集上使用Python np.cov给出了意外数量的值,python,numpy,covariance-matrix,Python,Numpy,Covariance Matrix,在10个值的随机数据集上使用np.cov命令时,我得到一个10x10数组作为答案。我认为我的数据格式不正确,但我不确定 np.random.seed(1) rho = 0.2 sigma = 1 cov = (sigma**2)*[[1,rho],[rho,1]] mean1 = (0,0) x1 = np.random.multivariate_normal(mean1, cov, (10)) mean1 = np.mean(x1) cov1 = np.cov(x1) print(cov1)
np.cov
命令时,我得到一个10x10
数组作为答案。我认为我的数据格式不正确,但我不确定
np.random.seed(1)
rho = 0.2
sigma = 1
cov = (sigma**2)*[[1,rho],[rho,1]]
mean1 = (0,0)
x1 = np.random.multivariate_normal(mean1, cov, (10))
mean1 = np.mean(x1)
cov1 = np.cov(x1)
print(cov1)
这是正确的行为-返回协方差矩阵 特别是,它将输入的每一行作为一个变量,列表示这些变量的不同值。要反转此行为,请传递
rowvar=False
特别是,如果有两个变量表示为矩阵的两列,则可以使用np.cov(data,rowvar=False)
(或np.cov(data.T)
)获得一个2乘2协方差矩阵,其中cov[0,1]
和cov[1,0]
处的元素将是这两个变量之间的协方差
本文还对此进行了讨论