Matlab 主成分分析函数pcacov代码剖析

调用格式:

[coeff,latent,explained] = pcacov(V)
  1. 这个函数针对已经求出的协方差矩阵进行计算。要结合cov函数才能进行完整的pca分析。
  2. 这个函数可以查看Matlab提供的源代码,其中清晰明了的展示了计算过程。
  3. 输出变量:
    -coeff: 特征向量(注意与pca函数的变量score进行区分);
    -latent: 特征值;[~,latent,coeff] = svd(v); 其实这里可以用eig函数替代latent = diag(latent);
    -explained:每个特征值占比,字面上即每个特征值对系统有多少解释,用百分比表示。explained=100*latent/sum(latent);

实例:

load hald
covx = cov(ingredients);
[COEFF,latent,explained] = pcacov(covx)
COEFF =
  0.0678 -0.6460  0.5673 -0.5062
  0.6785 -0.0200 -0.5440 -0.4933
 -0.0290  0.7553  0.4036 -0.5156
 -0.7309 -0.1085 -0.4684 -0.4844

latent =
  517.7969
  67.4964
  12.4054
  0.2372

explained =
  86.5974
  11.2882
  2.0747
  0.0397

可以看到前个特征值占据了超过97%的比例,完全可以将系统降维到2阶pca空间。

猜你喜欢

转载自blog.csdn.net/huangzhywin/article/details/89315143