3.3 降维
在许多领域的研究与应用中,通常需要对含有多个变量的数据进行观测,收集大量数据后进行分析以寻找规律。多变量的大数据集无疑会为研究和应用提供丰富的信息,但也在一定程度上增加了数据采集的工作量。更重要的是,在很多情形下,许多变量之间可能存在相关性,从而增加了问题分析的复杂性。如果分别对每个指标进行分析,分析往往是孤立的,不能完全利用数据中的信息。因此,盲目减少指标会损失很多有用的信息,从而产生错误的结论。
所以,需要找到一种合理的方法,在减少需要分析的指标的同时,尽量减少原指标包含的信息的损失,以达到对所收集数据进行全面分析的目的。由于各变量之间存在一定的相关关系,因此,可以考虑将关系紧密的变量变成尽可能少的新变量,使这些新变量两两不相关,那么,就可以用较少的综合指标分别代表存在于各变量中的各类信息。
降维就是一种对具有高维度特征的数据进行预处理的方法。也就是说,降维保留了高维度数据最重要的一些特征,去除了噪声和不重要的特征,从而实现了提升数据处理速度的目的。在实际的生产和应用中,降维在一定的信息损失范围内,可以为人们节省大量的时间和成本。因此,降维成为应用非常广泛的数据预处理方法。
降维具有如下优点。
(1)使得数据集更易使用。
(2)降低算法的计算开销。
(3)去除噪声。
(4)使得结果容易理解。
降维的算法有很多,如奇异值分解(SVD)、主成分分析(PCA)、因子分析(FA)、独立成分分析(ICA)。
3.3.1 基于PCA的特征提取
PCA是一种使用最广泛的数据降维算法。PCA的主要思想是将n维特征映射到k维上。k维特征是全新的正交特征,也称为主成分,是在原有n维特征的基础上重新构造出来的[2]。PCA的工作就是从原始空间中顺序地找出一组相互正交的坐标轴,新坐标轴的选择与数据本身密切相关。其中,第1个新坐标轴选择的是原始数据中方差最大的方向,第2个新坐标轴选择的是与第1个新坐标轴正交的平面中使得方差最大的方向,第3个新坐标轴是与第1、2个新坐标轴正交的平面中方差最大的方向。以此类推,可以得到n个这样的坐标轴。从通过这种方式获得的新坐标轴中可以发现,大部分方差都包含在前面k个坐标轴中,后面的坐标轴所含的方差几乎为0。于是,可以忽略余下的坐标轴,只保留前面k个含有绝大部分方差的坐标轴。事实上,这相当于只保留包含绝大部分方差的维度特征,而忽略包含方差几乎为0的维度特征,从而实现对数据特征的降维处理。
如何得到这些包含最大差异性的主成分方向呢?事实上,可以通过计算数据矩阵的协方差矩阵,然后得到协方差矩阵的特征值和特征向量,并选择特征值最大(方差最大)的k个特征所对应的特征向量组成矩阵,从而将数据矩阵转换到新的空间中,实现数据特征的降维。由于得到协方差矩阵的特征值和特征向量的方法有两种:特征值分解协方差矩阵和奇异值分解协方差矩阵,因此,PCA有两种实现方法,即基于特征值分解协方差矩阵实现PCA和基于SVD分解协方差矩阵实现PCA。
PCA是基于线性映射的,p维向量X到一维向量F的一个线性映射表示为
(3-10)
式中,为对应的第i个向量的均值系数。PCA就是把p维原始向量(实际问题)X线性映射到k维新向量F的过程,,即
(3-11)
(3-12)
式中,为正交矩阵。为了去除数据的相关性,各主成分应正交,此时正交的基构成的空间称为子空间。k维新向量F按照保留原始数据主要信息量的原则来充分反映原变量的信息,并且各分量相互独立。
要采用PCA实现降维,通常的做法是寻求向量的线性组合Fi,其应满足如下的条件。
(1)每个主成分的系数(1≤k≤p)的平方和为1,即
(3-13)
(2)主成分之间相互独立,无重复的信息,协方差为0,即
(3-14)
(3)主成分的方差依次递减,即
(3-15)
方差越大,包含信息越多。
3.3.2 PCA的步骤
首先约定
(3-16)
第一步:求出自变量(原始数据)的协方差矩阵(或相关系数矩阵)。
第二步:求出协方差矩阵(或相关系数矩阵)的特征值,即解方程
(3-17)
得到特征根后将其排序:
(3-18)
第三步:分别求出特征根所对应的特征向量,。
第四步:给出恰当的主成分个数。
第五步:计算所选的个主成分的得分。将原始数据的中心化值
(3-19)
代入前个主成分的表达式,分别计算各单位个主成分的得分,并按得分的大小排序。
数学上可以证明,原变量的协方差矩阵的特征根是主成分的方差,这说明PCA把p维随机向量的总方差分解为p个不相关的随机变量的方差,…,之和。协方差矩阵对角线上的元素之和等于特征根,…,之和,也就是方差,即
(3-20)
由于为对称矩阵,利用线性代数的知识可得,存在正交矩阵,使得
(3-21)
可以证明
(3-22)
选取主成分的个数k的方法如下。
(1)贡献率:第i个主成分的方差在全部方差中所占的比重,贡献率反映了第i个特征向量提取信息能力的大小。
(2)累计贡献率:前k个主成分的综合能力,用这k个主成分的方差和在全部方差中所占的比重来描述,称为累计贡献率。
进行PAC的目的之一是用尽可能少的主成分代替原来的p维向量。一般来说,当累计贡献率95%时,所取的主成分个数就足够了。