Matlab 提供了进行主成分分析的函数 princomp()。由于主成分分析(principile component analysis,PCA)这个概念在不同领域(统计学、数学等)的解释差异较大,所以,对 Matlab 中这个函数的理解与使用也稍有困难。本文通过使用对该函数做一点儿解释。不过,其中亦有几个不明白的地方,望熟悉者回复给予解释,谢谢。

语法:

[COEFF,SCORE] = princomp(X)

[COEFF,SCORE,latent] = princomp(X)

[COEFF,SCORE,latent,tsquare] = princomp(X)

[...] = princomp(X,'econ')

1、输入参数 X 是一个 n 行 p 列的矩阵。每行代表一个样本观察数据,每列则代表一个属性,或特征。

2、COEFF 就是所需要的特征向量组成的矩阵,是一个 p 行 p 列的矩阵,没列表示一个出成分向量,经常也称为(协方差矩阵的)特征向量。并且是按照对应特征值降序排列的。所以,如果只需要前 k 个主成分向量,可通过:COEFF(:,1:k) 来获得。

3、SCORE 表示原数据在各主成分向量上的投影。但注意:是原数据经过中心化后在主成分向量上的投影(the representation of X in the principal component space.  Rows of SCORE correspond to observations, columns to components.)。即通过:SCORE = x0*COEFF 求得。其中 x0 是中心平移后的 X(注意:是对维度进行中心平移,而非样本。),因此在重建时,就需要加上这个平均值了。

4、latent 是一个列向量,表示特征值,并且按降序排列。(the principal component   variances, i.e., the eigenvalues of the covariance matrix of X)。

以上三个返回参数是我们最常用的。

函数 princomp() 对特征值和特征向量的求解过程,完全等同于PCA的实际求解过程:

1)获取样本数据 X ,样本为行,特征为列。

2)对样本数据中心化,得S(S = X的各列减去各列的均值)。

3)求 S 的协方差矩阵 C = cov(S)

4) 对协方差矩阵 C 进行特征分解 [P,Lambda] = eig(C);

5)结束。

转载本文请联系原作者获取授权,同时请注明本文来自杨建功科学网博客。

链接地址:http://blog.sciencenet.cn/blog-936367-729746.html

上一篇:旅行者1号已飞出太阳系:佛教的智慧真是博大精深!

下一篇:如何保存网页上看到的视频

主成分回归预测matlab,科学网—Matlab: princomp() 主成分分析 - 杨建功的博文相关推荐

  1. 文本框赋值guide matlab,科学网-Matlab: 学习GUI (使用GUIDE时需注意的几个问题)-刘磊的博文...

    在博文<Matlab:学习GUI(一个简单的例子)>(介绍的方法是完全用代码来建立一个GUI,实际上Matlab本身有一个设计GUI的交互系统--GUIDE,用户可以使用该系统更方便的建立 ...

  2. 音频剪切matlab,科学网—matlab的音频处理:读取,裁剪,输出和命名 - 张智昊的博文...

    网易云下架了周杰伦的几乎所有歌曲,于是尝试下载一套周杰伦的音乐全集.从微盘上下载到的音乐前面有一段奇葩的广告,长约8秒.因为广告长度一样可以轻松的裁剪处理,于是想到可以用matlab写一个简单的小程序 ...

  3. 极大似然函数 matlab,科学网—matlab实现:基于极大似然估计的混合分布参数估计(LM洪峰流量) - 曾杭的博文...

    这个是无错误版~ clear; clc; load('test.mat'); test = A_pastespecial; c2 = test(1:32,:);%前半部分数据 c3 = test(33 ...

  4. gshhs matlab,科学网—Matlab 利用m_map加国界线 - 肖鑫的博文

    首先要添加m_gshhs工具包,在private文件夹下下载好岸线数据,具体请参考m_map工具包官网 在m_gshhs.m下,告诉我们如何加入国界 function m_gshhs(resoluti ...

  5. shiftdim matlab,科学网—matlab函数(矩阵相关) - 黄妮妮的博文

    matlab函数(矩阵相关) functions frequently used in matlab in respect of matrix Elementary matrices. zeros   ...

  6. 邹检验 matlab,科学网—Matlab中一个很有用的函数:regionprops - 邹兴文的博文

    Matlab中一个很有用的函数:regionprops 已有 6712 次阅读 2010-1-30 22:52 |个人分类:开发经验|系统分类:科研笔记| 有用的函数, regionprops Mat ...

  7. 微波matlab,科学网—matlab风云3号卫星微波数据读取 - 彭邦的博文

    之前自己在读取风云3号数据时候,各种查资料都没有找到相关的内容,后来自己慢慢摸索终于将数据读了出来,虽然方法很笨,但是算是达到了基本效果吧.给自己记录下,也分享给大家. 中间值得注意的是我读取的是风云 ...

  8. PCR主成分回归预测MATLAB代码 代码注释清楚。 main为主程序,读取EXCEL数据

    PCR主成分回归预测MATLAB代码 代码注释清楚. main为主程序,读取EXCEL数据,也可以换自己数据集. 很方便,容易上手. ID:9624654486820873总有刁民膜拜朕

  9. PCR主成分回归预测MATLAB代码 代码注释清楚。 main为主程序,读取EXCEL数据,也可以换自己数据集

    PCR主成分回归预测MATLAB代码 代码注释清楚. main为主程序,读取EXCEL数据,也可以换自己数据集. 很方便,容易上手. ID:6924654486820873总有刁民膜拜朕

最新文章

  1. java stringbuffer详解_Java常用类StringBuffer详解
  2. python 协程原理_Python协程greenlet实现原理
  3. 深度学习-Tensorflow2.2-图像处理{10}-图像定位/优化/图运算/及GPU优化等-22
  4. eclipse mysql jndi_Java开发网 - tomcat5配置jndi的问题 (jdbc:comp is not bound in this Context)...
  5. 撸VUE弹窗组件 + 可编辑div 组件
  6. 【免费下载】2021年7月热门报告盘点(附热门报告列表及下载链接)
  7. 计算机三级数据库考试题型,计算机三级数据库技术考试习题及答案
  8. 软件测试的维护,浅谈如何维护软件测试用例
  9. 计算机硬件综合实验六:CPU组成与机器指令执行实验
  10. 掌握动效设计!让你的设计富有未来科技感(上)
  11. 实用技巧 一文解决 echarts 如何设置 legend 展示为虚线?
  12. iOS runtime再学习
  13. 综合隧道广播通信与调度系统应用于南昌市青山湖、滕王阁、洛阳路隧道
  14. magento 2 Send Tracking Information 发送跟踪信息 无法发送邮件
  15. Jmeter测试工具使用教程
  16. 张驰咨询:为什么企业需要走精益生产的道路?
  17. 史玉柱:从一片废墟到创造500亿财富
  18. 代码随想录算法训练营第二天| 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II。
  19. GDI动画和键盘控制
  20. utime.ticks_diff()

热门文章

  1. hmmlearn使用简介
  2. pytorch优化器详解:SGD
  3. codeforces 1326 E.Bombs
  4. Oracle:ADG基础知识学习一20230515
  5. Bat 批处理之 for/f 详解
  6. 在markdown下用mma画函数图像
  7. 这应该是最全的软件测试工程师必读书籍
  8. 深圳市文化创意产业百强(2011-2012)公示
  9. form标签的enctype属性
  10. error C2059: 语法错误:“::”