第十四章 降维 主成分分析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 变量意义 D1:人口年增长率(%); D5:粗出生率(每1000 人口); …… D18:总生育率(每个妇女);
15
主成分及崖底碎石图
DP=read.csv("DP.csv") #求特征值和相应的特征向量 (e=eigen(cor(DP[,-1])))#数据第一列是国家或地区名字必须去掉 cumsum(e$values)/sum(e$values)#各个成分的累计贡献 plot(e$values,type="b",main="Scree plot",pch=16,col=4,lwd=3)
eigen() decomposition
$values #特征值
$vectors #特征向量
9
比较特征值
• 对于14.1左图数据: $values #特征值
• 对于14.1右图数据: $values
[1] 1.972 0.028 $vectors #特征向量
[1] 1.04 0.96 $vectors
这些互不相关的组合在主成分分析中称为成分(component).
5
变量选择
• 在做主成分分析时, 最主观、对结果影响最大的决策就是选择哪些变 量参与建模, 这方面怎么强调都不过分.
• 必须注意到, 在教科书中的数据是给定的, 读者往往被动地“接受” 这些别人采集的变量, 而无法去质疑其合理性, 也很难认识到选择不同 的变量对结果的不同影响.
• 对于其他主成分:
– 只有第5 主成分和D2 (手机用户) 成负相关(相关系数-0.584). 因此
第5 主成分负值越大, 国家手机用户越多.
21
载荷图
• 以第1 和第2 主成分载荷为横坐标及纵坐标画出各个变量的位置(载荷 即相关系数为) 图,称为载荷图; 类似地, 也画出第3 和第5 主成分的载 荷图(这两个图在图14.4中).
• 把原来的观测值投影到选择的成分上(计算得分并画图).
13
三 通过特征值问题求各个主成分
14
例14.1
• 数据描述 数据有177行, 每行代表一个国家或地区, 一共有12 个变量(数据的列), 除了名为Country.or.Area 的第一列为各个国家或地区的名字之外, 其 他列都是人口学的一些变量.
图14.4 左右两图分别是第1、2 及第3、5 主成分的载荷图
22
四 各个观测值在新坐标中的记分
23
记 分(score)
• 把每个观测值的相应于各个主成分的新坐标求出来, 称为记分(score). 求记分的做法是把原始数据标准化, 即每一列减去该列均值后除以该 列的标准差(用函数scale 实现), 然后用特征向量左乘标准化的数据. sc=scale(DP[,-1])%*%e$vectors
• 右图最靠左边(与第3 主成分最负相关) 的2 个国家为China, India, 其后
有Indonesia, Bangladesh, United States of America, Pakistan; 它们的总人
口较多. 图14.5右图的右边挤在一起, 不很突出. 图14.5右图最靠下面的
(与第5 主成分比较负相关) 的6 个国家Gabon,Kazakhstan, Russian
由于变量之间相关, 谈论单独某个变量对描述数据的单独贡献就没有 多大的意义, 这些互相相关的变量有着“集体贡献”, 降维就有可能.
• 主成分分析是在变量相关时寻找不相关的线性组合
在变量相关时, 可以由相关的变量形成若干变量的线性组合, 而这些线
性组合之间不相关. 这时谈论每个组合对问题的单独贡献就有意义了.
16
主成分及崖底碎石图
• 得到相应于11 个变量的特征值及累计贡献为: e$values [1] 6.3726 1.5656 1.0448 0.7961 0.5010 0.3368 [7] 0.2060 0.1324 0.0320 0.0080 0.0046 cumsum(e$values)/sum(e$values)#各个成分的累计贡献 [1] 0.58 0.72 0.82 0.89 0.93 0.97 0.98 1.00 1.00 1.00 1.00
• 可以看出最突出的是前面少数几个成分, 它们所代表的信息已经达到 80% 以上, 后面成分对方差的贡献就小多了.
17
体现相关系数的载荷
• 前面可通过e$vectors 函数得到11 个特征向量, 但它们都是单位向 量, 仅仅给出方向, 没有给出各个成分与原始变量的线性相关系数.
• 把每个单位特征向量乘以它们相应的特征值的平方根则给出这些相关 系数, 称为载荷(我们只输出前面5 个成分): loading=sweep(e$vectors,2,sqrt(e$values),"*")%>%da ta.frame() names(loading)=paste0("Comp-",1:11) data.frame(Variable=names(DP)[-1],loading[,1:5])
• 可能性 并不是所有多元数据分析都能够或者有必要降维. 问题的性质、研究 者的目的及数据变量之间的关系等各种因素确定了降维的可能性.
4
降维的可能性
• 数据各变量不相关的情况
每个变量对于这个数据的整体特征的贡献都是独立的, 并不与其他变 量混杂, 这样的数据不能降维, 主成分分析无意义.
• 数据各变量相互相关的情况
2
一 变量之间的关系与 降维的可能性
3
降维
• 目的 为了在各个数据处理环节减少存储量和提高计算效率, 也为了更加清 楚数据的内在结构.
• 主成分分析 一种降维就是用原始变量构造出来的少数变量来代替多数变量. 主成 分分析(principal component analysis, PCA) 就是这样的一种降维方法.
20
体现相关系数的载荷
• 对于第2主成分:
– 和第2 主成分比较负相关(相关系数绝对值大于0.5) 的变量为D6 (粗 死亡率)还有稍微相关的D1 (人口增长率). 因此第2 主成分负值越大, 粗死亡率越高但出生率也较高.
• 对于第3主成分:
– 只有D12 (总人口) 和第3 主成分强烈负相关, 其他变量和第3 主成 分. 因此第3 主成分负值越大, 国家总人口越多.
成.
图14.6 一个老宅的照片
28
图像压缩案例
• 得到3 个新文件的压缩比分别为0.09942, 0.14536, 0.29486
图14.7 老宅照片分别选取的主成分个数为3、10、100 的压缩照片及对
29
比的原始照片(自上左到下右排列)
习题
• 关于主成分分析, 请考虑下面问题: – 是不是一个数量变量的多元数据一定可以做主成分分析? – 主成分分析中有没有选取成分个数的不变标准?请解释. 你将按照 什么标准选取主成分? – 主成分分析的载荷在不同的程序中会得到不同的符号(指值的正负 号),这有关系吗?为什么?
图14.2 图14.1左右两图的崖底碎石图
11
主成分和原数据的关系
• 每个单位向量乘以其对应的特征值的平方根则为该成分和对应原始变 量的相关系数, 这些以相关系数表示的方向称为载荷.
• 图14.1左图数据和原来变量的相关系数: 第一列所代表的第一主成分与 两个原始变量的相关系数均为0.99, 因此, 第一主成分对原始数据的代 表性很强, 而第二主成分则代表性很弱. #每列特征向量乘以相应的特征值平方根
Federation Panama, Saudi Arabia, Botswana; 它们手机用户比例可能较
大(但相关性不那么强).
25பைடு நூலகம்
五 主成分分析在图像处理中的应用
26
压缩
• 压缩的图像利于传送, 但我们也不希望压缩得太厉害以致失去原图片 太多的信息.
• 彩色图像的颜色大都通过三原色深浅组合而成, 计算机在处理颜色时 会将其转化为R(红), G (绿), B (蓝) 三个值(注意这里的绿色实际上是柠 檬色) 来记录, 取值都在0 255 之间.
数据科学导论
— 第十四章 降维: 主成分分析
刘苗
miaoliu@cufe.edu.cn Jan.3, 2020
1
主要内容
一 变量之间的关系与降维的可能性 二 两维空间的降维 三 通过特征值问题求各个主成分 四 各个观测值在新坐标中的记分 五 主成分分析在图像处理中的应用 六 本章的Python代码
8
椭圆的正交长短轴
• 寻找两个点云相应椭圆的主轴(即正交的长短轴)等价于寻找观测值方 差(或标准差)最大的方向.
• 在数学上为寻找数据相关矩阵最大的特征值(相应于方差) 及对应的特 征向量(即第一主轴的方向).
• 很容易利用R 函数eigen算出:
> xy=read.csv("xy.csv") > (a=xy%>%cor()%>%eigen()) #求xy相关阵特征值及特征向量
将会说明, 特征值不同的比例揭示了降维的可能性.
10
崖底碎石图(scree plot)
• 图14.1左图数据在两个方向的方差之比为0:986 : 0:014(相应的特征值 大小之比), 即长轴解释了98.6% 的信息, 因此如果舍弃短轴, 则仅损失 1.4% 的信息. 结论是有降维的可能.
• 图14.1右图数据长短轴方差的比例为0:52 : 0:48, 任何降维都会损失将 近50% 的信息. 结论是不适合降维.
6
二 两维空间的降维
7
二维空间降维
• 左图是两个相关变量的点云, 其中沿着椭圆长轴的方向有较多的信息, 即方差最大的方向, 而沿着椭圆短轴的方向方差较小.
• 右图是两个不相关变量的点云, 长短轴没有明显差别, 近似于圆, 对该 点云做降维则没有什么意义.
图14.1 相关变量点云(左) 及无关变量点云(右)
> sweep(a$vectors,2,sqrt(a$values),"*")
[,1] [,2]
[1,] 0.99 -0.12
[2,] 0.99 0.12
12
主成分分析的步骤
• 找到各个不相关的成分,并选择代表性的少数成分: – 通过相关阵的特征值来看成分的重要性(崖底碎石图)并选择成分; – 通过相关阵的特征向量来看成分和原变量的关系(载荷图) 并解 释成分.
18
体现相关系数的载荷
• 输出结果见下表: 表14.1 各变量主成分载荷表
19
体现相关系数的载荷
• 对于第1主成分: – 和第1 主成分比较负相关(相关系数绝对值大于0.6) 的变量为D1 (人 口增长率), D13 (都市人口), D15 (人口中位数年龄), D16 (超过60 的人口比例), D2 (手机用户量), D7 (人均国民总收入). 因此第一主 成分负值越大, 国家越发达. – 和第1 主成分比较正相关(相关系数绝对值大于0.6) 的变量为D17 (15 以下的人口比例), D18 (总生育率), D5 (粗出生率). 因此第一主 成分正值越大, 国家越落后.
图14.5 左右两图分别是观测值相应于第1、2 及第3、5 主成分的记分24图
记分(score)
• 图14.5左图最靠左边(与第1 主成分最负相关) 的6 个国家是Japan, Germany, Italy, Finland, Austria, Switzerland, 它们是世界上最发达的国 家; 而图14.5左图最靠右边(与第1 主成分最正相关) 的6 个国家是Niger, Chad, Burundi, Uganda, Mali, Democratic Republic of the Congo, 它们是 世界上最不发达的国家.
[,1] [,2]
[,1] [,2]
[1,] 0.71 -0.71
[1,] 0.71 -0.71
[2,] 0.71 0.71
[2,] 0.71 0.71
• 图14.1左右两图的特征向量(即两个主成分) 方向一样, 但左图数据特征
值(即方差) 的比例(代码prop.table(a$values))相差很大, 后面
• 主成分分析可以用部分(主成分得到的) 像素点来代替原先的像素点以 减少图像的像素点.
27
图像压缩案例
• 图14.6为一张老宅的照片, 对该照片利用主成分分析做压缩. • 使用了程序包jpeg2的函数读入数据:
sc=scale(DP[,-1])%*%e$vectors • 照片文件的维数是2448×3264×3, 或者说是由3 个2448×3264 矩阵组
15
主成分及崖底碎石图
DP=read.csv("DP.csv") #求特征值和相应的特征向量 (e=eigen(cor(DP[,-1])))#数据第一列是国家或地区名字必须去掉 cumsum(e$values)/sum(e$values)#各个成分的累计贡献 plot(e$values,type="b",main="Scree plot",pch=16,col=4,lwd=3)
eigen() decomposition
$values #特征值
$vectors #特征向量
9
比较特征值
• 对于14.1左图数据: $values #特征值
• 对于14.1右图数据: $values
[1] 1.972 0.028 $vectors #特征向量
[1] 1.04 0.96 $vectors
这些互不相关的组合在主成分分析中称为成分(component).
5
变量选择
• 在做主成分分析时, 最主观、对结果影响最大的决策就是选择哪些变 量参与建模, 这方面怎么强调都不过分.
• 必须注意到, 在教科书中的数据是给定的, 读者往往被动地“接受” 这些别人采集的变量, 而无法去质疑其合理性, 也很难认识到选择不同 的变量对结果的不同影响.
• 对于其他主成分:
– 只有第5 主成分和D2 (手机用户) 成负相关(相关系数-0.584). 因此
第5 主成分负值越大, 国家手机用户越多.
21
载荷图
• 以第1 和第2 主成分载荷为横坐标及纵坐标画出各个变量的位置(载荷 即相关系数为) 图,称为载荷图; 类似地, 也画出第3 和第5 主成分的载 荷图(这两个图在图14.4中).
• 把原来的观测值投影到选择的成分上(计算得分并画图).
13
三 通过特征值问题求各个主成分
14
例14.1
• 数据描述 数据有177行, 每行代表一个国家或地区, 一共有12 个变量(数据的列), 除了名为Country.or.Area 的第一列为各个国家或地区的名字之外, 其 他列都是人口学的一些变量.
图14.4 左右两图分别是第1、2 及第3、5 主成分的载荷图
22
四 各个观测值在新坐标中的记分
23
记 分(score)
• 把每个观测值的相应于各个主成分的新坐标求出来, 称为记分(score). 求记分的做法是把原始数据标准化, 即每一列减去该列均值后除以该 列的标准差(用函数scale 实现), 然后用特征向量左乘标准化的数据. sc=scale(DP[,-1])%*%e$vectors
• 右图最靠左边(与第3 主成分最负相关) 的2 个国家为China, India, 其后
有Indonesia, Bangladesh, United States of America, Pakistan; 它们的总人
口较多. 图14.5右图的右边挤在一起, 不很突出. 图14.5右图最靠下面的
(与第5 主成分比较负相关) 的6 个国家Gabon,Kazakhstan, Russian
由于变量之间相关, 谈论单独某个变量对描述数据的单独贡献就没有 多大的意义, 这些互相相关的变量有着“集体贡献”, 降维就有可能.
• 主成分分析是在变量相关时寻找不相关的线性组合
在变量相关时, 可以由相关的变量形成若干变量的线性组合, 而这些线
性组合之间不相关. 这时谈论每个组合对问题的单独贡献就有意义了.
16
主成分及崖底碎石图
• 得到相应于11 个变量的特征值及累计贡献为: e$values [1] 6.3726 1.5656 1.0448 0.7961 0.5010 0.3368 [7] 0.2060 0.1324 0.0320 0.0080 0.0046 cumsum(e$values)/sum(e$values)#各个成分的累计贡献 [1] 0.58 0.72 0.82 0.89 0.93 0.97 0.98 1.00 1.00 1.00 1.00
• 可以看出最突出的是前面少数几个成分, 它们所代表的信息已经达到 80% 以上, 后面成分对方差的贡献就小多了.
17
体现相关系数的载荷
• 前面可通过e$vectors 函数得到11 个特征向量, 但它们都是单位向 量, 仅仅给出方向, 没有给出各个成分与原始变量的线性相关系数.
• 把每个单位特征向量乘以它们相应的特征值的平方根则给出这些相关 系数, 称为载荷(我们只输出前面5 个成分): loading=sweep(e$vectors,2,sqrt(e$values),"*")%>%da ta.frame() names(loading)=paste0("Comp-",1:11) data.frame(Variable=names(DP)[-1],loading[,1:5])
• 可能性 并不是所有多元数据分析都能够或者有必要降维. 问题的性质、研究 者的目的及数据变量之间的关系等各种因素确定了降维的可能性.
4
降维的可能性
• 数据各变量不相关的情况
每个变量对于这个数据的整体特征的贡献都是独立的, 并不与其他变 量混杂, 这样的数据不能降维, 主成分分析无意义.
• 数据各变量相互相关的情况
2
一 变量之间的关系与 降维的可能性
3
降维
• 目的 为了在各个数据处理环节减少存储量和提高计算效率, 也为了更加清 楚数据的内在结构.
• 主成分分析 一种降维就是用原始变量构造出来的少数变量来代替多数变量. 主成 分分析(principal component analysis, PCA) 就是这样的一种降维方法.
20
体现相关系数的载荷
• 对于第2主成分:
– 和第2 主成分比较负相关(相关系数绝对值大于0.5) 的变量为D6 (粗 死亡率)还有稍微相关的D1 (人口增长率). 因此第2 主成分负值越大, 粗死亡率越高但出生率也较高.
• 对于第3主成分:
– 只有D12 (总人口) 和第3 主成分强烈负相关, 其他变量和第3 主成 分. 因此第3 主成分负值越大, 国家总人口越多.
成.
图14.6 一个老宅的照片
28
图像压缩案例
• 得到3 个新文件的压缩比分别为0.09942, 0.14536, 0.29486
图14.7 老宅照片分别选取的主成分个数为3、10、100 的压缩照片及对
29
比的原始照片(自上左到下右排列)
习题
• 关于主成分分析, 请考虑下面问题: – 是不是一个数量变量的多元数据一定可以做主成分分析? – 主成分分析中有没有选取成分个数的不变标准?请解释. 你将按照 什么标准选取主成分? – 主成分分析的载荷在不同的程序中会得到不同的符号(指值的正负 号),这有关系吗?为什么?
图14.2 图14.1左右两图的崖底碎石图
11
主成分和原数据的关系
• 每个单位向量乘以其对应的特征值的平方根则为该成分和对应原始变 量的相关系数, 这些以相关系数表示的方向称为载荷.
• 图14.1左图数据和原来变量的相关系数: 第一列所代表的第一主成分与 两个原始变量的相关系数均为0.99, 因此, 第一主成分对原始数据的代 表性很强, 而第二主成分则代表性很弱. #每列特征向量乘以相应的特征值平方根
Federation Panama, Saudi Arabia, Botswana; 它们手机用户比例可能较
大(但相关性不那么强).
25பைடு நூலகம்
五 主成分分析在图像处理中的应用
26
压缩
• 压缩的图像利于传送, 但我们也不希望压缩得太厉害以致失去原图片 太多的信息.
• 彩色图像的颜色大都通过三原色深浅组合而成, 计算机在处理颜色时 会将其转化为R(红), G (绿), B (蓝) 三个值(注意这里的绿色实际上是柠 檬色) 来记录, 取值都在0 255 之间.
数据科学导论
— 第十四章 降维: 主成分分析
刘苗
miaoliu@cufe.edu.cn Jan.3, 2020
1
主要内容
一 变量之间的关系与降维的可能性 二 两维空间的降维 三 通过特征值问题求各个主成分 四 各个观测值在新坐标中的记分 五 主成分分析在图像处理中的应用 六 本章的Python代码
8
椭圆的正交长短轴
• 寻找两个点云相应椭圆的主轴(即正交的长短轴)等价于寻找观测值方 差(或标准差)最大的方向.
• 在数学上为寻找数据相关矩阵最大的特征值(相应于方差) 及对应的特 征向量(即第一主轴的方向).
• 很容易利用R 函数eigen算出:
> xy=read.csv("xy.csv") > (a=xy%>%cor()%>%eigen()) #求xy相关阵特征值及特征向量
将会说明, 特征值不同的比例揭示了降维的可能性.
10
崖底碎石图(scree plot)
• 图14.1左图数据在两个方向的方差之比为0:986 : 0:014(相应的特征值 大小之比), 即长轴解释了98.6% 的信息, 因此如果舍弃短轴, 则仅损失 1.4% 的信息. 结论是有降维的可能.
• 图14.1右图数据长短轴方差的比例为0:52 : 0:48, 任何降维都会损失将 近50% 的信息. 结论是不适合降维.
6
二 两维空间的降维
7
二维空间降维
• 左图是两个相关变量的点云, 其中沿着椭圆长轴的方向有较多的信息, 即方差最大的方向, 而沿着椭圆短轴的方向方差较小.
• 右图是两个不相关变量的点云, 长短轴没有明显差别, 近似于圆, 对该 点云做降维则没有什么意义.
图14.1 相关变量点云(左) 及无关变量点云(右)
> sweep(a$vectors,2,sqrt(a$values),"*")
[,1] [,2]
[1,] 0.99 -0.12
[2,] 0.99 0.12
12
主成分分析的步骤
• 找到各个不相关的成分,并选择代表性的少数成分: – 通过相关阵的特征值来看成分的重要性(崖底碎石图)并选择成分; – 通过相关阵的特征向量来看成分和原变量的关系(载荷图) 并解 释成分.
18
体现相关系数的载荷
• 输出结果见下表: 表14.1 各变量主成分载荷表
19
体现相关系数的载荷
• 对于第1主成分: – 和第1 主成分比较负相关(相关系数绝对值大于0.6) 的变量为D1 (人 口增长率), D13 (都市人口), D15 (人口中位数年龄), D16 (超过60 的人口比例), D2 (手机用户量), D7 (人均国民总收入). 因此第一主 成分负值越大, 国家越发达. – 和第1 主成分比较正相关(相关系数绝对值大于0.6) 的变量为D17 (15 以下的人口比例), D18 (总生育率), D5 (粗出生率). 因此第一主 成分正值越大, 国家越落后.
图14.5 左右两图分别是观测值相应于第1、2 及第3、5 主成分的记分24图
记分(score)
• 图14.5左图最靠左边(与第1 主成分最负相关) 的6 个国家是Japan, Germany, Italy, Finland, Austria, Switzerland, 它们是世界上最发达的国 家; 而图14.5左图最靠右边(与第1 主成分最正相关) 的6 个国家是Niger, Chad, Burundi, Uganda, Mali, Democratic Republic of the Congo, 它们是 世界上最不发达的国家.
[,1] [,2]
[,1] [,2]
[1,] 0.71 -0.71
[1,] 0.71 -0.71
[2,] 0.71 0.71
[2,] 0.71 0.71
• 图14.1左右两图的特征向量(即两个主成分) 方向一样, 但左图数据特征
值(即方差) 的比例(代码prop.table(a$values))相差很大, 后面
• 主成分分析可以用部分(主成分得到的) 像素点来代替原先的像素点以 减少图像的像素点.
27
图像压缩案例
• 图14.6为一张老宅的照片, 对该照片利用主成分分析做压缩. • 使用了程序包jpeg2的函数读入数据:
sc=scale(DP[,-1])%*%e$vectors • 照片文件的维数是2448×3264×3, 或者说是由3 个2448×3264 矩阵组