numpy中计算方差/协方差的函数 cov
公式
cov(X,Y)=∑i=1n(Xi−Xˉ)(Yi−Yˉ)N−1 cov(X,Y)= \cfrac{\sum_{i=1}^n(X_i-\bar{X})(Y_i-\bar{Y})} {N-1} cov(X,Y)=N−1∑i=1n(Xi−Xˉ)(Yi−Yˉ)
X,Y为等长的两个数组
结果为一个2X2的矩阵,
cov(X,Y)={cov(X,X)cov(X,Y)cov(Y,X)cov(Y,Y)} cov(X,Y)= \begin{Bmatrix} cov(X,X) &cov(X,Y)\\ cov(Y,X) & cov(Y,Y) \end{Bmatrix} cov(X,Y)={cov(X,X)cov(Y,X)cov(X,Y)cov(Y,Y)}
公式可以扩展为N个数组,结果为N x N的矩阵
计算
import numpy as np
T = np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])
S = np.array([2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3])
T_m = np.average(T)
S_m = np.average(S)
cov_T_T = np.sum((T-T_m)*(T-T_m))/11
cov_T_S = np.sum((T-T_m)*(S-S_m))/11
cov_S_S = np.sum((S-S_m)*(S-S_m))/11
print(cov_T_T, cov_T_S)
print(cov_T_S, cov_S_S)
X = np.vstack((T,S))
print(np.cov(X))
结果

这篇博客介绍了如何利用numpy库计算两个数组的方差和协方差。通过提供的公式,展示了手动计算的过程,并给出了使用numpy的cov函数进行批量计算的例子。最终输出了计算结果,展示了cov函数返回的2x2矩阵形式。
1014

被折叠的 条评论
为什么被折叠?



