首页 > 其他分享 >【零基础数模系列】主成分分析

【零基础数模系列】主成分分析

时间:2024-01-19 17:00:27浏览次数:24  
标签:系列 方差 矩阵 指标 协方差 数模 成分 rij

前言

作为数模小白,看了很多讲解新概念新模型的文章,这些文章往往要么讲的很浅不讲原理只讲应用,让人知其然不知其所以然。要么讲的很深小白看不懂,同时总是忽略关键部分,经常性引入陌生概念让初学者疑惑,因此有了本文,任何能熟练掌握线性代数知识且逻辑思维能力尚可的人都可以理解,而无需其他数模知识,涉及任何新概念都会先讲解后使用

所以我就打算把自己学完之后的笔记整理出来,其中每一篇文章中可能含有直接从其他文章中搜集过来的公式,因为这些文章原本只是我自己的笔记,我懒得敲公式,只是写完之后想着整理出来,弘扬一下互联网精神,于是就有了这个系列。

主成分分析(PCA)

主成分分析其实就是数据降维,基本思想是设法将原来众多的具有一定相关性的多个指标,重新组合成一组新的、较少的、互不相关的综合指标。从而在损失信息量较小情形下,将指标量大大缩减。

PCA的步骤如下:

  1. 标准化(白化),即数据预处理

标准化首先应该消除量纲的影响,让用m表示的数据和用cm表示的数据能显示出同样的方差,通常利用公式来进行数据标准化

标准化后不同指标的数据期望都是0,方差均为1,方面进行不同指标之间的运算,也消除了单位大小导致的不同方差。

  1. 计算相关矩阵R(这一步其实就是协方差分析)

首先,新引入一个概念——协方差矩阵,对于矩阵A而言,协方差矩阵为A’A,则显然协方差矩阵是实对称矩阵,那么协方差矩阵的特征值满足进而有我们取单位特征向量则有(Ax)’(Ax)=Lambda,而Ax的模长是每个向量在x方向的投影值,则Lambda=(Ax)’(Ax)就是所有点在x上投影的平方和,最大特征值对应的特征向量的方向就是投影平方和最大的方向。

因此协方差矩阵相似对角化所用的正交相似因子Q描述了一个新的坐标系,这个坐标系的每个由A’A特征向量指明的方向上矩阵A所描述的点集的投影的平方和就是与该向量对应的特征值。

而主成分分析其实就是经过一个用协方差矩阵的正交变换因子做正交变换后把旧指标转换为相互正交的新指标(即新坐标轴)的过程,每个新指标就是一个主成分,而所谓的投影平方和,其实就是原始数据点(每个数据点代表了一个“结构体”,一个“状态向量”)在这个坐标轴方向的方差,这个值越大说明原始数据在新指标下对应的数值的方差越大,说明这各新指标是个重要的新指标。因此协方差矩阵较大特征值对应的特征向量(即主成分)就是更重要的主成分,因此我们用来衡量主成分的重要性并取足够多的几个主成分,若方差贡献率最大的m个主成分的累计贡献率达到足够大的阈值(一般取85%为阈值),那么这m个主成分就可以用来代表原本p个指标,m个主成分的列向量蕴含了大部分原本p个指标列向量综合的信息。然后用线性变换Q(以谁为新基向量组则右乘谁,方向没饭)使得X转化为F=XQ,F中就是在新坐标各数据的坐标。(这很合理,被淘汰的新坐标都是方差较小的,即各大结构体的这一指标都基本相等,那自然没必要关注,同时每个新指标都是由原本多指标变换过来的,他为常数其实暗示了原本指标之间满足某个线性方程,淘汰掉他其实就是淘汰掉了冗余指标之间的相关性)

设X为标准化后的数据矩阵,则X相关矩阵R。若X是n*p的矩阵,则矩阵R是p*p的矩阵,(i,j∈[1,p]), rij表示X矩阵中第i列和第j列的相关关系,其值在-1到1之间,显然rij=rji,rij绝对值越接近于1则指标i与指标j的线性相关性越强,rij=1时两指标完全正线性相关 ,rij=-1时两指标完全负线性相关。

一般而言我们有

则根据协方差矩阵的性质我们发现相关矩阵R其实就是X的协方差矩阵,设使R相似对角化的正交变换因子为Q,则F=X·Q所描述的点就是在主成分坐标系中各结构体的新坐标。

 

  TRANSLATE with x English
Arabic Hebrew Polish
Bulgarian Hindi Portuguese
Catalan Hmong Daw Romanian
Chinese Simplified Hungarian Russian
Chinese Traditional Indonesian Slovak
Czech Italian Slovenian
Danish Japanese Spanish
Dutch Klingon Swedish
English Korean Thai
Estonian Latvian Turkish
Finnish Lithuanian Ukrainian
French Malay Urdu
German Maltese Vietnamese
Greek Norwegian Welsh
Haitian Creole Persian  
  TRANSLATE with COPY THE URL BELOW Back EMBED THE SNIPPET BELOW IN YOUR SITE Enable collaborative features and customize widget: Bing Webmaster Portal Back     此页面的语言为中文(简体)   翻译为        
  • 中文(简体)
  • 中文(繁体)
  • 丹麦语
  • 乌克兰语
  • 乌尔都语
  • 亚美尼亚语
  • 俄语
  • 保加利亚语
  • 克罗地亚语
  • 冰岛语
  • 加泰罗尼亚语
  • 匈牙利语
  • 卡纳达语
  • 印地语
  • 印尼语
  • 古吉拉特语
  • 哈萨克语
  • 土耳其语
  • 威尔士语
  • 孟加拉语
  • 尼泊尔语
  • 布尔语(南非荷兰语)
  • 希伯来语
  • 希腊语
  • 库尔德语
  • 德语
  • 意大利语
  • 拉脱维亚语
  • 挪威语
  • 捷克语
  • 斯洛伐克语
  • 斯洛文尼亚语
  • 旁遮普语
  • 日语
  • 普什图语
  • 毛利语
  • 法语
  • 波兰语
  • 波斯语
  • 泰卢固语
  • 泰米尔语
  • 泰语
  • 海地克里奥尔语
  • 爱沙尼亚语
  • 瑞典语
  • 立陶宛语
  • 缅甸语
  • 罗马尼亚语
  • 老挝语
  • 芬兰语
  • 英语
  • 荷兰语
  • 萨摩亚语
  • 葡萄牙语
  • 西班牙语
  • 越南语
  • 阿塞拜疆语
  • 阿姆哈拉语
  • 阿尔巴尼亚语
  • 阿拉伯语
  • 韩语
  • 马尔加什语
  • 马拉地语
  • 马拉雅拉姆语
  • 马来语
  • 马耳他语
  • 高棉语
 

标签:系列,方差,矩阵,指标,协方差,数模,成分,rij
From: https://www.cnblogs.com/gongkai/p/17975071

相关文章

  • django框架的使用及其梳理系列一
    我这里建议大家看视频,然后再多敲几遍。最好先直接看视频这个链接:【推荐】2022最最最新版Python全栈开发教程哔哩哔哩bilibili前期准备:点击新建项目:可以进行个性化配置,比如虚拟环境,项目的路径。我这里直接用本机的解释器,django版本3.2点击终端:输入pythonmanage.pystartappapp01......
  • Asp .Net Core 系列:集成 Ocelot+Nacos+Swagger+Cors实现网关、服务注册、服务发现
    目录简介什么是Ocelot?什么是Nacos?什么是Swagger?什么是Cors?Asp.NetCore集成Ocelot网关集成Nacos下游配置Nacos配置跨域(Cors)网关和微服务中配置Swagger效果简介什么是Ocelot?Ocelot是一个开源的ASP.NETCore微服务网关,它提供了API网关所需的所有功能,如路由、......
  • HarmonyOS4.0系列——03、声明式UI、链式编程、事件方法、以及自定义组件简单案例
    HarmonyOS4.0系列——03、声明式UI、链式编程、事件方法、以及自定义组件简单案例声明式UIArkTS以声明方式组合和扩展组件来描述应用程序的UI,同时还提供了基本的属性、事件和子组件配置方法,帮助开发者实现应用交互逻辑。如果组件的接口定义没有包含必选构造参数,则组件后面的“()”......
  • python虚拟环境系列(五):pycharm中快速切换环境
     pycharm版本选择说明,pycharm中快速切换环境这个功能在比较新的版本中才有我目前版本比较老 所以卸载了:  官网下载最新社区版本:https://www.jetbrains.com.cn/en-us/pycharm/download/?section=windows 当前最新版本是:  安装最新版本pycharm基本上一路下一步即可 我做了如......
  • Web前端新手入门系列:案例1 招商银行页面的制作
    一次比较复杂的网页设计(对初学者而言)效果图代码可能不太符合规范,但效果差不多(HTML部分<!DOCTYPEhtml><htmllang="en"xmlns="http://www.w3.org/1999/xhtml"><head><metacharset="utf-8"/><title>招商银行</title>&......
  • Python工具箱系列(四十八)
    如何操作docx文档(下)   当要更细致的操作WORD文档时,python-docx库就有些力不从心了。这时强力的pythonwin32com库可以帮助我们完成更细致复杂的工作。笔者经常要组织大型文档的汇总(例如标书),此时文档中插入的图片各式各样,缩写时也无从知道图片在整个文档中的顺序,所以对所有......
  • Redis系列:使用 Redis Module 扩展功能
    ★Redis24篇集合1啥是RedisModuleRedisModule是Redis的一种扩展模块,从4.0版本开始,允许用户自定义扩展模块,在Redis内部实现新的数据类型和功能,使用统一的调用方式和传输协议格式扩展Redis的能力。它本身的设计目的就是在不同版本的Redis中运行,因此无需重新编译模块即可与特......
  • 42 干货系列从零用Rust编写负载均衡及代理,wmproxy中配置tcp转websocket
    wmproxywmproxy已用Rust实现http/https代理,socks5代理,反向代理,静态文件服务器,四层TCP/UDP转发,七层负载均衡,内网穿透,后续将实现websocket代理等,会将实现过程分享出来,感兴趣的可以一起造个轮子项目地址国内:https://gitee.com/tickbh/wmproxygithub:https://github.com/......
  • 机器学习-概率图模型系列-最大熵马尔科夫模型-38
    目录MaxEntropyMarkovModelMEMM,即最大熵马尔科夫模型,属于判别式模型。最大熵模型+隐马尔可夫模型HMMM没办法加入新的特征,MEMM是判别式模型,这就允许它可以加入更多的Features。观测独立假设对应的就是朴素贝叶斯的条件独立性假设,即t+1时刻的y状态只与t时刻的y状态有关系......
  • 玻尔兹曼-香农交互熵(Boltzmann–Shannon interaction entropy)及多尺度系列(Matlab版)
    玻尔兹曼-香农交互熵(Boltzmann–Shannoninteractionentropy)是2023年最新提出的一维时间序列的度量方式,在数据科学和机器学习领域有许多应用。(暂无任何文献应用报道)(matlab代码获取:https://mbd.pub/o/bread/mbd-ZZmclp1w)参考文献:https://doi.org/10.1063/5.0182349  ......