哪些变量组合形成PCA主成分的大部分差异?

时间:2013-11-01 09:26:08

标签: matlab pca principal-components

我了解PCA的工作原理以及如何在Matlab中实现它,但我不知道哪些变量对主成分的贡献最大。

我的问题是,假设我有变量A,B,C,D,E,F的数据集。我不知道,变量A,B,C,E几乎相同,变量D,F都衡量不同的东西。来自集合(A,B,C,E)和集合(D,F)的变量之间几乎没有相关性。

PCA告诉我,有两个主要的主要组成部分,我知道该怎么做。我不知道如何识别A,B,C,E和D,F是测量该组内相同事物的两组变量。对此有任何建议将不胜感激。

1 个答案:

答案 0 :(得分:3)

首先让我们创建一些行为与你描述的一样的数据 - 四个衡量类似东西的变量,以及两个衡量其他东西的因素。

>> x = randn(100, 1);
>> y = randn(100, 1);
>> v = [[x,x,x,x] + 0.1*randn(100,4), [y,y]  + 0.1*randn(100,2)];

现在通过调用pca

找到主要组件
>> [coeff, scores, latent, tsq, explained] = pca(v);

通过查看变量latent,我们可以看到前两个主要成分是显性的

>> latent
latent =
    5.4821
    2.0491
    0.0120
    0.0106
    0.0089
    0.0073

现在,通过查看coeff的前两行(其中包含前两个因子中六个变量中每个变量的加载量),很明显变量1-4会对第一个因子造成很大影响(蓝色)和变量5-6严重加载第二个因子(红色)。

>> bar(coeff(1:2, :)')

enter image description here