主成分分析——MATLAB在数学建模中的应用(第2版)

数学建模常用模型08 :主成分分析 评价多个对象的水平并排序,指标间关联性很强 主成分分为主成分分析和主成分评价两个方面,分析就是单纯的分析数据是否具有主成分和主成分效果如何,评价就是根据主成分运行的结果直接评价了。 要求:指标之间相关性比较高,一般需要对数据的相关性或者主成分分析的结果进行分析后,如果效果比较好,再使用主成分分析,如果效果不好,那就不要使用主成分分析:切记 主成分说白了就是在评价的时候有很多指标,... 阅读详情

数据建模及MATLAB实现(二)

随着信息技术的发展和成熟,各行业积累的数据越来越多,因此需要通过数据建模的方法,从看似杂乱的海量数据中找到有用的信息。

主成分分析(PCA)

在数学建模中,经常会遇到研究多个变量的问题。当变量数量较多且变量之间存在复杂关系时,会显著增加分析问题的复杂性。

为了解决这种问题,科学家提出了主成分分析(Principal Component Analysis, PCA)的方法。PCA是一种数学降维方法,其主要目的是将原来众多具有一定相关性的变量,重新组合为一组新的相互无关的综合变量。

通常,数学上的处理方法就是将原来的变量做线性组合,作为新的综合变量。通常,数学上的将选取的第一个线性组合即第一个综合变量记为 F 1 F_1 F1​,而 F 1 F_1 F1​需要尽可能多的反映原来变量的信息。信息通过方差来表示,则希望 v a r ( F 1 ) var(F_1) var(F1​)尽可能的大,表示 F 1 F_1 F1​包含的信息尽可能的多。因此 F 1 F_1 F1​应该是线性组合中方差最大的。

而如果第一主成分不能代表所有变量的信息,则需要第二主成分、第三主成分···,而前者已有的信息则不需要出现在后者中。用数学的方式表达则为 c o v ( F 1 , F 2 ) = 0 cov(F_1,F_2)=0 cov(F1​,F2​)=0,称 F 2 F_2 F2​为第二主成分( c o v ( ) cov() cov()为数学中的协方差)。

主成分分析的典型步骤

  1. 对原始数据进行标准化处理。

    对于观测数据矩阵 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=\begin{bmatrix} x_{11}&x_{12}&···&x_{1p}\\ x_{21}&x_{22}&···&x_{2p}\\ \vdots&\vdots&\ddots&\vdots\\ x_{n1}&x_{n2}&···&x_{np}\\ \end{bmatrix} X=⎣ ⎡​x11​x21​⋮xn1​​x12​x22​⋮xn2​​⋅⋅⋅⋅⋅⋅⋱⋅⋅⋅​x1p​x2p​⋮xnp​​⎦ ⎤​
    可以按照如下方法对原始数据进行标准化处理:
    x i j ∗ = x i j − x j ‾ V a r ( x j )          ( i = 1 , 2 , ⋯   , n ; j = 1 , 2 , ⋯   , p ) x_{ij}^{*}=\frac{x_{ij}-\overline{x_j}}{\sqrt{Var(x_j)}} \ \ \ \ \ \ \ \ (i=1,2,\cdots,n;j=1,2,\cdots,p) xij∗​=Var(xj​) ​xij​−xj​​​        (i=1,2,⋯,n;j=1,2,⋯,p)
    其中,
    x j ‾ = 1 n Σ n i = 1 x i j ; V a r ( x j ) = 1 n − 1 Σ i = 1 n ( x i j − x j ‾ ) 2 ( j = 1 , 2 , ⋯   , p ) 。 \overline{x_{j}}=\frac{1}{n}\underset{i=1}{\overset{n}{\Sigma}}x_{ij};Var(x_j)=\frac{1}{n-1}\overset{n}{\underset{i=1}{\Sigma}}(x_ij-\overline{x_j})^2\\ (j=1,2,\cdots,p)。 xj​​=n1​i=1Σn​xij​;Var(xj​)=n−11​i=1Σ​n​(xi​j−xj​​)2(j=1,2,⋯,p)。

  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= \begin{bmatrix} r_{11}&r_{12}&\cdots&r_{1p}\\ r_{21}&r_{22}&\cdots&r_{2p}\\ \vdots&\vdots&\ddots&\vdots\\ r_{p1}&r_{p2}&\cdots&r_{pp}\\ \end{bmatrix} R=⎣ ⎡​r11​r21​⋮rp1​​r12​r22​⋮rp2​​⋯⋯⋱⋯​r1p​r2p​⋮rpp​​⎦ ⎤​
    其中,
    r i j = c o v ( x i , x j ) = Σ k = 1 n ( x k i − x i ‾ ) ( x k j − x j ‾ ) n − 1 r_{ij}=cov(x_i,x_j)=\frac{\overset{n}{\underset{k=1}{\Sigma}}(x_{ki}-\overline{x_i})(x_{kj}-\overline{x_j})}{n-1} rij​=cov(xi​,xj​)=n−1k=1Σ​n​(xki​−xi​​)(xkj​−xj​​)​

  3. 计算相关系数矩阵中的特征值和相应的特征向量

    特征值: λ 1 , λ 2 , ⋯   , λ p \lambda_1,\lambda_2,\cdots,\lambda_p λ1​,λ2​,⋯,λp​(特征值即方差值)

    特征向量 a i = ( a i 1 , a i 2 , ⋯   , a i p ) T , i = 1 , 2 , ⋯   , p a_i=(a_{i1},a_{i2},\cdots,a_{ip})^T,i=1,2,\cdots,p ai​=(ai1​,ai2​,⋯,aip​)T,i=1,2,⋯,p

  4. 选择重要的主成分,并写出主成分表达式

    由主成分分析得到p个主成分,但由于主成分的方差是递减的,所以在实际分析的过程中,一般不是选取p个主成分,而是各个主成分累计贡献率的大小选取前 k k k个主成分。

    贡献率即某个主成分的方差占全部方差合计的比重:
    贡献率 = λ i Σ i = 1 p λ i × 100 % 贡献率=\frac{\lambda_i}{\overset{p}{\underset{i=1}{\Sigma}}\lambda_i}\times100\% 贡献率=i=1Σ​p​λi​λi​​×100%
    贡献率越大,说明该主成分所包含的原始变量的信息越多。一般k个主成分需要累计贡献率在80%或85%以上,这样才能保证综合变量能包括原始变量的大部分信息。

  5. 计算主成分得分
    根据标准化的原始数据,按照各个样品,分别代入主成分表达式,就可以得到主成分下的各个样品的新数据,即主成分得分。具体形式如下:
    [ F 11 F 12 ⋯ F 1 k F 21 F 22 ⋯ F 2 k ⋮ ⋮ ⋱ ⋮ F n 1 F n 2 ⋯ F n k ] \begin{bmatrix} F_{11}&F_{12}&\cdots&F_{1k}\\ F_{21}&F_{22}&\cdots&F_{2k}\\ \vdots&\vdots&\ddots&\vdots\\ F_{n1}&F_{n2}&\cdots&F_{nk}\\ \end{bmatrix} ⎣ ⎡​F11​F21​⋮Fn1​​F12​F22​⋮Fn2​​⋯⋯⋱⋯​F1k​F2k​⋮Fnk​​⎦ ⎤​

主成分分析MATLAB程序设计

以下为主成分分析的MATLAB程序PCA.m

function [F,new_score]=PCA(A,T)
a=size(A,1);
b=size(A,2);
% 数据标准化处理
for i=1:b
    SA(:,i)=(A(:,i)-mean(A(:,i)))/std(A(:,i));
end
% 计算相关系数矩阵的特征值和对应的特征向量
CM=corrcoef(SA);
[V,D]=eig(CM);
for j=1:b
    DS(j,1)=D(b+1-j,b+1-j);
end
for i=1:b
    DS(i,2)=DS(i,1)/sum(DS(:,1));
    DS(i,3)=sum(DS(1:i,2));
end
%保留k个主成分
for K=1:b
    if(DS(K,3)>=T)
        Com_num=K;
        brek;
    end
end
%提取主成分对应的特征向量
for i=1:Com_num
    F(:,i)=V(:,b+1-i);
end
new_score=SA*F;


【数学建模】--主成分分析 本讲将介绍主成分分析(Principal Component Analysis,PCA),主成分分析是一种降维算法,它能将多个指标转换为少数几个主成分,这些主成分是原始变量的线性组合,且彼此之间互不相关,其能反映出原始数据的大部分信息,一般来说,当研究的问题涉及到多变量且变量之间存在很强的相关性时,我们可以考虑使用主成分分析的方法来对数据进行简化。如果为主成分回归,则还需要计算标准化y值(利用函数zscore),再将得到的标准化y和主成分变量F1,F2……(计算过程复杂,后期会有代码和注释的补充)。 阅读详情

相关推荐

数学建模之MATLAB编程

EverydayOneCat ???? ???????????? ????????????????????✖️N ???????????? ???? ???? ???? 「Sushi shop!」 知识点 1.下载 链接:https://pan.baidu.com/s/1DbfysOOwIoSvt8HQUw0jhw 提取码:75mz 2.基本数学运算 2.1变量与数据操作 变量定义注意事项: 变量名区分字母大小写 变量名必须以字母开头,之后可以是任意字母、数字或下划线 MATL

JYplute的博客 8601

探索数学建模的无限可能:《MATLAB在数学建模中的应用》第2版

探索数学建模的无限可能:《MATLAB在数学建模中的应用》第2版 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在数学建模的世界里,MATLAB无疑是一把利器。由卓金武编写的《MATLAB在数学建模中的应用》第2版,正是为那些希望深入掌握MATLAB并将其应用于数学建模的学习者和研究人员量身打造的宝典。本书不仅详细介绍了MATLAB在数学建模中的核心应用,还通过丰富的...

gitblog_06566的博客 473

学习使用 MATLAB 数学建模一篇文章就够了

文章目录一、建模知识学习二、扩展学习 一、建模知识学习 一篇文章带你快速入门 MATLAB 二、扩展学习

南淮北安的博客 1万+

数据拟合方法 MATLAB在数学建模中的应用(第二版)

数据拟合方法 MATLAB在数学建模中的应用

YuNlear的博客 459

MATLAB在数学建模中的应用实践指南

本文还有配套的精品资源,点击获取 简介:MATLAB,作为一种强大的数值和符号计算软件,在科学与工程领域特别是数学建模中占有举足轻重的位置。本资料详细介绍了如何利用MATLAB进行数学建模,并提供了对常见建模方法和算法的深入探讨。涵盖了从基础的MATLAB功能介绍到复杂的建模步骤与技巧,特别是它在工程计算、经济学、生物医学和自然科学等领域的应用。本书旨在帮助读者通过MATL...

weixin_36019375的博客 1940

源程序_Maltab在数学建模中的应用(第二版)_卓金武等.zip

说明:资料是网上下载的,方便其他人下载。侵权删除。 1) 所有程序为《MATLAB在数学建模中的应用》第二版的配套程序; 2) 所有程序均在MATLAB2013b版本上测试通过,请大家注意版本,当然大部分程序对版本的兼容能力较强。 3)本书的在线交流平台为MATLAB中文论坛

主成分分析法PCA——MATLAB实现

1.基本原理 将原来众多具有一定相关性的变量,重新组合为一组新的相互无关的综合变量来代替原来的变量 2.方法步骤 1)对原始数据进行标准化处理 2)计算样本相关系数矩阵 3)计算相关系数矩阵R的特征值和相应的特征向量 4)选择重要的主成分,并写出主成分表达式 5)计算主成分得分 6)依据主成分得分的数据,进一步对问题进行后续的分析和建模(主成分回归、变量子集合的选择、综合评价等) ...

韩江雪de 小屋 1万+

Matlab在数学建模中的应用(第二版)卓金武

源程序_Matlab在数学建模中的应用(第二版)_卓金武等

数学建模【主成分分析】

主成分分析(Principal Component Analysis,PCA)是一种降维算法,它能将多个指标转换为少数几个主成分,这些主成分是原始变量的线性组合,且彼此之间互不相关,其能反映出原始数据的大部分信息。一般来说,当研究的问题涉及到多变量且变量之间存在很强的相关性时,我们可考虑使用主成分分析的方法来对数据进行简化。在实际问题研究中,多变量问题是经常会遇到的。变量太多,无疑会增加分析问题的难度与复杂性,而且在许多实际问题中,多个变量之间是具有一定的相关关系的。

W_O_Z的博客 1528

matlab在数学建模中的应用卓金武第二版

包括matlab在数学建模中的应用卓金武第二版所有代码。

MATLAB在数学建模中的应用 电子书第2版上

MATLAB在数学建模中的应用 电子书第2版,对数学建模有兴趣的可以下载看

从0自学数学建模算法日记1.4--评价决策类——主成分分析法(PCA)

简单来说,基便在n维空间中n个不能相互表达的向量(线性无关),但其余向量都可用这n个向量来进行表示,例如在二维空间中(1,0),(0,1)便是基,其余的向量显然可以写成x*(1,0)+y*(0,1)来进行表示,当然在一个空间中基有无数个,但为了方便后面的操作,也我们统一将它们的摸都化为1。降维操作:知道了基的概念后,那么此时若我们在n维空间中,找到k个基,这k个基便形成了一个k维空间,我们将n维空间的向量都投影到k维空间中,便实现了降维!

2301_80832060的博客 1993

Matlab在数学建模中的应用(2部含源程序).rar数学建模

Matlab在数学建模中的应用(2部含源程序).rar数学建模

MATLAB在数学建模中的应用

MATLAB在数学建模中的应用

Smartloe的博客 8584

unity转微信小游戏:UI大小设置

unity转微信小游戏:UI大小设置

会潜水的小火龙的博客 3270

DDR3性能优化实战:如何用Xilinx MIG控制器实现800MHz稳定读写(7系列FPGA版)

本文深入探讨了在Xilinx 7系列FPGA上使用MIG控制器实现DDR3存储器800MHz稳定高速读写的实战优化技巧。文章聚焦于高级时序调优、Bank Machine调度策略、用户接口设计优化以及利用ILA进行信号完整性调试,旨在帮助工程师突破性能瓶颈,实现接近理论峰值的稳定带宽,并为进一步冲刺更高频率提供进阶调参指南。

seed的博客 775

Matlab数学建模学习报告(一)

一、学习目标。 (1)了解Matlab与数学建模竞赛的关系。 (2)掌握Matlab数学建模的第一个小实例—评估股票价值与风险。 (3)掌握Matlab数学建模的回归算法。 二、实例演练。    1、谈谈你对Matlab与数学建模竞赛的了解。         Matlab在数学建模中使用广泛:MATLAB 是公认的最优秀的数学模型求解工具,在数学建模竞赛中超过 95% 的参赛队使用 M...

Smallactive 1万+

2024从零开始使用VSCode编程(静态页面制作篇)HTML+CSS+JS阶段

VSCode第一个前端静态页面的编写

ssrsrrn的博客 9590

数学建模——PCA主成分分析【工具:matlab】【全文7000字】

本文旨在能快速地用matlab实现pca主成分分析,并简单地了解其原理。该系列文章是个人在参加2021年暑假国赛数模的培训,自己记录的心得与体会,意在总结归纳自己的学习成果,也希望能帮助想在数模比赛中施展身手的志同道合者。

Wang_Dou_Dou_的博客 1万+

防止通达信公式被盗?手把手教你用DLL加密+互联网验证(含易语言后台管理)

本文详细介绍了如何通过DLL加密与互联网验证技术保护通达信公式安全。从DLL加密实现、设备绑定到易语言后台管理,提供了一套完整的防护方案,有效防止公式被盗用。重点讲解了互联网验证登录和绑定设备等核心技术,帮助量化交易者守护核心资产。

weixin_29323551的博客 501

Linux 音频驱动(六) ALSA音频驱动之PCM Write数据传递过程

目录1. 前言2. PCM Data Flow3. 总结 1. 前言 本文,我们将以回放(Playback,播放音频)为例,讲解PCM Data是如何从用户空间到内核空间,最后传递到Codec。 在Linux 音频驱动(一) ASoC音频框架简介中,我们给出了回放(Playback)PCM数据流示意图: 对于Linux来说,由于分为 user space 和kernel space,而且两者之间不能随便互相访问。因此用户如果播放音频,则需要调用copy_from_user()将用户数据从user spa

_Modest_的博客 1万+

主成分分析(MATLAB)

降维算法 主成分分析

qq_53471484的博客 1万+

OpenClaw + Qwen 模型集成飞书完整教程

1、环境要求:- **操作系统**: Windows- **Node.js**: v18+ (推荐 v20+)- **飞书账号**: 需要企业管理员权限(创建应用用)或者个人飞书账号创建个人应用- **网络**: 能访问 GitHub 和飞书开放平台2、安装Node.js下载完成后验证是否安装成功,cmd窗口输入“node --version”,显示版本号即为安装成功(如下图所示)3、获取大模型APIKEY(这里以Qwen为例)

qq_29609427的博客 476

数学建模之主成分分析(PCA)

由于在学习数学建模的过程中,复现建模书上的题目代码有点小麻烦,因为我找不着书上的数据,因此得一个个手打,本来已经复现了好几个模型,结果因为机械硬盘坏了,里面的东西全没了,很是无语,因此决定在这里记录我的复现代码,主要是给自己看的,等到想用的时候就可以直接拿来用了。 主成分分析 可以用于降维,可以用于评价 下面展示一道例题 这是书上的一道例题,需要使用主成分分析的方法进行评价。以前我一直以为PCA就是用来降维的,没想到还可用来评价,究其原因,我们都知道PCA降维会计算特征向量,其特征向量与原特征的积就是计算

学习笔记 7498

玩转Zabbix智能告警:降噪、排班、认领、升级、IM协同

集成Zabbix告警到FlashDuty,获得告警降噪、智能排班、IM协同等能力

n9ecommunity的博客 1035

VS2022错误列表高效处理:从复制到Excel表格的完整指南

本文详细介绍了在Visual Studio 2022中高效处理错误列表的实用技巧,重点讲解了如何将错误信息一键复制并粘贴到Excel表格中。通过基础操作、自定义视图、筛选功能及常见问题解决方案,帮助开发者将杂乱的编译错误整理成清晰、可排序、可筛选的数据表,极大提升了团队协作、错误分析和项目管理的效率。

weixin_28837817的博客 358
上一篇: 云模型和Logistic回归——MATLAB在数学建模中的应用(第2版)
下一篇: SVM支持向量机——MATLAB在数学建模中的应用
YuNlear
博客等级 码龄7年 4粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值