当前位置:   article > 正文

清风数学建模学习笔记——主成分分析(PCA)原理详解及案例分析_主成分分析实例及含义讲解

主成分分析实例及含义讲解

主成分分析

  本文将介绍主成分分析(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=

[x11x12x1px21x22x2pxn1xn2xnp]
=(x_1,x_2,\cdots,x_p) X=x11x21xn1x12x22xn2x1px2pxnp=(x1,x2,,xp)

 假设我们想找到新的一组变量 z 1 , z 2 , … , z m ( m ≤ p ) z_1,z_2,…,z_m( m ≤ p) z1,z2,,zm(mp),且它们满足:
{ 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

{z1=l11x1+l12x2++l1pxpz2=l21x1+l22x2++l2pxpzm=lm1x1+lm2x2++lmpxp
z1=l11x1+l12x2++l1pxpz2=l21x1+l22x2++l2pxpzm=lm1x1+lm2x2++lmpxp

 系数 l i j l_{ij} lij 的确定原则:

  1. z i z_i zi z j z_j zj (i≠j; i,j=1,2,…,m) 相互无关;
  2. z 1 z_1 z1 x 1 , x 2 , . . . , x p x_1,x_2,...,x_p x1,x2,...,xp 的一切线性组合中方差最大者;
  3. z 2 z_2 z2 是与 z 1 z_1 z1 不相关的 x 1 , x 2 , . . . , x p x_1,x_2,...,x_p x1,x2,...,xp 的所有线性组合中方差最大者;
  4. 以此类推, z m z_m zm是与 z 1 , z 2 , … , z m − 1 z_1,z_2,…,z_{m-1} z1,z2,,zm1 不相关的 x 1 , x 2 , . . . , x p x_1,x_2,...,x_p x1,x2,...,xp 的所有线性组合中方差最大者;
  5. 新变量指标 z 1 , z 2 , … , z m z_1,z_2,…,z_m z1,z2,,zm 分别称为原变量指标 x 1 , x 2 , . . . , x p x_1,x_2,...,x_p x1,x2,...,xp 的第一,第二,…,第 m m m 主成分。

三、主成分分析的计算步骤

 假设有 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=

[x11x12x1px21x22x2pxn1xn2xnp]
=(x_1,x_2,\cdots,x_p) x=x11x21xn1x12x22xn2x1px2pxnp=(x1,x2,,xp)

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=

[X11X12X1pX21X22X2pXn1Xn2Xnp]
=(X_1,X_2,\cdots,X_p) xˉj=n1i=1nxij,Sj=n1i=1n(xijxˉj)2 ,Xij=SjxijxˉjX=X11X21Xn1X12X22Xn2X1pX2pXnp=(X1,X2,,Xp)


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=

[r11r12r1pr21r22r2prp1rp2rpp]
R=r11r21rp1r12r22rp2r1pr2prpp r i j = 1 n − 1 ∑ k = 1 n ( X k i − X ‾ i ) ( X k i − X ‾ j ) = 1 n − 1 ∑ k = 1 n X k i X k j r_{ij}=\frac{1}{n-1}\sum_{k=1}^{n}{(X_{ki}-\overline X_i)(X_{ki}-\overline X_j)}=\frac{1}{n-1}\sum_{k=1}^{n}{X_{ki}X_{kj}} rij=n11k=1n(XkiXi)(XkiXj)=n11k=1nXkiXkj


 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=1n(xkixi)2k=1n(xkjxj)2 k=1n(xkixi)(xkixj)


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[

a11a21ap1
\right],a_2=\left[
a12a22ap2
\right],\cdots,a_p=\left[
a1pa2papp
\right] λ1λ2λp0,(Rtr(R)=k=1pλk=p)a1=a11a21ap1,a2=a12a22ap2,,ap=a1pa2papp


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=1pλkλi,=k=1pλkk=1iλk,(i=1,2,,p)


5. 写出主成分:

 一般取累计贡献率超过 80% 的特征值所对应的第一、第二、…、第 m m m m ≤ p m≤p mp)个主成分。
第 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 iFi=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:身高、坐高、胸围、手臂长、肋围和腰围

  • 第一主成分 F 1 F_1 F1 对所有(标准化)原始变量都有近似相等的正载荷,故称第一主成分为(身材)大小成分。
  • 第二主成分 F 2 F_2 F2 X 3 X_3 X3 X 5 X_5 X5 X 6 X_6 X6。上有中等程度的正载荷,而在 X 1 X_1 X1 X 2 X_2 X2 X 4 X_4 X4 上有中等程度的负载荷,称第二主成分为形状成分(或胖瘦成分)。
  • 第三主成分 F 3 F_3 F3 X 2 X_2 X2 上有大的正载荷,在 X 4 X_4 X4 上有大的负载荷,而在其余变量上的载荷都较小,可称第三主成分为臂长成分。

 注:由于第三主成分的贡献率不高( 7.65%)且实际意义也不太重要,因此我们也可以考虑只取前两个主成分进行分析。


五、模型扩展(★)

  1. 主成分的解释其含义一般多少带有点模糊性,不像原始变量的含义那么清楚、确切,这是变量降维过程中不得不付出的代价。
  2. 主成分分析的困难之处主要在于要 能够给出主成分的较好解释,所提取的主成分中如有一个主成分解释不了,整个主成分分析也就失败了。
  3. 主成分分析不可用于评价类模型。
  4. 主成分分析可用于聚类分析,将自变量进行降维方便画图。
  5. 主成分分析也可用于回归分析解决多重共线性的问题。
  6. 主成分分析实际上是因子分析的特例,但是由于因子分析便于解释,所以建议大家多用因子分析。

  本文借鉴了数学建模清风老师的课件与思路,如果大家发现文章中有不正确的地方,欢迎大家在评论区留言,也可以点击查看下方链接查看清风老师的视频讲解~

原文链接:https://www.bilibili.com/video/BV1DW411s7wi

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/187054
推荐阅读
相关标签
  

闽ICP备14008679号