置信椭圆与R画法

Python016

置信椭圆与R画法,第1张

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

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

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

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

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

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

此时椭圆的长轴为:

椭圆的短轴为:

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

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

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

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

参考:

置信椭圆原理1

置信椭圆原理2

ggplot画置信椭圆

car画置信椭圆

使用R语言为PCA散点图加置信区间的方法,我知道的有三种,分别是使用ggplot2,ggord,ggfortify三个包去绘制。后面两个R包是基于ggplot2的快捷返方法。

现在拿一组数据集为例,使用先R中的prcomp()基础函数完成主成分分析

1、可以使用R语言为PCA散点图加置信区间的方法,拿一组数据集为例,PCA得分图的置信椭圆使用R中的prcomp基础函数完成主成分分析。

2、然后使用ggplot2可视化,提取不同记录的PC1-PC8数值,即点的横纵坐标值就能得到两个椭圆。