主成分分析法
主成分分析(Principal Component Analysis,PCA)是一种统计分析方法,常用于降维和数据可视化。在处理高维数据时,PCA可以通过线性变换将原始变量组合成一组主成分,这些主成分是互相正交的,并且尽可能地保留原始数据中的方差信息。
什么是主成分分析?
主成分分析 (PCA) 是一种降维方法,通常用于降低大型数据集的维数,方法是将大量变量转换为仍包含大型数据集中大部分信息的较小变量。
减少数据集的变量数量自然会以牺牲准确性为代价,但降维的诀窍是用一点准确性来换取简单性。因为较小的数据集更容易探索和可视化,因此机器学习算法可以更轻松、更快速地分析数据点,而无需处理无关变量。
所以,总而言之,PCA 的理念很简单:减少数据集的变量数量,同时保留尽可能多的信息。
什么是主成分?
主成分是构造为初始变量的线性组合或混合的新变量。这些组合的完成方式是新变量(即主成分)不相关,并且初始变量中的大部分信息被压缩到第一个分量中。因此,这个想法是 10 维数据为您提供 10 个主成分,但 PCA 尝试将最大可能的信息放在第一个组件中,然后将最大剩余信息放在第二个组件中,依此类推,直到出现如下所示的结果下面的碎石图。
以这种方式在主成分中组织信息将允许在不丢失大量信息的情况下降低维度,这是通过丢弃信息较少的分量并将剩余分量视为新变量来实现的。
这里需要注意的重要一点是,主成分的可解释性较差,并且没有任何实际意义,因为它们是作为初始变量的线性组合构造的。
从几何学上讲,主成分表示解释最大方差量的数据方向,即捕获数据大部分信息的线。这里方差和信息的关系是,一条线携带的方差越大,沿线数据点的离散度就越大,沿线的离散度越大,它所包含的信息就越多。简而言之,只需将主成分视为新的轴,它们提供了查看和评估数据的最佳角度,以便更好地观察之间的差异。
如何构建主成分
由于主成分的数量与数据中的变量数量一样多,因此主成分的构造方式是第一个主成分在数据集中解释最大的可能方差。例如,假设我们数据集的散点图如下所示,我们能猜出第一个主成分吗?是的,它大约是与紫色标记匹配的线,因为它穿过原点,并且是点(红点)的投影最分散的线。或者从数学上讲,它是使方差最大化的线(从投影点(红点)到原点的平方距离的平均值)。
第二个主成分的计算方式相同,条件是它与第一个主成分无关(即垂直于),并且它考虑了下一个最高的方差。
这种情况一直持续到计算出 p 个主分量的总数,等于原始变量数。
PCA 的分步解释
步骤 1:数据标准化
目的:将所有变量标准化,使它们在相同的尺度范围内,避免因量纲不同导致偏差。
方法:
Z 是标准化后的数据。
X是原始变量值。
μ 是均值,σ是标准差。
效果:标准化后,所有变量的均值为 0,方差为 1,使每个变量对分析贡献相等。
步骤 2:计算协方差矩阵
目的:确定变量之间的关系和变化趋势。
定义:
协方差矩阵是一个 p×p的对称矩阵,其中 p是变量数。
每个条目 Cov(xi,xj)表示变量 xi和 xj的协方差。
公式:
xki 是第 k 个样本的第 i 个变量值。
xˉi是第 i个变量的均值。
性质:
对角线元素是方差:Cov(xi,xi)=Var(xi)
协方差矩阵是对称的:Cov(xi,xj)=Cov(xj,xi)
步骤 3:计算特征向量和特征值
目的:提取主成分的方向(特征向量)和重要性(特征值)。
定义:
v 是特征向量,表示主成分的方向。
λ是特征值,表示该方向上解释的方差大小。
协方差矩阵 Σ 的特征向量和特征值满足:Σv=λv
解释:
特征值越大,说明该主成分解释的数据方差越多。
特征向量是主成分的方向。
排序:
按特征值从大到小对特征向量排序,对应的特征向量形成的主成分按显著性依次排列。
步骤 4:选择主成分并构建特征向量矩阵
目的:根据分析需求选择前几个主成分。
累积方差贡献率:
通常选择累积贡献率达到 80%-95% 的主成分。
构建特征向量矩阵:
如果选择保留 k个主成分,则特征向量矩阵为:
V=[v1,v2,…,vk]
其中 v1,v2,…,vk是前 k个特征向量。
降维:
如果 k<p,数据的维度从 p 降至 k,丢弃的信息由未选中的特征值表示。
步骤 5:沿主成分轴重构数据
目的:将原始数据投影到新的主成分空间中。
变换公式:Y=X⋅V
X是标准化后的原始数据矩阵。
V是特征向量矩阵。
Y是降维后的新数据。
解释:
数据重构后,每个样本的特征值在新轴(主成分)上的投影值表示新的数据坐标。
PCA的应用场景
1. 数据降维
PCA 最常见的用途是降低数据的维度,同时尽可能保留数据中的重要信息。
场景:
高维数据的可视化:将高维数据(如 100 维)降至 2 或 3 维,以便直观展示。
数据预处理:在机器学习中,减少特征数量以加快模型训练速度并降低过拟合风险。
实例:
图像数据的压缩与特征提取:对高清图像数据进行降维,仅保留主要特征。
2. 数据可视化
PCA 可帮助将高维数据转换为 2D 或 3D 格式,以便于直观理解数据结构。
场景:
聚类结果的可视化:通过 PCA 降维后展示聚类效果。
群体分类分析:观察数据在降维后的空间中是否形成明显的分组。
实例:
在基因组学中,用于展示不同基因型样本的聚类分布。
3. 噪声消除
通过去除主成分中贡献较低的部分,可以有效地过滤掉数据中的噪声。
场景:
在信号处理中,去除随机噪声以增强信号特征。
在文本挖掘中,降维后删除对分析无意义的特征。
实例:
金融市场中,去除交易数据中的噪声因素以增强预测准确性。
4. 特征提取
PCA 可用来提取数据的主要特征,用更少的特征描述复杂问题。
场景:
在机器学习中,通过 PCA 提取最具区分力的特征,提高模型性能。
在图像识别中,使用主成分提取关键特征。
实例:
面部识别系统中,PCA 用于提取图像的主特征(例如 Eigenfaces 方法)。
5. 去除多重共线性
当多个特征之间存在较高的相关性时,PCA 可用于生成不相关的主成分,解决共线性问题。
场景:
在回归分析中,避免特征高度相关性导致模型不稳定。
在经济数据分析中,分离变量的独立贡献。
实例:
财务分析中,用于处理不同资产收益率间的相关性问题。
6. 数据压缩
通过 PCA,将高维数据映射到低维空间,以减少存储需求。
场景:
传感器数据压缩:减少存储空间和传输带宽需求。
图像压缩:提取主要成分存储而舍弃次要信息。
实例:
在 IoT(物联网)设备中,使用 PCA 对海量传感器数据进行压缩。
THE END