仅使用距离矩阵执行PCA


12

我想将只有成对距离的海量数据集聚类。我实现了k-medoids算法,但是运行时间太长,因此我想首先通过应用PCA减小问题的范围。但是,我知道执行此方法的唯一方法是使用我在我的情况下没有的协方差矩阵。

有没有一种方法可以仅知道成对距离来应用PCA?


1
因此,您具有要聚类的点之间的距离的大方阵。(顺便说一句,距离是多少?欧几里得?),是什么使这些点跨越维度的数量而不是点本身(基数)的数量阻碍了聚类?
ttnphns

1
点数不是“很大”(几千)。我使用的距离是这些点之间的
皮尔逊

2
但是我的问题是:您是否真的要减少维数(如果是,为什么?)或基数(点数)?因为您的问题不清楚
ttnphns 2014年

1
@ttnphns:哦,男孩,我当然只是打错了我先前的评论。为了消除可能的混乱,我现在将删除该评论,并使用正确的措词重复我在此处所说的话:“在这种情况下,减小基数意味着使距离矩阵更小(减小N)。减小维数意味着使其更低。如果不更改N,则PCA等于后者,并且对实现前一个目标并没有真正的帮助。” ñ×ñññ
变形虫说恢复莫妮卡2014年

1
我认为,最简单的方法是使用(a)群集方法或(b)这样的实现方式,或(c)如此强大的(足够的RAM)计算机来对6000个对象进行分类(我不知道为什么medoid程序感到困难。6000很大,但不是很大。)某些方法(例如K均值)需要对象X特征数据。您可以通过公制MDS在对象距离矩阵之外创建此类数据(如果再次,您的计算机/ MDS程序将允许6000个对象)。
ttnphns 2014年

Answers:


8

更新:我完全删除了我原来的答案,因为它是基于欧氏距离和标量积之间的混淆。这是我的答案的新版本。道歉。

如果用成对距离表示欧几里得距离,那么可以,可以执行PCA和查找主成分。我在回答以下问题时描述了该算法:主成分分析和多维缩放之间有什么区别?

简而言之,可以将欧几里得距离矩阵转换为居中的Gram矩阵,该矩阵可以通过特征分解直接用于执行PCA。此过程称为[经典]多维缩放(MDS)

如果您的成对距离不是欧几里得距离,则您将无法执行PCA,但仍然可以执行MDS,而该MDS将不再等同于PCA。但是,在这种情况下,MDS可能会更适合您的目的。


我使用的距离是一个相关性(皮尔森相关性),因此不是欧几里得距离。这样会起作用吗?
bigTree 2014年

1
@bigTree:如果不是欧几里得距离,则无法运行PCA。但是,您可以使用多维缩放,这是一种降维技术,它精确地使用了成对距离的矩阵(可以是任何距离)。另一个注意事项:在关于原始数据点的某些假设下(您没有),相关性可以转换为欧几里得距离。假设是:(1)具有零均值,(2)具有固定的(例如单位)长度。您的数据真的有机会吗?
变形虫说恢复莫妮卡2014年

这些都不是真实的,也不是我的数据,但是我会尝试MDS的感谢
bigTree 2014年

1
您不能使用内核PCA吗?我想那只需要成对的点积,但是我对该问题了解不多,所以我不知道这是否有意义
rep_ho

4

存在具有距离矩阵的PCA,它称为多维缩放(MDS)。您可以在Wikipedia这本书中了解更多信息

您可以R使用mds function来实现cmdscale。对于样本x,您可以检查prcomp(x)cmdscale(dist(x))给出相同的结果(prcompPCA 在哪里,dist仅计算x元素之间的欧几里得距离)


3

这看起来像是可以应用频谱聚类的问题。由于您具有成对距离矩阵,因此可以定义一个完全连接的图,其中每个节点具有N个连接,这与其在图中每个其他节点的距离相对应。由此,您可以计算图拉普拉斯算子(如果听起来很可怕,请放心,这是一个简单的计算),然后采用最小的特征向量特征值(这是与PCA不同的地方)。例如,如果采用3个特征向量,则将具有Nx3矩阵。在这个空间中,由于一些简洁的图论,这些点应该(希望)被很好地分离,这表明这是最大化集群之间的流量(或距离,在这种情况下)的最佳选择。从那里,您可以使用k均值或类似算法在3空间中进行聚类。我建议您查看此出色的演练以获得更多见解:

http://arxiv.org/abs/0711.0189


0

像协方差矩阵一样,成对距离也形成方阵。PCA只是应用于协方差矩阵的SVD(http://en.wikipedia.org/wiki/Singular_value_decomposition)。您仍然应该能够使用SVD对数据进行降维。我不确定如何解释您的输出,但是绝对可以尝试。您可以使用聚类方法,例如k均值或分层聚类。还可以看看其他降维技术,例如多维缩放。您正试图从集群中脱身吗?


安德鲁·卡西迪的答案实际上是有效的。如果您的距离量度是皮尔逊相关性,那么您实际上就是距离实际拥有协方差矩阵“太远”的标准化因素。因此,应用SVD与进行PCA基本相同。
马修·安东尼
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.