赞
踩
本文将介绍主成分分析(PCA),主成分分析是一种降维算法,它能将多个指标转换为少数几个主成分,这些主成分是原始变量的线性组合,且彼此之间互不相关,其能反映出原始数据的大部分信息。 一般来说,当研究的问题涉及到多变量且变量之间存在很强的相关性时,我们可考虑使用主成分分析的方法来对数据进行简化。
主成分分析可以用较少的新变量替换原来较多的新变量,而且是这些较少的新变量尽可能多地保留原来所反映的信息。
主成分分析是数据降维算法的一种,降维是将高维度的数据(指标太多)保留下最重要的一些特征,去除噪声和不重要的特征,从而实现提升数据处理速度的目的。
假设有 n n n 个样本, p p p 个指标,则可构成大小为 n × p n\times p n×p 的样本矩阵 x x x:
X
=
[
x
11
x
12
⋯
x
1
p
x
21
x
22
⋯
x
2
p
⋮
⋮
⋱
⋮
x
n
1
x
n
2
⋯
x
n
p
]
=
(
x
1
,
x
2
,
⋯
,
x
p
)
X=
假设我们想找到新的一组变量
z
1
,
z
2
,
…
,
z
m
(
m
≤
p
)
z_1,z_2,…,z_m( m ≤ p)
z1,z2,…,zm(m≤p),且它们满足:
{
z
1
=
l
11
x
1
+
l
12
x
2
+
⋯
+
l
1
p
x
p
z
2
=
l
21
x
1
+
l
22
x
2
+
⋯
+
l
2
p
x
p
⋯
z
m
=
l
m
1
x
1
+
l
m
2
x
2
+
⋯
+
l
m
p
x
p
系数 l i j l_{ij} lij 的确定原则:
假设有
n
n
n 个样本,
p
p
p 个指标,则可构成大小为
n
×
p
n×p
n×p 的样本矩阵
x
x
x:
x
=
[
x
11
x
12
⋯
x
1
p
x
21
x
22
⋯
x
2
p
⋮
⋮
⋱
⋮
x
n
1
x
n
2
⋯
x
n
p
]
=
(
x
1
,
x
2
,
⋯
,
x
p
)
x=
1. 首先对其进行标准化处理:
按
列
计
算
均
值
:
x
ˉ
j
=
1
n
∑
i
=
1
n
x
i
j
,
标
准
差
:
S
j
=
∑
i
=
1
n
(
x
i
j
−
x
ˉ
j
)
2
n
−
1
,
标
准
化
数
据
:
X
i
j
=
x
i
j
−
x
ˉ
j
S
j
原
始
样
本
矩
阵
经
过
标
准
化
变
化
:
X
=
[
X
11
X
12
⋯
X
1
p
X
21
X
22
⋯
X
2
p
⋮
⋮
⋱
⋮
X
n
1
X
n
2
⋯
X
n
p
]
=
(
X
1
,
X
2
,
⋯
,
X
p
)
按列计算均值:\bar x_j=\frac{1}{n} \sum_{i=1}^{n}x_{ij},\quad 标准差:S_j=\sqrt{\frac{\displaystyle\sum_{i=1}^{n}(x_{ij}-\bar x_j)^2}{n-1}},\quad 标准化数据:X_{ij}=\frac{x_{ij}-\bar x_j}{S_j}\\ 原始样本矩阵经过标准化变化: X=
2. 计算标准化样本查的协方差矩阵:
R
=
[
r
11
r
12
⋯
r
1
p
r
21
r
22
⋯
r
2
p
⋮
⋮
⋱
⋮
r
p
1
r
p
2
⋯
r
p
p
]
R=
1、2步骤可以合成一步:
R
=
∑
k
=
1
n
(
x
k
i
−
x
‾
i
)
(
x
k
i
−
x
‾
j
)
∑
k
=
1
n
(
x
k
i
−
x
‾
i
)
2
∑
k
=
1
n
(
x
k
j
−
x
‾
j
)
2
R=\frac{\displaystyle\sum_{k=1}^{n}{(x_{ki}-\overline x_i)(x_{ki}-\overline x_j)}}{\sqrt{\displaystyle\sum_{k=1}^{n}{(x_{ki}-\overline x_i)^2}\sum_{k=1}^{n}{(x_{kj}-\overline x_j)^2}}}
R=k=1∑n(xki−xi)2k=1∑n(xkj−xj)2
k=1∑n(xki−xi)(xki−xj)
3. 计算 R 的特征值和特征值向量:
特
征
值
λ
1
≥
λ
2
≥
⋯
≥
λ
p
≥
0
,
(
R
是
半
正
定
矩
阵
,
且
t
r
(
R
)
=
∑
k
=
1
p
λ
k
=
p
)
特
征
向
量
:
a
1
=
[
a
11
a
21
⋮
a
p
1
]
,
a
2
=
[
a
12
a
22
⋮
a
p
2
]
,
⋯
,
a
p
=
[
a
1
p
a
2
p
⋮
a
p
p
]
特征值 \lambda_1≥\lambda_2≥\cdots≥\lambda_p≥0,\quad(R是半正定矩阵,且tr(R)=\sum_{k=1}^{p}\lambda_k=p)\\ 特征向量:a_1=\left[
4. 计算主成分共享率以及累计贡献率:
贡
献
率
=
λ
i
∑
k
=
1
p
λ
k
,
累
加
贡
献
率
=
∑
k
=
1
i
λ
k
∑
k
=
1
p
λ
k
,
(
i
=
1
,
2
,
⋯
,
p
)
贡献率=\frac{\lambda_i}{\displaystyle\sum_{k=1}^{p}{\lambda_k}},\quad累加贡献率=\frac{\displaystyle\sum_{k=1}^{i}{\lambda_k}}{\displaystyle\sum_{k=1}^{p}{\lambda_k}},\quad(i=1,2,\cdots,p)
贡献率=k=1∑pλkλi,累加贡献率=k=1∑pλkk=1∑iλk,(i=1,2,⋯,p)
5. 写出主成分:
一般取累计贡献率超过 80% 的特征值所对应的第一、第二、…、第
m
m
m(
m
≤
p
m≤p
m≤p)个主成分。
第
i
个
主
成
分
:
F
i
=
a
1
i
X
1
+
a
2
i
X
2
+
⋯
+
a
p
i
X
p
第i个主成分:F_i = a_{1i}X_1+a_{2i}X_2+\cdots+a_{pi}X_p
第i个主成分:Fi=a1iX1+a2iX2+⋯+apiXp
6. 根据系数分析主成分代表的意义:
对于某个主成分而言,指标前面的系数越大,代表该指标对于该主成分的影响越大。
题目来源于:《应用多元统计分析》王学民
在制定服装标准的过程中,对128名成年男子的身材进行了测量,每人测得的指标中含有这样六项:身高(
x
1
x_1
x1)、坐高(
x
2
x_2
x2) 、胸围(
x
3
x_3
x3) 、手臂长(
x
4
x_4
x4) 、肋围(
x
5
x_5
x5)和腰围(
x
6
x_6
x6) 。所得样本相关系数矩阵(对称矩阵哦)列于下表。
注意:本题相当于直接把 第一二步骤计算好,但是我们在建模的时候得到的是最原始的数据(每一列是指标,每一行是样本)。
经过计算,相关系数矩阵的特征值、相应的特征向量以及贡献率列于下表:
注意:matlab 求得的特征值向量,默认进行了归一化,验证方法:每一列平方和之后开根号。
从表中可以看到前三个主成分的累计贡献率达85.9%,因此可以考虑只取前面三个主成分,它们能够很好地概括原始变量。
X i X_i Xi 均是标准化后的指标, x i x_i xi:身高、坐高、胸围、手臂长、肋围和腰围
注:由于第三主成分的贡献率不高( 7.65%)且实际意义也不太重要,因此我们也可以考虑只取前两个主成分进行分析。
本文借鉴了数学建模清风老师的课件与思路,如果大家发现文章中有不正确的地方,欢迎大家在评论区留言,也可以点击查看下方链接查看清风老师的视频讲解~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。