什么是PCA分析?
主成分分析(Principal Component Analysis,简称PCA)是一种用于数据降维、特征选择的统计分析方法,将高维数据转换为低维数据的同时保留尽可能多的原始数据信息。
什么是主成分?
主成分(Principal Component,简称PC)是原始变量的线性组合或混合构建的新变量,代表了数据中能够解释最大方差的方向。PCA通过线性变换将原始数据从N维降为k维(N>k),得到一组k个线性无关(正交)的变量,这k个变量被称为主成分,按照方差递减的顺序排列,常被命名为PC1, PC2, …, PCk。
如何进行PCA分析?
PCA分析可分为五个步骤:
将数据集中的每列(变量)减去其均值后除以标准差,使得每个特征的均值为0,标准差为1。数据标准化可以消除尺度影响,确保各个变量的方差相等,保持其对主成分的贡献平衡。
02计算协方差矩阵
协方差矩阵反映了原始数据中各个变量之间的相关性,来观察各指标之间是否包含冗余信息。
03计算特征值和特征向量
使用线性代数的方法计算协方差矩阵的特征值和对应的特征向量,其中特征向量就是方差最大(信息最多)的轴的方向,称之为主成分;特征值是附加在特征向量上的系数,反映了每个主成分所携带的方差量。
04选择主成分
根据特征值的大小,选择前k个特征向量作为主成分。可以通过保留累计解释方差达到一定阈值时来确定保留的主成分数量。
05结果可视化
将原始数据投影到所选择的主成分上,在低维空间上观察样本的分布、聚类情况和异常值等;绘制各主成分对解释总体方差的贡献条形图等。
PCA分析实战
使用经典的鸢尾花(iris)数据集来演示PCA分析的具体步骤,iris数据集是一个150行4列的数据矩阵,每行是一个样本(某个鸢尾花品种),每个样本都包含了四个特征(对应于四列),分别是花萼的长度和宽度,以及花瓣的长度和宽度。iris数据集中包括三个品种(Setosa、Versicolor、Virginica),各品种都包含50个样本。使用python来进行PCA分析和计算,首先加载数据集:
1. 数据标准化
数据集中各特征减去其均值后除以其标准差,计算公式如下:
从二维数据上来看这一过程,减去均值会使数据移动到坐标原点(蓝点到黑点),除以均值后统一在各轴的尺度使其分布更均匀(黑点到红点),PCA对变量的范围是敏感的。
使用python进行数据标准化:
2. 计算协方差矩阵
在数学上,两个随机变量的协方差表示它们之间的线性相关程度,其计算公式为:
方差是协方差的特殊情况,即变量自身的协方差。分子为n-1是样本对总体协方差的无偏估计。当对数据标准化后,方差为1,你会发现此时的协方差就是皮尔逊相关系数。
所以协方差矩阵清楚地展示了各变量的相关情况,其中对角线为各变量自身的协方差均为1。
使用python计算协方差矩阵:
数据标准化后各个特征的均值为零,协方差计算公式可简化为:
此时直接用X矩阵的转置直接乘以X再除以n-1即可得到协方差矩阵。
3. 计算协方差矩阵的特征值和特征向量
只有在方阵中才存在特征向量(协方差矩阵刚好是方阵),N x N的方阵有N个特征向量。对于给定方阵A,经向量v线性变换后,得到的新向量与v仍然在同一方向上,相当于对v进行了一定比例的伸缩变换,伸缩变换的比例lambda就是特征值。即:
求解特征值和特征向量更详细地计算过程和原理参考线性代数。
使用python计算特征值和特征向量:
4. 选择主成分
特征值中前两个(2.938和0.920)占了95.81%,对解释方差的贡献度很高。故选择前两个特征向量作为主成分。
为了讲解详细的计算过程和分析原理,我们对PCA分析的每一步进行了计算和解读。当然第2-4步可以使用SKlearn中的PCA分析方法一步完成,可以看到输出的结果是一样的。
5. 数据可视化
使用python来可视化PCA分析的结果,首先将原始数据乘以特征向量转换获得新的二维数据:
投影到新的二维坐标系内,绘制带两个标准差(95%置信度)的置信椭圆:
也可以绘制各主成分对解释总体方差的贡献条形图:
欧易云平台-PCA分析云工具
欧易云平台提供了多种热门的生物信息学数据分析工具,用户可以通过简单的操作,快速地进行数据可视化、统计分析等操作,生成高质量的图片。云平台目前完全公开免费,访问地址为https://cloud.oebiotech.com/。
推荐一款PCA分析工具, 输入数据矩阵即可自动完成PCA分析和绘图。访问地址为...
福利!福利!获取访问地址,请在本公众号后台回复“PCA”获取访问地址;
输出结果:
以上的分析您有没有心动呢?心动不如行动,更多高级分析可联系欧易生物质谱平台(微信:17317724501)咨询更多分析方法