主成分分析(PCA)

主成分分析(PCA)是一种常用的无监督学习方法,这一方法利用正交变换把由现行相关变量表示的观测数据转化为少数几个由线性无关变量表示的数据,线性无关的变量称为主成分。主成分的个数通常小于原始变量的个数,所以主成分分析属于姜维方法。主成分分析主要用于发现数据中的基本结构,即数据中变量之间的关系,是数据分析的有力工具,也用于其他机器学习方法的前处理。
一、总体主成分分析 1.基本想法 【主成分分析(PCA)】统计分析比中,数据的变量之间可能存在相关性,以致增加了分析的难度。于是,考虑由少数几个不相关的变量来代替相关的变量,用来表示数据,并且要求能够保留数据中的不部分信息。
主成分分析中,首先对给定数据进行规范化,使得数据每一变量的平均值为0,方差为1,。之后对数据进行正交变换,用来由线性相关表示的数据,通过正交变换变成若干个线性无关的新变量表示的数据。新变量是可能的正交变换中变量的方差和(信息保存)最大的,方差表示在新变量上信息的大小。将新变量一次成为第一主成分,第二主成分等。通过主成分分析,可以利用主成分近似地表示原始数据,这可理解为发现数据的“基本结构”;也可以把数据由少数主成分表示,这可理解为对数据降维。
方差最大的解释。假设有两个变量,三个样本点A,B,C。样本分布在由轴组成的坐标系中,对坐标系进行旋转变换,得到新的坐标轴,表示新的变量。坐标值的平方和表示样本在变量上的方差和。主成分分析旨在选取正交变换中方差最大的变量,作为第一主成分,也是是旋转变换中坐标值的平方和最大的轴。注意到旋转变换中变换中样本点到原点距离的平方和不变,根据勾股定理,坐标值的平方和最大等价于样本点到轴的距离平方和最小。所以,等价地,主成分分析在旋转变换中选取离样本点的距离的平方和最小的轴,作为第一主成分。第二主成分等的选取,在保证与已有坐标轴正交的条件下,类似地进行
2.定义和导出 假设是m维随机变量,其均值是
,
协方差矩阵是

考虑到m维随机变量到m维随机变量的线性变换

其中
由随机变量的性质可知

总体主成分的定义给定式(1)所示的线性变换,如果他们满足下列条件

  1. 系数向量是单位向量,即
  2. 变量互不相关,即
  3. 变量是的所有线性变换中方差最大的;是与不相关x的所有线性变换中方差最大的;一般地,是与都不相关的的所有线性变换中方差最大的。这时分别称为的第一主成分,第二主成分,,第m主成分
3.主要性质 设是m维随机变量,是的协方差矩阵,的特征值分别是,特征值对应的单位特征向量分别是,则的第k主成分是

的第k主成分的方差是

即协方差矩阵的第k个特征值
4.求主成分的方法 首先求的第一主成分,即求系数向量。第一主成分的是在的条件下,的所有线性变换中使方差达到最大的

求第一主成分就是求解最优化问题

定义拉格朗日函数

其中是拉格朗日乘子,将拉格朗日函数对求导,并令其为0,得

因此是的特征值,是对应的单位特征向量。于是目标函数

假设是的最大特征值对应的单位特征向量,显然与是最优化问题的解,所以,构成第一主成分,其方差等于协方差矩阵的最大特征值

接着求的第二主成分,第二主成分的是在且与不相关条件下,的所有线性变换中使达到最大

求第二主成分需参求解约束最优化问题

定义拉格朗日函数

其中对应拉格朗日乘子。对求偏导,并令其为0,得

将方程左则乘以有

此式前两项为0,且,导出,因此式成为

由此, 是的特征值,是对应的特征向量,于是目标函数为

假设是的第二大特征值的特征向量,显然是以上最优化问题的解。于是构成第二主成分,其方差等于协方差矩阵的第二大特征值,

按照上述方法可以求得第一、第二、直到第m个主成分,其系数向量分别是的第一、第二、直到m个单位特征向量,分别是对应的特征值。并且,第k主成分的方差等于的第k个特征值。

5.主成分的个数 主成分分析的主要目的是降维,所以一般选择个主成分(线性无观变量),使问题得以简化,并能保留原有变量的大部分信息。这里所说的信息是指原有信息的方差。
对任意正整数,考虑正交线性变换

其中是q的维向量,是q*m维矩阵,令的协方差矩阵为

则的迹在时取最大值,其中矩阵是由正交矩阵A的前q列组成。
这表明,当的线性变换在时,其协方差矩阵的迹取得最大值。也就是说,当A取前的前q个主成分时,能够最大限度地保留原有变量方差的信息。
以上作为选择k个主成分的理论依据。具体选择k的方法,通常利用方差贡献率。
第k主成分的方差贡献率定义为的方差与所有方差之和的比记作

k个主成分的累计方差贡献率定义为k个方差之和和所有方差之和的比

通常取k使得累计方差贡献率达到规定的百分比以上,例如70%~80%。累计方差贡献率反映了主成分保留信息的比例,但它不能反映对某个原有变量保留信息的比例,这时通常利用k个主成分对原有变量的贡献率。
k个主成分对原有变量的贡献率为,的相关系数的平方,记作

计算公式如下:

其中,是随机变量的方差,即协方差矩阵的对角元素。
6.规范化变量的总体主成分 在实际问题中,不同变量可能有不同的量纲,直接求主成分有时会产生不合理的结果,为了消除这个影响,常常对各个随机变量实施规范化,使其均值为0,方差为1
设为随机变量,为第i个随机变量,,令

其中,分布是随机变量的均值和方差,这时就是的规范化随机变量。
二、样本主成分分析 在实际问题中,需要在观测数据上进行主成分分析,这就是样本主成分分析。样本主成分也和总体主成分具体相同的性质。
使用样本主成分时,一般假设样本数据是规范化的,即对样本矩阵如下操作:

其中


样本协方差矩阵S是中体协方差矩阵的无偏估计,样本相关矩阵R是总体相关矩阵的无偏估计,S的特征值和特征向量的特征值和特征向量的无偏估计。
1.相关矩阵的特征值和分解算法 传统的主成分分析通过数据的协方差矩阵或相关矩阵的特征值分解进行,现在常用的方法是通过数据矩阵的奇异值分解进行。下面介绍数据的协方差矩阵或相关矩阵的分解方法
给定样本矩阵,利用数据的样本的协方差矩阵或样本相关矩阵的特征值分解进行主成分分析
  1. 对观测数据进行规范化处理,得到规范化数据矩阵,仍以表示
  2. 依据规范化数据矩阵,计算样本相关矩阵R

    其中,
  3. 求相关矩阵R的k个特征值和对应的k个单位特征向量
    求解R的特征方程

    得R的m个特征值

    求方差贡献率达到与预定值的主成分个数k。求前k个主成分对应的单位特征向量
  4. 求k个主成分
    以k个单位特征矩阵为系数进行线性变换,求出k个样本主成分
  5. 计算k个主成分与原变量的相关系数,以及k个主成分对原变量的贡献率
  6. 计算n个样本的k个主成分值
    将规范化样本数据代入个主成分,得到n个样本的主成分值,第j个样本的第i主成分值是
2.数据矩阵奇异值分解法 给定样本矩阵,利用数据矩阵奇异值分解进行主成分分析,这里没有假设k个主成分
对于维实矩阵A,假设其秩为r,,则可将矩阵A进行截断奇异值分解

式是矩阵,是k阶对角矩阵,分别由取A的完全奇异分解的矩阵U,V的前k列,由完全奇异分解的矩阵的前k个对角元素得到
定义一个新的矩阵

的每一列均值为0,

即等于X的协方差矩阵

主成分分析归结于求协方差矩阵的特征值和对应的单位特征向量。
假设的截断奇异值分解为,那么V 的列向量就是的单位向量,因此V的列向量就是X的主成分。于是X求X的主成分可以通过的奇异值来实现

    推荐阅读