主成分分析和多维缩放之间有什么区别?


Answers:


95

Classic Torgerson的度量MDS实际上是通过将距离转换为相似度并对它们执行PCA(特征分解或奇异值分解)来完成的。[ 此过程的另一个名称(distances between objects -> similarities between them -> PCA其中,载荷是所需的坐标)是Principal Coordinate Analysis或PCoA。]因此,PCA可能被称为最简单MDS的算法。

非度量MDS基于迭代 ALSCAL或PROXSCAL算法(或与之相似的算法),它是一种比PCA更为通用的映射技术,也可以应用于度量MDS。尽管PCA会为您保留 m个重要的尺寸,但是ALSCAL / PROXSCAL使配置适合m个尺寸(您预先定义了m),并且它比PCA通常能够更直接,准确地再现地图上的差异(请参见下面的插图部分)。

因此,MDS和PCA可能不在同一水平线上或彼此相对。PCA只是一种方法,而MDS是一类分析。作为映射,PCA是MDS的特殊情况。另一方面,PCA是因子分析的一种特殊情况,它是一种数据缩减,不仅仅只是一个映射,而MDS仅仅是一个映射。

至于有关公制MDS和非公制MDS的问题,无可奉告,因为答案很简单。如果我认为我的输入差异非常接近欧几里得距离,以至于线性变换足以将它们映射到m维空间中,那么我将首选度量MDS。如果我不相信,则必须进行单调变换,这意味着要使用非度量MDS。


给读者的术语说明。在大量有关MDS的文献中,术语“ MDS”(CMDS)可能有两种不同的含义,因此模棱两可,应避免使用。一个定义是CMDS是Torgerson度量MDS 的同义词。另一个定义是CMDS是具有单个矩阵输入的MDS(通过任何算法;度量或非度量分析)(因为存在同时分析多个矩阵的模型-单独的“ INDSCAL”模型和复制模型)。


答案的插图。点云(椭圆)被映射到一维mds映射上。一对点用红点显示。

在此处输入图片说明

迭代或“真实” MDS旨在直接重建对象之间的成对距离。因为这是任何MDS任务。各种应力或失配的标准可之间被最小化Ò在riginal距离和距离 AP:,,。这样,算法可以(非度量MDS)或可以不(度量MDS)包括单调变换。DoDm22Do2Dm21DoDm1

基于PCA的MDS(Torgerson或PCoA)不是直的。它将原始空间中的物体与其在地图上的图像之间的平方距离最小化。这不是真正的MDS任务;作为MDS,只有在丢弃的初级主轴很弱的情况下它才能成功。如果比解释的方差大得多,则前者可以单独充分反映云中的成对距离,特别是对于沿椭圆距离很远的点。迭代MDS总是会获胜,尤其是在需要非常低维的地图时。当云椭圆变薄时,迭代MDS也将获得更大的成功,但是比PCoA更好地完成mds任务。通过双重浓度矩阵的属性(此处描述P1P2),看来PCoA使最小化,这不同于上述任何最小化。Do22Dm22

PCA再一次将云计算的观点投射在最有利的全机节省子空间上。它不会像成对的 MDS那样投影成对的距离方面最节省的子空间上的点的相对位置。但是,从历史上看,PCoA / PCA被认为是度量MDS的方法之一。


3
(+1)我都喜欢这两个答案,这个答案可能还要多一点。
Dmitrij Celov

与PCoA相关的PDF链接。:它可以在Web档案中找到web.archive.org/web/20160315120635/http://forrest.psych.unc.edu/...
皮埃尔

49

嗯... 完全不同。在PCA中,将为您提供多元连续数据(每个主题的多元向量),并且您试图弄清楚是否不需要太多维度来概念化它们。在(公制)MDS中,为您提供了对象之间的距离矩阵,并且您试图找出这些对象在空间中的位置(以及是否需要1D,2D,3D等空间)。在非度量MDS中,您仅知道对象1和2比对象2和3更远,因此您在找到尺寸和位置之前尝试对其进行量化。

凭着丰富的想象力,您可以说PCA和MDS的共同目标是可视化2D或3D对象。但是,鉴于输入的差异如何,在任何多元教科书中都不会将这些方法讨论为遥远相关。我猜想您可以将可用于PCA的数据转换为可用于MDS的数据(例如,通过使用样本协方差矩阵计算对象之间的马氏距离),但这会立即导致信息丢失:仅定义了MDS定位和旋转,后两者可以使用PCA进行更丰富的信息处理。

如果我要向某人简要介绍非度量MDS的结果,并且想让他们对它的作用有一个粗略的了解,而无需进行详细介绍,我可以说:

考虑到我们具有相似性或非相似性的度量,我们试图以这样的方式来映射我们的对象/对象,即它们组成的“城市”之间的距离应尽可能接近这些相似性度量。但是,我们只能将它们完美地映射在维空间中,因此我在这里表示两个最有用的维-就像您在PCA中显示两个主要主成分的图片时所做的那样。n


18
PCA是否不应用于等价于在标准变量上计算出具有欧式距离的MDS的相关矩阵上?
chl

因此,如果我要向某人简要介绍非度量MDS的结果,并想让他们对它的工作有一个粗略的了解而又不做详细介绍,我是否可以说“这与PCA有点相似”而不会引起误解?
弗雷亚·哈里森

6
我会说:“鉴于我们具有相似性或异同性的度量,我们试图以这样的方式映射对象/对象,即它们构成的“城市”之间的距离与这些相似性度量一样接近。我们只能制作它们。我们只能在维空间中完美地映射它们,所以我在这里表示的是最有用的尺寸-有点像在PCA中显示两个主要主成分的图片时所做的那样。” n
StasK 2011年

+1酷-对我来说,此评论很好地与您的答案联系在一起。谢谢。
Freya Harrison

47

两种度量标准MDS

度量多维缩放(MDS)的任务可以抽象地表示为:给定点个点之间的成对距离矩阵 ,在找到数据点的低维嵌入,使得它们之间的欧式距离近似于给定距离:n×nDnRk

xixjDij.

如果在通常的重建错误意义上理解“近似”,即目标是最小化称为“应力”的成本函数:则解决方案等同于PCA。该解决方案没有任何封闭式给出,必须通过专用的迭代算法进行计算。

StressDxixj2,

“经典MDS”(也称为“托格森MDS”)用一个相关但不等价的成本函数代替了该成本函数,称为“应变”:它试图使中心标量积而不是距离的重构误差最小。事实证明,可以从计算(如果是欧几里得距离),并且最小化重构误差正是PCA所做的,如下一节所示。

StrainKcxi,xj2,
KcDDKc

欧几里得距离上的经典(托格森)MDS等效于PCA

让数据在矩阵被收集的与在列中的行的观察和特征尺寸。令为减去列均值的中心矩阵。Xn×kXc

然后PCA等于做奇异值分解,其中列是主要成分。获取它们的一种常见方法是通过协方差矩阵,但是另一种可能的方法是执行的特征分解Gram矩阵:主成分是其特征向量,由平方根缩放各自的特征值。Xc=USVUS1nXcXcKc=XcXc=US2U

很容易看到,其中是矩阵。由此,我们立即得出其中是无中心数据的Gram矩阵。这很有用:如果我们拥有未居中数据的Gram矩阵,则可以直接将其居中,而无需回到本身。此操作有时称为Xc=(I1n1n)X1nn×n

Kc=(I1nn)K(I1nn)=K1nnKK1nn+1nnK1nn,
K=XXXdouble-centering(双重居中):请注意,这等于从减去行均值和列均值(并加回减去两次的全局均值),因此行均值和列 均等于零。KKc

现在考虑成对的欧几里德距离的矩阵,其中。可以将此矩阵转换为以便执行PCA吗?原来答案是肯定的。n×nDDij=xixjKc

实际上,根据余弦定律,我们看到 所以与仅在于某些行和列常量(此处表示元素方的正方形!)。这意味着如果我们将它双居中,则会得到:

Dij2=xixj2=xix¯2+xjx¯22xix¯,xjx¯=xix¯2+xjx¯22[Kc]ij.
D2/2KcD2Kc
Kc=(I1nn)D22(I1nn).

这意味着从成对的欧几里得距离的矩阵开始,我们可以执行PCA并获得主成分。这正是经典(Torgerson)MDS所做的:,因此其结果等效于PCA。DDKcUS

当然,如果选择其他距离度量代替,那么传统的MDS还会产生其他结果。xixj

参考:《统计学习的要素》,第18.5.2节。


我不得不承认,我还没有想过:但这是一个“合理性检查”,我想知道:从矩阵的维度来看,您的Gram矩阵不应该是,即?XXTn×n
cbeleites

谢谢,@ cbeleites,您当然是对的-这只是一个错字。现在将修复它。如果您遇到其他错误,请告诉我(或随时直接进行编辑)。
变形虫

1
+1。并感谢您通过数学显示我的回答的第一段中所说的内容。
ttnphns

2
+1我希望这是被接受的/最重要的答案。我认为这很容易做到。
朱巴卜

35

如果使用欧几里德距离,则PCA产生与经典MDS完全相同的结果。

我引用了Cox&Cox(2001),第43-44页:

主成分分析和PCO [主坐标分析,又称经典MDS]之间存在二重性,其中相异性由欧几里得距离给出。

Cox&Cox中的部分非常清楚地说明了这一点:

  • 假设您有 =产品的属性,维度为均值居中Xnp
  • 通过找到协方差矩阵(除以n-1)的特征向量来获得称为特征向量和特征值。XXξμ
  • 通过首先将转换为距离矩阵(此处为欧几里得距离,即,然后找到特征向量(称为特征向量和特征值来获得MDS 。XXXvλ
  • p 43:“众所周知,的特征值与的特征值相同,外加np个零特征值。” 因此,对于, =XXXXi<pμiλi
  • 回到特征向量的定义,考虑第特征值。 ithXXvi=λivi
  • 将与预乘,得到viX(XX)Xvi=λiXvi
  • 我们也有。由于,对于,我们得到。XXξi=μiξiλi=μiξi=Xvii<p

2
我用R语言进行了一些编码,并使用cmdscale作为PCA的经典MDS和prcomp的实现-但是结果不一样,我有没有遗漏的地方?
user4581 2015年

3
same results as classical MDS。在这里,“经典MDS”必须表示Torgerson的MDS。随后的声明确实是真实的,托格森的MDS 实际PCA(只能从距离矩阵开始)。如果以不同的方式定义“经典MDS”(请参阅​​我的回答),则该陈述不正确。
ttnphns

7
等等,XX'如何提供欧几里德距离?XX'是一种内部乘积-如果矩阵是标准的,则它将产生余弦相似度。欧几里得距离需要减去和平方根。
ShainaR

@ user1705135我对您的观点5感到困惑。应该不是吗?XXvi=λivi
迈克尔·迈克尔

4

比较:当我们研究使用SVD获得最佳值的方式时,“度量MDS给出的SAME结果与PCA相同”。但是,保留的高维标准不同。PCA使用居中协方差矩阵,而MDS使用通过双居中距离矩阵获得的gram矩阵。

将把差数学:PCA可以被看作是最大化超过下约束是正交的,从而给轴/主要部件。在多维缩放中,从中行之间的欧式距离计算出gram矩阵(可以表示为的psd矩阵),并且在上将其最小化。最小化:。Tr(XT(I1neeT)X)XXZTZXY||GYTY||F2

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.