我有关于PCA的一般/基本问题。
这个想法是通过只关注最相关的方面来消除数据中的冗余,但是,除非我弄错了,否则这并不需要实际考虑更少的特征,只需要少量的所有特征的叠加。涉及的功能。因此,例如,如果您从10个特征开始,则您有一个具有100个值的协方差矩阵,其中只有55个是独立的(由于对称性)。一旦你找到了协方差矩阵的特征向量,如果你保留,说前两位,你就可以把你看到的东西数从55减少到20.我对此是否正确?此外,还有更深入的方法可以从PCA输出中了解哪些功能不太相关且可以从分析中删除?
另外,假设你需要保留8个特征向量来包含98%的方差。虽然您有一个有用的基础来描述您的系统,但您在数据的简单性和紧凑性方面真的获得了什么吗?
我是新手,所以非常感谢您提供的任何帮助/建议。
答案 0 :(得分:0)
我们的想法是通过仅关注最相关的方面来消除数据中的冗余
几乎。 PCA只是在正交基础上表示您的数据。此基础仍具有与原始数据相同的维度。什么都没有丢失......降维部分完全取决于您。 PCA确保的是,新投影的前k维是您的数据可能表示为的最佳k维。最好是关于解释的方差。
这并不需要实际查看更少的功能,只是所涉及的所有功能的少量叠加。
是的 - 我们不会减少功能的数量,只减少维度的数量。新尺寸是原始特征的线性组合。在大多数情况下,这些新尺寸在原始特征方面没有多大意义。即第一个主要成分可能是= 2.5 * A列 - 0.5 * B列+ 0.3 * C列。谁知道这意味着......
一旦你找到了协方差矩阵的特征向量,如果你保留,比如前两个,你就可以减少你从55到20看的东西的数量。我对此纠正了吗?
我不确定你的意思&#34;看着&#34;。我一般不看协方差矩阵。如果你有50个变量怎么办? 100?这是眼球的很多条目:)当进行缩小时,我们通常关心由前k个特征向量解释的变化。如果k < p,然后我们&#34;看着&#34; k维而不是p维。
此外,还有更深入的方法可以从PCA输出中了解哪些功能不太相关且可以从分析中删除?
排序。根据我的经验,当维度不是太大时,我只能提取有意义的数据。我们的想法是查看最重要的几个主要组件,并查看其中的功能的权重,看看它们是否可以揭示故事。
例如,假设您在表示成人智力分数的数据集上执行PCA,并且测量的变量为information retrieval
,pattern completion
,arithmetic
等...并说出您的顶部2个特征向量如下:
PC1 = - 0.5 * info - 0.3 * pattern - 0.1 * arithmetic
PC2 = + 0.1 * info - 0.9 * pattern - 0.01 * arithmetic
观察:
1)由于PC1
的所有分量大致相同且符号相同,这表明三个变量之间存在正协方差。这意味着,对于一维近似,人与人之间的差异主要是整体能力的差异,而不是仅仅算术的差异。
2)PC2
由pattern completion
支配,表明此任务在重要方面与区别人员测试分数的其他任务有所不同。
3)与其他测试指标相比,arithmetic
似乎没有发挥重要作用。也许这个功能可以删除?
虽然您有一个有用的基础来描述您的系统,但您在数据的简单性和紧凑性方面真的获得了什么吗?
这一切都取决于你从8个维度而不是10个维度获得的价值。如果前两个或三个是重要的(比如说60%,70%的方差解释),那么绘制它们可能会产生一些洞察力。否则,PCA也可以用作进一步分析的预处理步骤。
答案 1 :(得分:0)
你的理解有点困惑。如果您有10个原始功能,那么PCA将生成10个新功能,并删除所有相关性。然后,您可以选择这些新功能的前k个,其中选择了action=""
,以便保留大量差异。
假设您需要保留8个特征向量以包含98%的特征向量 差异。
当原始功能之间几乎没有相关性时,会发生这种情况。 PCA通过删除相关性来工作,因此如果开始时几乎没有相关性,那么您将需要许多新功能(在您的情况下为8个)以保留大量差异。
这个PCA tutorial是一个非常容易阅读的关于这个主题的介绍。它可能会回答您的所有问题。还有很多关于这个主题的统计学或机器学习教科书。