设有 n n n个研究对象, m m m个指标变量 x 1 , x 2 , ⋯ , x m x_1,x_2,\cdots,x_m x1,x2,⋯,xm,第 i i i个对象关于第 j j j个指标取值为 a i j a_{ij} aij,构造数据矩阵 A = ( a i j ) n × m A=\left(\begin{array}{c}a_{ij}\end{array}\right)_{n\times m} A=(aij)n×m
(1)对原来的
m
m
m个指标进行标准化,得到标准化的指标变量
y
j
=
x
j
−
μ
j
s
j
,
j
=
1
,
2
,
⋯
,
m
,
式中
:
μ
j
=
1
n
∑
i
=
1
n
a
i
j
;
s
i
=
1
n
−
1
∑
i
=
1
n
(
a
i
j
−
μ
j
)
2
y_{j}=\frac{x_{j}-\mu_{j}}{s_{j}},\quad j=1,2,\cdots,m\:,\\\text{式中}:\mu_{j}=\frac{1}{n}\sum_{i=1}^{n}a_{ij};s_{i}\:=\sqrt{\frac{1}{n-1}\sum_{i=1}^{n}\left(a_{ij}-\mu_{j}\right)^{2}}
yj=sjxj−μj,j=1,2,⋯,m,式中:μj=n1i=1∑naij;si=n−11i=1∑n(aij−μj)2
对应地,得到标准化的数据矩阵
B
=
(
b
i
j
)
n
×
m
,
其中
b
i
j
=
a
i
j
−
μ
j
s
j
,
i
=
1
,
2
,
⋯
,
n
,
j
=
1
,
2
,
⋯
,
m
B=(b_{ij})_{n\times m},\text{其中 }b_{ij}=\frac{a_{ij}-\mu_{j}}{s_{j}},i=1,2,\cdots,n,j=1\:,\\2,\cdots,m
B=(bij)n×m,其中 bij=sjaij−μj,i=1,2,⋯,n,j=1,2,⋯,m
(2)根据标准化的数据矩阵
B
B
B求出相关系数矩阵
R
=
(
r
i
j
)
m
×
n
R=(r_{ij})_{m\times n}
R=(rij)m×n其中
b
i
j
=
a
i
j
−
μ
j
s
j
,
i
=
1
,
2
,
⋯
,
n
,
j
=
1
,
2
,
⋯
,
m
b_{ij}=\frac{a_{ij}-\mu_{j}}{s_{j}},i=1\:,2\:,\cdots,n\:,j=1\:,2\:,\cdots,m
bij=sjaij−μj,i=1,2,⋯,n,j=1,2,⋯,m
(3) 计算相关系数矩阵
R
R
R 的特征值
λ
1
≥
λ
2
≥
⋯
≥
λ
m
\lambda_1 \geq \lambda_2 \geq \cdots \geq \lambda_m
λ1≥λ2≥⋯≥λm,及对应的标准正交化特征向量
u
1
,
u
2
,
⋯
,
u
m
u_1, u_2, \cdots, u_m
u1,u2,⋯,um,其中
u
j
=
[
u
1
j
,
u
2
j
,
⋯
,
u
m
j
]
T
u_j = [u_{1j}, u_{2j}, \cdots, u_{mj}]^T
uj=[u1j,u2j,⋯,umj]T,由特征向量组成
p
p
p 个新的指标变量
{ F 1 = u 11 y 1 + u 21 y 2 + ⋯ + u m 1 y m , F 2 = u 12 y 1 + u 22 y 2 + ⋯ + u m 2 y m , ⋮ F m = u 1 m y 1 + u 2 m y 2 + ⋯ + u m m y m , \begin{cases} F_1 = u_{11} y_1 + u_{21} y_2 + \cdots + u_{m1} y_m, \\ F_2 = u_{12} y_1 + u_{22} y_2 + \cdots + u_{m2} y_m, \\ \vdots \\ F_m = u_{1m} y_1 + u_{2m} y_2 + \cdots + u_{mm} y_m, \end{cases} ⎩ ⎨ ⎧F1=u11y1+u21y2+⋯+um1ym,F2=u12y1+u22y2+⋯+um2ym,⋮Fm=u1my1+u2my2+⋯+ummym,
式中: F 1 F_1 F1 为第 1 主成分; F 2 F_2 F2 为第 2 主成分; ⋯ \cdots ⋯, F m F_m Fm 为第 m m m 主成分。
(4) 计算主成分贡献率及累积贡献率,主成分 F j F_j Fj 的贡献率为
w j = λ j ∑ k = 1 m λ k , j = 1 , 2 , ⋯ , m , w_j = \frac{\lambda_j}{\sum_{k=1}^m \lambda_k}, \quad j = 1, 2, \cdots, m, wj=∑k=1mλkλj,j=1,2,⋯,m,
前 i i i 个主成分的累积贡献率为
∑ k = 1 i λ k ∑ k = 1 m λ k \frac{\sum_{k=1}^i \lambda_k}{\sum_{k=1}^m \lambda_k} ∑k=1mλk∑k=1iλk
一般取累积贡献率达 85%以上的特征值 λ 1 , λ 2 , ⋯ , λ k \lambda_1, \lambda_2, \cdots, \lambda_k λ1,λ2,⋯,λk 所对应的第 1, 第 2, ⋯ \cdots ⋯,第 k ( k ≤ p ) k (k \leq p) k(k≤p) 主成分
(5) 最后利用得到的主成分 F 1 , F 2 , ⋯ , F k F_1, F_2, \cdots, F_k F1,F2,⋯,Fk 分析问题,或者继续进行评价、回归、聚类等其他建模
[!warning] 注意
主成分分析的结果受量纲的影响,由于各变量的单位可能不同,结果可能不同这是主成分分析的最大问题。因此,在实际问题中,需要先对各变量进行无量纲化处理,然后用协方差矩阵或相关系数矩阵进行分析。
补充
无量纲化处理
在数学建模中,无量纲化处理(Non-dimensionalization)是通过引入特征尺度将包含单位的物理量转化为无量纲量的过程。其核心目的是简化模型、减少参数数量、揭示变量间的本质关系,并提高数值计算的稳定性。
如何做到无量纲化?
-
选择特征尺度
针对每个变量(如时间、长度、速度等),选择一个具有物理意义的参考值(如初始值、平衡状态值、特征长度等)。例如:- 时间尺度:若系统周期为 ( T ),可将时间 ( t ) 转化为 ( \tilde{t} = t/T )。
- 长度尺度:若物体长度为 ( L ),可将坐标 ( x ) 转化为 ( \tilde{x} = x/L )。
-
变量替换
将原变量替换为无量纲形式,例如: v ~ = v v c ( v c 为特征速度) \tilde{v} = \frac{v}{v_c} \quad \text{(\( v_c \) 为特征速度)} v~=vcv(vc 为特征速度)3. 方程转化
将原方程中的变量和参数全部替换为无量纲量,整理后得到无量纲方程。
无量纲化的意义 -
简化模型结构
-
揭示尺度规律
-
数值计算稳定性
-
普适性分析
标准化
由于样本数据矩阵由多个指标组成,不同指标一般有不同的量纲,为消除量纲的影响,通常需要进行数据变换处理。常用的数据变换方法有:
- 中心化处理:先求出每个变量的样本平均值,再从原始数据中减去该变量的均值
b i j = a i j − μ j , i = 1 , ⋯ , n ; j = 1 , ⋯ , p , 式中 : μ j = ∑ i = 1 n a i j n b_{ij}=a_{ij}-\mu_{j}\:, \quad i=1\:,\cdots,n\:;j=1\:,\cdots,p\:,\\\text{式中}:\mu_j=\frac{\sum_{i=1}^na_{ij}}n bij=aij−μj,i=1,⋯,n;j=1,⋯,p,式中:μj=n∑i=1naij - 规格化处理:每一个变量的原始数据减去该变量中的最小值,再除以极差
b i j = a i j − min 1 ≤ i ≤ n ( a i j ) max 1 ≤ i ≤ n ( a i j ) − min 1 ≤ i ≤ n ( a i j ) , i = 1 , ⋯ , n ; j = 1 , ⋯ , p . b_{ij}=\frac{a_{ij}-\min_{1\leq i\leq n}\left(\:a_{ij}\:\right)}{\max_{1\leq i\leq n}\left(\:a_{ij}\:\right)-\min_{1\leq i\leq n}\left(\:a_{ij}\right)},\quad i=1\:,\cdots,n\:;j=1\:,\cdots,p. bij=max1≤i≤n(aij)−min1≤i≤n(aij)aij−min1≤i≤n(aij),i=1,⋯,n;j=1,⋯,p. - 标准化变换:先对每个变量进行中心化变换,然后用该变量的标准差进行标准化
b i j = a i j − μ j s j , i = 1 , ⋯ , n ; j = 1 , ⋯ , p , 式中 : μ j = ∑ i = 1 n a i j n ; s j = 1 n − 1 ∑ i = 1 n ( a i j − μ j ) 2 b_{ij}=\frac{a_{ij}-\mu_{j}}{s_{j}},\quad i=1\:,\cdots,n\:;j=1\:,\cdots,p\:,\\\text{式中}:\mu_{j}=\frac{\sum_{i=1}^{n}a_{ij}}{n};s_{j}=\sqrt{\frac{1}{n-1}\sum_{i=1}^{n}\left(a_{ij}-\mu_{j}\right)^{2}} bij=sjaij−μj,i=1,⋯,n;j=1,⋯,p,式中:μj=n∑i=1naij;sj=n−11i=1∑n(aij−μj)2