协方差矩阵是什么
在统计学和概率论中,协方差矩阵的每个元素都是每个向量元素之间的协方差,是从标量随机变量到帅气虾随机向量的自然扩展。
矩阵中的数据按行排列和按列排列求出的协方差矩阵不同。 其中,默认数据按行排列。 也就是说,每行是observation(orsample ),每列是随机变量。
协方差矩阵:
协方差矩阵的维数等于随机变量的数目,即每个observaTIon的维数。 有时,前方也会出现1/(m-1 ),而不是1/m。
协方差矩阵的计算公式
在统计学和概率论中,协方差矩阵是矩阵,各元素是各向量元素之间的协方差。 这是从标量随机变量到帅气虾随机向量的自然传播。
协方差矩阵的计算方法
举个例子,矩阵x是按行排列的。
1 .求出各维度的平均值
2 .从x的各列中减去平均值
其中:
3 .计算协方差矩阵
注意:
我有时在书和网上看到这样的公式。 协方差矩阵:
其中X * X‘是因为原始数据集x按列排列。 也就是说:
另外,我认为关于在opencv文档中计算协方差矩阵的calcCovarMatrix函数的说明是有问题的,
在正常的CV_COVAR_NORMAL状态下,给出cov=scale * x * x’,但只有在按列排列数据时,此定义才可用。 也就是CV_COVAR_COLS。
URL:http://docs.opencv.org/modules/core/doc/operations _ on _ arrays.html? highlight=calccovarmatrix # cv.calccovarmatrix
这里有按列排列的PCA教程,请参考:
3358 ufl dl.Stanford.edu/wiki/index.PHP /主成分分析
matlab代码:
clear clc;
%数据are stored as rows。
X=[1 2 3;
311 );
Y=X;
[rows,cols]=size(x );
% getmeanofeachdimension (each column )。
均值矩阵=均值(x;
% x均值。
x=x-ones(Rows,1 ) *均值矩阵;
% get the cov矩阵。
cov矩阵=1/(rows-1 ) * (X‘ * X ) ) )
% the given’cov’function
是cov(y )