PCA是相关性还是协方差?


153

在相关矩阵和协方差矩阵上执行主成分分析(PCA)之间的主要区别是什么?他们给出相同的结果吗?


2
回复较晚,但您可以在里昂的生物信息学部门的多变量数据分析“法语”中找到非常有用的讲义。这些来自R ade4软件包的作者。它是法语的。
chl 2010年

3
有关其他讨论,请访问stats.stackexchange.com/questions/62677/…
Whuber

Answers:


130

当变量比例相似时,倾向于使用协方差矩阵;当变量比例不同时,倾向于使用相关矩阵。

使用相关矩阵等效于标准化每个变量(均值0和标准差1)。通常,具有和不具有标准化的PCA都会得出不同的结果。尤其是当比例不同时。

例如,看一下这个R heptathlon数据集。一些变量的平均值约为1.8(跳高),而其他变量(行程800m)约为120。

library(HSAUR)
heptathlon[,-8]      # look at heptathlon data (excluding 'score' variable)

输出:

                   hurdles highjump  shot run200m longjump javelin run800m
Joyner-Kersee (USA)   12.69     1.86 15.80   22.56     7.27   45.66  128.51
John (GDR)            12.85     1.80 16.23   23.65     6.71   42.56  126.12
Behmer (GDR)          13.20     1.83 14.20   23.10     6.68   44.54  124.20
Sablovskaite (URS)    13.61     1.80 15.23   23.92     6.25   42.78  132.24
Choubenkova (URS)     13.51     1.74 14.76   23.93     6.32   47.46  127.90
...

现在让我们对协方差和相关进行PCA:

# scale=T bases the PCA on the correlation matrix
hep.PC.cor = prcomp(heptathlon[,-8], scale=TRUE)
hep.PC.cov = prcomp(heptathlon[,-8], scale=FALSE)

biplot(hep.PC.cov)
biplot(hep.PC.cor)  

相关或协方差的PCA

注意,协方差的PCA由run800m和主导javelin:PC1几乎等于run800m(解释了82的方差),PC2几乎等于javelin(一起解释了97的方差)。相关性的PCA信息量更大,并揭示了数据中的某些结构以及变量之间的关系(但请注意,解释的方差分别下降到6471)。

还请注意,无论使用协方差矩阵还是相关矩阵,离群个体(在数据集中)都是离群值。


如果我先将变量转换为z分数,那是什么情况?
Jirka-x1

9
@ Jirka-x1标准化变量的协方差矩阵(即z得分)等于相关矩阵。
亚历克西斯

@Alexis是否因此可以推断出标准化变量的协方差矩阵等于标准化变量的相关矩阵?
jb

1
@JamieBullock (协方差矩阵),用于标准化的数据= - [R (相关矩阵)。R = R数据是否标准化(相关性对数据的线性变换不敏感。因此,例如,如果您有XY且它们与r X Y相关,则X = a X + bY = a Y + b X Y 也与r X Y相关Σ[R[R=[RXÿ[RXÿX=一种X+bÿ=一种ÿ+b Xÿ[RXÿ)。
亚历克西斯(Alexis)2017年

一个重要的注意事项:在PCA中使用协方差时,您的PC之间不会相互关联,这对于基于关联的PCA并不适用。当打算在多线性解释变量集中进行回归之前执行PCA时,这一点尤其重要。但是,背后的理论尚不清楚。有人可以阐明这种区别吗?
ouranos

54

伯纳德·弗鲁里(Bernard Flury)在其出色的书中介绍了多元分析,将其描述为主要成分的反属性。实际上比在相关性或协方差之间进行选择更糟糕。如果您更改单位(例如,美国风格的加仑,英寸等和欧盟风格的公升,厘米),您将得到数据的实质不同的投影。

反对自动使用相关矩阵的观点是,这是标准化数据的一种非常残酷的方式。自动使用协方差矩阵的问题(在该庚烷酮数据中非常明显)是,方差最高的变量将控制第一个主成分(方差最大化属性)。

因此,“最佳”使用的方法是基于主观选择,认真思考和一些经验。


46

未转换的(RAW)数据:如果对于原始的,未转换的数据,变量的标度差异很大,即每天的卡路里摄入量,基因表达,ELISA / Luminex以ug / dl,ng / dl为单位,基于以下几个顺序:蛋白质表达的幅度,然后使用相关性作为PCA的输入。但是,如果您的所有数据都基于例如具有相同范围和规模的同一平台上的基因表达,或者您正在使用对数净值资产收益,那么使用相关将抛出大量信息。

[RCC[R10010C1个[R

žC

[RC

P<0.05ñ=100

  1. [R一世=1个2100
  2. pCŤ一世=[R一世/ñ+1个
  3. ñ01个žž一世=Φ-1个pCŤ一世

pCŤ一世-1.96=Φ-1个0.025pCŤ一世=0.9751.96=Φ-1个0.975

VDW分数在遗传学中非常流行,许多变量被转换为VDW分数,然后输入到分析中。使用VDW分数的优势是可以从数据中去除偏度和异常值影响,并且如果目标是在正态性约束下进行分析,并且每个变量都必须是纯正态正态分布且没有偏度,则可以使用它或离群值。


7
这是迄今为止最明智的答案,因为它实际上给出了适当的观点,即在适当的情况下协方差会获胜。在这里和其他地方,太多的答案提到了通常的“取决于”,而实际上并没有给出为什么可能的话人们应该偏爱协方差的严格依据。在这里lep可以做到:协方差不会剔除任何相关的信息。股票数据示例是一个很好的例子:高beta股票当然会具有更高的加载量,但它们可能应该更高,就像波动更大的任何分析方法通常更有趣(在一定程度上)。
Thomas Browne 2014年

3
当然,必须分析眼前的问题,以确定较高的方差是否是分析的一个有趣方面。如果不是,那么相关性当然更好,如果单位不同,那肯定成立。
托马斯·布朗

好答案+1。我猜还有一个例子可能是将PCA应用于金融债券收益率的期限结构分析。不同到期日收益率的差异有所不同,但由于它们都是收益率,因此变化的规模通常不会超出可接受范围。实际上,某些到期收益率的波动性本身就提供了丰富的信息。
尼古拉斯

11

一个常见的答案是建议在变量处于相同比例时使用协方差,而在比例不同时使用相关性。但是,只有当变量的比例不是一个因素时,这才是正确的。否则,为什么会有人做协方差PCA?始终执行关联PCA会更安全。

想象一下,您的变量具有不同的度量单位,例如米和千克。在这种情况下,使用米还是厘米都没有关系,因此您可以争辩说应该使用相关矩阵。

现在考虑不同州的人口。度量单位是相同的-人数(数量)。现在,规模可能会有所不同:DC拥有600K,CA拥有38M人。我们应该在这里使用相关矩阵吗?这取决于。在某些应用程序中,我们确实希望根据状态的大小进行调整。使用协方差矩阵是建立考虑国家规模的因素的一种方法。

因此,我的答案是在原始变量的方差很重要时使用协方差矩阵,而在不重要时使用相关性。


2

我个人认为,根据最大似然主成分分析模型(MLPCA)[1,2]讨论这些选项非常有价值。在MLPCA中,需要进行缩放(甚至旋转),以便测量变量中的测量误差是独立的,并根据标准正态分布进行分布。这种缩放也称为最大似然缩放(MALS)[3]。在某些情况下,可以一起估算PCA模型和定义MALS缩放/旋转的参数[4]。

要解释基于相关性和基于协方差的PCA,则可以认为:

  1. 只要假设测量误差的方差-协方差矩阵是对角线且对角线上的元素相等,则基于协方差的PCA等效于MLPCA。然后可以通过应用概率主成分分析(PPCA)模型来估计测量误差方差参数[5]。在我研究的几种情况下,我发现这是一个合理的假设,特别是当所有测量值都是同一类型的变量时(例如,所有流量,所有温度,所有浓度或所有吸光度测量值)。实际上,可以安全地假设这些变量的测量误差是独立且相同地分布的。
  2. 只要假设测量误差的方差-协方差矩阵与对角线上的每个元素成对角线,且与相应测量变量的总体方差成正比,则基于相关的PCA等效于MLPCA。尽管这是一种流行的方法,但我个人认为在我研究的大多数情况下,比例假设都是不合理的。结果,这意味着我无法将基于相关性的PCA解释为MLPCA模型。如果(1)基于协方差的PCA的隐含假设不适用,并且(2)MLPCA解释很有价值,那么我建议改用其中一种MLPCA方法[1-4]。
  3. 当每个变量的个体方差都完全相等时,基于相关性和基于协方差的PCA将产生完全相同的结果(除了标量乘数之外)。当这些个体差异相似但不相同时,两种方法都会产生相似的结果。

如上所述,最终选择取决于您所做的假设。此外,任何特定模型的效用还取决于分析的上下文和目的。引用George EP Box的话:“所有模型都是错误的,但有些模型是有用的”。

[1] Wentzell,PD,Andrews,DT,汉密尔顿,DC,Faber,K。和Kowalski,BR(1997)。最大似然主成分分析。化学计量学报,11(4),339-366。

[2] Wentzell,PD和Lohnes,MT(1999)。具有相关测量误差的最大似然主成分分析:理论和实践考虑。化学计量学和智能实验室系统,45(1-2),65-85。

[3] Hoefsloot,HC,Verouden,MP,Westerhuis,JA和Smilde,AK(2006)。最大似然缩放(MALS)。化学计量学报,20(3-4),120-127。

[4] Narasimhan,S.和Shah,SL(2008)。使用PCA从噪声数据中进行模型识别和误差协方差矩阵估计。控制工程实践,16(1),146-155。

[5] Tipping,ME和Bishop,CM(1999)。概率主成分分析。皇家统计学会杂志:B系列(统计方法),61(3),611-622。


-1

简单明了:如果比例尺相似,则使用cov-PCA;否则,使用corr-PCA;否则,您最好有一个辩护。如有疑问,请使用F检验进行方差均等(ANOVA)。如果未通过F检验,则使用corr;否则,请使用cov。


2
-1。我不知道为什么在这里进行F检验可能有意义。PCA是一种探索性方法,而不是一种确认性方法(就像统计测试一样)。
amoeba

-5

基于比例的论点(对于以相同物理单位表示的变量)似乎很弱。想象一下一组(无因次)变量,它们的标准偏差在0.001和0.1之间变化。与标准值1相比,这两个值似乎都很小,并且波动程度相当。但是,以分贝表示时,其范围为-60 dB,而-10和0 dB。然后,这可能会被归类为“大范围”-特别是如果您要包含接近0的标准偏差,即负无穷大dB。

我的建议是同时进行基于相关和协方差的PCA。如果两者提供的是同一台(或非常相似,无论这意味着什么),那么您可以放心,您得到的答案是有意义的。如果他们提供的PC千差万别,则不要使用PCA,因为对一个问题有两种不同的答案不是解决问题的明智方法。


9
(-1)获得“对一个问题的两个不同答案”通常仅意味着您无意识地b之以鼻,而没有考虑哪种技术适合您的分析目标。这并不意味着一种或(如您所说的)两种技术都不明智,而仅仅是意味着至少一种不适用于问题或数据。此外,在许多情况下,您可以预期基于协方差的PCA和基于相关性的PCA 应该给出不同的答案。毕竟,他们正在衡量数据的不同方面。默认情况下两者都没有意义。
Whuber

实际上,在使用具有相关性和协方差的PCA时获得2个不同的答案是非常合理的。在股票情况下,这是您是否应考虑
Beta
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.