主成分分析法(PCA)
在实际问题中,我们经常会遇到研究多个变量的问题,而且在多数情况下,多个变量之
间常常存在一定的相关性。由于变量个数较多再加上变量之间的相关性,势必增加了分析问
题的复杂性。如何从多个变量中综合为少数几个代表性变量,既能够代表原始变量的绝大多
数信息,又互不相关,并且在新的综合变量基础上,可以进一步的统计分析,这时就需要进
行主成分分析。
I. 主成分分析法(PCA)模型
(一)主成分分析的基本思想
主成分分析是采取一种数学降维的方法,找出几个综合变量来代替原来众多的变量,使
这些综合变量能尽可能地代表原来变量的信息量,而且彼此之间互不相关。这种将把多个变
量化为少数几个互相无关的综合变量的统计分析方法就叫做主成分分析或主分量分析。
主成分分析所要做的就是设法将原来众多具有一定相关性的变量,重新组合为一组新的
相互无关的综合变量来代替原来变量。通常,数学上的处理方法就是将原来的变量做线性组
合,作为新的综合变量,但是这种组合如果不加以限制,则可以有很多,应该如何选择呢?
如果将选取的第一个线性组合即第一个综合变量记为 1F ,自然希望它尽可能多地反映原来
变量的信息,这里“信息”用方差来测量,即希望
Var
( 1F
)
越大,表示 1F 包含的信息越多。
因此在所有的线性组合中所选取的 1F 应该是方差最大的,故称 1F 为第一主成分。如果第一
主成分不足以代表原来 p 个变量的信息,再考虑选取 2F 即第二个线性组合,为了有效地反
映 原 来 信 息 , 1F 已 有 的 信 息 就 不 需 要 再 出 现 在 2F 中 , 用 数 学 语 言 表 达 就 是 要 求
Cov
(
FF
1
)
,
2
0
,称 2F 为第二主成分,依此类推可以构造出第三、四……第 p 个主成分。
(二)主成分分析的数学模型
对于一个样本资料,观测 p 个变量
xx ,
1
,
2
px
, n 个样品的数据资料阵为:
X
x
11
x
21
x
1
n
x
12
x
22
x
n
2
p
p
x
1
x
2
x
np
xx ,
1
,
2
px
其中:
x
j
j
j
x
1
x
2
x
nj
,
j
,2,1
p
主成分分析就是将 p 个观测变量综合成为 p 个新的变量(综合变量),即
F
1
F
2
xa
11
1
xa
21
1
F
p
xa
11
p
2
xa
12
2
xa
22
xa
2
p
2
xa
1
p
p
xa
2
p
p
xa
pp
p
简写为:
F
j
j
x
11
j
2
x
2
jp
x
p
j
,2,1
,
p
要求模型满足以下条件:
①
i FF , 互不相关( j
i ,
j
i
,
j
,2,1
,
p
)
② 1F 的方差大于 2F 的方差大于 3F 的方差,依次类推
③
2
a
k
1
2
a
k
2
a
kp
2
1
k
,2,1
p
.
于是,称 1F 为第一主成分, 2F 为第二主成分,依此类推,有第 p 个主成分。主成分又
叫主分量。这里 ija 我们称为主成分系数。
上述模型可用矩阵表示为:
AX
,其中
F
X
F
1
F
2
pF
a
11
a
21
a
A 称为主成分系数矩阵。
a
12
a
22
a
1
a
2
a
p
p
a
p
2
p
1
pp
x
1
x
2
px
a
1
a
2
a
p
F
A
(三)主成分分析的几何解释
假设有 n 个样品,每个样品有二个变量,即在二维空间中讨论主成分的几何意义。设 n
个样品在二维空间中的分布大致为一个椭园,如下图所示:
图 1 主成分几何解释图
将坐标系进行正交旋转一个角度,使其椭圆长轴方向取坐标 1y ,在椭圆短轴方向取
坐标 2y ,旋转公式为
y
1
y
2
j
j
x
1
cos
x
1
j
(
sin
)
j
x
2
j
x
2
sin
cos
j
j
2,1
n
写成矩阵形式为:
Y
y
11
y
21
y
12
y
22
y
1
n
y
2
n
cos
sin
sin
cos
x
11
x
21
x
12
x
22
其 中 U 为 坐 标 旋 转 变 换 矩 阵 , 它 是 正 交 矩 阵 , 即 有
sin
2
2
cos
1
。
经过旋转变换后,得到下图的新坐标:
x
1
n
x
2
n
XU
UUUU
,1
I
, 即 满 足
图 2 主成分几何解释图
新坐标
y 有如下性质:
1
y
2
(1) n 个点的坐标 1y 和 2y 的相关几乎为零。
(2)二维平面上的 n 个点的方差大部分都归结为 1y 轴上,而 2y 轴上的方差较小。
1y 和 2y 称为原始变量 1x 和 2x 的综合变量。由于 n 个点在 1y 轴上的方差最大,因而将
二维空间的点用在 1y 轴上的一维综合变量来代替,所损失的信息量最小,由此称 1y 轴为第
一主成分, 2y 轴与 1y 轴正交,有较小的方差,称它为第二主成分。
II. 主成分分析法(PCA)推导
一、主成分的导出
根据主成分分析的数学模型的定义,要进行主成分分析,就需要根据原始数据,以及模
型的三个条件的要求,如何求出主成分系数,以便得到主成分模型。这就是导出主成分所要
解决的问题。
1、根据主成分数学模型的条件①要求主成分之间互不相关,为此主成分之间的协差阵
应该是一个对角阵。即,对于主成分,
F
AX
其协差阵应为,
Var
(
F
)
Var
(
AX
)
(
AX
()
AX
)
AXAX
=
2
1
p
2、设原始数据的协方差阵为V ,如果原始数据进行了标准化处理后则协方差阵等于相
关矩阵,即有,
V
XXR
3、再由主成分数学模型条件③和正交矩阵的性质,若能够满足条件③最好要求 A 为正
交矩阵,即满足
AA
I
于是,将原始数据的协方差代入主成分的协差阵公式得
Var
(
F
)
AXAX
AAR
AAR
展开上式得
AR
A
r
11
r
21
r
1
p
a
11
a
12
a
1
p
r
12
r
22
21
r
2
p
a
a
22
a
2
p
1
p
p
r
1
r
2
p
r
pp
a
a
2
p
a
pp
21
a
a
22
a
2
p
2
a
11
a
12
a
1
p
1
a
a
1
p
2
p
a
pp
p
展开等式两边,根据矩阵相等的性质,这里只根据第一列得出的方程为:
r
11
ar
21
11
a
1
11
(
r
22
ar
1
11
p
ar
12
2
p
ar
12
12
)
a
12
1
r
pp
(
p
ar
1
1
p
ar
1
2
p
p
0
0
1
)
a
1
p
0
为了得到该齐次方程的解,要求其系数矩阵行列式为 0,即
1
r
11
r
21
r
1
p
r
22
r
12
r
p
2
1
p
r
1
r
2
p
r
pp
0
1
显然, 1是相关系数矩阵的特征值,
a
1
,
a
12
,
pa
1
是相应的特征向量。
I
R
0
1
a
11
根据第二列、第三列等可以得到类似的方程,于是 i是方程
I
R
0
的 p 个根, i为特征方程的特征根, ja 是其特征向量的分量。
4、下面再证明主成分的方差是依次递减
设相关系数矩阵 R 的 p 个特征根为
1
2
p
,相应的特征向量为 ja
A
a
11
a
21
a
1
p
a
12
a
22
a
p
2
p
p
a
1
a
2
a
pp
a
1
a
2
a
p
Var
(
1)
F
aXXa
1
1
aRa
1
1
1
相对于 1F 的方差为
同样有:
Var
(
iF
)
i
,即主成分的方差依次递减。并且协方差为:
Cov
(
a
i
(
XaXa
i
,
j
)
Raa
i
j
p
1
)
aaa
j
p
1
(
aa
i
)(
aa
j
)
,0
i
j
综上所述,根据证明有,主成分分析中的主成分协方差应该是对角矩阵,其对角线上的
元素恰好是原始数据相关矩阵的特征值,而主成分系数矩阵 A 的元素则是原始数据相关矩
阵特征值相应的特征向量。矩阵 A 是一个正交矩阵。
于是,变量
xx ,
1
,
2
px
经过变换后得到新的综合变量
F
1
F
2
xa
11
1
xa
21
1
F
p
xa
11
p
2
xa
12
2
xa
22
xa
2
p
2
xa
1
p
p
xa
2
p
p
xa
pp
p
新的随机变量彼此不相关,且方差依次递减。
二、主成分分析的计算步骤
假设样本观测数据矩阵为:
X
x
11
x
21
x
n
1
第一步:对原始数据进行标准化处理。
x
12
x
22
x
n
2
p
p
x
1
x
2
x
np
x
*
ij
x
ij
var(
x
x
j
j
)
(
i
,2,1
,
;
jn
,2,1
,
p
)
其中
x
j
1
n
n
i
1
x
ij
var(
x
)
j
1
1
n
第二步:计算样本相关系数矩阵。
R
r
11
r
21
r
1
p
n
i
1
(
x
ij
x
j
2
)
(
j
,2,1
,
p
)
p
r
r
12
1
r
r
22
2
p
r
pp
2
p
r
为方便,假定原始数据标准化后仍用 X 表示,则经标准化处理后的数据的相关系数为:
r
ij
1
n
11
t
n
xx
ti
tj
,(
i
j
,2,1
,
p
)
第三步:用雅克比方法求相关系数矩阵 R 的特征值(
,
aa
1
i
2,1
,
。
p
a
i
ip
,
i
2
a
i
1,
p 2
)和相应的特征向量
第四步:选择重要的主成分,并写出主成分表达式。
主成分分析可以得到 p 个主成分,但是,由于各个主成分的方差是递减的,包含的信
息量也是递减的,所以实际分析时,一般不是选取 p 个主成分,而是根据各个主成分累计
贡献率的大小选取前 k 个主成分,这里贡献率就是指某个主成分的方差占全部方差的比重,
实际也就是某个特征值占全部特征值合计的比重。即
贡献率=
i
p
i
1
i
贡献率越大,说明该主成分所包含的原始变量的信息越强。主成分个数 k 的选取,主要
根据主成分的累积贡献率来决定,即一般要求累计贡献率达到 85%以上,这样才能保证综合
变量能包括原始变量的绝大多数信息。
另外,在实际应用中,选择了重要的主成分后,还要注意主成分实际含义解释。主成分
分析中一个很关键的问题是如何给主成分赋予新的意义,给出合理的解释。一般而言,这个
解释是根据主成分表达式的系数结合定性分析来进行的。主成分是原来变量的线性组合,在
这个线性组合中个变量的系数有大有小,有正有负,有的大小相当,因而不能简单地认为这
个主成分是某个原变量的属性的作用,线性组合中各变量系数的绝对值大者表明该主成分主
要综合了绝对值大的变量,有几个变量系数大小相当时,应认为这一主成分是这几个变量的
总和,这几个变量综合在一起应赋予怎样的实际意义,这要结合具体实际问题和专业,给出
恰当的解释,进而才能达到深刻分析的目的。
第五步:计算主成分得分。
根据标准化的原始数据,按照各个样品,分别代入主成分表达式,就可以得到各主成分
下的各个样品的新数据,即为主成分得分。具体形式可如下。
F
11
F
21
F
1
n
F
12
F
22
F
n
2
k
F
1
k
F
2
F
nk
第六步:依据主成分得分的数据,则可以进行进一步的统计分析。其中,常见的应用
有主成份回归,变量子集合的选择,综合评价等。
III. 主成分分析法(PCA)案例
为了系统的分析某 IT 类企业的经济效益,选择统计了 8 个不同的利润指标,
15 家企业关于这 8 个指标的统计数据如下所示,试对此进行主成分分析,并进
行相关评价。
变
量
企
业
序
号
1
2
3
4
5
净产值
利润率
(%)
1iX
40.4
25.0
13.2
22.3
34.3
固定资
产利润
率(%)
2iX
24.7
12.7
3.3
6.7
11.8
15 家企业的利润指标的统计数据
总产值
利润率
(%)
3iX
产品成
本利润
率(%)
5iX
物耗
利润
率(%)
6iX
销售收
入利润
率(%)
4iX
7.2
11.2
3.9
5.6
7.1
6.1
11.0
4.3
3.7
7.1
8.3
12.9
4.4
6.0
8.0
8.7
20.2
5.5
7.4
8.9
人均利
润率
(千元
/人)
7iX
2.442
3.542
0.578
0.176
1.726
流动
资金
利润
率(%)
8iX
20.0
9.1
3.6
7.3
27.5