数学建模期末速成 主成分分析的基本步骤

设有 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)是通过引入特征尺度将包含单位的物理量转化为无量纲量的过程。其核心目的是简化模型、减少参数数量、揭示变量间的本质关系,并提高数值计算的稳定性。

如何做到无量纲化?

  1. 选择特征尺度

    针对每个变量(如时间、长度、速度等),选择一个具有物理意义的参考值(如初始值、平衡状态值、特征长度等)。例如:

    • 时间尺度:若系统周期为 ( T ),可将时间 ( t ) 转化为 ( \tilde{t} = t/T )。
    • 长度尺度:若物体长度为 ( L ),可将坐标 ( x ) 转化为 ( \tilde{x} = x/L )。
  2. 变量替换

    将原变量替换为无量纲形式,例如: v ~ = v v c ( v c 为特征速度) \tilde{v} = \frac{v}{v_c} \quad \text{(\( v_c \) 为特征速度)} v~=vcv(vc 为特征速度)3. 方程转化

    将原方程中的变量和参数全部替换为无量纲量,整理后得到无量纲方程。
    无量纲化的意义

  3. 简化模型结构

  4. 揭示尺度规律

  5. 数值计算稳定性

  6. 普适性分析


标准化

由于样本数据矩阵由多个指标组成,不同指标一般有不同的量纲,为消除量纲的影响,通常需要进行数据变换处理。常用的数据变换方法有:

  • 中心化处理:先求出每个变量的样本平均值,再从原始数据中减去该变量的均值
    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
相关推荐
吴边落木11 小时前
【3D插件推荐】PolyCloth v2.07 超强布料模拟工具(附图文安装教程与下载)
数学建模·动画
阑梦清川1 天前
国防科技大学计算机基础慕课课堂学习笔记
笔记·学习·数学建模
数模竞赛Paid answer1 天前
2023年全国研究生数学建模竞赛华为杯D题区域双碳目标与路径规划研究求解全过程文档及程序
数学建模·数据分析·华为杯
geneculture1 天前
路径=算法=操作:复杂系统行为的统一数学框架
人工智能·算法·数学建模·课程设计·智慧系统·融智学的重要应用·复杂系统
geneculture3 天前
融智学本体论体系全景图
人工智能·数学建模·融智学的重要应用·道函数·三类思维坐标
Shan12054 天前
3Ds Max 2026安装包+教程网盘下载与安装教程指南
数学建模·3d
HCl+NaOH=NaCl+H_2O5 天前
数学建模期末速成 聚类分析与判别分析
数学建模
人大博士的交易之路6 天前
今日行情明日机会——20250606
大数据·数学建模·数据挖掘·数据分析·涨停回马枪