主成分分析
总体主成分分析
定义和导出
x
x
x是
m
m
m维的随机变量,其均值为
μ
\mu
μ,协方差矩阵为
Σ
\Sigma
Σ
考虑由m维随机变量x到m维随机变量y的线形变换:
y
i
=
α
i
T
x
=
∑
k
=
1
m
α
k
i
x
k
,
i
=
1
,
2
,
.
.
.
,
m
y_i = \alpha_i^Tx = \sum_{k=1}^m\alpha_{ki}x_k~,~i=1,2,...,m
yi=αiTx=k=1∑mαkixk , i=1,2,...,m
α
i
T
=
(
α
1
i
,
α
2
i
,
.
.
.
,
α
m
i
)
\alpha_i^T = (\alpha_{1i},\alpha_{2i},...,\alpha_{mi})
αiT=(α1i,α2i,...,αmi)
满足下面的条件:
α
i
T
α
=
1
\alpha_i^T\alpha = 1
αiTα=1
c
o
v
(
y
i
,
y
j
)
=
0
cov(y_i,y_j) = 0
cov(yi,yj)=0
不相关且方差最大
\text{不相关且方差最大}
不相关且方差最大
主要性质
x
x
x是
m
m
m维的随机变量,其均值为
μ
\mu
μ,协方差矩阵为
Σ
\Sigma
Σ,
Σ
\Sigma
Σ的特征值是
λ
1
>
=
λ
1
>
=
.
.
.
>
=
λ
m
>
\lambda_1>=\lambda_1>=...>=\lambda_m>
λ1>=λ1>=...>=λm>特征值对应的特征向量是
α
1
,
α
2
,
.
.
.
,
α
m
\alpha_1,\alpha_2,...,\alpha_m
α1,α2,...,αm则x的第i个主成分可以写作是
y
i
=
α
i
T
x
=
∑
k
=
1
m
α
k
i
x
k
y_i = \alpha_i^Tx = \sum_{k=1}^m\alpha_{ki}x_k
yi=αiTx=∑k=1mαkixk,并且,x的第i个主成分的方差是协方差矩阵
Σ
\Sigma
Σ的第i个特征值,即:
v
a
r
(
y
i
)
=
α
i
T
Σ
α
i
=
λ
i
var(y_i) = \alpha_i^T\Sigma\alpha_i = \lambda_i
var(yi)=αiTΣαi=λi
主成分有以下性质:
主成分y的协方差矩阵是对角矩阵
c
o
v
(
y
)
=
⋀
=
d
i
a
g
(
λ
1
,
λ
2
,
.
.
.
,
λ
m
)
cov(y) = \bigwedge = diag(\lambda_1,\lambda_2,...,\lambda_m)
cov(y)=⋀=diag(λ1,λ2,...,λm)
主成分y的方差之和等于随机变量x的方差之和
∑
i
=
1
m
λ
i
=
∑
i
=
1
m
σ
i
i
\sum_{i=1}^m\lambda_i = \sum_{i=1}^m\sigma_{ii}
i=1∑mλi=i=1∑mσii
其中
σ
i
i
\sigma_{ii}
σii是
x
i
x_i
xi的方差
主成分
y
k
y_k
yk与变量x之间的相关系数
ρ
(
y
k
,
x
i
)
\rho(y_k,x_i)
ρ(yk,xi)称为因子负荷量,它表示第k个主成分
y
k
y_k
yk与变量
x
i
x_i
xi之间的相关关系,即
y
k
y_k
yk
x
i
x_i
xi的贡献程度
ρ
(
y
k
,
x
i
)
=
λ
k
α
i
k
σ
i
i
\rho(y_k,x_i) = \frac{\sqrt{\lambda_k}\alpha_{ik}}{\sqrt{\sigma_{ii}}}
ρ(yk,xi)=σiiλkαik
主成分的个数
规范化变量的总体主成分
量纲不一样,直接求会产生不合理的结果
x
i
∗
=
x
i
−
E
(
x
i
)
v
a
r
(
x
i
)
x_i^* = \frac{x_i-E(x_i)}{\sqrt{var(x_i)}}
xi∗=var(xi)xi−E(xi)
样本主成分分析
样本主成分分析就是基于样本协方差矩阵的主成分分析
样本主成分分析的定义与性质
给定样本矩阵:
X
=
[
x
1
,
x
2
,
.
.
.
,
x
n
]
=
[
x
11
,
x
12
,
.
.
.
,
x
1
n
x
21
,
x
22
,
.
.
.
,
x
2
n
.
.
.
,
.
.
.
,
.
.
.
,
,
.
.
.
,
x
11
,
x
12
,
.
.
.
,
x
1
n
]
X = [x_1,x_2,...,x_n] = \left [\begin{matrix} x_{11},x_{12},...,x_{1n}\\x_{21},x_{22},...,x_{2n}\\...,...,...,~ ~ ~,...,\\x_{11},x_{12},...,x_{1n}\end{matrix}\right]
X=[x1,x2,...,xn]=⎣⎢⎢⎡x11,x12,...,x1nx21,x22,...,x2n...,...,..., ,...,x11,x12,...,x1n⎦⎥⎥⎤
其中
x
j
=
[
x
1
j
,
x
2
j
,
.
.
.
,
x
m
j
]
T
x_j = [x_{1j},x_{2j},...,x_{mj}]^T
xj=[x1j,x2j,...,xmj]T是x的第j个独立观测样本。
x的协方差矩阵
S
=
[
s
i
j
]
m
m
,
s
i
j
=
1
n
−
1
∑
k
=
1
n
(
x
i
k
−
x
i
ˉ
)
(
x
j
k
−
x
j
ˉ
)
S = [s_{ij}] _ {mm}~,~s_{ij} = \frac{1}{n-1}\sum_{k=1}^n(x_{ik}-\bar{x_i})(x_{jk}-\bar{x_j})
S=[sij]mm , sij=n−11k=1∑n(xik−xiˉ)(xjk−xjˉ)
x
i
ˉ
=
1
n
∑
k
=
1
n
x
i
k
\bar{x_i} = \frac{1}{n}\sum_{k=1}^{n}x_{ik}
xiˉ=n1k=1∑nxik
相关矩阵的特征值分解算法
针对每m * n的样本矩阵X,求样本相关矩阵
R
=
1
n
−
1
X
X
T
R = \frac{1}{n-1}XX^T
R=n−11XXT
再求样本相关矩阵的k个特征值和对应的单位特征向量,构造正交矩阵:
V
=
(
v
1
,
v
2
,
.
.
.
,
v
k
)
V = (v_1,v_2,...,v_k)
V=(v1,v2,...,vk)
V的每一列对应着一个主成分,得到k * n的样本主成分分析
Y
=
V
T
X
Y = V^TX
Y=VTX
数据矩阵的奇异值分解算法
针对每m * n的样本矩阵X:
X
′
=
1
n
−
1
X
T
X' = \frac{1}{\sqrt{n-1}}X^T
X′=n−11XT
对矩阵
X
′
X'
X′进行截断奇异值分解,保留k个奇异值,奇异向量,得到:
X
′
=
U
S
V
T
X' = USV^T
X′=USVT
V的每一列对应着一个主成分,得到k * n 样本主成分分析矩阵Y
Y
=
V
T
X
Y = V^TX
Y=VTX