天蝎网站建设公司,太原手机网站设计,北京网站制作合肥,四会网站建设1. 协方差矩阵定义 在统计学中#xff0c;方差是用来度量单个随机变量的离散程度#xff0c;而协方差则一般用来刻画两个随机变量的相似程度。
参考#xff1a; 带你了解什么是Covariance Matrix协方差矩阵 - 知乎
2. 协方差矩阵计算过程
将输入数据A进行中心化处理得到A…1. 协方差矩阵定义 在统计学中方差是用来度量单个随机变量的离散程度而协方差则一般用来刻画两个随机变量的相似程度。
参考 带你了解什么是Covariance Matrix协方差矩阵 - 知乎
2. 协方差矩阵计算过程
将输入数据A进行中心化处理得到A。即通过减去每个维度的平均值来实现中心化。 注意平均值的计算有两种方式按行计算如numpy和按列计算如matlab两者结果是不一样的但原理是一样的本文采用按行计算平均值为例。按列计算均值每一行是一个observation样本那么每一列就是一个随机变量特征的一个实例协方差矩阵计算方法_如何算瞬时协方差矩阵-CSDN博客 对于按行计算方式协方差矩阵等于去中心化后的数据A乘以A的转置矩阵, 然后除以 列数-1。如果输入数据的维度为NM则该乘积的形状为NM和MN得到一个形状为NN的矩阵。即对于NxM的矩阵A, 去中心化后的矩阵为A, 则协方差等于
3. 示例
一个矩阵A的协方差矩阵计算
设2x4的矩阵A为 按行计算均值意味着每一列是一个observation样本那么每一行就是一个随机变量特征举例如对于随机变量X,Y, 有四组采样结果(1,2), (2,3), (4,2), (1,5), 写成矩阵相乘的形式为 则均值向量为 去中心化后的矩阵A为 则协方差矩阵cov(A)为 所以, 代码numpy验算
import numpy as npA np.array([[1, 2, 4, 1], [2, 3, 2, 5]])
print( cov(A) )
print(np.cov(A))mean_A np.mean(A,axis1,keepdimsTrue)
print( mean_A )
print(mean_A)A1 A - mean_A
print( A - mean_A )
print(A1)covA np.matmul(A1, A1.T)/(A1.shape[1]-1)
print( covA )
print(covA)
输出结果 两个矩阵A、B的协方差矩阵计算
设矩阵A (维度NxM), B (维度NxM)去中心化后的矩阵为A, B, 则两个矩阵的协方差矩阵cov(A,B)为 设A,B 维度为2x4值分别为
,
则 按行求平均值, 得平均值向量为, , 去中心化后得到 则其协方差矩阵 cov(A,B)维度为4x4为 性质
代码numpy验算 A np.array([[1, 2, 4, 1], [2, 3, 2, 5]])
B np.array([[5, 3, 4, 4], [2, 2, 8, 8]])B1 B - np.mean(B,axis1,keepdimsTrue)
A1 A - np.mean(A,axis1,keepdimsTrue)C11 np.cov(A)
C22 np.cov(B)
C12 np.matmul(A1, B1.T)/(B1.shape[1]-1)
C21 np.matmul(B1, A1.T)/(A1.shape[1]-1)C np.vstack((np.hstack((C11,C12)),np.hstack((C21,C22))))print( np.cov(A,B) )
print(np.cov(A,B))print( C )
print(C)结果 参考
协方差矩阵计算实例_协方差矩阵例子-CSDN博客
协方差的计算方法_协方差计算-CSDN博客 (matlab计算)
带你了解什么是Covariance Matrix协方差矩阵
https://wenku.csdn.net/answer/2408abac75f64f0186adff81be057f99