Matlab princomp函数浅析
matlab中的princomp函数主要是实现主成分分析的功能,有1一个输入参数,4个返回参数,形式如下:
[coef, score, latent, t2] = princomp(X)
输入:
X为一个M*N维矩阵,即共有M个样本,每个样本的维度是N维
输出:
score: M*N维矩阵,是经过主成分分析变换(即是KL变换)后的数据,是对原始数据的分析,进而在新的坐标系下生成的数据,并且将这N维数据按贡献率由大到小排列
latent: N*1维矩阵,每一个数据对应score里相应维的贡献率,因为每个样本有N维数据,所以latent有N维,也是由大到小排列的
coef: N*N维矩阵,即是系数矩阵,通过coef可以知道X是怎样转成score的,此处的转换,是对输入X的主成分进行了零均值化(参考《模式识别 第三版 张学工》P164) 的处理的,即:
score = (X - miu(X)) * coef
coef 矩阵中,每一列都是Sigma的一个特征向量,Sigma是输入X的协方差矩阵
t2: 这个不清楚是怎么回事