第11章 主成分
主成分分析(principal component Analysis)又称主分量分析,是由皮尔逊
(pearson)于1901年首先引入,后来由霍特林(hotelling)于1933年进行了发展。主成分分析是一种通过降维技术把多个变量化为少数几个主成分(即综合变量)的多元统计方法,这些主成分能够反映原始变量的大部分信息,通常表示为原始变量的线性组合,为使得这些主成分所包含的信息互不重叠,要求各主成分之间互不相关。主成分分析在很多领域有着广泛的应用,一般来说,当研究的问题涉及很多变量,并且变量间相关性明显,即包含的信息有所重叠时,可以考虑用主成分分析的方法,这样容易抓住事物的主要矛盾,使得问题得到简化。
本章主要内容包括:主成分分析的理论简介,主成分分析的MATLAB实现,主成分分析的主要具体案例。
11.1主成分分析简介
11.1.1主成分分析的几何意义 假设从二元总体
x?(x1,x2)'中抽取容量为n的样本,绘出样本观测值的散点图,如图11-1所
示。从图上可以看出,散点大致分布在一个椭圆内在
x1与x2呈现出明显的线性相关。这n个样品
x1轴方向和x2方向具有相似的离散度,离散度可以用x1和x2包含了近视相等的信息量,x1轴旋转到椭圆的长轴方向y1,x2轴旋转到椭圆的短轴y2,则有
(11.1)
丢掉其中任意一个变量,都会损失比较多的信息。图11-1中坐标按逆时针旋转一个角度?,使得
?y1?x1cos??x2sin???y2??x1sin??x2cos?此时可以看到,n个点在新坐标系下的坐标差大得多,也就是说小的。这里称
y1和y2几乎不相关,并且y1的方差要比y2的方
y2,信息的损失是比较
y1包含了原始数据中大部分的信息,此时丢掉变量
y1为第一主成分y2为第二主成分。
主成分分析的过程其实就是坐标系旋转的过程,新坐标系的各个坐标系的轴的方向是原始数据变差最大的方向,各主成分表达式就是新旧坐标转换关系式。
11.1.2 总体的主成分
1从总体协方差矩阵出发求解主成分 设
x?(x,x,?,xp),var(x)'为一个p维总体,假定
x期望和协方差矩阵均存在并已知,记
E(x)????,考虑如下线性变换
?y1?a11x1?a12x2?...?a1pxp?a'1x??y2?a21x1?a22x2?...?a2pxm?a'2x????y?ax?ax?...?ax?a'xp11p22pppp?p其中,a1,a2,?设?1
,ap均为单位向量。下面求a1,使得y1的方差达到最大。
的
??2????p?0为?p个特征值,t1,t2,?,
tp为相应的正交单位特征
向量,即
?ti??iti,ti'ti?1,ti'tj?0pi?j,i,j?1,2,?,p
由矩阵知识可知
??T?T'???tt'iii?1i
其中T考虑
?(t1,t2,?tp)为正交矩阵,?是对角元素为?1,?2,?,?p的对角矩阵。
y1的方差
pvar(y1)?var(a'1x)?c'1var(x)a1?pp??a'ii?11tit'ia1
??i?1?i(a'1ti)2??1?(a'1ti)2i?1?p???1a'1??tit'i?a1?i?1?
??1a'1TT'a1??1a'1a1??1 (11.3)
由式(11.3)可知,当a1?t1时,y1?t'1x的方差达到最大,最大值为?1。称
y2)?0y1?t'1x为第一主成分。如果第一主成分从数据中提取的信息还不够多,还应考虑第二主
成分。下面求a2,在cov(y1,条件下使得
y2的方差达到最大。由
cov(y1,y2)?cov(t'1x,a'2x)?t'1?a2?a'2?t1??1a'2t1?0
可得a'2t1?0,于是
p
var(y1)?var(a'2x)?a'2var(x)a2???a'ii?12tit'ia2
ppi???i?1(a'2ti)??2?i?12p?2(a'2ti)??2a'2??tit'i?i?1??a2 ???2a'2TT'a2??2a'2a2??2 (11.4)
由式(11.4)可知,当a2?t2时,y2?t'2x的方差达到最大,最大值为?2。称
y2?t'2x为第二主成分。类似的,在约束cov(yk,yi)?0(k?1,2,?,i?1)下可
得,当
ai?ti时yi?t'ix的方差达到最大,最大值为。?i称yi?t'ix(i?1,2,?,p)
为第i主成分。 2主成分的性质
(1)主成分向量的协方差矩阵为对角阵 记
???y?????则
y1??t'1x????y2??t'2x???(t1,t2,?,tp)'x?T'x????? (11.5) ????t'x?yp???p?,var(y)E(y)?E(T'x)?T'??var(T'x)?T'var(x)T?T'?T??
即主成分向量的协方差矩阵为对角矩阵。
(2)主成分的总方差等于原始变量的总方差: 设协方差矩阵?p?(?ij),则var(xi)??ij(i?1,2,?,p),于是
pipipij?var(yi?1)???i?1?tr(?)???i?1??var(xi?1i)
由此可见,原始数据的总方差等于
p个互不相关的主成分的方差之和,也就是说
pp个互不相关
的主成分包含了原始数据中的全部信息,但是主成分所包含的信息更为集中。
总方差中第i个主成分
yi的方差所占的比例?i??j(i?1,2,?,p)称为主成分yi的
j?1贡献率。主成分的贡献率反映了主成分综合原始变量信息的能力,也可理解为解释原始变量的能
力。由贡献率定义知,
p个主成分的贡献率依次递减,即综合原始变量信息的能力依次递减。第
一个主成分的贡献率最大,即第一个主成分综合原始变量信息的能力强。
mp前
m(m?p)个主成分的贡献率之和??ii?1?j?1?j称为前m个主成分的累积
贡献率,它反映了前m个主成分综合原始变量信息(或解释原始变量)的能力。由于主成分分析的主要目的是降维,所以需要在信息损失不太多的情况下,用少数几个主成分来代替原始变量
x1,x2,?,xp,以进行后续的分析,究竟用几个主成分来代替原始变量才合适呢?通常的
做法是取较小的m,使得恰前m个主成分的累积贡献率不低于某一水平(如85%以上),这样就达到了降维的目的。
(3)原始变量
xi与主成分
yi之间的相关系数?(xi,yi)
由式(11.5)可知
x?Ty于是
从而
xi?ti1y1?ti2y2???tipyp (11.6)
cov(xi,yi)?cov(tijyi,yj)?tijcov(yj,yj)?tij?cov(xi,yi)var(xi)var(yi)?j
?(xi,yi)??j?iitij,i,j?1,2,?,p
(4)前m个主成分对变量称
mxi的贡献率
?j?1?(xi,yi)?xi21m?ii2?j?1?jtij2
为前m个主成分对变量的贡献率。这个贡献率反映了前m个主成分从变量
xi中提取的个主成分
信息的多少。由式(11.6)可知?ii??1ti1??2ti2????ptip,固所有p对变量
22xi的贡献率为
p
?j?1?(xi,yi)?yi的贡献
21p?ii?j?1?jtij?1
2(5)原始变量对主成分主成分
yi的表达式为
yj?t'j?t1jx1?t2jx2???tpjxp,j?1,2,?,p
称
tij为第j个主成分
yj在第i个原始变量
xi上的载荷,它反映了
xi对
yj的重
要程度。在实际问题中,通常根据载荷
tij解释主成分的实际意义。
3,从总体相关系数矩阵出发求解主成分
当总体各变量取值的单位或数量级不同时,从总体协方差矩阵出发求解主成分就显得不合适了,此时应将每个变量标准化。记标准化变量为
x??xi?E(xi)var(xi)?,i?1,2,?,p***
则可以从标准化总体
x?(x1,x2,?xp)'的协方差矩阵求解主成分,即从总体
x的相关系数矩阵出发求解主成分,因为总体x?协方差矩阵就是x的相关系数矩阵。
设总体一样,设?1x的相关系数矩阵为R***,从R出发求解主成分的步骤与从?出发求解主成分的步骤
的
??2???p?0为Rp个特征值,t1*,t2,?,tp**为相应的正交单位
特征向量。则
p个主成分为
**? yi?ti'x,i?1,2,?,p (11.7)
????y??记
???则有以下结论
?y??t?'1x????????y2??t'2x?***???(t1,t2,?,tp)'x????? (11.8) ?????????yp??t'px???1 E(y)?0,var(yp)???diag(t1,t2,?,tp)
****?i?1?i*?tr(R)?P
**?(xi,yj)?此时前m**cov(xi,yj)var(xi)*var(yj)1pm*??jtij,i,j?1,2,?,p。
**
个主成分的累积贡献率为
??i?1*i11.1.3 样本的主成分