数学建模与数据分析中的主成分分析
主成分分析
主成分能反映出原始数据的大部分信息,并且将多个指标转化为较少的指标
文章目录
- (1) 主成分分析的计算步骤
- (2) 主成分分析用于聚类
- (3) matlab 相关
(1) 主成分分析的计算步骤
假设有 nnn 个样本, ppp 个指标,构成 n×pn\times pn×p 的样本矩阵。
x=[x11x12⋯x1px21x22⋯x2p⋮⋮⋱⋮xn1xn2⋯xnp]x=\left[ \begin{matrix} x_{11}&x_{12}&\dotsb&x_{1p}\\ x_{21}&x_{22}&\dotsb&x_{2p}\\ \vdots&\vdots&\ddots&\vdots\\ x_{n1}&x_{n2}&\dotsb&x_{np} \end{matrix} \right] x=⎣⎢⎢⎢⎡x11x21⋮xn1x12x22⋮xn2⋯⋯⋱⋯x1px2p⋮xnp⎦⎥⎥⎥⎤
- step 1:
- 方案一
- 按列计算均值 x‾j=1n∑i=1nxij(j=1,2,…,p)\overline{x}_j=\dfrac{1}{n}\displaystyle\sum_{i=1}^nx_{ij}~~(j=1,2,\dots,p)xj=n1i=1∑nxij (j=1,2,…,p)
- 按列计算标准差 Sj=∑i=1n(xij−x‾j)n−1S_j=\sqrt{\dfrac{\displaystyle\sum_{i=1}^{n}(x_{ij}-\overline{x}_j)}{n-1}}Sj=n−1i=1∑n(xij−xj)
- 标准化数据 Xij=xij−x‾jSjX_{ij}=\dfrac{x_{ij}-\overline{x}_j}{S_j}Xij=Sjxij−xj
X=[X11X12⋯X1pX21X22⋯X2p⋮⋮⋱⋮Xn1Xn2⋯Xnp]=[A1,A2,…,Ap]X=\left[ \begin{matrix} X_{11}&X_{12}&\dotsb&X_{1p}\\ X_{21}&X_{22}&\dotsb&X_{2p}\\ \vdots&\vdots&\ddots&\vdots\\ X_{n1}&X_{n2}&\dotsb&X_{np} \end{matrix} \right] =\left[ A_1,A_2,\dots,A_p\right]X=⎣⎢⎢⎢⎡X11X21⋮Xn1X12X22⋮Xn2⋯⋯⋱⋯X1pX2p⋮Xnp⎦⎥⎥⎥⎤=[A1,A2,…,Ap] - 计算标准化样本的协方差矩阵
rij=1n−1∑i=1n(Xki−A‾i)(Xkj−A‾j)=1n−1∑i=1nXkiXkjr_{ij}=\dfrac{1}{n-1}\sum_{i=1}^n(X_{ki}-\overline{A}_i)(X_{kj}-\overline{A}_j)=\dfrac{1}{n-1}\sum_{i=1}^nX_{ki}X_{kj}rij=n−11i=1∑n(Xki−Ai)(Xkj−Aj)=n−11i=1∑nXkiXkj
R=[r11r12⋯r1pr21r22⋯r2p⋮⋮⋱⋮rp1rp2⋯rpp]R=\left[ \begin{matrix} r_{11}&r_{12}&\dotsb&r_{1p}\\ r_{21}&r_{22}&\dotsb&r_{2p}\\ \vdots&\vdots&\ddots&\vdots\\ r_{p1}&r_{p2}&\dotsb&r_{pp} \end{matrix} \right] R=⎣⎢⎢⎢⎡r11r21⋮rp1r12r22⋮rp2⋯⋯⋱⋯r1pr2p⋮rpp⎦⎥⎥⎥⎤
- 方案二
直接计算 xxx 的样本相关系数矩阵
rij=∑k=1n(xki−x‾i)(xkj−x‾j)∑k=1n(xki−x‾i)2∑k=1n(xkj−x‾j)2r_{ij}=\dfrac{\displaystyle\sum_{k=1}^n(x_{ki}-\overline{x}_i)(x_{kj}-\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}}rij=k=1∑n(xki−xi)2k=1∑n(xkj−xj)2k=1∑n(xki−xi)(xkj−xj)
- 方案一
- step 2: 计算 RRR 的特征值和特征向量
- 特征值:λ1≥λ2≥⋯≥λp≥0\lambda_1\ge\lambda_2\ge\dots\ge\lambda_p\ge0λ1≥λ2≥⋯≥λp≥0
- 特征向量矩阵:
A=[a11a12⋯a1pa21a22⋯a2p⋮⋮⋱⋮ap1ap2⋯app]A=\left[ \begin{matrix} a_{11}&a_{12}&\dotsb&a_{1p}\\ a_{21}&a_{22}&\dotsb&a_{2p}\\ \vdots&\vdots&\ddots&\vdots\\ a_{p1}&a_{p2}&\dotsb&a_{pp} \end{matrix} \right] A=⎣⎢⎢⎢⎡a11a21⋮ap1a12a22⋮ap2⋯⋯⋱⋯a1pa2p⋮app⎦⎥⎥⎥⎤
- step 3: 计算主成分贡献率以及累计贡献率
- 主成分贡献率α=λi∑k=1pλk(i=1,2,…,p)\alpha=\dfrac{\lambda_i}{\displaystyle\sum_{k=1}^p\lambda_k}~~(i=1,2,\dots,p)α=k=1∑pλkλi (i=1,2,…,p)
- 累计贡献率
β=∑k=1iλk∑k=1pλk(i=1,2,…,p)\beta=\dfrac{\displaystyle\sum_{k=1}^i\lambda_k}{\displaystyle\sum_{k=1}^p\lambda_k}~~(i=1,2,\dots,p)β=k=1∑pλkk=1∑iλk (i=1,2,…,p)
- step 4: 写出主成分
- 选取累计贡献率超过 80%80\%80% 的特征值对应的第 111 、第 222 、。。。、第 m(m≤p)m~~~(m\le p)m (m≤p) 个主成分。
- 第 iii 个主成分,Fi=a1iA1+a2iA2+⋯+apiAp(i=1,2,…,m)F_i=a_{1i}A_1+a_{2i}A_2+\dots+a_{pi}A_p~~(i=1,2,\dots,m)Fi=a1iA1+a2iA2+⋯+apiAp (i=1,2,…,m)。注意主成分是一个 p×1p\times 1p×1 的列向量。
- step 5: 分析主成分系数代表的意义 (⭐️ 决定主成分分析是否成功的关键)
对某个主成分而言,指标前面的系数越大,代表该指标对该主成分的影响越大。
主成分分析的重中之重:如何解释根据系数提取出的主成分,如果提取的主成分中有一个主成分解释不了,整个主成分分析就失败了。
(2) 主成分分析用于聚类
- 当指标个数特别多,并且指标之间存在很强的相关性时才用主成分分析的手段辅助聚类可视化。
- 当第一主成分和第二主成分的贡献率已经足够高的话,可以只取前两个主成分,这样可以用于做二维的聚类图。
- 当第一主成分和第二主成分和第三主成分的贡献率已经足够高的话,可以只取前三个主成分,这样可以用于做三维的聚类图。
(3) matlab 相关
①①① R = corrcoef(x)
求解样本的相关系数矩阵
②②② X=zscore(x);
将样本矩阵标准化,相当于 (x-mean(x))/std(x)
③③③ R = cov(X);
计算样本的协方差矩阵
④④④ [V,D] = eig(R);
计算矩阵的特征值与特征向量。
⑤⑤⑤ B=rot90(A,n)
将矩阵 BBB 逆时针旋转 90°×n90°\times n90°×n
数学建模与数据分析中的主成分分析相关推荐
- 数学建模与数据分析中的灰色关联分析
灰色关联分析 可以在数据量比较少的情况下,分析出主要因素.次要因素等 文章目录 (1) 数理统计传统方法的问题 (2) 灰色关联分析 1. 基本思想 2. 进行系统分析 3. 用于综合评价模型 (1) ...
- 数学建模与数据分析中的时间序列分析
时间序列分析 将某种现象的指标数值按照时间顺序排列而成的数值序列. 文章目录 (1) 时间序列的基本概念 1. 组成要素 2. 时间序列的分类 3. 时间序列的分解 ① 长期变动趋势 T ② 季节趋势 ...
- 主成分分析法_数学建模 || 葡萄酒的评价(1)主成分分析法
首先要说一下,这篇文章我在其他的平台发过,也是本人亲自写的,如果大家觉得眼熟的话放弃轻松,没有抄袭,主要是因为与我这 "葡萄酒的评价" 题目成系列了,因此在这里再把这个贴出来. 2 ...
- 数学建模与数据分析 || 1. 数学建模简介
数学建模简介 文章目录 数学建模简介 1. 数学建模比赛的理解 2. 一般数据分析的流程 3. 机器学习与统计数据分析 4. 各种编程软件仅仅是工具,对问题的观察视角和解决问题的策略才是关键 4.1 ...
- 2022高教社杯数学建模思路 - 复盘:中小微企业的信贷决策
2022 高教社杯(国赛数学建模)思路解析 2022高教社杯ABCD赛题思路解析: https://blog.csdn.net/dc_sinor/article/details/126211983 数 ...
- 数学建模与数据分析 || 3. 面向数据的特征提取方法: 探索性数据分析
面向数据的特征提取方法: 探索性数据分析 文章目录 面向数据的特征提取方法: 探索性数据分析 1. 原始数据的准备 1.1 导入 python 模块 1.2 导入数据集并进行宏观认识 1.3 数据集描 ...
- 2.数学建模论文写作中需要注意的点
论文写作中需要注意的点 一.比赛时建议的分工方式 数模小组的科学分工:三个人侧重点不同(既分工又合作)(平时加强联系与训练,达成默契:比赛时) • 一人负责建模:建立数学模型,数学能力强; • 一人负 ...
- 数学建模暑期集训21:主成分分析(PCA)
当遇到指标众多的场景时,以前通常的处理方法基本采用逐步回归的思想.即判断各指标之间的相关程度,保留几个重要的指标, 剔除其它不重要的指标.相关方法有:三大相关系数计算法.多元线性回归法.随机森林法.灰 ...
- 数学建模(数据分析C题)-建模思路
前言: 参考E038 的2019薄利多销优秀论文的模型建立与求解 http://dxs.moe.gov.cn/zx/a/hd_sxjm_sxjmlw_2019qgdxssxjmjslwzs/19102 ...
- 2020暑期数学建模(数据分析)学习笔记
总算忙完所有课程论文,购买了视频课程. 第1讲 层次分析法 综合评价课已学,B站视频也看了,略过. 第2讲 TOPSIS法(优劣解距离法) 综合评价课已学,B站视频也看了,略过. 第3讲 插值算法 针 ...
最新文章
- java.lang.RuntimeException: Parcelable encountered IOException writing
- 一起搞清楚 Spring Security 中的 UserDetails
- Dynamics CRM Publisher
- 技术人生:遇到挫折,不可轻言放弃。
- pydev eclipse插件安装
- npm dev run 报错
- HTML常用标签+CSS基础
- 关于链表逆置的递归和迭代方法
- 最长公共子串(10分)
- ArcToolBox 提示ActiveX控件问题解决办法
- C语言有限域的构造,有限域(3)——多项式环的商环构造有限域
- linux ssh freeradius,如何将SSH身份验证配置到FreeRADIUS服务器
- 使用pip配置谷歌Colab Pytorch环境
- Qt 读取Excel数据
- Sql中的left函数、right函数
- 贝壳网失败了,有些伤感
- c语言:模拟用户密码登录
- Halcon消除畸变
- 在python中replace是什么意思_python中replace的用法是什么?
- 安装Linux win双系统 无法正常启动 读不出U盘
热门文章
- 我们不生产知识,我们只是知识的搬运工
- 第一百二十七期:程序员41岁创业逆袭成全美最受欢迎CEO,公司市值近200亿美金
- android判断网络类型5G,iOS中如何判断当前网络环境是2G/3G/4G/5G/WiFi
- 路由器的路由选择协议详解
- SolidWorks to URDF转换及常见机器人模型
- 在聊天群中,如何快速获取信息,了解群中讨论的话题。
- 【转】写给自学者的入门指南
- 关键词搜索-关键词搜索引擎工具-关键词搜索排行榜
- android 联系人 字母索引,Android手机联系人带字母索引的快速查找
- 支持国产自主可控OS——信创服务器操作系统的配置与管理 (统信UOS版)-新书发布