Numpy 如何用相同大小的特征向量建立协方差矩阵

Numpy 如何用相同大小的特征向量建立协方差矩阵,numpy,covariance,eigenvector,symmetric,covariance-matrix,Numpy,Covariance,Eigenvector,Symmetric,Covariance Matrix,我有两个特征向量集X和Y,其中size=(7,7)(7个分量的7个特征向量) 我正在寻找一种从这两个特征向量集建立协方差矩阵的方法 第一次,我做了这个功能: # Compute covariance between vectors of matrix def compute_Cov(A,B): C = np.zeros((7,7)) for i in range(7): C[0:7,i]= np.mean(A[0:7,i]*B[0:7,i]) - np.mean(A[0:7,i]

我有两个特征向量集
X
Y
,其中
size=(7,7)
(7个分量的7个特征向量)

我正在寻找一种从这两个特征向量集建立协方差矩阵的方法

第一次,我做了这个功能:

# Compute covariance between vectors of matrix
def compute_Cov(A,B):
  C = np.zeros((7,7))
  for i in range(7):
    C[0:7,i]= np.mean(A[0:7,i]*B[0:7,i]) - np.mean(A[0:7,i])*np.mean(B[0:7,i])
    #C[0:7,i] = np.cov(A[0:7,i],B[0:7,i])
  return C
并调用:
CovXY=compute\u Cov(X,Y)


但是这样,矩阵
CovXY
不是对称的而且我不知道如何从
X
Y
特征向量集构建对称矩阵(因此X和Y实际上是矩阵)。

CovXY有多不对称?执行Covxy=(Covxy+Covxy.T)/2以消除数值误差并不少见。如果是这样的话,你必须根据矩阵的不对称程度来判断自己。@Bas。谢谢你的快速回答。不幸的是,我想我不能应用你的公式,因为每列对应一个特征向量。所以,我必须处理一组特征向量(在我的例子中是7列),你确定你计算了协方差矩阵吗?看起来你们计算了互协方差矩阵,它是不对称的