PCA和PLS中的“负荷”和“相关负荷”有什么区别?


11

做主成分分析(PCA)时,要做的一件事是相互绘制两个载荷以研究变量之间的关系。在随附的用于进行主成分回归和PLS回归的PLS R软件包的论文中,有一个不同的图,称为相关负荷图(请参见本文中的图7和第15页)。的相关性装载,因为它是解释的,是分数之间和实际观察到的数据的相关性(从PCA或PLS)。

在我看来,加载和相关加载非常相似,只是它们的缩放比例有所不同。使用内置数据集mtcars的R中的可重现示例如下:

data(mtcars)
pca <- prcomp(mtcars, center=TRUE, scale=TRUE)

#loading plot
plot(pca$rotation[,1], pca$rotation[,2],
     xlim=c(-1,1), ylim=c(-1,1),
     main='Loadings for PC1 vs. PC2')

#correlation loading plot
correlationloadings <- cor(mtcars, pca$x)
plot(correlationloadings[,1], correlationloadings[,2],
     xlim=c(-1,1), ylim=c(-1,1),
     main='Correlation Loadings for PC1 vs. PC2')

加载图 相关负荷图

这些图的解释有什么区别?哪种曲线图(如果有的话)最适合在实践中使用?


为了更好地查看pca,请使用biplot(pca),它会向您显示pca的负载和得分,因此您可以更好地对其进行解释。
保罗

6
R prcomp程序包不顾一切地将特征向量称为“载荷”。我建议将这些术语分开。载荷是按比例增加到各自特征值的特征向量。
ttnphns

1
解释加载图的几何形状:stats.stackexchange.com/a/119758/3277
ttnphns 2014年

Answers:


13

警告:R以混淆的方式使用术语“装载”。我在下面解释。

XNX=USVUSV1N1XX=VS2N1VV

“载荷”定义为列L=VSN1

1N1X(N1U)=1N1VSUU=1N1VS=L,
1L

为了消除术语上的混淆:R程序包称为“加载”的是主轴,而其所谓的“相关加载”是(对于PCA在相关矩阵上完成的)实际加载。如您所知,它们仅在缩放方面有所不同。绘制什么更好,取决于您要看什么。考虑以下简单示例:

双线

VxyLxyxy与PC1的关联比与PC2的关联要强得多。我猜想大多数人最喜欢看到正确的双图类型。

xy1

现在让我们再看一下mtcars数据集。这是在相关矩阵上完成的PCA的双图:

mtcars pca biplot

VL

这是在协方差矩阵上完成的PCA的双图:

mtcars pca biplot

100VL

PS PCA双工位有许多不同的变体,有关更多说明和概述,请参见我的回答:在PCA双工位上放置箭头。在CrossValidated上发布的最漂亮的Biplot可以在这里找到。


2
尽管这是一个非常好的答案(+1),但它在教学上有一个缺点,因为它最初会将变量放在X的行中,而不是像传统上在统计数据集/示例中那样将其放在X的列中。由于这种转置,U向量在答案中成为变量,而V在情况下。大多数了解PCA的人都习惯于相反的布局。因此有点阻碍了感知。
ttnphns 2014年

1
我可能建议口头强调扫描中“轴双图”和“载荷双图”之间差异的“道德”。首先,不显示可变性(=比例尺,=放大倍数,=惯性,=质量):它存储在特征值中。在第二种方法中,它完全放弃了代表变量的特征向量。通过这种“复活”,变量将成为有意义的两点或向量数据云,从起点和特定角度起具有特定的长度。这就是我们“突然”发现自己处于主题空间中的方式
ttnphns

XxUUxXUXXXU

1
当然,这是一个品味问题。请注意,绝大多数统计程序会将数据电子表格显示为cases X variables。然后按照传统,大多数统计分析文本中的线性代数都将案例作为行向量。也许在机器学习中是不同的?
ttnphns 2014年

1
@user_anon不,此答案考虑标准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.