数学建模【主成分分析】

一、主成分分析简介

主成分分析(Principal Component Analysis,PCA)是一种降维算法,它能将多个指标转换为少数几个主成分,这些主成分是原始变量的线性组合,且彼此之间互不相关,其能反映出原始数据的大部分信息。一般来说,当研究的问题涉及到多变量且变量之间存在很强的相关性时,我们可考虑使用主成分分析的方法来对数据进行简化。

在实际问题研究中,多变量问题是经常会遇到的。变量太多,无疑会增加分析问题的难度与复杂性,而且在许多实际问题中,多个变量之间是具有一定的相关关系的。因此,能否在相关分析的基础上,用较少保留原来变量所反映的信息?保留原来变量所反映的信息?主成分分析应运而出。主成分分析是把原来多个变量划为少数几个综合指标的-种统计分析方法。从数学角度来看,这是一种降维处理技术。

什么是降维?

降维是将高维度的数据(指标太多)保留下最重要的一些特征,去除噪声和不重要的特征,从而实现提升数据处理速度的目的。在实际的生产和应用中,降维在一定的信息损失范围内,可以为我们节省大量的时间和成本。降维也成为应用非常广泛的数据预处理方法。

降维的优点

  • 使得数据集更易使用
  • 降低算法的计算开销
  • 去除噪声
  • 使得结果容易理解

二、适用赛题

主成分分析更像是一种辅助方式,将高维数据转为低维数据,便于结果的描述、呈现。

所以主成分更适合搭配像回归、分类、聚类等模型使用。

三、模型流程

四、流程分析

下面简单给出主成分分析的思想

看到这里是不是有点典型相关分析的影子?

1.标准化处理

首先进行标准化处理

2.计算协方差矩阵

计算刚刚标准化样本的协方差矩阵

1、2步可以直接合并为一步:直接计算x矩阵的样本相关系数矩阵(在相关性模型中讲解过相关函数)。

3.得到特征值和特征向量

计算得到R的特征值和特征向量

在MATLAB中可使用计算特征值和特征向量的函数:eig(R)

4.计算参数

参数有两个,分别是贡献率和累计贡献率

5.得到主成分

一般取累计贡献率超过80%的特征值所对应的第一、第二、.... 、第m(m ≤ p)个主成分。第i个主成分:

6.分析主成分

这个是主成分有难度的地方,我们需要对每一个主成分进行一个合理的解释。对于某个主成分而言,指标前面的系数越大,代表该指标对于该主成分的影响越大。

五、补充

1.主成分分析的说明

在主成分分析中,我们首先应保证所提取的前几个主成分的累计贡献率达到一个较高的水平,其次对这些被提取的主成分必须都能够给出符合实际背景和意义的解释。

主成分的解释其含义一般多少带有点模糊性,不像原始变量的含义那么清楚、确切,这是变量降维过程中不得不付出的代价。因此,提取的主成分个数m通常应明显小于原始变量个数p (除非p本身较小),否则维数降低的“利”可能抵不过主成分含义不如原始变量清楚的“弊”。

如果原始变量之间具有较高的相关性,则前面少数几个主成分的累计贡献率通常就能达到一个较高水平,也就是说,此时的累计贡献率通常较易得到满足。

主成分分析的困难之处主要在于要能够给出主成分的较好解释,所提取的主成分中如有一个主成分解释不了,整个主成分分析也就失败了。

主成分分析是变量降维的一种重要、常用的方法,简单的说,该方法要应用得成功,一是靠原始变量的合理选取,二是靠“运气”。

                                                                                     ------参考教材:《应用多元统计分析》王学民

2.主成分分析的滥用:主成分得分

王老师已在论文中做出了详细的解释。

3.主成分分析适合于哪些

像对于聚类的降维,主成分分析还可以用来解决多重共线性的问题。

4.关于主成分分析的一些问题

问题1:之前学过逐步回归,逐步回归也可以用来解决多重共线性问题,那么该用逐步回归还是主成分分析呢?

答:如果能够很好的解释清楚主成分代表的含义,那么建议你在正文中既用主成分分析,又用逐步回归(多分析点没啥坏处,只要你能保证你不分析错就行),如果你解释不清楚,那么还是用逐步回归吧。

问题2:主成分回归后,需要将原来的变量带回到回归方程吗?

答:没必要,要是带回去了,那和普通的回归有什么区别呢。主成分的核心作用就是降维,带回去了维度也没降下来呀。

                                                                                                                          ------参考回答:清风

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【element-ui】el-table表格高亮选中

highlight-current-row 是否要高亮当前行 <el-tableref"singleTable"highlight-current-rowcurrent-change"handleCurrentChange"></el-table>修改高亮行的颜色 .current-row {background-color: pink; }由current-change事件来管理选中时触发…

基于springboot的家庭装修报价系统设计与实现

目 录 摘 要 I Abstract II 引 言 1 1 相关技术 3 1.1 SpringBoot框架 3 1.2 ECharts 3 1.3 Vue框架 3 1.4 Bootstrap框架 3 1.5 JQuery技术 4 1.6 Ajax技术 4 1.7 本章小结 4 2 系统分析 5 2.1 需求分析 5 2.2 非功能需求 7 2.3 本章小结 8 3 系统设计 9 3.1 系统总体设计 9 …

【能力素质模型建立】某大型国有能源公司能力素质模型项目纪实

【客户评价】 我们之前挑选过很多家做管理咨询的企业&#xff0c;经过多家企业的竞标&#xff0c;我们最终选择了北京华恒智信人力资源顾问有限公司&#xff0c;因为在竞标中我们看到了贵公司的专业性和敬业精神。 在项目合作中&#xff0c;贵公司的多位咨询老师也表现出了高…

快速使用transformers的pipeline实现各种深度学习任务

目录 引言 安装 情感分析 文本生成 文本摘要 图片分类 实例分割 目标检测 音频分类 自动语音识别 视觉问答 文档问题回答 图文描述 引言 在这篇中文博客中,我们将深入探讨使用transformers库中的pipeline()函数,它为预训练模型提供了一个简单且快速的推理方法。…

frida:hook所有方法

标题&#xff1a;frida&#xff1a;hook所有方法 在Android逆向工程中&#xff0c;Frida是一个强大的动态代码插桩工具&#xff0c;能够帮助我们实时hook和调试目标应用的方法。本文将通过一个实际案例&#xff0c;探讨在使用Frida Hook测试应用中的Utils类时遇到的一个JavaSc…

LeetCode100 刷题记录

文章目录 矩阵相关1. 旋转矩阵2. 搜索二维矩阵 矩阵相关 1. 旋转矩阵 题目描述&#xff1a; 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像&#xff0c;这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵…

Android JNI复杂用法,回调,C++中调用Java方法

Android JNI复杂用法&#xff0c;回调&#xff0c;C中调用Java方法 一、前言 Android JNI的 普通用法估计很多人都会&#xff0c;但是C中调用Java方法很多人不熟悉&#xff0c;并且网上很多介绍都是片段的。 虽然C/C调用Java不常用&#xff0c;但是掌握多一点还是有好处的。…

【C++杂货铺】详解string

目录 &#x1f308;前言&#x1f308; &#x1f4c1; 为什么学习string &#x1f4c1; 认识string&#xff08;了解&#xff09; &#x1f4c1; string的常用接口 &#x1f4c2; 构造函数 &#x1f4c2; string类对象的容量操作 &#x1f4c2; string类对象的访问以及遍历操…

js判断页面是否是在iframe里面

文章目录 一、前言1.1、_blank跳转1.2、_self跳转 二、方法2.1、判断子项目是否是在iframe内部2.2、实现_self跳转 三、最后 一、前言 上面是父前端项目里的iframe加载了子前端项目的页面。此时如果点击子项目的内容&#xff0c;如果要进行父项目浏览器页面跳转&#xff0c;可以…

C++初阶 类(上)

目录 1. 什么是类 2. 如何定义出一个类 3. 类的访问限定符 4. 类的作用域 5. 类的实例化 6. 类的大小 7. this指针 1.this指针的引出 2. this指针的特性 8. 面试题 1. 什么是类 在C语言中&#xff0c;不同类型的数据集合体是结构体。为了方便管理结构体&#xff0c;我…

HarmonyOS NEXT应用开发案例——自定义TabBar

介绍 本示例主要介绍了TabBar中间页面如何实现有一圈圆弧外轮廓以及TabBar页签被点击之后会改变图标显示&#xff0c;并有一小段动画效果。 效果图预览 使用说明&#xff1a; 依次点击tabBar页面&#xff0c;除了社区图标之外&#xff0c;其它图标往上移动一小段距离。 实现…

中霖教育:消防工程师报考条件汇总

消防工程师考试报名条件汇总&#xff0c;想要参加考试的考生可以根据自己的专业和学历判断自己是否符合条件。 1、大专学历&#xff0c;消防工程专业&#xff0c;工作年限满6年&#xff0c;从事消防安全技术工作满4年;消防工程相关专业&#xff0c;工作年限满7年&#xff0c;从…

实习记录课程内容

2024年3月1日18:21:09 第二周周五——方法篇 等量关系的构造 初中数学中&#xff0c;让学生构造等量关系的数学原理主要包括以下几个方面&#xff1a; 等式的性质&#xff1a;等式的两边同时加上或减去同一个数&#xff0c;等式仍然成立&#xff1b;等式的两边同时乘以或除以…

利用API接口进行竞品价格监控

在电子商务和零售行业&#xff0c;了解竞争对手的定价策略对于保持市场竞争力至关重要。随着技术的发展&#xff0c;通过编程接口&#xff08;API&#xff09;获取商品详情成为企业监控竞品价格的有效手段。本文将详细介绍如何利用API接口实现竞品价格监控的流程和策略。 第一步…

EventSource数据一次性出来

基于txt/event-stream的EventSource流&#xff0c;使用代理时需注意&#xff1a; 开发阶段如果使用vue自带的代理&#xff0c;需要关闭compress&#xff0c;即 devServer: {proxy: {/xx: {target: ip,changeOrigin: true,pathRewrite: {^/xx: /xx}},},compress: false}再nginx部…

浅谈字典攻击

一、前言 字典攻击是一种常见的密码破解方法&#xff0c;它使用预先编制的字典文件作为攻击字典&#xff0c;通过尝试猜测密码的方式来破解密码。下面是一个关于字典攻击的博客&#xff0c;希望能够为您了解字典攻击提供帮助。 二、字典攻击概述 字典攻击是一种密码破解方法&…

文献学习-14-一种用于高精度微创手术的纤维机器人

Authors: Mohamed E. M. K. Abdelaziz1,2 †, Jinshi Zhao1,3 †, Bruno Gil Rosa1,2 , Hyun-Taek Lee4 , Daniel Simon3,5 , Khushi Vyas1,2 , Bing Li6,7 , Hanifa Koguna3 , Yue Li1 , Ali Anil Demircali3 , Huseyin Uvet8 , Gulsum Gencoglan9,10, Arzu Akcay11,12, Moham…

CDR(CorelDRAW)2024最新汉化注册补丁包下载

CorelDRAW 2024是一款功能强大的平面设计软件&#xff0c;广泛应用于图形设计、编辑照片以及创建网站等领域。凭借对高级操作系统的支持、多监视器查看和4K显示屏的兼容性&#xff0c;它让初始用户、图形专家、小型企业主和设计爱好者都能自信快速地交付专业级结果。 CorelDRA…

一文教你搞懂Vue生命周期

Vue生命周期 生命周期示意图 Vue3 组件创建阶段 new vue new一个vue的实例对象&#xff1b;此时会进入组件的创建过程&#xff08;该组件在代码中被注册并使用时&#xff0c;就代表着其被new了一个新的实例对象&#xff09;。 Init Events & Lifecycle 初始化组件的事件和…

spring aop中获取request和response

Spring AOP 操作中如何使用request和response 实际使用时&#xff0c;如果方法一不行&#xff0c;请使用方法二 方法一 HttpServletRequest request ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); HttpServletResponse respons…