使用主成分分析查找特征向量

时间:2013-10-14 01:06:02

标签: matlab pca svd

我们需要使用PCA找到特征向量。我们正在使用princomp(矩阵)。这给出了主成分系数,变换数据和特征值。

以下数据:

2.5 2.4
0.5 0.7
2.2 2.9
1.9 2.2
3.1 3
2.3 2.7
2   1.6
1   1.1
1.5 1.6
1.1 0.9



function PCAFinder(filein)
    X = csvread(filein);

    [pc,score,latent] = princomp(X);

    pc
    transpose(pc)

end

上述代码(pc)返回的主要组件系数

0.6779    0.7352
0.7352   -0.6779

要生成的实际特征向量:

   -0.7352    -0.6779
    0.6779   -0.7352

如何获得上述特征向量

1 个答案:

答案 0 :(得分:1)

返回的主要成分系数是数据协方差矩阵的有效特征向量矩阵。特征向量仅在正交变换时是唯一的。有关更详细的讨论,请参阅我对旧版SO问题的回答here

在这种特殊情况下,为获得矩阵之间的精确相等而进行的适当正交变换是将PC系数矩阵乘以:[0 1; -1 0]