12.15 主成分分析与奇异值分解

主成分分析(Principal component analysis,PCA)由英国统计学家卡尔•皮尔逊于1901年提出。PCA是最经典和应用最广泛的以特征向量分析为基础的多元统计方法,在不同的应用领域中,又被称为奇异值分解、特征值分解、谱分解、Hotelling变换和离散Karhunen-Loeve变换等。

主成分分析通过正交相似性变换,将一组符合多元正态分布的具有多重共线性(图12-15)的变量转换为被称为主成分(PCs)的一组线性非相关的新变量的线性组合,从而起到揭示数据内部结构,以及简化数据维数的投影作用。

图12-15 冗余度和共线性
左图:样本的r1和r2两个测量值之间是不相关的,相互不能推知,冗余度≈1;
右图:两个测量值之间具有高度的线性相关,因此两次测量是高度冗余的,冗余度≈2。

主成分分析在原始空间中顺序找出一组相互正交的坐标轴(主成分),其中第一个主成分总是体现了数据集中的最大方差,接下来的每个主成分依次具有与之前主成分正交的最大方差(图12-16)。通常所获得的前几个主成分即贡献了绝大部分的方差,因此最终需要保留的主成分个数一般远小于原始变量的个数。

图12-16 正交相似性变换
X = T{P^T}

上式为主成分分析的矩阵形式,样品数据矩阵X(n×m)分解为得分(Score)矩阵T和载荷(Loading)矩阵P。每个得分向量t即为样品X在其对应载荷向量p方向上的投影, ti称为原始自变量X1,X2,…, Xm的第i个主成分:

{t_i} = X{p_i} = {X_1}{p_{i1}} + {X_2}{p_{i2}} + \cdots + {X_m}{p_{im}},i = 1,2, \cdots m

以m个指标Xm的线性组合方式可表示为:

\begin{gathered} {T_1} = {\alpha _{11}}{X_1} + {\alpha _{12}}{X_2} + \cdots + {\alpha _{1m}}{X_m} \hfill \\ {T_2} = {\alpha _{21}}{X_1} + {\alpha _{22}}{X_2} + \cdots + {\alpha _{2m}}{X_m} \hfill \\ {\text{ }} \vdots \hfill \\ {T_m} = {\alpha _{m1}}{X_1} + {\alpha _{m2}}{X_2} + \cdots + {\alpha _{mm}}{X_m} \hfill \\ \end{gathered}

主成分分析的求解通常由特征值分解或奇异值分解实现。

A)特征值分解(Eigen decomposition)

Ru = \lambda u,R = \tfrac{1}{{n - 1}}{X^T}X

该方法对X的协方差矩阵XTX或相关矩阵R的特征值-特征向量问题进行求解,其中u和λ分别称为特征向量(eigenvector)和特征值(eigenvalue)。

B)奇异值分解(Singular value decomposition,SVD)

X = US{V^T} = T{P^T}

奇异值分解与主成分分析是完全等效的。上式中,U为标准列正交(列特征向量)矩阵,VT为标准行正交(行特征向量)矩阵, S为矩阵X的奇异值的对角矩阵,且S等于协方差矩阵XTX的特征值λ的平方根。US即为得分矩阵T,而V即是载荷矩阵P。奇异值分解的矩阵形式示意图见图12-17。

图12-17 奇异值分解的矩阵示意图
左图:SVD分解的矩阵组成和尺寸示意;右图:通过只选取对方差贡献显著的少数主成分,从而达到简化数据维度,以及揭示数据内部结构的目的。

矩阵奇异值分解的几何意义实质是将对原始矩阵的任何变换看作两个正交旋转(U和VT)和一个缩放变换(S)的复合,如图12-18所示:

图12-18 矩阵奇异值分解的几何意义

奇异值分解是主成分分析更为现代的实现方法。其直接对数据矩阵进行求解,因此计算结果与特征值分解方法存在差异。如果希望在ChemPattern中重现特征分值解的结果,可在计算主成分分析时选择“针对变量的标度化”数据预处理方法。

C)主成分数的确定

如何选取恰当的主成分个数,使其可以最大程度地解释原数据的信息,并同时尽量去除噪音等的影响,是进行主成分分析时需要考虑的重要问题。以下为其中部分方法:

D)应注意的问题

图12-19 非线性相关数据的PCA求解
左图:图中数据点之间存在更高次的相关关系,因此PCA的去相关作用失效;右图:图中包含的非高斯分布的数据和非正交的数据轴使得PCA不能在二维空间正确完成。
  • 同样地,为了验证待分析数据是确实包含共线性信息,而不是在数据空间中以类球形分布的不存在相关关系的情况,还可采用Bartlett’s sphericity test对主成分分析的有效性进行检验: {\chi ^2}\left[ {\frac{{\left( {{p^2} - p} \right)}}{2}} \right] = - \left[ {(n - 1) - \frac{{2p + 5}}{6}} \right]\ln \left| R \right|

    其中,ln|R|为相关系数矩阵行列式的自然对数,(p2-p)为卡方检验的自由度,p为自变量数,n为样本数。做假设H0=数据的协方差矩阵为单位矩阵,即数据在向量空间中呈球形分布的检验。然而,卡方检验受样本数的影响较大,因此该有效性检验较为宽松,在使用中应结合具体情况加以判别。

  • 在将样本投影到主成分空间坐标轴从而获得的得分散点图中,样本数据在理论上应服从正态分布,因此可通过Hotelling's T2检验(Student’s t检验的推广形式)鉴别其中的离群值: T_{m,n,\alpha }^2 = \frac{{n(m - 1)}}{{m - n}}{F_{n,m - n,\alpha }}

    式中m为样本数,n为主成分数,F代表显著性为α的F检验。在得分图上超出T2置信区间椭圆边界的数据点,代表该样本在当前PCA模型的对应主成分轴上中未得到较好的投影,属于当前PCA模型不能恰当解释的相对特殊的离群值。

  • 在复杂体系的分析中,所测定获得的样本数据通常包含大量的冗余信息。举例来说,一个生物样品中的多个化合物可能来自相同的生源代谢途径,则它们的测量数据间存在严重的共线性。通过主成分分析可消除测量间的病态关系,简化并协助解释复杂体系的内在规律,并且通过忽略次要成分,从而抑制测定过程中不确定性因素及其噪音对结果的影响。