主成分分析输出的结论


9

我试图了解按以下方式进行的主成分分析的输出:

> head(iris)
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa
> res = prcomp(iris[1:4], scale=T)
> res
Standard deviations:
[1] 1.7083611 0.9560494 0.3830886 0.1439265

Rotation:
                    PC1         PC2        PC3        PC4
Sepal.Length  0.5210659 -0.37741762  0.7195664  0.2612863
Sepal.Width  -0.2693474 -0.92329566 -0.2443818 -0.1235096
Petal.Length  0.5804131 -0.02449161 -0.1421264 -0.8014492
Petal.Width   0.5648565 -0.06694199 -0.6342727  0.5235971
> 
> summary(res)
Importance of components:
                          PC1    PC2     PC3     PC4
Standard deviation     1.7084 0.9560 0.38309 0.14393
Proportion of Variance 0.7296 0.2285 0.03669 0.00518
Cumulative Proportion  0.7296 0.9581 0.99482 1.00000
> 

我倾向于从上述输出中得出以下结论:

  1. 方差的比例表示特定主成分的方差中有多少总方差。因此,PC1变异性解释了数据总变异的73%。

  2. 显示的旋转值与某些说明中提到的“载荷”相同。

  3. 考虑到PC1的旋转,可以得出以下结论:Sepal.Length,Petal.Length和Petal.Width是直接相关的,并且它们都与Sepal.Width成反比(在PC1的旋转中负值)

  4. 植物中可能存在一个因素(某些化学/物理功能系统等)可能会影响所有这些变量(一个方向上的Sepal.Length,Petal.Length和Petal.Width以及相反方向的Sepal.Width)。

  5. 如果要在一张图中显示所有旋转,则可以通过将每个旋转乘以该主成分的方差比例来显示它们对总变化的相对贡献。例如,对于PC1,旋转的0.52,-0.26、0.58和0.56都乘以0.73(PC1的比例方差,显示在summary(res)输出中。

我对上述结论正确吗?

关于问题5的编辑:我想在一个简单的条形图中显示所有旋转,如下所示: 在此处输入图片说明

由于PC2,PC3和PC4对变化的贡献逐渐减小,因此调整(减少)那里变量的负载是否有意义?


关于(5):您所谓的“载荷”实际上不是载荷,而是协方差矩阵的特征向量,也就是主轴方向,又是主轴。“载荷”是特征向量乘以其特征值的平方根,即乘以解释方差比例的平方根。加载具有许多不错的属性,并且对于解释很有用,请参见例如以下线程:PCA中的加载vs本征向量:何时使用一个或另一个?因此,是的,仅使用已解释方差的平方根来缩放特征向量就很有意义。
变形虫2015年

@amoeba:在PCA,旋转或荷载的双线图中绘制了什么?
rnso 2015年

最常见的是绘制载荷,请在此处查看我的答案以进行进一步讨论。
变形虫

Answers:


9
  1. 是。这是正确的解释。
  2. 是的,旋转值指示组件加载值。prcomp 文档已确认了这一点,尽管我不确定为什么他们将这部分标记为“旋转”,因为这意味着负载已使用某种正交(可能)或倾斜(不太可能)的方法进行了旋转。
  3. 虽然确实确实出现了Sepal.Length,Petal.Length和Petal.Width都呈正相关的情况,但我不会在PC1上的Sepal.Width的较小负负载中放太多库存;它在PC2上的加载能力更强(几乎唯一)。需要明确的是,Sepal.Width仍可能与其他三个变量负相关,但似乎与第一个主成分并没有密切关系。
  4. 基于这个问题,我想知道使用公因子(CF)分析而不是主成分分析(PCA)是否会更好。当您的目标是揭示有意义的理论尺寸时,CF更适合作为一种数据缩减技术,例如,您假设的工厂因素可能会影响Sepal.Length,Petal.Length和Petal.Width。我很感激您来自某种生物科学-也许是植物学-但Fabrigar等人(1999年;威达曼(Widaman),2007年)等人在《心理学》上有一些关于PCA诉CF区分的出色著作。两者之间的核心区别是PCA假定所有方差都是真实分数方差-不假设误差-而CF在提取因子和估计因子负载之前将真实得分方差从误差方差中划分出来。最终,您可能会得到一个外观相似的解决方案(有时人们会这样做),但是当他们出现分歧时,PCA往往会高估加载值,而会低估组件之间的相关性。CF方法的另一个好处是,您可以使用最大似然估计来执行负载值的显着性检验,同时还可以获得一些指标,这些指标可以说明您选择的解决方案的好坏程度(1个因素,2个因素,3个因素或4个因素)说明了数据。
  5. 我将按您的方式绘制因子加载值,而不用它们各自分量的方差比例对它们的条进行加权。我了解您想尝试通过这种方法显示的内容,但是我认为这可能会导致读者误解分析中的组件加载值。但是,如果您想要一种直观的方式来显示每个组件所占的方差的相对大小,则可以考虑操纵组条的不透明度(如果使用ggplot2,我相信这是通过alpha美学),基于每个组件所解释的差异比例(即,更多的纯色=解释的差异更多)。但是,根据我的经验,您的图不是表示PCA结果的典型方法,我认为一张或两张表(载荷+方差在一个解释中,组件相关性在另一个表中)会更直接。

参考文献

Fabrigar,LR,Wegener,DT,MacCallum,RC和Strahan,EJ(1999)。评估探索性因素分析在心理学研究中的应用。心理学方法4,272-299。

威达曼(KF)(2007)。共同因素与组成部分:原则和原则,错误和误解。在R. Cudeck和RC MacCallum(编)中,因子分析为100:历史发展和未来方向(第177-203页)。新泽西州Mahwah:劳伦斯·埃尔鲍姆(Lawrence Erlbaum)。


2
+1,这里有很多优点。Re(2):协方差矩阵的特征向量在这里称为“旋转”,因为PCA本质上是坐标系统的旋转,因此新坐标系与特征向量对齐。这与因子分析中的“因子的正交/斜旋转”无关。关于(5):我不确定我是否理解你的意思,我也不了解OP如何“在一张图中”“显示”特征向量。OP可能会想到类似biplot的东西。然后,是的,特征向量通常由特征值缩放,但由其平方根缩放。
变形虫

尽管您的主题很好用花卉为主题的情节,@rnso :)
jsakaluk

1
  1. 不,不是数据的总方差。您想要以4个主要成分表示的数据的总方差。通过添加更多的主成分,您总是可以找到更多的总方差。但这会迅速衰减。
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.