调用格式:
[coeff,latent,explained] = pcacov(V)
- 这个函数针对已经求出的协方差矩阵进行计算。要结合
cov
函数才能进行完整的pca分析。 - 这个函数可以查看Matlab提供的源代码,其中清晰明了的展示了计算过程。
- 输出变量:
-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空间。