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:  这个不清楚是怎么回事