我可以使用 PCA 进行聚类分析的变量选择吗?

机器算法验证 聚类 主成分分析 特征选择 因子分析
2022-03-05 04:23:07

我必须减少变量的数量才能进行聚类分析。我的变量是强相关的,所以我想做一个因子分析PCA(主成分分析)。但是,如果我使用结果分数,我的聚类并不完全正确(与文献中的先前分类相比)。

问题:

我可以使用旋转矩阵为每个组件/因子选择负载最大的变量,并仅将这些变量用于我的聚类吗?

任何参考书目也会有所帮助。

更新:

一些澄清:

  • 我的目标: 我必须使用 SPSS 的两步算法运行聚类分析,但我的变量不是独立的,所以我考虑丢弃其中的一些。

  • 我的数据集: 我正在处理 100,000 个案例的 15 个标量参数(我的变量)。一些变量是强相关的( Pearson)>0.9

  • 我的疑问: 因为我只需要自变量,所以我想运行主成分分析(对不起:我在最初的问题中错误地谈到了因子分析,我的错误),并且只选择每个成分负载最大的变量。我知道 PCA 过程提供了一些任意步骤,但我发现这种选择实际上类似于 IT Jolliffe (1972 & 2002) 提出的用于选择变量的“方法 B4 ”,也是 JR King 和 DA Jackson 在 1999 年提出的.

    所以我想以这种方式选择一些自变量的子组。然后,我将使用这些组来运行不同的聚类分析,并比较结果。

4个回答

按照我的习惯,我会退后一步,问问你到底想做什么。因子分析旨在发现潜在变量。如果您想找到潜在变量并将它们聚类,那么您所做的就是正确的。但是您说您只是想减少变量的数量-而是建议进行主成分分析。

但是,对于其中任何一个,您都必须解释对新变量的聚类分析,而这些新变量只是旧变量的加权和。

你有多少变量?它们的相关性如何?如果有太多,并且它们之间的相关性非常强,那么您可以在某个非常高的数字上查找所有相关性,并从每一对中随机删除一个变量。这减少了变量的数量并使变量保持原样。

让我也回应@StasK 关于这样做的必要性,以及@rolando2 关于找到与以前发现的不同的东西的有用性。正如我最喜欢的研究生院教授常说的“如果你不感到惊讶,那你什么都没学到”。

同时进行因子分析和聚类分析的一种方法是通过结构方程混合模型。在这些模型中,您假设每个集群都有单独的模型(在本例中为因子模型)。您需要进行均值分析和协方差分析,并在更大程度上关注识别,而不是普通因子分析。从 SEM 方面接近的想法出现在Jedidi 等。人。(1997),以及从聚类方面,在Adrian Raftery 的基于模型的聚类中显然,这种类型的分析在Mplus中可用。

我认为这不是纯粹和简单的“正确性”问题,而是它是否会完成您想要做的事情。您描述的方法最终将根据某些因素以一种淡化的方式进行聚类,因为您将只使用一个指标来表示每个因素。每个这样的指标都不能完美地替代潜在的潜在因素。这是一个问题。

另一个问题是,因子分析本身,正如我(和许多其他人)所讲述的那样,充满了主观决策,包括如何处理缺失的数据、要提取的因子数量、如何提取、是否以及如何旋转等等在。因此,您可能以快速、软件默认方式提取的因素(正如我认为您暗示的那样)在任何意义上都是“最好的”,这可能还很不清楚。

那么,总而言之,您可能使用了因素的淡化版本,这些因素本身是有争议的,因为它们是表征数据背后主题的最佳方式。我不希望由这些输入变量产生的集群会是信息最多或最独特的。

另一方面,有趣的是,您认为集群成员/配置文件与其他研究人员的发现不一致是一个问题。有时,不确定的发现可能非常健康!

在您的情况下可能发生的情况是因子分析中提取的因子具有来自原始变量的补偿正负负载。这将减少作为聚类目的的可微性。

您能否将每个提取的因子分解为 2 - 一个只有正载荷,另一个只有负载荷?

用正分数和负分数替换每个因素的每个案例的因素分数,并尝试在这组新分数上进行聚类。

如果这对您有用,请加入一行。