PCA主成成分分析例题详解

主成分分析是一种降维算法,它能将多个指标转换为少数几个主成分,这些主成分是原始变量的线性组合,且彼此之间互不相关,其能反映出原始数据的大部分信息

需要了解具体细节可看此视频👉:什么是主成成分分析PCA

计算步骤

假设有 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= \begin{bmatrix} x_{11} & x_{12} & \dots & x_{1p}\\ x_{21} & x_{22} & \dots & x_{2p}\\ \vdots & \vdots & \ddots & \vdots\\ x_{n1} & x_{n2} & \dots & x_{np} \end{bmatrix} =(x_1 , x_2,\ \dots\ , x_p) x= x11x21xn1x12x22xn2x1px2pxnp =(x1,x2,  ,xp)

  1. 以列为单位,计算各列的均值 x j ‾ \overline{x_j} xj 和标准差 S j S_j Sj ,其中 1 ≤ j ≤ p 1\le j\le p 1jp
    x j ‾ = 1 n ∑ i = 1 n x i j S j = ∑ i = 1 n ( x i j − x j ‾ ) 2 n − 1 \overline{x_j}=\dfrac1n\sum_{i=1}^{n}x_{ij}\\ S_j=\sqrt{\dfrac{\sum_{i=1}^{n}(x_{ij}-\overline{x_j})^2}{n-1}} xj=n1i=1nxijSj=n1i=1n(xijxj)2

  2. 标准化原样本矩阵 x x x,标准化样本矩阵为 X X X,标准化后 X i ‾ = 0 \overline{X_i}=0 Xi=0
    X i j = x i j − x j ‾ S j [ X 11 X 12 … X 1 p X 21 X 22 … X 2 p ⋮ ⋮ ⋱ ⋮ X n 1 X n 2 … X n p ] X_{ij}=\dfrac{x_{ij}-\overline{x_j}}{S_j}\\ \begin{bmatrix} X_{11} & X_{12} & \dots & X_{1p}\\ X_{21} & X_{22} & \dots & X_{2p}\\ \vdots & \vdots & \ddots & \vdots\\ X_{n1} & X_{n2} & \dots & X_{np} \end{bmatrix} Xij=Sjxijxj X11X21Xn1X12X22Xn2X1pX2pXnp

  3. 计算标准化样本的协方差矩阵 R R R 【方阵】

    协方差矩阵求法在线性判别分析LDA中有细致讲解,此处不再赘述
    R = [ r 11 r 12 … r 1 p r 21 r 22 … r 2 p ⋮ ⋮ ⋱ ⋮ r p 1 X p 2 … r p p ] r i j = 1 n − 1 ∑ k = 1 n ( X k i − X i ‾ ) ( X k j − X j ‾ ) = 1 n − 1 ∑ k = 1 n X k i X k j R=\begin{bmatrix} r_{11} & r_{12} & \dots & r_{1p}\\ r_{21} & r_{22} & \dots & r_{2p}\\ \vdots & \vdots & \ddots & \vdots\\ r_{p1} & X_{p2} & \dots & r_{pp} \end{bmatrix}\\ r_{ij}=\dfrac{1}{n-1}\sum_{k=1}^{n}(X_{ki}-\overline{X_i})(X_{kj}-\overline{X_j}) =\dfrac{1}{n-1}\sum_{k=1}^{n}X_{ki}X_{kj} R= r11r21rp1r12r22Xp2r1pr2prpp rij=n11k=1n(XkiXi)(XkjXj)=n11k=1nXkiXkj

  4. 计算 R R R 的特征值和特征矩阵【参考考研数学线性代数部分】

    R R R 是半正定矩阵,特征值 λ \lambda λ 有如下👇性质
    λ 1 ≥ λ 2 ≥ ⋯ ≥ 0 t r ( R ) = ∑ k = 1 p λ k = p \lambda_1\ge\lambda_2\ge\dots\ge0\\ tr(R)=\sum_{k=1}^{p}\lambda_k=p λ1λ20tr(R)=k=1pλk=p

  5. 计算主成分贡献率 r a t e _ o f _ c o n t r i b u t i o n rate\_of\_contribution rate_of_contribution 以及累计贡献率 a g g r e g a t e _ r a t e _ o f _ c o n t r i b u t i o n aggregate\_rate\_of\_contribution aggregate_rate_of_contribution
    r a t e _ o f _ c o n t r i b u t i o n = λ i ∑ k = 1 p λ k ( i = 1 , 2 ,   …   , p ) a g g r e g a t e _ r a t e _ o f _ c o n t r i b u t i o n = ∑ k = 1 i λ k ∑ k = 1 p λ k ( i = 1 , 2 ,   …   , p ) rate\_of\_contribution=\dfrac{\lambda_i}{\sum_{k=1}^{p}\lambda_k}(i=1,2,\ \dots\ ,p)\\ aggregate\_rate\_of\_contribution=\dfrac{\sum_{k=1}^{i}\lambda_k}{\sum_{k=1}^{p}\lambda_k}(i=1,2,\ \dots\ ,p) rate_of_contribution=k=1pλkλi(i=1,2,  ,p)aggregate_rate_of_contribution=k=1pλkk=1iλk(i=1,2,  ,p)

  6. 写出主成分,第 i i i 个主成分记作 y i y_i yi

    一般取累计贡献率超过 80 % 80\% 80% 的特征值所对应的第一、第二、 … \dots 、第 m ( m ≤ p ) m(m\le p) m(mp) 个主成分
    y i = a 1 i X 1 + a 2 i X 2 + ⋯ + a p i X p       ( i = 1 , 2 ,   …   , m ) y_i=a_{1i}X_1+a_{2i}X_2+\dots+a_{pi}X_p \ \ \ \ \ (i=1,2,\ \dots\ ,m) yi=a1iX1+a2iX2++apiXp     (i=1,2,  ,m)
    其中 a a a 是特征向量【竖直】, a 1 i a_{1i} a1i 代表第 i i i 个特征向量的第 1 1 1 个元素

  7. 根据系数分析主成分代表的意义

    对于某个主成分而言,指标前面的系数越大,代表该指标对于该主成分的影响越大

例题

假设有 n n n 个学生参加四门课程的考试,将学生们的考试成绩看作随机变量的取值,对考试成绩数据进行标准化处理,得到样本相关矩阵 R R R ,如下表所示👇:

image-20230506165844372

试对数据进行主成分分析

此处的矩阵已经是协方差矩阵,因此直接计算特征值和特征向量即可

import numpy as np
R = np.array([[1,0.44,0.29,0.33],[0.44,1,0.35,0.32],[0.29,0.35,1,0.6],[0.33,0.32,0.6,1]])
eigenvalue, featurevector = np.linalg.eig(a)
print('特征值:')
print(eigenvalue)
print('特征向量:')
# numpy计算的特征向量最后需要变号
print(featurevector*(-1))
image-20230506201546894

特征值和特征向量值可能会有误差,这是因为计算时位数的不同,总体差不多即可,此处做近似处理使得结果与例题一致
∴ λ 1 = 2.17 ,   λ 2 = 0.87 ,   λ 3 = 0.57.   λ 4 = 0.39 \therefore \lambda_1=2.17,\ \lambda_2=0.87,\ \lambda_3=0.57.\ \lambda_4=0.39 λ1=2.17, λ2=0.87, λ3=0.57. λ4=0.39
这些特征值就是各主成分的方差贡献值。假设要求主成分的累计方差贡献率大于 75 % 75\% 75% 那么只需取前两个主成分即可,即 k = 2 k=2 k=2 ,因为👇
a g g r e g a t e _ r a t e _ o f _ c o n t r i b u t i o n = ∑ k = 1 2 λ k ∑ k = 1 4 λ k = 2.17 + 0.87 2.17 + 0.87 + 0.57 + 0.39 = 0.76 aggregate\_rate\_of\_contribution=\dfrac{\sum_{k=1}^{2}\lambda_k}{\sum_{k=1}^{4}\lambda_k}=\dfrac{2.17+0.87}{2.17+0.87+0.57+0.39}=0.76 aggregate_rate_of_contribution=k=14λkk=12λk=2.17+0.87+0.57+0.392.17+0.87=0.76

近似处理单位特征向量和主成分的方差贡献率

项目 x 1 x_1 x1 x 2 x_2 x2 x 3 x_3 x3 x 4 x_4 x4方差贡献率【 r a t e _ o f _ c o n t r i b u t i o n rate\_of\_contribution rate_of_contribution
y 1 y_1 y10.4600.4760.5230.5370.543
y 2 y_2 y20.5740.486-0.476-0.4560.218

第一,第二主成分为:
y 1 = 0.460 x 1 + 0.476 x 2 + 0.523 x 3 + 0.537 x 4 y 1 = 0.574 x 1 + 0.486 x 2 − 0.476 x 3 − 0.456 x 4 y_1=0.460x_1+0.476x_2+0.523x_3+0.537x_4\\ y_1=0.574x_1+0.486x_2-0.476x_3-0.456x_4 y1=0.460x1+0.476x2+0.523x3+0.537x4y1=0.574x1+0.486x20.476x30.456x4
i i i 主成分对应变量 x j x_j xj 的因子负荷量 f i j f_{ij} fij = a i j × λ i σ i j \dfrac{a_{ij} \times\sqrt{\lambda_i}}{\sqrt{\sigma_{ij}}} σij aij×λi ,其中 a i j a_{ij} aij 是第 i i i 个特征向量的第 j j j 个元素, σ i j \sigma_{ij} σij 是协方差 r i j r_{ij} rij
f 11 = 0.460 × 2.17 1 = 0.678 f_{11}= \dfrac{0.460 \times \sqrt{2.17}}{\sqrt{1}}=0.678 f11=1 0.460×2.17 =0.678

同理可得其余的因子负荷量

第 i 主成分对应变量xj的因子负荷量

项目 x 1 x_1 x1 x 2 x_2 x2 x 3 x_3 x3 x 4 x_4 x4
y 1 y_1 y10.6780.7010.7700.791
y 2 y_2 y20.5360.453-0.444-0.425

x , y x,y x,y 主成分对变量 x i x_i xi 的贡献率 p x y , i = f x i 2 × f y i 2 p_{xy,i}= f_{xi}^2\times {f_{yi}^2} pxy,i=fxi2×fyi2 ,其中 f i j f_{ij} fij 为第 i i i 主成分对应第 j j j 个因子负荷量
p 12 , 1 = 0.67 8 2 + 0.53 6 2 = 0.747 p_{12,1}=0.678^2+0.536^2=0.747 p12,1=0.6782+0.5362=0.747
同理可得其余的贡献率

第 1,2 主成分对变量 xi 的贡献率

x 1 x_1 x1 x 2 x_2 x2 x 3 x_3 x3 x 4 x_4 x4
0.7470.6970.7900.806

可以看出,第一主成分 y 1 y_1 y1 对应的因子负荷量均为正数,表明各门课程成绩提高都可使 y 1 y_1 y1 提高,也就是说,第一主成分 y 1 y_1 y1 反映了学生的整体成绩;还可以看出,因子负荷量的数值相近,且 y 1 ( x 4 ) y_1(x_4) y1(x4) 的数值最大,这表明物理成绩在整体成绩中占最重要位置。

第二主成分 y 2 y_2 y2 对应的因子负荷量有正有负,正的是语文和外语,负的是数学和物理,表明文科成绩提高都可使 y 2 y_2 y2 提高,而理科成绩提高都可使 y 2 y_2 y2 降低,也就是说,第二主成分 y 2 y_2 y2 反映了学生的文科成绩与理科成绩的关系。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/17430.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux安装MongoDB数据库,并内网穿透远程连接

文章目录 前言1. 配置Mongodb源2. 安装MongoDB3. 局域网连接测试4. 安装cpolar内网穿透5. 配置公网访问地址6. 公网远程连接7. 固定连接公网地址8. 使用固定地址连接 转载自Cpolar Lisa文章:Linux服务器安装部署MongoDB数据库 - 无公网IP远程连接「内网穿透」 前言 …

SpringBoot访问静态资源

SpringBoot项目中没有WebApp目录,只有src目录。在src/main/resources下面有static和templates两个文件夹。SpringBoot默认在static目录中存放静态资源,而templates中放动态页面。 static目录 SpringBoot通过/resources/static目录访问静态资源&#xff…

完成A轮融资,倍思如何发力场景化为品牌创造广阔未来?

凛冬过后的消费电子正在重新凝聚资本的目光。 近日,深圳市倍思科技有限公司宣布完成由深创投、中金资本联合领投,越秀产业基金、高榕资本跟投,金额数亿元人民币的A轮融资。 分析人士指出,消费电子的行业景气度在逐渐恢复&#x…

中国社科院与美国杜兰大学金融管理硕士项目——迎接立夏,切莫忘记自我成长

五月的风吹走了春季,今天我们迎来立夏。作为夏季的第一个节气,立夏常被人们当做万物蓄满能量,即将加速生长的标志。而在职的我们,也应该跟这世间万物一样,在季节交替之时沉淀自己、努力向上成长。在社科院与杜兰大学金…

“人工智能教父”从谷歌离职 称后悔发展AI,为世人敲响警钟?

在加入谷歌的第十年、深度学习迎来爆发式发展的当下,被誉为“人工智能教父”的Geoffrey Hinton已从谷歌离职,只是为了告诫人们AI已经变得很危险。 公开资料显示,Geoffrey Hinton在2013年加入谷歌,曾任副总裁,研究机器学…

成为数据分析师,需要具备哪些技能?

随着互联网的发展,数据分析师的特点越来越明显,对数据分析师综合素质的要求也较高。 1、较强的数据挖掘、信息整理、和逻辑分析能力 数据分析,也是数据分析师的一个方向。 制作日常性的经营报表,对公司或者行业KPI指标进行拆解…

Mysql索引(3):索引分类

1 索引分类 在MySQL数据库,将索引的具体类型主要分为以下几类:主键索引、唯一索引、常规索引、全文索引。 分类含义特点关键字主键索引针对于表中主键创建的索引 默认自动创建, 只能有一个 PRIMARY 唯一索引 避免同一个表中某数据列中的值重复可以有多…

【Android入门到项目实战-- 8.4】—— 如何解析JSON格式数据

目录 一、准备工作 二、使用JSONObject 三、使用GSON 比起XML,JSON的主要优势在于它的体积更小,在网络上传输的时候可以更省流量,但缺点是语义性较差,看起来不直观。 一、准备工作 还是使用前面文章的方法,在服务器…

每日学术速递4.29

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.LG 1.A Cookbook of Self-Supervised Learning 标题:自监督学习食谱 作者:Randall Balestriero, Mark Ibrahim, Vlad Sobal, Ari Morcos, Shashank Shekhar, Tom…

【黑马程序员 C++教程从0到1入门编程】【笔记8】 泛型编程——模板

https://www.bilibili.com/video/BV1et411b73Z?p167 C泛型编程是一种编程范式,它的核心思想是编写通用的代码,使得代码可以适用于多种不同的数据类型。 而模板是C中实现泛型编程的一种机制,它允许我们编写通用的代码模板,然后在需…

【Spring篇】IOC/DI注解开发

🍓系列专栏:Spring系列专栏 🍉个人主页:个人主页 目录 一、IOC/DI注解开发 1.注解开发定义bean 2.纯注解开发模式 1.思路分析 2.实现步骤 3.注解开发bean作用范围与生命周期管理 1.环境准备 2.Bean的作用范围 3.Bean的生命周期 4.注解开发依赖…

相当Python程序员,选择培训班还是自学?我结合自己的经历谈谈看法

前几天我写了一篇文章,分享了自己当上程序员的经历。然后,我收到了很多小伙伴的提问,都在问同一个问题,即如何选择报培训班还是自学。今天,我结合自己的个人经历,来谈一下个人的看法。 我认为这个问题的第…

Linux线程:死锁

1. 死锁 (1)概念 死锁(DeadLock)指两个或两个以上的进程或线程执行时,由于竞争临界资源而造成阻塞的现象;若不干涉,则无法推进下去。 (2)死锁的原因 ① 竞争临界资源…

06_Uboot顶层Makefile分析_前期所做内容

目录 U-Boot顶层Makefile分析 版本号 MAKEFLAGS变量 命令输出 静默输出 设置编译结果输出目录 代码检查 模块编译 获取主机架构和系统 设置目标架构、交叉编译器和配置文件 调用scripts/Kbuild.include 交叉编译工具变量设置 导出其他变量 U-Boot顶层Makefile分析…

TCP/IP网络编程(一)

TCP/IP网络编程读书笔记 第1章 理解网络编程和套接字1.1 理解网络编程和套接字1.1.1 构建打电话套接字1.1.2 编写 Hello World 套接字程序 1.2 基于Linux的文件操作1.2.1 底层访问和文件描述符1.2.2 打开文件1.2.3 关闭文件1.2.4 将数据写入文件1.2.5 读取文件中的数据1.2.6 文…

操作系统考试复习——第四章 存储器管理 4.1 4.2

存储器的层次结构: 存储器的多层结构: 存储器至少分为三级:CPU寄存器,主存和辅存。 但是一般分为6层为寄存器,高速缓存,主存储器,磁盘缓存,固定磁盘,可移动存储介质。…

( “ 图 “ 之 拓扑排序 ) 207. 课程表 ——【Leetcode每日一题】

❓207. 课程表 难度:中等 你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1 。 在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出,其中 prerequisites[i] [ai, bi] ,表示如果要学习课…

自动驾驶中地图匹配定位技术总结

引言 汽车定位是让自动驾驶汽车知道自身确切位置的技术,在自动驾驶系统中担负着相当重要的职责。汽车定位涉及多种传感器类型和相关技术,主要可分为卫星定位、惯性导航定位、地图匹配定位以及多传感器融合定位几大类。其中地图匹配定位技术利用道路物理…

redis使用总结

目录 redis安装与登录redis 持久化RDB(Redis DataBase)AOF(Append Only File)RDB-AOF混合持久纯缓存模式 redis 的 keyredis 的数据类型和常见应用场景StringListHashMapSet集合ZSet有序集合bitmap位图HyperLogLog基数统计GEO 地理空间Stream 流bitfiled redis 事务事务的正常执…

【微机原理】8088/8086微处理器

目录 一、8088/8086的功能结构 1.总线接口部件(BIU) 2.执行部件(EU) 二、8088/8086的寄存器结构(14个) 溢出标志的概念 溢出和进位的区别 8086CPU是Intel系列的16位微处理器,他有16根数据…