我希望这适合这个论坛:我是 PCA 的新手,我最终想做的是对我的数据集进行聚类分析。
我有 20 个生物体的物理描述符变量,每个变量都有 300 个数据点。我制作了一个相关矩阵来查看哪些变量可能相互关联,其中我发现有许多变量相互关联。
在对我的数据集进行聚类分析之前,我想从分析中删除任何冗余变量(那些没有真正贡献任何东西的变量)。我进行了 PCA,发现 3 个主成分约占我数据方差的 90%。我的问题与我如何解释此输出有关:我是否需要确定这三个主要成分中包含哪些变量,然后删除未包含的变量?这甚至是识别没有为数据集贡献任何信息的变量的正确方法吗?
对于上下文:我最终想要做的是减少描述生物群所需的变量数量,这将允许我对共享这些物理描述符(但没有收集数据)的其他生物进行建模。
编辑
谢谢大家的建议。@hssay:您强调了一个我想知道的问题:是对原始数据还是对我的 PCA 输出进行聚类分析。派生的新变量缺乏可解释性这一事实无疑让我停下来重新考虑我的方法。谢谢你的澄清。
如果我要对派生变量进行聚类分析,是否可以在聚类后提取/识别原始变量,或者它们是否丢失?例如。如果我要对主成分进行聚类分析,则聚类本身对于我提到的其他生物体(即从原始数据集中显示某些物理特征的生物体,但对于那些测量不存在)。原因是,集群将由派生变量组成,而不是真实世界的物理描述符变量。那是对的吗?
@Paul Siegel 感谢您的警告。我的数据不是分类的,但我同意你的观点。我会看看你建议的其他方法。
@Frank Harrell我不使用R,只使用matlab,并且希望我的代码只使用一种语言......不过,我肯定会看看你建议的功能代码/阅读。
@DJohnson。谢谢!我会试试你的方法。