1、第十六章 主成分分析 主成分分析 主成分分析(principal component analysis, PCA)是一种常用的无 监督学习方法 这一方法利用正交变换把由线性相关变量表示的观测数据转换为少数 几个由线性无关变量表示的数据,线性无关的变量称为主成分。 主成分的个数通常小于原始变量 的个数,所以主成分分析属于降维方 法。 主成分分析主要用于发现数据中的基本结构, 即数据中变量之间的关 系。 基本想法 主成分分析中,首先对给定数据进行规范化,使得数据每一变量的平均值为 0,方差为1。 之后对数据进行正交变换,原来由线性相关变量表示的数据,通过正交变换 变成由若干个线性无关的新变量表示的
2、数据。 新变量是可能的正交变换中变量的方差的和(信息保存)最大的,方差表示 在新变量上信息的大小。 可以用主分成近似地表示原始数据,发现数据的基本结构 也可以把数据由少数主成分表示,对数据降维 基本想法 数据集合中的样本由实数空间(正交坐标系) 中的点表示,空间的一个坐标轴表 示一个变量,规范化处理后得到的数据分布在原点附近。 对原坐标系中的数据进行主成分分析等价于进行坐标系旋转变换,将数据投影到新 坐标系的坐标轴上 新坐标系的第一坐标轴、第二坐标轴等分别表示第一主成分、 第二主成分等 数据在每一轴上的坐标值的平方表示相应变量的方差 这个坐标系是在所有可能的新的坐标系中,坐标轴上的方差的和最大
3、的 例 数据由线性相关的两个变量x1和x2表示 主成分分析对数据进行 正交变换,对原坐标系进行 旋转变换,并将数据在 新坐标系表示 例 主成分分析选择方差最大的方向(第一主成分)作为新坐标系的 第一坐标轴,即y1轴 之后选择与第一坐标轴正交 ,且方差次之的方向 (第二主成分)作为 新坐标系的第二坐标轴, 即y2轴 例 在新坐标系里,数据中的变量y1和y2是线性无关的,当知道其中 一个变量y1的取值时,对另一个变量y2的预测是完全随机的,反 之亦然 如果主成分分析只取 第一主成分,即新坐标系的 y1轴,那么等价于将数据投影 在椭圆长轴上, 用这个主轴 表示数据,将二维空间的数 据压缩到一维空间中
4、。 例 假设有两个变量x1和x2,三个样本点A、B、C,样本分布在由x1和 x2轴组成的坐标系中 对坐标系进行旋转变换,得到新的 坐标轴y1,表示新的变量y1 样本点A、B、C在y1轴上投影, 得到y1轴的坐标值A、B、 C 例 坐标值的平方和OA2 + OB2 + OC2表示样本在变量y1上的方差和 主成分分析旨在选取正交变换中方差最大的 变量,作为第一主成分,也就是旋转变换中坐标值 的平方和最大的轴 OA2 + OB2 + OC2最大等价于样本点到 y1轴的距离的平方和AA2 + BB2 + CC2最小 主成分分析在旋转变换中选取离样本点的距 离平方和最小的轴,作为第一主成分。第二主成分
5、等的选取,在保证与已选坐标轴正交的条件下, 类似地进行 主成分分析 在数据总体(population)上进行的主成分分析称为总体主成分 分析 在有限样本上进行的主成分分析称为样本主成分分析 总体主成分分析是样本主成分分析的基础 定义和导出 假设 是m维随机变量,其均值向量是 协方差矩阵是 考虑由m维随机变量x到m维随机变量 的线性变换 其中 定义和导出 由随机变量性质可知 定义和导出 定义和导出 定义中的条件(1)表明线性变换是正交变换, 是其一 组标准正交基 条件(2)(3)给出了一个求主成分的方法: 第一步,在x的所有线性变换 中,在 条 件下,求方差最大的,得到x的第一主成分 定义和导出
6、 第二步,在与 不相关的x的所有线性变换 中,在 条件下,求方差最大的,得到x的第二主成分 第k步,在与 不相关的x的所有线性变换 中,在 条件下,求方差最大的,得到x的第k主成分 主要性质 主要性质 证明:采用拉格朗日乘子法求出主成分 首先求x的第一主成分, ,即求系数向量 。由定 义16.1知,第一主成分的 是在 条件下,x的所 有线性变换中使方差 达到最大的 求第一主成分就是求解约束最优化问题: 主要性质 定义拉格朗日函数 其中 是拉格朗日乘子。将拉格朗日函数对 求导,并令其 为0,得 因此, 是 的特征值, 是对应的单位特征向量。于是,目 标函数 假设 是 的最大特征值 对应的单位特征
7、向量,显然 与 是最优化问题的解 所以, 构成第一主成分,其方差等于协方差矩阵的最大特征 值 主要性质 接着求x的第二主成分 。第二主成分的 是在 ,且 与 不相关的条件下,x的所有线性变换 中使方差 达到最大的 求第二主成分需要求解约束最优化问题 注意到 以及 主要性质 定义拉格朗日函数 其中 是拉格朗日乘子。对 求导,并令其为0,得 将方程左乘以 有 此式前两项为0,且 ,导出 ,因此式(16.10)成为 由此, 是 的特征值, 是对应的单位特征向量。于是, 目标函数 16.10 主要性质 假设 是 的第二大特征值 对应的单位特征向量,显然 与 是以上最优化问题的解 于是 构成第二主成分,
8、其方差等于协方差矩阵的第二大特 征值 一般地,x的第k主成分是 ,并且 ,这里 是 的第k个特征值并且 是对应的单位特征向量。 主要性质 按照上述方法求得第一、第二、直到第m主成分,其系数向量 分别是 的第一个、第二个、直到第m个单位特 征向量, 分别是对应的特征值。 第k主成分的方差等于 的第k个特征值, 主要性质 主要性质 以上证明中, 是 第k个特征值, 是对应的特征向量,即 用矩阵表示为 这里 是对角矩阵,其第k个对角元素是 因为A是正交矩阵,即 ATA=AAT=I,由 得 总体主成分的性质 (1)总体主成分y的协方差矩阵是对角矩阵 (2)总体主成分y的方差之和等于随机变量x的方差之和
9、,即 其中 是随机变量 的方差,即协方差矩阵 的对角元素。 事实上,利用 及矩阵的迹(trace)的性质,可知 总体主成分的性质 (3)第k个主成分 与变量 的相关系数 称为因 子负荷量(factor loading),它表示第k个主成分 与变量 的相关关系。计算公式是 因为 其中ei为基本单位向量,其第i个分量为1,其余为0。再由协方差 的性质 得到式 (16.20) 16.20 总体主成分的性质 (4)第k个主成分 与m个变量的因子负荷量满足 由式(16.20)有 总体主成分的性质 (5)m个主成分与第i个变量 的因子负荷量满足 由于 互不相关 故 又因 可以表为 的线性组合,所以 与 的
10、相关系数的平方为1,即 故得式(16.22) 16.22 主成分的个数 主成分分析的主要目的是降维,所以一般选择k (k m)个主成 分(线性无关变量)来代替m个原有变量(线性相关变量),使 问题得以简化,并能保留原有变量的大部分信息。 主成分的个数 证明: 令 是B的第k列,由于正交矩阵A的列构成m维空间的基,所以 可以由A的列表示,即 等价地 其中C是 m x q 矩阵,其第j行第k列元素为Cjk 主成分的个数 首先 其中 是C的第j行。因此 主成分的个数 其次,由 及A的正交性知 由于A是正交的,B的列是正交的,所以 即C的列也是正交的。于是 这样,矩阵C可以认为是某个m阶正交矩阵D的前
11、q列 主成分的个数 正交矩阵D的行也正交,所以满足 其中 是D的第j行。由于矩阵D的行包括矩阵C的行的前q个元 素,所以 即 因为 ,能找到 使得 时, 最大 主成分的个数 而当 时,有 满足 所以,当 时, 达到最大值 定理16.2表明,当x的线性变换y在 ,其协方差矩阵 的迹 取得最大值 这就是说,当取A的前q列取x的前q个主成分时,能够最大限度地 保留原有变量方差的信息。 主成分的个数 当舍弃A的后p列,即舍弃变量x的后p个主成分时,原有变量的方 差的信息损失最少。 主成分的个数 主成分的个数 通常取k使得累计方差贡献率达到规定的百分比以上 累计方差贡献率反映了主成分保留信息的比例,但它
12、不能反映对 某个原有变量xi保留信息的比例 通常利用k个主成分 对原有变量xi的贡献率 主成分的个数 规范化变量的总体主成分 在实际问题中,不同变量可能有不同的量纲,直接求主成分有时 会产生不合理的结果。 为了消除这个影响,常常对各个随机变量实施规范化,使其均值 为0,方差为1. 规范化变量的总体主成分 设 为m维随机变量,xi为第i个随机变量,令 其中, 分别是随机变量xi的均值和方差,这时 就是 xi的规范化随机变量 规范化随机变量的协方差矩阵就是相关矩阵R 规范化变量的总体主成分 规范化随机变量的总体主成分有以下性质: (1) 规范化变量主成分的协方差矩阵是 (2) 协方差矩阵的特征值之
13、和为m 规范化变量的总体主成分 (3) 规范化随机变量 与主成分 的相关系数(因子负荷量)为 其中 为矩阵R对应于特征值 的单位特征 向量 (4)所有规范化随机变量 与主成分 的相关系数的平方和等于 (5)规范化随机变量 与所有主成分 的相关系数的平方和等于1 样本主成分分析 总体主成分分析,是定义在样本总体上的。 在实际问题中,需要在观测数据上进行主成分分析,这就是样本 主成分分析。 样本主成分也和总体主成分具有相同的性质。 样本主成分的定义和性质 假设对m维随机变量 进行n次独立观测 表示观测样本 表示第j个观测样本 表示第j个观测样本的第i个变量,j=1,2, ,n 观测数据用样本矩阵X
14、表示,记作 样本主成分的定义和性质 给定样本矩阵X,可以估计样本均值,以及样本协方差。样本均 值向量 为 样本协方差矩阵S为 其中, 为第i个变量的样本均值 样本主成分的定义和性质 样本相关矩阵R为 定义m维向量 到m维向量 的线性变 换 其中 样本主成分的定义和性质 考虑 的任意一个线性变换 其中yi是m维向量y的第i个变量,相应于容量为n的样本 , yi的样本均值 为 其中 是随机向量x的样本均值 样本主成分的定义和性质 yi的样本方差 为 对任意两个线性变换 ,相应于容量为n的样本 yi, yk的样本协方差为 样本主成分的定义和性质 样本主成分与总体主成分具有同样的性质 总体主成分的定理
15、16.2及定理16.3对样本主成分依然成立 样本主成分的定义和性质 在使用样本主成分时,一般假设样本数据是规范化的,即对样本 矩阵作如下变换: 其中 16.48 样本主成分的定义和性质 为了方便,以下将规范化变量 每仍记作 , 规范化的样 本矩阵仍记作X。这时,样本协方差矩阵S就是样本相关矩阵R 样本协方差矩阵S是总体协方差矩阵 的无偏估计 样本相关矩阵R是总体相关矩阵的无偏估计 S的特征值和特征向量是 的特征值和特征向量的极大似然估 计。 相关矩阵的特征值分解算法 给定样本矩阵X,利用数据的样本协方差矩阵或者样本相关矩阵 的特征值分解进行主成分分析。具体步骤如下: (1)对观测数据按式(16
16、.48)进行规范化处理,得到规范化数据 矩阵,仍以X表示 相关矩阵的特征值分解算法 (2)依据规范化数据矩阵,计算样本相关矩阵R 其中 相关矩阵的特征值分解算法 (3) 求样本相关矩阵R的k个特征值和对应的k个单位特征向量 求解R的特征方程 得R的m个特征值 求方差贡献率 达到预定值的主成分个数k 求前k个特征值对应的单位特征向量 相关矩阵的特征值分解算法 (4)求k个样本主成分 以k个单位特征向量为系数进行线性变换,求出k个样本主成分 (5)计算k个主成分 yj 与原变量 xi 的相关系数 ,以及k 个主成分对原变量 xi 的贡献率vi。 相关矩阵的特征值分解算法 (6)计算n个样本的k个主
17、成分值 将规范化样本数据代入k个主成分式 得到n个样本的主成分值 第j个 样本 的第i主成分值是 例 假设有n个学生参加四门课程的考试,将学生们的考试成绩看作 随机 变量的取值,对考试成绩数据进行标准化处理,得到样本 相关矩阵R 试对数据进行主成分分析 例 设变量 分别表示语文、外语、数学、物理的成绩。 对 样本相关矩阵进行特征值分解,得到相关矩阵的特征值,并按大 小排序, 这些特征值就是各主成分的方差贡献率。假设要求主成分的累计 方差贡献率大于75%, 那么只需取前两个主成分即可,即k=2,因 为 例 求出对应于特征值 的单位特征向量 由 可得第一主成分y1、第二主成分y2 例 接下来由特征
18、值和单位特征向量求出第一、第二主成分的因子负 荷量,以及第一、 第二主成分对变量 xi 的贡献率 例 第一主成分 y1 对应的因子负荷量 均为正数, 表明各门课程成绩提高都可使 y1 提高 也就是说,第一主成分 y1 反映了学生的整体成绩 因子负荷量的数值相近,且 的数值最大,这 表明物理成 绩在整体成绩中占最重要位置 例 第二主成分 y2 对应的因子负荷量 有正有负 正的是语文和外语,负的是数学和物理 表明文科成绩提高都可使 y2 提高,理科成绩提高都可使 y2 降 低 也就是说,第二主成分 y2 反映了学生的文科成绩与理科成绩的 关系。 例 将原变量 x1, x2, x3, x4 (语文、
19、外语、数学、物理)和 主成分 y1, y2 (整体成绩、文科对理科成绩) 的因子负荷量在平面坐标系中 表示。 4个原变量聚成了两类 因子负荷量相近的语文、外语 为一类,数学、物理为一类, 前者反映文科课程成绩, 后者反映理科课程成绩。 数据矩阵的奇异值分解算法 假设有k个主成分,给定样本矩阵x,利用数据矩阵奇异值分解进 行主成分分析 对于 m x n 实矩阵A,假设其秩为r,0kr,则可以将矩阵A进 行截断奇异值分解 数据矩阵的奇异值分解算法 定义一个新的 n x m 矩阵X X的每一列均值为0,得 即XTX等于X的协方差矩阵SX 数据矩阵的奇异值分解算法 主成分分析归结于求协方差矩阵SX的特征值和对应的单位特征向 量 问题转化为求矩阵 XTX 的特征值和对应的单位特征向量 假设 X 的截断奇异值分解为 , 那么V的列向量就是 的单位特征向量 因此,V的列向量就是X的主成分 于是,求X主成分可以通过求X的奇异值分解来实现。 主要成分分析算法