R函数prcomp和princomp有什么区别?

机器算法验证 r 主成分分析
2022-02-06 00:16:16

我比较?prcomp?princomp发现了一些关于 Q 模式和 R 模式主成分分析 (PCA) 的信息。但老实说——我不明白。任何人都可以解释其中的区别,甚至可以解释何时应用哪个?

4个回答

它们之间的区别与它们执行的 PCA 类型无关,仅与它们使用的方法有关。正如帮助页面prcomp所说

计算是通过(居中和可能缩放的)数据矩阵的奇异值分解来完成的,而不是通过使用eigen协方差矩阵来完成。这通常是数值精度的首选方法。

另一方面,princomp 帮助页面说:

计算是使用eigen相关或协方差矩阵完成的,由 确定cor这样做是为了与 S-PLUS 结果兼容。一种首选的计算方法是使用svdon x,就像在 中所做的那样prcomp。”

因此,prcomp是首选,尽管在实践中您不太可能看到太大的差异(例如,如果您在帮助页面上运行示例,您应该得到相同的结果)。

通常对作为特征或问题的数据列进行多变量分析(计算相关性、提取潜在值等),而样本单元(即行)是响应者。因此这种方式称为R方式分析。但是,有时您可能希望对响应者进行多变量分析,而将q问题视为样本单位。那将是Q路分析。

两者之间没有形式上的区别,因此您可以使用相同的功能管理两者,只需转置您的数据。然而,在标准化和结果解释的问题上存在差异。

这是一个一般性的答复:我没有具体涉及 R 函数prcompprincomp因为我不是 R 用户,也不知道它们之间可能存在的差异。

来自 Gregory B. Anderson的有用且具体的文档,标题为PRINCIPAL COMPONENT ANALYSIS IN R AN EXAMINATION OF THE DIFFERENT FUNCTIONS AND METHODS TO PERFORM PCA提供了有关此主题的更多信息。更新链接(2021 年 1 月 7 日)。

以下两段摘自引言:

在 R 中,有两种通用方法可以在没有任何缺失值的情况下执行 PCA:(1) 谱分解(R 模式 [也称为特征分解])和 (2) 奇异值分解(Q 模式;R Development Core Team 2011)。这两种方法都可以分别使用函数 eigen (R-mode) 和 svd (Q-mode) 执行,或者可以使用 stats 包和其他附加可用包中的许多 PCA 函数执行。谱分解法考察变量之间的协方差和相关性,而奇异值分解法考察样本之间的协方差和相关性。虽然这两种方法都可以在 R 中轻松执行,但奇异值分解方法(即,

本文档侧重于比较在 R 中执行 PCA 的不同方法,并提供适当的可视化技术来检查统计包中的正态性。更具体地说,本文档比较了为 PCA 创建或可用于 PCA 的六种不同函数:eigen、princomp、svd、pr​​comp、PCA 和 pca。在整个文档中,执行这些功能的基本 R 代码使用字体 Courier New 嵌入在文本中,并使用 Tinn-R ( https://sourceforge.net/projects/tinn-r ) 中提供的技术进行颜色编码。此外,使用模拟程序比较函数的结果,以查看不同方法在输出提供的特征值、特征向量和分数方面是否存在差异。

当两者都使用协方差矩阵时,它们是不同的。在对训练数据进行缩放(归一化)时,prcomp使用作为分母,但使用作为其分母。这两个分母的区别在本教程的主成分分析中进行了解释。n1princompn

下面是我的测试结果:

> job<-read.table("./job_perf.txt", header=TRUE, sep="")
> pc.cr<-prcomp(job, scale=TRUE, cor=TRUE, scores=TRUE)
> pc.cr1<-princomp(job, scale=TRUE, cor=TRUE, scores=TRUE)
> pc.cr$scale
    commun probl_solv    logical      learn   physical appearance
  5.039841   1.689540   2.000000   4.655398   3.770700   4.526689
> pc.cr1$scale
    commun probl_solv    logical      learn   physical appearance
  4.805300   1.610913   1.906925   4.438747   3.595222   4.316028

测试数据:

commun probl_solv logical learn physical appearance 12 52 20 44 48 16 12 57 25 45 50 16 12 54 21 45 50 16 13 52 21 46 51 17 14 54 24 46 51 17 22 52 25 54 58 26 22 56 26 55 58 27 17 52 21 45 52 17 15 53 24 45 53 18 23 54 23 53 57 24 25 54 23 55 58 25