主成分分析法原理与MATLAB实现
1:主成分分析原理:
主成分分析法是利用降维的思想,把多指标转化为少数几个综合指标(即主成分),其中每个主成分都能够反映原始变量的大部分信息,且所含信息互不重复。这种方法在引进多方面变量的同时将复杂因素归结为几个主成分,使问题简单化,同时得到的结果更加科学有效的数据信息。例如,做一件上衣需要测量很多尺寸,如身高,袖长,腰围,胸围,肩宽等十几项指标,但是厂家不可能把尺寸型号分这么多,而是从这十几种指标中综合成几个少数的综合指标作为分类型号,例如综合成反映身高,反映胖瘦和反应特体的三项指标,这就是主成分的思想。主要的方法有特征值分解,SVD(奇异值分解)和NMF(非负矩阵分解);
2:步骤:
参考:http://wiki.mbalib.com/wiki/%E4%B8%BB%E6%88%90%E5%88%86%E5%88%86%E6%9E%90%E6%B3%95
第一步采用的是中心化标准化,即元素值减去均值除以标准差,得到的结果服从标准正态分布;
3:matlab代码实现:
x=[1.2,3,-1.1,17;1.5,5,-3,22;1.3,4.0,-2,19;0.7,3,-2.3,111,4,-1.2,20.8];
stdr=std(x); %求各变量的标准差;
[n,m]=size(x); %矩阵的行与列
sddata=x./stdr(ones(n,1),:); %标准化变换
[p,princ,egenvalue]=princomp(sddata); %调用主成分
p=p(:,1:3); %输出前3主成分系数;
sc=princ(:,1:3); %前3主成分量;
egenvalue; %相关系数矩阵的特征值,即各主成分所占比例;
per=100*egenvalue/sum(egenvalue); %各个主成分所占百分比;
运行结果:
前3主成分系数:
特征值矩阵:
百分比:
所以前3主成分就是:z1=0.5403x1+0.5792x2-0.2966x3+0.5334x4; z2=0.1824x1-0.1325x2+0.8686x3+0.4419x4; z3=0.802x1-0.4998x2-0.0838x3-0.3162x4;
上述数据就可以按照这前3主成分进行描述了。
主成分分析法原理与MATLAB实现相关推荐
- python解析原理_主成分分析法原理及其python实现
主成分分析法原理及其python实现 前言: 这片文章主要参考了Andrew Ng的Machine Learning课程讲义,我进行了翻译,并配上了一个python演示demo加深理解. 本文主要介绍 ...
- 主成分分析法原理简单理解及技术实现
主成分分析法 主成分分析是利用降维的思想,在损失很少信息的前提下,把多个指标转化为几个综合指标的多元统计方法.通常把转化生成的综合指标称为主成分,其中每个主成分都是原始变量的线性组合,且各个主成分之间 ...
- 最小二乘法与主成分分析法原理及应用详解和它们的联系
网上关于最小二乘法及主成分分析的介绍数不胜数,这两种方法均为挖掘数据分布规律的最重要也是最基本的工具.主成分分析法与最小二乘法实际上有所联系,前者分析出的"主方向"实质上是最小二乘 ...
- 用matlab实现熵权法,熵权法原理及matlab代码实现
参考原理博客地址https://blog.csdn.net/u013713294/article/details/53407087 一.基本原理 在信息论中,熵是对不确定性的一种度量.信息量越大,不确 ...
- PCA(Principal Component Analysis 主成分分析)原理及MATLAB实现
关于PCA的原理参见: PCA原理 PCA:一种通过特征的线性组合来实现降维的方法,目的就是在尽可能好的代表原始数据的前提下,通过线性变换将样本数据投影到地位空间中. 如图示意,二维样本分别投影到e1 ...
- 主成分分析法_数学建模 || 葡萄酒的评价(1)主成分分析法
首先要说一下,这篇文章我在其他的平台发过,也是本人亲自写的,如果大家觉得眼熟的话放弃轻松,没有抄袭,主要是因为与我这 "葡萄酒的评价" 题目成系列了,因此在这里再把这个贴出来. 2 ...
- matlab 投票法_SVM算法原理及其Matlab应用
<SVM算法原理及其Matlab应用>由会员分享,可在线阅读,更多相关<SVM算法原理及其Matlab应用(18页珍藏版)>请在人人文库网上搜索. 1.SVM 算法及其 Mat ...
- 主成分分析 图像处理 matlab,matlab信号处理与主成分分析法,毕业设计求助
虽然这里没人帮我,但是这个论坛的免费资源依然对我起到了不小的帮助,现在我的东西的MATLAB部分基本已经完成,数据需要经过SPSS处理,我不会主成分分析法,SPSS倒是会了基本操作了,如果有人能帮我用 ...
- 主成分分析法(PCA)原理漫谈
在研究OpenCV人脸识别算法时,了解到其中OpenCV特征脸法Eigenfaces是基于主成分分析法(principal component analysis,简称PCA),后来再了解到PCA不仅仅 ...
- 一文速学数模-降维模型(一)PCA(主成分分析法)原理以及应用+代码实现
目录 前言 一.为什么需要PCA?(为什么要降维) 二.PCA简介 三.PCA算法推导 1.投影 2.基 3.基变换的矩阵表示 编辑 4.方差 5.协方差 6.协方差矩阵 7.特征值与特征向量 8. ...
最新文章
- 线程堆栈大小 pthread_attr_setstacksize 的使用
- 面向对象程序设计第二次作业
- 十一课堂|通过小游戏学习Ethereum DApps编程(4)
- 代码:准确算出用户输入的日期是星期几!
- html的左侧菜单栏,HTML 之 左侧菜单
- 同行不支持鸿蒙系统,鸿蒙系统虽好,但也需要国内同行支持
- js 小数自动补0_JavaScript 时分秒时间代码(自动补零)
- 转到Servlet出现500型错误
- Unity Shader: 优化GPU代码--用step()代替if else等条件语句。
- python简笔画程序_使用python turtle绘制简笔画大白
- Javascript ECMA-1(数据类型,字符串操作)
- 爬虫数据库一些简单的设计逻辑
- c语言解三元一次方程组_一次二次反比例,一山更比一山高?二次函数三大解析式详解...
- 产品经理应该看什么书?
- Intellij IDEA 中使用 JUnit4 进行单元测试
- SosoApi,编辑Swagger UI的神器
- 万年历php程序含数据库,php之万年历
- 云计算,大数据,人工智能本质和概念
- ceph pg peering和恢复 (1)
- thinkphp 模板写php,thinkphp 模版继承的使用