主成分分析方法的可视化在处理复杂数据时尤为重要,它能帮助我们理解分析结果并进行展示。在实际应用中,面对的数据集通常规模庞大且计算结果复杂,因此实现结果的数据可视化是降维分析的主要作用之一。本节将详细介绍主成分分析结果的可视化,以经典鸢尾花数据集为例进行分析。
首先,使用命令查看R语言中自带的datasets包包含的所有基本数据集,以便进行演示。然后,通过命令载入经典的鸢尾花数据集,该数据集包含每个样本的四种性状及品种信息,共有三个品种。
使用prcomp()函数对该数据集的前四列进行主成分分析,并绘制主成分得分的前两列散点图。图1展示了该数据集的内容,其中包含了样本的四种性状和品种信息。然而,该图像较为简陋,且难以区分三个品种。
为了提高可视化效果,引入专门用于主成分分析结果可视化的R包ggbiplot。ggbiplot包提供了丰富的功能,如按分组着色、分组添加不同大小椭圆、主成分与原始变量贡献度向量显示等。下面介绍ggbiplot包的安装步骤以及两个主要函数的使用方法。
01. ggbiplot包的安装:首先在cran.r-project.org/bin/...下载并安装对应版本的Rtools,随后重启RStudio。安装devtools包和ggbiplot包的步骤如下:
安装成功后,通过library(ggbiplot)加载ggbiplot包。
02. ggscreeplot()函数:该函数用于绘制碎石图,展示主成分涵盖变量信息的多少。碎石图的含义与上节提到的各主成分标准差所占标准差总和的比例相同,一般表现为先陡后缓,第一个主成分涵盖信息最多,依次减少。通过碎石图,可以根据需求选取合适的主成分数目。使用该函数绘制示例数据的碎石图。
03. ggbiplot()函数:此函数能够实现分组着色、分组添加不同大小椭圆、主成分与原始变量贡献度向量绘制等功能,其输出为ggplot2绘图。该函数使用方法如下:
关注的关键参数包括:
基于上述分析,通过以下命令对pca分析结果进行可视化,得到图4所示图像。图4展示了主成分1(解释度为73%)和主成分2(解释度为22.9%)的贡献度向量以及三个品种的区分,同时绘制了代表正常数据范围的椭圆区域,效果较好。
箭头标记了原始变量名称,表示四个原始变量对于两个主成分的贡献。箭头方向代表变量对于主成分的贡献方向,箭头长度表示综合影响的大小。图4中,Sepal.Width数据对于主成分1和2都有较大的负相关性,而Petal.Length和Petal.Width仅与主成分1呈正相关。
同样地,样本点在向量同方向上越远,则表示该样本的此原始变量具有更高的数值。此外,ggbiplot包中自带的wine数据集包含178个样本和13个变量,适用于主成分分析,读者可以自行尝试。