主成分分析可以应用于包含连续变量和分类变量的数据集吗?

机器算法验证 分类数据 主成分分析 对应分析 混合类型数据
2022-01-31 11:34:54

我有一个包含连续数据和分类数据的数据集。我正在使用 PCA 进行分析,并且想知道将分类变量作为分析的一部分是否可以。我的理解是 PCA 只能应用于连续变量。那是对的吗?如果它不能用于分类数据,有哪些替代方法可以进行分析?

4个回答

虽然应用于二进制数据的 PCA 会产生与多重对应分析(因子得分和特征值线性相关)获得的结果相当的结果,但有更合适的技术来处理混合数据类型,即混合数据的多因子分析可用于FactoMineR R包 ( FAMD())。如果您的变量可以被视为描述性属性的结构化子集,那么多因素分析( MFA()) 也是一种选择。

分类变量的挑战是找到一种合适的方法来表示变量类别与因子空间中个体之间的距离。为了克服这个问题,您可以寻找具有最佳缩放比例的每个变量的非线性变换——无论是名义变量、序数变量、多项式变量还是数值变量。这在Gifi Methods for Optimal Scaling in R: The Package homals 中有很好的解释,相应的 R 包homals中提供了一个实现。

Google 搜索“离散变量的 pca”给出了 S. Kolenikov (@StasK) 和 G. Angeles 的精彩概述。为了增加 chl 的答案,PC 分析实际上是对协方差矩阵的特征向量的分析。所以问题是如何计算“正确”的协方差矩阵。其中一种方法是使用 多变量相关性

我建议看一下 Linting & Kooij,2012 年“使用 CATPCA 进行非线性主成分分析:教程”,人格评估杂志94(1)。

抽象的

本文设置为非线性主成分分析(NLPCA)教程,系统地指导读者通过罗夏墨迹测验分析人格评估的实际数据的过程。NLPCA 是线性 PCA 的一种更灵活的替代方案,可以处理具有不同类型测量级别的可能非线性相关变量的分析。该方法特别适用于分析名义(定性)和有序(例如,李克特类型)数据,可能与数字数据相结合。SPSS 中类别模块的程序 CATPCA 用于分析,但方法描述可以很容易地推广到其他软件包。

继续@Martin F 的评论,最近我遇到了非线性 PCA。当数据变得越来越稀疏时,当连续变量接近序数变量的分布时,我正在研究非线性 PCA 作为一种可能的替代方案(当变量的次要等位基因频率越来越低而你离开时,这种情况经常发生在遗传学中在计数非常少的情况下,您无法真正证明连续变量的分布是合理的,您必须通过将其设为序数变量或分类变量来放松分布假设。)非线性 PCA 可以处理这两种情况,但在与遗传学系的统计大师讨论,共识呼吁是非线性 PCA 不经常使用,并且这些 PCA 的行为尚未经过广泛测试(也许它们仅指遗传学,所以请谨慎对待)。确实,这是一个令人着迷的选择。我希望我在讨论中增加了 2 美分(幸运的是相关)。