R:FactoMineR做PCA

Python019

R:FactoMineR做PCA,第1张

本文摘自: R 语言主成分分析(PCA)实战教程

方便个人学习和查阅

安装依赖:

数据准备:

1. 相关曲线作图

2. 代表质量作图

corrplot展示各变量对各主成分的代表质量

各变量对一二主成分的代表质量柱形图(通过值的叠加显示)

各变量相关图,颜色代表代表质量

3. 变量对主成分的贡献作图

各变量对第二主成分的贡献

各变量对第一二主成分的总贡献

各变量相关图,颜色展示贡献度

factoextra包中的get_pca_ind()提取个体坐标,相关性,cos2 和贡献率

1. 观测值坐标图

2. 观测值坐标图,cos2着色

3. 观测值坐标图,cos2着色,cos2大小

4. 观测值柱形图,cos2代表质量

5. 观测值柱形图,contrib贡献

1. 数据准备

2. PCA展示,添加椭圆,自定义颜色

3. PCA展示,添加椭圆,分组颜色

4. PCA展示,添加多边形,分组颜色

biplot 展示了两方面内容:根据前两个主成分,每个观测的得分;根据前两个主成分,每个变量的载荷。

1. PCA biplot

2. PCA biplot,添加椭圆

3. PCA biplot,添加椭圆,点大小

在二维或者更高维的空间里,数据的聚类往往需要添加一个“置信区间”。仿照一维空间的数据,置信区间往往相对于点估计而来的,在统计学中,一个概率样本的置信区间(Confidence interval)是对这个样本的某个总体参数的区间估计。置信区间展现的是这个参数的真实值有一定概率落在测量结果的周围的程度,其给出的是被测量参数的测量值的可信程度,一般我们用95%置信区间来表示。

那么二维空间的数据也是如此,二维空间的置信区间往往利用置信椭圆来描述,展现真实值的可信程度,一般我们用95%置信椭圆来表示。

为什么是置信椭圆呢, 往往是因为我们的而数据分布形似椭圆

本文若无特殊说明,椭圆的中心都在左边原点,与图片略微不符

我们先看最简单的,轴对齐型的,比方说椭圆长轴平行于x轴

我们首先计算随机变量x和y的协方差矩阵,根据协方差矩阵计算该矩阵的特征向量(上图绿色为椭圆短轴方向的特征向量;粉红色为椭圆长轴方向的特征向量),我们定义椭圆长轴方向的特征向量为v1,椭圆短轴方向的特征向量为v2;而特征向量大小为特征值,我们定义椭圆长轴方向的特征值为λ1,椭圆短轴方向的特征值为λ2。

此时椭圆的长轴为:

椭圆的短轴为:

有了上面的介绍,那么任意位置的椭圆无非是满足数据中心不在原点,且椭圆长轴与x轴正方向夹角为任意角α。并以此来建立椭圆方程,画出置信椭圆(可见数据中心化可以简便很多计算)

如果是利用ggplot画置信椭圆,例如对PCA或者PCoA降维后的二维结果进行画图

我们利用 stat_ellipse() 画置信椭圆

或者利用一些R包“car”来画

参考:

置信椭圆原理1

置信椭圆原理2

ggplot画置信椭圆

car画置信椭圆