【多元统计分析】18.主成分分析

文章目录

十八、主成分分析

1.寻找主成分

主成分分析是一种“降维”的方式,将高维空间中的信息嵌入到低维空间的同时,尽可能保留原始样本中的信息。这样做的好处,主要是降低问题研究的复杂性,因为维数过高不论是在空间存储上,还是在运算时间上,都是一种浪费。如果能够将部分不重要的分量加以组合,形成一个更有用的分量,自然能降低运算的负担。

这样的降维有两个主要目标:一是尽可能地压缩样本空间的维数,二是尽可能多地保留样本的信息。主成分分析的方法,是用总体不同维度的线性组合,构成新的变量(变量组),从而用这个低维的变量(变量组)来代替原来的样本。而线性组合总可以用一个权重向量来表示。

比如说,总体是 X = ( X 1 , ⋯   , X p ) ′ X=(X_1,\cdots,X_p)' X=(X1​,⋯,Xp​)′,就引入一个向量 w = ( w 1 , ⋯   , w p ) ′ w=(w_1,\cdots,w_p)' w=(w1​,⋯,wp​)′用来表达一个线性组合 w ′ X w'X w′X。因为这个向量具有“权重”性,我们施以约束 w ′ w = 1 w'w=1 w′w=1,这样就可以用这个向量代表线性组合中各个分量的重要性。信息的保留程度用方差来刻画,如果一个线性组合的方差越大,就说明保留的信息越完整。因此,如果 D ( X ) = Σ {\rm D}(X)=\Sigma D(X)=Σ,寻找主成分就变成如下的规划问题:
max ⁡ z = w ′ Σ w , s . t . w ′ w = 1. \max z=w'\Sigma w,\quad {\rm s.t.}w'w=1. maxz=w′Σw,s.t.w′w=1.
用Lagrange乘数法很容易求出合适的 w w w,也就是
L = w ′ Σ w − λ ( w ′ w − 1 ) , L=w'\Sigma w-\lambda (w'w-1), L=w′Σw−λ(w′w−1),
求偏导得到
∂ L ∂ w = 2 ( Σ − λ I ) w = 0 , ∂ L ∂ λ = w ′ w − 1 = 0. \frac{\partial L}{\partial w}=2(\Sigma -\lambda I)w=0,\\ \frac{\partial L}{\partial \lambda}=w'w-1=0. ∂w∂L​=2(Σ−λI)w=0,∂λ∂L​=w′w−1=0.
这说明 w w w就是 Σ \Sigma Σ的某个特征向量,为了确定具体是哪一个特征向量,要从其方差入手,注意到
w Σ w ′ = w ′ λ w = λ , w\Sigma w'=w'\lambda w=\lambda, wΣw′=w′λw=λ,
所以要使 w Σ w ′ w\Sigma w' wΣw′最大实际是要让 λ \lambda λ最大,因此, w w w是最大特征值对应的特征向量

如果一个线性组合,即使它是最好的,也压缩了过多的信息,我们自然会想着用多个线性组合作补充。为了避免信息的冗余,我们会限制两个线性组合之间不相关,也就是 C o v ( w 1 X , w 2 X ) = w 1 ′ Σ w 2 = 0 {\rm Cov}(w_1X,w_2X)=w_1'\Sigma w_2=0 Cov(w1​X,w2​X)=w1′​Σw2​=0,在此要求下,结合 w 2 ′ w 2 = 1 w_2'w_2=1 w2′​w2​=1的限制,寻找使得 D ( w 2 X ) {\rm D}(w_2X) D(w2​X)最大的向量 w 2 w_2 w2​。

结合刚才Lagrange乘子法的表现,我们已经知道了,向量 w w w必定是 Σ \Sigma Σ的特征向量(即使施加了不相关约束,原有的步骤也是不变的),且对应的特征值就是线性组合的方差。结合不同特征值对应的特征向量线性无关的特点,自然会想到次大的特征值对应的特征向量,或者同样是对应特征值最大但与 w 1 w_1 w1​线性无关的特征向量。我们将寻找主成分的步骤归结如下:

主成分:设 X = ( X 1 , ⋯   , X p ) ′ X=(X_1,\cdots,X_p)' X=(X1​,⋯,Xp​)′为 p p p维随机向量,称 Z i = a i ′ X Z_i=a_i'X Zi​=ai′​X为 X X X的第 i i i主成分 ( i = 1 , ⋯   , p ) (i=1,\cdots,p) (i=1,⋯,p),如果:

  1. a i ′ a i = 1 a_i'a_i=1 ai′​ai​=1(权重性约束);
  2. 当 i > 1 i>1 i>1时, a i ′ Σ a j = 0 ( j = 1 , ⋯   , i − 1 ) a_i'\Sigma a_j=0(j=1,\cdots,i-1) ai′​Σaj​=0(j=1,⋯,i−1)(不相关性约束);
  3. D ( Z i ) = max ⁡ a ′ a = 1 , a ′ Σ a j = 0 D ( a ′ X ) {\rm D}(Z_i)=\max\limits_{a'a=1,a'\Sigma a_j=0} {\rm D}(a'X) D(Zi​)=a′a=1,a′Σaj​=0max​D(a′X)(最大方差约束)。

寻找主成分:设 X = ( X 1 , ⋯   , X p ) ′ X=(X_1,\cdots,X_p)' X=(X1​,⋯,Xp​)′是 p p p维随机向量, Σ \Sigma Σ是其协方差阵,且其特征值为 λ 1 ≥ λ 2 ≥ ⋯ ≥ λ p = 0 \lambda_1\ge \lambda_2\ge \cdots\ge\lambda_p=0 λ1​≥λ2​≥⋯≥λp​=0,相应的单位正交向量是 a 1 , a 2 , ⋯   , a p a_1,a_2,\cdots,a_p a1​,a2​,⋯,ap​,则 X X X的第 i i i主成分为
Z i = a i ′ X ( i = 1 , ⋯   , p ) . Z_i=a_i'X(i=1,\cdots,p). Zi​=ai′​X(i=1,⋯,p).
主成分矩阵:设 Z = ( Z 1 , ⋯   , Z p ) ′ Z=(Z_1,\cdots,Z_p)' Z=(Z1​,⋯,Zp​)′是 p p p维随机向量,则其分量 Z i Z_i Zi​是 X X X的第 i i i主成分的充要条件是:

  1. Z = A ′ X Z=A'X Z=A′X,这里 A A A为正交矩阵,这表明 Z i Z_i Zi​是 X X X的正交线性组合,且两两不相关。
  2. D ( Z ) = d i a g ( λ 1 , ⋯   , λ n ) {\rm D}(Z)={\rm diag}(\lambda_1,\cdots,\lambda_n) D(Z)=diag(λ1​,⋯,λn​),即协方差阵是对角阵,这说明 Z i Z_i Zi​两两不相关。
  3. λ 1 ≥ λ 2 ≥ ⋯ ≥ λ n \lambda_1\ge \lambda_2\ge \cdots\ge\lambda_n λ1​≥λ2​≥⋯≥λn​。

2.主成分的性质

现在,我们已经知道给定总体如何求出其主成分了,主成分是对总体的正交变换,也恰好是总体自协方差矩阵的线性无关特征向量,因此,具有以下的性质。

主成分的协方差: D ( Z ) = Λ {\rm D}(Z)=\Lambda D(Z)=Λ,即 p p p个主成分的方差为 D Z i = λ i {\rm D}Z_i=\lambda_i DZi​=λi​,且互不相关。

既然主成分是一种信息压缩的表征,那么如何衡量主成分压缩过程中信息的保留程度就是值得注意的。因为主成分的方差就是特征值,因此我们会从特征值出发,定义信息的保留程度。假设原总体的自协方差矩阵为 Σ = ( σ i j ) p × p \Sigma=(\sigma_{ij})_{p\times p} Σ=(σij​)p×p​,则 Σ \Sigma Σ的主对角线之和代表原总体的总方差,就视为原总体蕴含的信息量。

总方差:定义 ∑ i = 1 p λ i = ∑ i = 1 p σ i i \sum_{i=1}^p\lambda_i=\sum_{i=1}^p\sigma_{ii} ∑i=1p​λi​=∑i=1p​σii​为原总体 X X X的总方差,或总惯量。

在主成分分解下,可以用前 m m m个特征值来近似逼近原总体的总方差,即 ∑ i = 1 m λ i ≈ ∑ i = 1 p σ i i \sum_{i=1}^m\lambda_i\approx\sum_{i=1}^p\sigma_{ii} ∑i=1m​λi​≈∑i=1p​σii​,这也就达到了降维的同时充分保留信息的目的。一般我们会要求信息保留超过70%,也就是选择 m m m使得
∑ i = 1 m λ i ≥ 0.7 ∑ i = 1 p λ i . \sum_{i=1}^m\lambda_i\ge0.7\sum_{i=1}^p\lambda_i. i=1∑m​λi​≥0.7i=1∑p​λi​.

这一概念可以用贡献率来描述。

贡献率:称主成分 Z k Z_k Zk​的贡献率为 λ k ∑ i = 1 p λ k \frac{\lambda_k}{\sum_{i=1}^p \lambda_k} ∑i=1p​λk​λk​​,主成分 Z 1 , ⋯   , Z m Z_1,\cdots,Z_m Z1​,⋯,Zm​的累计贡献率为
∑ k = 1 m λ k ∑ i = 1 p λ i . ( m < p ) \frac{\sum_{k=1}^m\lambda_k}{\sum_{i=1}^p\lambda_i}.(m<p) ∑i=1p​λi​∑k=1m​λk​​.(m<p)

贡献率描述的是主成分对整体的贡献,接下来的定义则注重于总体的某一个维度。

因子载荷:定义主成分 Z k Z_k Zk​与原始变量 X i X_i Xi​的相关系数 ρ ( Z k , X i ) \rho(Z_k,X_i) ρ(Zk​,Xi​)为因子载荷量,也就是
ρ ( Z k , X i ) = λ k a i k σ i i . \rho(Z_k,X_i)=\frac{\sqrt{\lambda_k}a_{ik}}{\sqrt{\sigma_{ii}}}. ρ(Zk​,Xi​)=σii​ ​λk​ ​aik​​.
因子载荷的性质:
∑ k = 1 p ρ 2 ( Z k , X i ) = 1 , ∑ i = 1 p σ i i ρ 2 ( Z k , X i ) = λ k . \sum_{k=1}^p\rho^2(Z_k,X_i)=1,\\ \sum_{i=1}^p\sigma_{ii}\rho^2(Z_k,X_i)=\lambda_k. k=1∑p​ρ2(Zk​,Xi​)=1,i=1∑p​σii​ρ2(Zk​,Xi​)=λk​.

有了因子载荷,结合其关于某一维度的平方为1的特点,可以定义主成分对原始变量的贡献率,这表示每个变量被提取信息的多少。

主成分对原始变量 X i X_i Xi​的贡献率:定义为 X i X_i Xi​与前 m m m个主成分 Z 1 , ⋯   , Z m Z_1,\cdots,Z_m Z1​,⋯,Zm​的相关系数的平方,即
ν i ( m ) = ∑ k = 1 m λ k a i k 2 σ i i . \nu_i^{(m)}=\sum_{k=1}^m\frac{\lambda_ka_{ik}^2}{\sigma_{ii}}. νi(m)​=k=1∑m​σii​λk​aik2​​.

3.样本的主成分

在实际生活中,总体的协方差矩阵往往未知,需要通过样本来估计。总体的协方差矩阵可以用样本协方差阵来估计,设数据阵为 X n × p X_{n\times p} Xn×p​,样本数为 n n n,则样本协方差阵为
S = 1 n − 1 A = 1 n − 1 X ′ X = 1 n − 1 ∑ t = 1 n ( X ( t ) − X ˉ ) ( X ( t ) − X ˉ ) ′ = d e f ( s i j ) p × p . S=\frac{1}{n-1}A=\frac1{n-1}X'X=\frac 1{n-1}\sum_{t=1}^n(X_{(t)}-\bar X)(X_{(t)}-\bar X)'\stackrel {\rm def}=(s_{ij})_{p\times p}. S=n−11​A=n−11​X′X=n−11​t=1∑n​(X(t)​−Xˉ)(X(t)​−Xˉ)′=def(sij​)p×p​.
将 S S S作为 Σ \Sigma Σ的估计后,就可以求 S S S的特征值 λ 1 , ⋯   , λ p \lambda_1,\cdots,\lambda_p λ1​,⋯,λp​与特征向量 a 1 , ⋯   , a p a_1,\cdots,a_p a1​,⋯,ap​,也就是 p p p个主成分 Z 1 , ⋯   , Z p Z_1,\cdots,Z_p Z1​,⋯,Zp​。每一个主成分对每个样本的发挥不同,把第 t t t个样品 X ( t ) X_{(t)} X(t)​代入第 k k k个主成分 Z k Z_k Zk​,得到的值为 z t k z_{tk} ztk​称为第 t t t个样品在第 i i i个主成分的得分,构成矩阵 Z = ( z i j ) n × p Z=(z_{ij})_{n\times p} Z=(zij​)n×p​,它与数据矩阵是同规模的,这里第 t t t行是第 t t t个样品在 p p p个主成分的得分(记作 Z ( t ) Z_{(t)} Z(t)​),第 k k k列是第 k k k主成分对 n n n个样品的得分(记作 Z k \mathsf Z_k Zk​)。

样本主成分也具有贡献率、累计贡献率,并且有以下的性质:

正交性: Z ˉ = 1 n ∑ t = 1 n Z ( t ) = 0 \bar Z=\frac 1n\sum_{t=1}^nZ_{(t)}=0 Zˉ=n1​∑t=1n​Z(t)​=0,且当 i ≠ j i\ne j i​=j时 Z i ′ Z j = 0 \mathsf Z_i'\mathsf Z_j=0 Zi′​Zj​=0,也就是不同主成分得分向量相互正交。

得分向量的模: Z i ′ Z i = ( n − 1 ) λ i \mathsf Z_i'\mathsf Z_i=(n-1)\lambda_i Zi′​Zi​=(n−1)λi​,这里 λ i \lambda_i λi​是样本协方差阵的第 i i i特征值。

不仅如此,样本主成分还能最小化残差平方和,这里的残差平方和指的是选取 m m m个主成分作回归:
X p × 1 = B p × m Z m × 1 + ε p × 1 , X_{p\times 1}=B_{p\times m}Z_{m\times 1}+\varepsilon_{p\times 1}, Xp×1​=Bp×m​Zm×1​+εp×1​,
找一个 B p × m = ( b i j ) p × m B_{p\times m}=(b_{ij})_{p\times m} Bp×m​=(bij​)p×m​使得残差平方和 ε 1 × p ′ ε p × 1 = Q ( B ) \varepsilon_{1\times p}'\varepsilon_{p\times 1}=Q(B) ε1×p′​εp×1​=Q(B)最小,而这里每一个维度,都有 n n n个观测值作为样本。

最优分解:样本主成分具有使残差平方和最小的优越性。

回顾总结

  1. 主成分分析的目的是,用少数几个指标值代替高维样本空间,在降维的同时尽可能保留信息,一般希望保留的信息达到70%以上。

  2. 总体的主成分,就是自协方差矩阵 Σ \Sigma Σ的按大小排列特征值的对应特征向量,记每个主成分的贡献为
    λ k ∑ i = 1 p λ i . \frac{\lambda_k}{\sum_{i=1}^p\lambda_i}. ∑i=1p​λi​λk​​.
    前 m m m个主成分的累计贡献率就是各自贡献率的加总。

  3. 定义第 k k k个主成分与第 i i i个维度变量的相关系数为因子载荷 ρ ( Z k , X i ) \rho(Z_k,X_i) ρ(Zk​,Xi​),有 ∑ k = 1 p ρ 2 ( Z k , X i ) \sum_{k=1}^p\rho^2(Z_k,X_i) ∑k=1p​ρ2(Zk​,Xi​)。用因子载荷衡量主成分对某个变量的贡献率,即
    ∑ k = 1 m ρ 2 ( Z k , X i ) . \sum_{k=1}^m\rho^2(Z_k,X_i). k=1∑m​ρ2(Zk​,Xi​).

  4. 用样本协方差阵替代总体协方差阵计算特征值和特征向量,能得到样本主成分,且样本主成分具有使残差平方和最小的特性。

上一篇:LGV引理


下一篇:【笔记】聚类综述与谱聚类