matlab pca可视化,[转]PCA的介绍,实例及绘图

本文介绍了主成分分析(PCA)的基本原理,展示了如何在MATLAB中使用princomp函数进行PCA计算,并通过美国城市生活质量的案例解释PCA如何降低数据维度并帮助数据可视化。通过PCA,可以提取主要特征并理解数据的主要驱动因素。
摘要由CSDN通过智能技术生成

PCA的介绍

多元统计分析中普遍存在的困难中,有一个困难是多元数据的可视化。matlab的plot可以显示两个变量之间的关系,plot3和surf可以显示三维的不同。但是当有多于3个变量时,要可视化变量之间的关系就很困难了。

幸运的是,在一组多变量的数据中,很多变量常常是一起变动的。一个原因是很多变量是同一个驱动影响的的结果。在很多系统中,只有少数几个这样的驱动,但是多余的仪器使我们测量了很多的系统变量。当这种情况发生的时候,你需要处理的就是冗余的信息。而你可以通过用一个简单的新变量代替这组变量来简化此问题。

主成分分析是一个定量的严格的可以起到简化作用的方法。它产生一组叫做主成分的新变量,每一个主成分是原始变量的线性组合。所有主成分是相互正交的,从而不存在冗余的信息。所有主成分形成了原始数据空间的一组正交基。

但是有无数种方式来创建一组正交基,那主成分正交基有什么特殊之处呢?

第一主成分是数据空间的一个轴。当你把各观察值投影到这个轴时,结果会形成一个新变量,这个变量的方差是所有可选的轴中最大的。

第二主成分是空间的另一个轴,它垂直于第一个轴。投影数据到这个轴上将得到另一组变量,此变量的方差是所有可选的轴中最大的。

最后得到的所有主成分个数是与原始变量相同的,但是通常前几个主成分方差的和占到了原始数据总方差的80%以上。通过绘制这组新变量,研究者常常会更深入的了解产生原始数据的驱动力。

在matlab中,可以使用princomp函数来找到主成分,通过使用此函数,你需要用到测量的原始数据。然而,如果你缺少这些数据,但是有这些数据的样本自相关或协方差矩阵,你可以通过使用pcacov函数来做主成分分析。

主成分分析的实例

计算成分

考虑一个例子,它使用了衡量美国329个城市生活质量的9个指标:气候、住房、健康、犯罪率、交通、教育、艺术、娱乐和经济。对于各指标,越高表示越好,如高的犯罪指标表示低的犯罪率。

先从cities.mat中加载数据

>> load cities

>> whos

Name Size Bytes Class Attributes

categories 9x14 252 char

names 329x43 28294 char

ratings 329x9 23688 double

cities.mat中包含了3个变量:

categories--一个包含各指标名字的字符串矩阵

names--一个包含329个城市名字的字符串矩阵

rati

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值