PCA是否适用于布尔(二进制)数据类型?


38

我想降低高阶系统的维数,并捕获最好在2维或1维场上的大多数协方差。我了解这可以通过主成分分析来完成,并且我在许多情况下都使用了PCA。但是,我从未将其与布尔数据类型一起使用,并且我想知道使用此集合进行PCA是否有意义。因此,例如,假设我有定性或描述性指标,并且如果该指标对该维度有效,那么我将分配“ 1”,否则将分配“ 0”(二进制数据)。因此,例如,假设您要比较《白雪公主》中的七个小矮人。我们有:

Doc,Dopey,Bashful,Grumpy,Sneezy,Sleepy和Happy,您想根据自己的特质来安排它们,方法如下:

(Lactose IntolerantA Honor RollAthleticWealthyDoc1011Dopey0000Bashful1011Grumpy1111Sneezy0110Sleepy1000Happy1100)

因此,例如,害ash是乳糖不耐症,不在A荣誉榜上。这是一个纯粹的假设矩阵,而我的真实矩阵将包含更多描述性列。我的问题是,在此矩阵上进行PCA作为查找个体之间相似性的一种方法是否仍然合适?


1
这个问题(几乎)是那个问题的重复。可以对二进制/布尔数据执行PCA,但是对此类数据进行因子分析(包括PCA,“好像”它是FA)是有问题的
ttnphns

1
通常会在不将变量居中的情况下对您的二进制数据(“当前”或“不存在”)执行PCA,因为除了原始0之外,没有理由建议原点(参考点)。因此,除了协方差,或基于相关的PCA,我们得出基于SSCP或余弦的 PCA 。这样的分析非常相似,几乎等同于多重对应分析(=同质性分析),这可能是您的选择。
ttnphns

a means of finding the similarity between individuals。但是此任务是用于群集分析,而不是PCA。
ttnphns

简短的答案:线性PCA(如果将其用作降维技术而不是将潜变量技术用作因子分析)可以用于规模(度量)数据或二进制数据。但是,不应将普通(线性)PCA与序数数据或标称数据一起使用-除非以某种方式将这些数据转换为公制或二进制(例如虚拟)。
ttnphns

@ttnphns PCA可以看作是对变量进行聚类的一种方式。同样,可以顺序
Antoine

Answers:


12

我想向您推荐一种从分类变量数据(包括二进制)中自动提取结构的相对较新的技术。该方法被称为南加州大学格雷格·范·斯蒂格的CorEx。这个想法是基于熵测度使用总相关的概念。由于它的简单性和无需调整大量的超参数,它很有吸引力。

关于分层表示的文章(最新文章建立在先前措施的基础上)。 http://arxiv.org/pdf/1410.7404.pdf


1
@AlvinNunez不客气!可以在GitHub github.com/gregversteeg/CorEx上找到python实现。确实很容易获得数据并查看结果。
Vladislavs Dovgalecs

13

您还可以使用多重对应分析(MCA),当要分析的变量是分类变量而不是定量变量时(这是二进制变量),它是主成分分析的扩展。参见例如Husson等。(2010)Abdi和Valentin(2007)FactoMineR是执行MCA(以及PC上的层次化群集)的出色R软件包。


1
一个有趣的答案,我宁愿同意。如果您更详细地解释inflation of the feature spacePCA而不是MCA中的现象及其发生原因,那么它将是非常有用的。
ttnphns

我误解了inflation of the feature space这种现象。从CA到MCA似乎正在发挥作用,但这不是PCA固有的问题。阅读您的评论后,我将删除我的答案。感谢您让我意识到这一点。
Antoine

我认为您不必删除答案。对我来说,MCA是正确的选择之一,您的回答是正确的。
ttnphns

我回加了答案,因为我认为MCA在这里可能会有所帮助,但是我删除了有关特征空间膨胀的讨论,因为它似乎
Antoine

MCA对二进制数据的结果与PCoA的结果有何不同,后者的距离量度适用于Jaccard或简单匹配之类的二进制数据?
emudrak

9

如果您认为PCA是一种探索性技术,可让您可视化变量之间的关系(我认为这是思考问题的唯一方法),那么是的,没有理由不能将二进制数放入变量。例如,这是您的数据的双图

在此处输入图片说明

似乎很有用。例如,您可以看到Doc和Bashful非常相似;人力资源与其他三个变量完全不同;昏昏欲睡和困倦非常相似,等等。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.