在图形处理和统计学中的应用 主成分分析是一种用于分析多维数据的重要技术,它利用正交对角化和奇异值分解,将数据转换到一个新的坐标系中,使得变量之间不相关,并按方差大小排列。这种方法在图像处理、数据降维等领域有广泛应用。
1. 多维数据与观测矩阵 在许多实际应用中,数据往往是多维 ( Multidimensional ) ~(~\text{Multidimensional}~)~ ( Multidimensional ) 或多变量 ( Multivariate ) ~(~\text{Multivariate}~)~ ( Multivariate ) 的——即数据集中的每个数据点都可以用 R p ~\mathbb{R}^p~ R p 中的一个向量来表示。本节的主要目标是介绍一种用于分析这类多维数据的技术,称为主成分分析 ( Principal Component Analysis, PCA ) ~(~\text{Principal Component Analysis, PCA}~)~ ( Principal Component Analysis, PCA ) 。计算过程将用到正交对角化和奇异值分解。
主成分分析可以应用于任何由对象或个体的测量列表组成的数据。例如,考虑一个生产塑料材料的化工过程:为了监控生产过程,取 300 ~300~ 300 个材料样本,每个样本进行 8 ~8~ 8 项测试(如熔点、密度、延展性、抗拉强度等)。每个样本的实验报告是 R 8 ~\mathbb{R}^8~ R 8 中的一个向量,所有这些向量构成一个 8 × 300 ~8 \times 300~ 8 × 300 矩阵,称为观测矩阵 ( Matrix of Observations ) ~(~\text{Matrix of Observations}~)~ ( Matrix of Observations ) 。如下图所示,每一列 X j ~\mathbf{X}_j~ X j 代表第 j ~j~ j 个样本的测试结果向量:
粗略地说,我们可以认为上述过程控制数据是八维的。接下来的两个例子描述的数据可以用图形直观地展示。
例 1 \mathbf{1} 1 :假设我们收集了
N ~N~ N 名大学生的体重和身高数据。设
X j ~\mathbf{X}_j~ X j 表示
R 2 ~\mathbb{R}^2~ R 2 中的观测向量,记录第
j ~j~ j 名学生的体重
w ~w~ w 和身高
h ~h~ h 。则观测矩阵的形式为:
[ w 1 w 2 ⋯ w N h 1 h 2 ⋯ h N ] = [ X 1 X 2 ⋯ X N ] \begin{bmatrix} w_1 & w_2 & \cdots & w_N \\ h_1 & h_2 & \cdots & h_N \end{bmatrix} = \begin{bmatrix} \mathbf{X}_1 & \mathbf{X}_2 & \cdots & \mathbf{X}_N \end{bmatrix} [ w 1 h 1 w 2 h 2 ⋯ ⋯ w N h N ] = [ X 1 X 2 ⋯ X N ] 这组观测向量可以可视化为二维
散点图 ( Scatter Plot ) ~(~\text{Scatter Plot}~)~ ( Scatter Plot ) :
例 2 \mathbf{2} 2 :卫星图像是多维数据的另一个例子。假设对同一地区在三个不同光谱波段同时拍摄了三张照片,每张照片提供了同一物理区域的不同信息。对于图像中的每个像素,都对应 R 3 ~\mathbb{R}^3~ R 3 中的一个观测向量,其三个分量 x 1 , x 2 , x 3 ~x_1, x_2, x_3~ x 1 , x 2 , x 3 分别记录该像素在三个光谱波段的信号强度:
通常,图像为 2000 × 2000 ~2000 \times 2000~ 2000 × 2000 像素,因此共有 400 ~400~ 400 万个像素,图像数据构成一个 3 ~3~ 3 行 400 ~400~ 400 万列的矩阵。上图展示了这些观测向量在 R 3 ~\mathbb{R}^3~ R 3 中的分布情况。这里数据的"多维"特性指的是三个光谱 维度( x 1 , x 2 , x 3 ~x_1, x_2, x_3~ x 1 , x 2 , x 3 ),而非照片本身的两个空间 维度。
2. 均值与协方差 有了观测矩阵之后,我们如何从中提取有用的信息?主成分分析的核心思想是:找到数据变化最剧烈的方向,并用这些方向来描述数据。但要找到这些方向,我们首先需要回答两个基本问题:数据的"中心"在哪里? 以及数据围绕中心如何分布? 前者由均值 来描述,后者则需要引入协方差 的概念。
设 [ X 1 ⋯ X N ] ~[\mathbf{X}_1 \cdots \mathbf{X}_N]~ [ X 1 ⋯ X N ] 是一个 p × N ~p \times N~ p × N 的观测矩阵。观测向量 X 1 , … , X N ~\mathbf{X}_1, \ldots, \mathbf{X}_N~ X 1 , … , X N 的样本均值 ( Sample Mean ) ~(~\text{Sample Mean}~)~ ( Sample Mean ) M ~\mathbf{M}~ M 定义为:
M = 1 N ( X 1 + ⋯ + X N ) \mathbf{M} = \frac{1}{N}(\mathbf{X}_1 + \cdots + \mathbf{X}_N) M = N 1 ( X 1 + ⋯ + X N ) 样本均值是散点图的"中心",它告诉我们数据整体位于空间的什么位置。为了专注于分析数据的
分布形态 而非位置,我们将数据平移到原点。对于
k = 1 , … , N ~k = 1, \ldots, N~ k = 1 , … , N ,令
X ^ k = X k − M \hat{\mathbf{X}}_k = \mathbf{X}_k - \mathbf{M} X ^ k = X k − M 则
p × N ~p \times N~ p × N 矩阵
B = [ X ^ 1 X ^ 2 ⋯ X ^ N ] \mathbf{B} = [\hat{\mathbf{X}}_1 \quad \hat{\mathbf{X}}_2 \quad \cdots \quad \hat{\mathbf{X}}_N] B = [ X ^ 1 X ^ 2 ⋯ X ^ N ] 的样本均值为零向量,此时称
B ~\mathbf{B}~ B 为
均值偏差形式 ( Mean-Deviation Form ) ~(~\text{Mean-Deviation Form}~)~ ( Mean-Deviation Form ) 。这一步"去中心化"处理使我们能够聚焦于数据的内在结构。
知道了数据的中心后,下一个问题是:数据在各个方向上的分散程度如何?不同变量之间是否存在关联?
定义
(样本)协方差矩阵
设
B ~\mathbf{B}~ B 是均值偏差形式的
p × N ~p \times N~ p × N 矩阵,则
(样本)协方差矩阵 ( Sample Covariance Matrix ) ~(~\text{Sample Covariance Matrix}~)~ ( Sample Covariance Matrix ) 是
p × p ~p \times p~ p × p 矩阵
S ~\mathbf{S}~ S ,定义为:
S = 1 N − 1 B B T \mathbf{S} = \frac{1}{N-1}\mathbf{B}\mathbf{B}^T S = N − 1 1 B B T 由于任何形如
B B T ~\mathbf{B}\mathbf{B}^T~ B B T 的矩阵都是半正定的,所以
S ~\mathbf{S}~ S 也是半正定的。
协方差矩阵正是用来回答上述问题的数学工具。它的特征值和特征向量将直接决定主成分的方向和重要性——这是主成分分析的数学基础。
例 3 \mathbf{3} 3 :对来自某总体的
4 ~4~ 4 个个体各进行
3 ~3~ 3 项测量,观测向量为:
X 1 = [ 1 2 1 ] , X 2 = [ 4 2 13 ] , X 3 = [ 7 8 1 ] , X 4 = [ 8 4 5 ] \mathbf{X}_1 = \begin{bmatrix} 1 \\ 2 \\ 1 \end{bmatrix}, \quad \mathbf{X}_2 = \begin{bmatrix} 4 \\ 2 \\ 13 \end{bmatrix}, \quad \mathbf{X}_3 = \begin{bmatrix} 7 \\ 8 \\ 1 \end{bmatrix}, \quad \mathbf{X}_4 = \begin{bmatrix} 8 \\ 4 \\ 5 \end{bmatrix} X 1 = 1 2 1 , X 2 = 4 2 13 , X 3 = 7 8 1 , X 4 = 8 4 5 计算样本均值和协方差矩阵。
计算样本均值 将所有观测向量相加并除以样本数量
N = 4 ~N = 4~ N = 4 :
M = 1 4 ( [ 1 2 1 ] + [ 4 2 13 ] + [ 7 8 1 ] + [ 8 4 5 ] ) = 1 4 [ 20 16 20 ] = [ 5 4 5 ] \mathbf{M} = \frac{1}{4}\left(\begin{bmatrix} 1 \\ 2 \\ 1 \end{bmatrix} + \begin{bmatrix} 4 \\ 2 \\ 13 \end{bmatrix} + \begin{bmatrix} 7 \\ 8 \\ 1 \end{bmatrix} + \begin{bmatrix} 8 \\ 4 \\ 5 \end{bmatrix}\right) = \frac{1}{4}\begin{bmatrix} 20 \\ 16 \\ 20 \end{bmatrix} = \begin{bmatrix} 5 \\ 4 \\ 5 \end{bmatrix} M = 4 1 1 2 1 + 4 2 13 + 7 8 1 + 8 4 5 = 4 1 20 16 20 = 5 4 5 计算均值偏差向量 从每个观测向量中减去样本均值:
X ^ 1 = [ − 4 − 2 − 4 ] , X ^ 2 = [ − 1 − 2 8 ] , X ^ 3 = [ 2 4 − 4 ] , X ^ 4 = [ 3 0 0 ] \hat{\mathbf{X}}_1 = \begin{bmatrix} -4 \\ -2 \\ -4 \end{bmatrix}, \quad \hat{\mathbf{X}}_2 = \begin{bmatrix} -1 \\ -2 \\ 8 \end{bmatrix}, \quad \hat{\mathbf{X}}_3 = \begin{bmatrix} 2 \\ 4 \\ -4 \end{bmatrix}, \quad \hat{\mathbf{X}}_4 = \begin{bmatrix} 3 \\ 0 \\ 0 \end{bmatrix} X ^ 1 = − 4 − 2 − 4 , X ^ 2 = − 1 − 2 8 , X ^ 3 = 2 4 − 4 , X ^ 4 = 3 0 0 构造矩阵 B B B 将均值偏差向量作为列向量排列:
B = [ − 4 − 1 2 3 − 2 − 2 4 0 − 4 8 − 4 0 ] B = \begin{bmatrix} -4 & -1 & 2 & 3 \\ -2 & -2 & 4 & 0 \\ -4 & 8 & -4 & 0 \end{bmatrix} B = − 4 − 2 − 4 − 1 − 2 8 2 4 − 4 3 0 0 计算协方差矩阵 使用公式
S = 1 N − 1 B B T S = \frac{1}{N-1}BB^T S = N − 1 1 B B T :
S = 1 3 B B T = 1 3 [ 30 18 0 18 24 − 24 0 − 24 96 ] = [ 10 6 0 6 8 − 8 0 − 8 32 ] S = \frac{1}{3}BB^T = \frac{1}{3}\begin{bmatrix} 30 & 18 & 0 \\ 18 & 24 & -24 \\ 0 & -24 & 96 \end{bmatrix} = \begin{bmatrix} 10 & 6 & 0 \\ 6 & 8 & -8 \\ 0 & -8 & 32 \end{bmatrix} S = 3 1 B B T = 3 1 30 18 0 18 24 − 24 0 − 24 96 = 10 6 0 6 8 − 8 0 − 8 32 协方差矩阵 S = [ s i j ] \mathbf{S} = [s_{ij}] S = [ s ij ] 中的元素有重要的统计意义。设 X ~\mathbf{X}~ X 表示在观测向量集合上变化的向量,其坐标记为 x 1 , … , x p ~x_1, \ldots, x_p~ x 1 , … , x p 。对角元素 s j j s_{jj} s jj 称为 x j ~x_j~ x j 的方差 ( Variance ) ~(~\text{Variance}~)~ ( Variance ) ,它度量了 x j ~x_j~ x j 取值的分散程度。在例 3 ~3~ 3 中, x 1 ~x_1~ x 1 的方差是 10 ~10~ 10 , x 3 ~x_3~ x 3 的方差是 32 ~32~ 32 。 32 ~32~ 32 大于 10 ~10~ 10 说明第三个坐标的取值比第一个坐标的取值分散程度更大。
数据的
总方差 ( Total Variance ) ~(~\text{Total Variance}~)~ ( Total Variance ) 是
S ~\mathbf{S}~ S 对角线上各方差之和。一般地,方阵
S ~\mathbf{S}~ S 的对角元素之和称为矩阵的
迹 ( Trace ) ~(~\text{Trace}~)~ ( Trace ) ,记为
tr ( S ) ~\text{tr}(\mathbf{S})~ tr ( S ) 。因此
总方差 = tr ( S ) \text{总方差} = \text{tr}(\mathbf{S}) 总方差 = tr ( S ) 非对角元素
s i j s_{ij} s ij (
i ≠ j i \neq j i = j )称为
x i ~x_i~ x i 和
x j ~x_j~ x j 的
协方差 ( Covariance ) ~(~\text{Covariance}~)~ ( Covariance ) 。在例
3 ~3~ 3 中,
x 1 ~x_1~ x 1 和
x 3 ~x_3~ x 3 的协方差为
0 ~0~ 0 ,统计学家称
x 1 ~x_1~ x 1 和
x 3 ~x_3~ x 3 不相关 ( Uncorrelated ) ~(~\text{Uncorrelated}~)~ ( Uncorrelated ) 。当变量
x 1 , … , x p ~x_1, \ldots, x_p~ x 1 , … , x p 中的大部分或全部不相关时,多维数据的分析会大大简化——即协方差矩阵是对角或近似对角矩阵时。
3. 主成分分析 为简单起见,假设矩阵 [ X 1 ⋯ X N ] ~[\mathbf{X}_1 \cdots \mathbf{X}_N]~ [ X 1 ⋯ X N ] 已经是均值偏差形式。主成分分析的目标是找到一个 p × p ~p \times p~ p × p 正交矩阵 P = [ u 1 ⋯ u p ] ~\mathbf{P} = [\mathbf{u}_1 \cdots \mathbf{u}_p]~ P = [ u 1 ⋯ u p ] ,它确定一个变量替换 X = P Y ~\mathbf{X} = \mathbf{P}\mathbf{Y}~ X = PY ,即
[ x 1 x 2 ⋮ x p ] = [ u 1 u 2 ⋯ u p ] [ y 1 y 2 ⋮ y p ] \begin{bmatrix} x_1 \\ x_2 \\ \vdots \\ x_p \end{bmatrix} = [\mathbf{u}_1 \quad \mathbf{u}_2 \quad \cdots \quad \mathbf{u}_p] \begin{bmatrix} y_1 \\ y_2 \\ \vdots \\ y_p \end{bmatrix} x 1 x 2 ⋮ x p = [ u 1 u 2 ⋯ u p ] y 1 y 2 ⋮ y p 使得新变量
y 1 , … , y p ~y_1, \ldots, y_p~ y 1 , … , y p 不相关,并按方差递减的顺序排列。
变量的正交变换 X = P Y ~\mathbf{X} = \mathbf{P}\mathbf{Y}~ X = PY 意味着每个观测向量 X k ~\mathbf{X}_k~ X k 得到一个"新名字" Y k ~\mathbf{Y}_k~ Y k ,满足 X k = P Y k ~\mathbf{X}_k = \mathbf{P}\mathbf{Y}_k~ X k = P Y k 。注意 Y k ~\mathbf{Y}_k~ Y k 是 X k ~\mathbf{X}_k~ X k 相对于 P ~\mathbf{P}~ P 的列向量的坐标向量,且 Y k = P − 1 X k = P T X k ~\mathbf{Y}_k = \mathbf{P}^{-1}\mathbf{X}_k = \mathbf{P}^T\mathbf{X}_k~ Y k = P − 1 X k = P T X k ( k = 1 , l d o t s , N ~k = 1, \\ldots, N~ k = 1 , l d o t s , N )。
可以验证,对于任意正交矩阵 P ~\mathbf{P}~ P , Y 1 , … , Y N ~\mathbf{Y}_1, \ldots, \mathbf{Y}_N~ Y 1 , … , Y N 的协方差矩阵是 P T S P ~\mathbf{P}^T\mathbf{S}\mathbf{P}~ P T SP 。因此,我们要找的正交矩阵 P ~\mathbf{P}~ P 应使 P T S P ~\mathbf{P}^T\mathbf{S}\mathbf{P}~ P T SP 成为对角矩阵。设 D ~\mathbf{D}~ D 是以 S ~\mathbf{S}~ S 的特征值 λ 1 , … , λ p ~\lambda_1, \ldots, \lambda_p~ λ 1 , … , λ p 为对角元素的对角矩阵,按 λ 1 ≥ λ 2 ≥ ⋯ ≥ λ p ≥ 0 ~\lambda_1 \geq \lambda_2 \geq \cdots \geq \lambda_p \geq 0~ λ 1 ≥ λ 2 ≥ ⋯ ≥ λ p ≥ 0 排列,设 P ~\mathbf{P}~ P 是相应的单位特征向量 u 1 , … , u p ~\mathbf{u}_1, \ldots, \mathbf{u}_p~ u 1 , … , u p 构成的正交矩阵。则
S = P D P T 且 P T S P = D \mathbf{S} = \mathbf{P}\mathbf{D}\mathbf{P}^T \quad \text{且} \quad \mathbf{P}^T\mathbf{S}\mathbf{P} = \mathbf{D} S = PD P T 且 P T SP = D 协方差矩阵 S ~\mathbf{S}~ S 的单位特征向量 u 1 , … , u p ~\mathbf{u}_1, \ldots, \mathbf{u}_p~ u 1 , … , u p 称为数据(观测矩阵)的主成分 ( Principal Components ) ~(~\text{Principal Components}~)~ ( Principal Components ) 。第一主成分 ( First Principal Component ) ~(~\text{First Principal Component}~)~ ( First Principal Component ) 是对应于 S ~\mathbf{S}~ S 最大特征值的特征向量,第二主成分 ( Second Principal Component ) ~(~\text{Second Principal Component}~)~ ( Second Principal Component ) 是对应于第二大特征值的特征向量,依此类推。从几何上看,主成分就是数据分布的主轴方向:
第一主成分 u 1 ~\mathbf{u}_1~ u 1 决定了新变量 y 1 ~y_1~ y 1 。设 c 1 , … , c p ~c_1, \ldots, c_p~ c 1 , … , c p 是 u 1 ~\mathbf{u}_1~ u 1 的分量。由于 u 1 T ~\mathbf{u}_1^T~ u 1 T 是 P T ~\mathbf{P}^T~ P T 的第一行,方程 Y = P T X ~\mathbf{Y} = \mathbf{P}^T\mathbf{X}~ Y = P T X 表明
y 1 = u 1 T X = c 1 x 1 + c 2 x 2 + ⋯ + c p x p y_1 = \mathbf{u}_1^T\mathbf{X} = c_1x_1 + c_2x_2 + \cdots + c_px_p y 1 = u 1 T X = c 1 x 1 + c 2 x 2 + ⋯ + c p x p 因此
y 1 ~y_1~ y 1 是原始变量
x 1 , … , x p ~x_1, \ldots, x_p~ x 1 , … , x p 的线性组合,以
u 1 ~\mathbf{u}_1~ u 1 的分量为权重。类似地,
u 2 ~\mathbf{u}_2~ u 2 决定变量
y 2 ~y_2~ y 2 ,依此类推。
例 4 \mathbf{4} 4 :例
2 ~2~ 2 中卫星多光谱图像的初始数据由
R 3 ~\mathbb{R}^3~ R 3 中的
400 ~400~ 400 万个向量组成。相应的协方差矩阵为
S = [ 2382.78 2611.84 2136.20 2611.84 3106.47 2553.90 2136.20 2553.90 2650.71 ] \mathbf{S} = \begin{bmatrix} 2382.78 & 2611.84 & 2136.20 \\ 2611.84 & 3106.47 & 2553.90 \\ 2136.20 & 2553.90 & 2650.71 \end{bmatrix} S = 2382.78 2611.84 2136.20 2611.84 3106.47 2553.90 2136.20 2553.90 2650.71 求数据的主成分,并列出由第一主成分确定的新变量。
给定协方差矩阵 卫星多光谱图像数据的协方差矩阵为:
S = [ 2382.78 2611.84 2136.20 2611.84 3106.47 2553.90 2136.20 2553.90 2650.71 ] S = \begin{bmatrix} 2382.78 & 2611.84 & 2136.20 \\ 2611.84 & 3106.47 & 2553.90 \\ 2136.20 & 2553.90 & 2650.71 \end{bmatrix} S = 2382.78 2611.84 2136.20 2611.84 3106.47 2553.90 2136.20 2553.90 2650.71 计算特征值 求解特征方程
det ( S − λ I ) = 0 \det(S - \lambda I) = 0 det ( S − λ I ) = 0 ,得到三个特征值:
λ 1 = 7614.23 , λ 2 = 427.63 , λ 3 = 98.10 \lambda_1 = 7614.23, \quad \lambda_2 = 427.63, \quad \lambda_3 = 98.10 λ 1 = 7614.23 , λ 2 = 427.63 , λ 3 = 98.10 计算主成分(单位特征向量) 对应于每个特征值,求解单位特征向量:
u 1 = [ .5417 .6295 .5570 ] , u 2 = [ − .4894 − .3026 .8179 ] , u 3 = [ .6834 − .7157 .1441 ] \mathbf{u}_1 = \begin{bmatrix} .5417 \\ .6295 \\ .5570 \end{bmatrix}, \quad \mathbf{u}_2 = \begin{bmatrix} -.4894 \\ -.3026 \\ .8179 \end{bmatrix}, \quad \mathbf{u}_3 = \begin{bmatrix} .6834 \\ -.7157 \\ .1441 \end{bmatrix} u 1 = .5417 .6295 .5570 , u 2 = − .4894 − .3026 .8179 , u 3 = .6834 − .7157 .1441 确定第一主成分对应的新变量 第一主成分
u 1 \mathbf{u}_1 u 1 决定了新变量
y 1 ~y_1~ y 1 :
y 1 = u 1 T X = .54 x 1 + .63 x 2 + .56 x 3 y_1 = \mathbf{u}_1^T\mathbf{X} = .54x_1 + .63x_2 + .56x_3 y 1 = u 1 T X = .54 x 1 + .63 x 2 + .56 x 3 这个线性组合用于生成照片(d),它"显示"了数据的第一主成分。
变换后的协方差矩阵 使用新变量
y 1 , y 2 , y 3 y_1, y_2, y_3 y 1 , y 2 , y 3 后,协方差矩阵变为对角矩阵:
D = [ 7614.23 0 0 0 427.63 0 0 0 98.10 ] D = \begin{bmatrix} 7614.23 & 0 & 0 \\ 0 & 427.63 & 0 \\ 0 & 0 & 98.10 \end{bmatrix} D = 7614.23 0 0 0 427.63 0 0 0 98.10 第一个方差远大于其他两个,说明数据本质上是一维的。
在例 4 ~4~ 4 中,变换后数据的协方差矩阵(使用变量 y 1 , y 2 , y 3 ~y_1, y_2, y_3~ y 1 , y 2 , y 3 )为
D = [ 7614.23 0 0 0 427.63 0 0 0 98.10 ] \mathbf{D} = \begin{bmatrix} 7614.23 & 0 & 0 \\ 0 & 427.63 & 0 \\ 0 & 0 & 98.10 \end{bmatrix} D = 7614.23 0 0 0 427.63 0 0 0 98.10 虽然
D ~\mathbf{D}~ D 明显比原始协方差矩阵
S ~\mathbf{S}~ S 简单,但构造新变量的好处还不明显。然而,变量
y 1 , y 2 , y 3 ~y_1, y_2, y_3~ y 1 , y 2 , y 3 的方差出现在
D ~\mathbf{D}~ D 的对角线上,显然第一个方差远大于其他两个。正如我们将看到的,这一事实使我们可以将数据视为本质上是一维的,而非三维的。
4. 降低多维数据的维数 主成分分析在以下情况特别有价值:数据的大部分变异(或动态范围)仅由少数几个新变量 y 1 , … , y p ~y_1, \ldots, y_p~ y 1 , … , y p 引起。
可以证明,正交变量替换
X = P Y ~\mathbf{X} = \mathbf{P}\mathbf{Y}~ X = PY 不改变数据的总方差。(粗略地说,这是因为左乘
P ~\mathbf{P}~ P 不改变向量的长度或向量之间的夹角。)这意味着如果
S = P D P T ~\mathbf{S} = \mathbf{P}\mathbf{D}\mathbf{P}^T~ S = PD P T ,则
{ x 1 , … , x p 的 总方差 } = { y 1 , … , y p 的 总方差 } = tr ( D ) = λ 1 + ⋯ + λ p \left\{\begin{array}{l}\text{$x_1, \ldots, x_p$的} \\ \text{总方差}\end{array}\right\} = \left\{\begin{array}{l}\text{$y_1, \ldots, y_p$的} \\ \text{总方差}\end{array}\right\} = \text{tr}(\mathbf{D}) = \lambda_1 + \cdots + \lambda_p { x 1 , … , x p 的 总方差 } = { y 1 , … , y p 的 总方差 } = tr ( D ) = λ 1 + ⋯ + λ p y j ~y_j~ y j 的方差是
λ j ~\lambda_j~ λ j ,而商
λ j / tr ( S ) ~\lambda_j / \text{tr}(\mathbf{S})~ λ j / tr ( S ) 度量了
y j ~y_j~ y j "解释"或"捕获"的总方差的比例。
例 5 \mathbf{5} 5 :在例
4 ~4~ 4 中,总方差为
tr ( S ) = λ 1 + λ 2 + λ 3 = 7614.23 + 427.63 + 98.10 = 8139.96 \text{tr}(\mathbf{S}) = \lambda_1 + \lambda_2 + \lambda_3 = 7614.23 + 427.63 + 98.10 = 8139.96 tr ( S ) = λ 1 + λ 2 + λ 3 = 7614.23 + 427.63 + 98.10 = 8139.96 第一主成分解释的方差比例为
λ 1 tr ( S ) = 7614.23 8139.96 ≈ 0.935 = 93.5 % \frac{\lambda_1}{\text{tr}(\mathbf{S})} = \frac{7614.23}{8139.96} \approx 0.935 = 93.5\% tr ( S ) λ 1 = 8139.96 7614.23 ≈ 0.935 = 93.5% 这意味着第一主成分
y 1 ~y_1~ y 1 捕获了数据总方差的
93.5 % ~93.5\%~ 93.5% 。如果我们只保留
y 1 ~y_1~ y 1 而忽略
y 2 ~y_2~ y 2 和
y 3 ~y_3~ y 3 ,我们仅损失了
6.5 % ~6.5\%~ 6.5% 的信息。这就是为什么我们可以将原本三维的数据视为本质上是一维的。
在实际应用中,通常选择保留前 k ~k~ k 个主成分,使得它们解释的方差比例达到某个阈值(如 90 % ~90\%~ 90% 或 95 % ~95\%~ 95% )。这样可以在保留大部分信息的同时,大幅降低数据的维数,从而简化后续的分析和计算。
主成分分析的核心思想
主成分分析通过正交变换将原始变量转换为一组新的不相关变量(主成分),这些主成分按方差递减排列。前几个主成分通常能够解释数据的大部分变异,因此可以用较少的主成分来近似表示原始数据,从而实现降维。