admin管理员组

文章数量:1037775

R语言中的主成分方法:PCA分析和可视化实用指南

主成分分析(PCA)允许我们总结和可视化包含多个相互关联的定量变量描述的个体/观察的数据集中的信息。每个变量都可以被视为不同的维度。如果你的数据集中有3个以上的变量,那么可视化多维超空间可能会非常困难。

主成分分析用于从多元数据表中提取重要信息,并将这些信息表示为一组称为主成分的新变量。这些新变量对应于原始变量的线性组合。主成分的数量小于或等于原始变量的数量。

给定数据集中的信息对应于它所包含的 total variation 。PCA的目标是识别数据中变化最大的变量(或主成分)。

换句话说,PCA将多变量数据的维度减少到两个或三个主成分,可以以图形方式可视化,信息损失最小。

在本文中,我们描述了PCA的基本思想,并演示了如何使用R软件计算和可视化PCA。此外,我们将展示如何揭示解释数据集中变化的最重要变量。

基础知识

了解PCA的细节需要线性代数的知识。在这里,我们将仅用简单的数据图形表示来解释基础知识。

在下面的图1A中,数据以X-Y坐标系表示。降维是通过识别数据变化的主方向(称为主成分)来实现的。

PCA假设具有最大方差的方向是最“重要”的(即,最主要的)。

在下图中,PC1 坐标轴是样品显示最大变化的第1主成分方向。PC2 坐标轴是第2重要的主成分 ,正交线是PC1的轴。

从技术上讲,每个主成分保留的方差量是由所谓的特征值来衡量的。

注意,当数据集中的变量高度相关时,PCA方法特别有用。相关性表明数据中存在冗余。由于这种冗余,PCA可以用于将原始变量减少到更少数量的新变量(=主成分),解释原始变量中的大部分方差。

综合起来,主成分分析的主要目的是:

  • • 识别数据集中隐藏模式
  • • 通过去除数据中的噪声和冗余来降低数据的维数,
  • • 识别相关变量

计算

R包

在R软件中有几个来自不同软件包的函数可用于计算PCA:

  • • prcomp()和princomp()[内置R stats包],
  • • PCA()[FactoMineR包],
  • • dudi.pca()[ade4包],
  • • 和epPCA()[Exposition包]

无论您决定使用什么函数,您都可以使用 factoextra R包中提供的R函数轻松提取和可视化PCA结果。

在本文中,我们将使用两个包FactoMineR(用于分析)和factoextra(用于基于ggplot2的可视化)。

安装两个包如下:

代码语言:javascript代码运行次数:0运行复制
install.packages(c("FactoMineR", "factoextra"))

在R中加载它们,通过键入以下内容:

代码语言:javascript代码运行次数:0运行复制
library("FactoMineR")
library("factoextra")

数据格式

我们将使用factoextra包中的演示数据集 decathlon2 :

代码语言:javascript代码运行次数:0运行复制
data(decathlon2)
# head(decathlon2)

如图3.1所示,这里使用的数据描述了运动员在两个体育赛事(Desctar和OlympicG)中的表现。它包含27个人(运动员)由13个变量描述。

请注意,只有这些个体和变量中的一些将用于执行主成分分析。在PCA之后,将预测因子图上剩余个体和变量的坐标。

在PCA术语中,我们的数据包含:

  • • 活跃个体(浅蓝色,1:23行):在主成分分析中使用的个体。
  • • 补充个体(深蓝色,第24:27行):将使用PCA信息和使用活动个体/变量获得的参数预测这些个体的坐标
  • • 活动变量(粉色,列1:10):用于主成分分析的变量。
  • • 补充变量:作为补充个体,这些变量的坐标也将被预测。这些可以是:
    • • 补充连续变量(红色):第11列和第12列分别对应运动员的排名和积分。
    • • 补充定性变量(绿色):第13列对应于两次运动员会议(2004年奥运会或2004年Decastar)。这是一个分类(或因子)变量因子。它可以用于按组对个体进行着色。

我们首先为主成分分析划分活跃个体和活跃变量的子集:

代码语言:javascript代码运行次数:0运行复制
decathlon2.active <- decathlon2[1:23, 1:10]
head(decathlon2.active[, 1:6], 4)

数据标准化

在主成分分析中,变量通常被标度(即标准化)。当变量以不同的尺度测量时(例如:千克、公里、厘米等),特别建议这样做;否则,所获得的PCA输出将受到严重影响。

目标是使变量具有可比性。一般来说,变量被缩放为i)标准差1和ii)平均值0。

数据标准化是在PCA和聚类分析之前广泛用于基因表达数据分析的方法。当变量的平均值和/或标准差相差很大时,我们也可能想要缩放数据。

当缩放变量时,数据可以转换如下:

其中

R语言中的主成分方法:PCA分析和可视化实用指南

主成分分析(PCA)允许我们总结和可视化包含多个相互关联的定量变量描述的个体/观察的数据集中的信息。每个变量都可以被视为不同的维度。如果你的数据集中有3个以上的变量,那么可视化多维超空间可能会非常困难。

主成分分析用于从多元数据表中提取重要信息,并将这些信息表示为一组称为主成分的新变量。这些新变量对应于原始变量的线性组合。主成分的数量小于或等于原始变量的数量。

给定数据集中的信息对应于它所包含的 total variation 。PCA的目标是识别数据中变化最大的变量(或主成分)。

换句话说,PCA将多变量数据的维度减少到两个或三个主成分,可以以图形方式可视化,信息损失最小。

在本文中,我们描述了PCA的基本思想,并演示了如何使用R软件计算和可视化PCA。此外,我们将展示如何揭示解释数据集中变化的最重要变量。

基础知识

了解PCA的细节需要线性代数的知识。在这里,我们将仅用简单的数据图形表示来解释基础知识。

在下面的图1A中,数据以X-Y坐标系表示。降维是通过识别数据变化的主方向(称为主成分)来实现的。

PCA假设具有最大方差的方向是最“重要”的(即,最主要的)。

在下图中,PC1 坐标轴是样品显示最大变化的第1主成分方向。PC2 坐标轴是第2重要的主成分 ,正交线是PC1的轴。

从技术上讲,每个主成分保留的方差量是由所谓的特征值来衡量的。

注意,当数据集中的变量高度相关时,PCA方法特别有用。相关性表明数据中存在冗余。由于这种冗余,PCA可以用于将原始变量减少到更少数量的新变量(=主成分),解释原始变量中的大部分方差。

综合起来,主成分分析的主要目的是:

  • • 识别数据集中隐藏模式
  • • 通过去除数据中的噪声和冗余来降低数据的维数,
  • • 识别相关变量

计算

R包

在R软件中有几个来自不同软件包的函数可用于计算PCA:

  • • prcomp()和princomp()[内置R stats包],
  • • PCA()[FactoMineR包],
  • • dudi.pca()[ade4包],
  • • 和epPCA()[Exposition包]

无论您决定使用什么函数,您都可以使用 factoextra R包中提供的R函数轻松提取和可视化PCA结果。

在本文中,我们将使用两个包FactoMineR(用于分析)和factoextra(用于基于ggplot2的可视化)。

安装两个包如下:

代码语言:javascript代码运行次数:0运行复制
install.packages(c("FactoMineR", "factoextra"))

在R中加载它们,通过键入以下内容:

代码语言:javascript代码运行次数:0运行复制
library("FactoMineR")
library("factoextra")

数据格式

我们将使用factoextra包中的演示数据集 decathlon2 :

代码语言:javascript代码运行次数:0运行复制
data(decathlon2)
# head(decathlon2)

如图3.1所示,这里使用的数据描述了运动员在两个体育赛事(Desctar和OlympicG)中的表现。它包含27个人(运动员)由13个变量描述。

请注意,只有这些个体和变量中的一些将用于执行主成分分析。在PCA之后,将预测因子图上剩余个体和变量的坐标。

在PCA术语中,我们的数据包含:

  • • 活跃个体(浅蓝色,1:23行):在主成分分析中使用的个体。
  • • 补充个体(深蓝色,第24:27行):将使用PCA信息和使用活动个体/变量获得的参数预测这些个体的坐标
  • • 活动变量(粉色,列1:10):用于主成分分析的变量。
  • • 补充变量:作为补充个体,这些变量的坐标也将被预测。这些可以是:
    • • 补充连续变量(红色):第11列和第12列分别对应运动员的排名和积分。
    • • 补充定性变量(绿色):第13列对应于两次运动员会议(2004年奥运会或2004年Decastar)。这是一个分类(或因子)变量因子。它可以用于按组对个体进行着色。

我们首先为主成分分析划分活跃个体和活跃变量的子集:

代码语言:javascript代码运行次数:0运行复制
decathlon2.active <- decathlon2[1:23, 1:10]
head(decathlon2.active[, 1:6], 4)

数据标准化

在主成分分析中,变量通常被标度(即标准化)。当变量以不同的尺度测量时(例如:千克、公里、厘米等),特别建议这样做;否则,所获得的PCA输出将受到严重影响。

目标是使变量具有可比性。一般来说,变量被缩放为i)标准差1和ii)平均值0。

数据标准化是在PCA和聚类分析之前广泛用于基因表达数据分析的方法。当变量的平均值和/或标准差相差很大时,我们也可能想要缩放数据。

当缩放变量时,数据可以转换如下:

其中

本文标签: R语言中的主成分方法PCA分析和可视化实用指南