1

我了解了 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 是两组变量,测量该组内相同的事物。对此的任何建议将不胜感激。

4

1 回答 1

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, :)')

在此处输入图像描述

于 2013-11-01T10:04:42.597 回答