主成分分析法基本介绍及其MATLAB实现

主成分分析法

主要目的

主成分分析(或称主分量分析,principal component analysis)由皮尔逊(Pearson,1901)首先引入,后来被霍特林(Hotelling,1933)发展了。
主成分分析的主要目的是希望用较少的变量去解释原来资料中的大部分变异,将
们手中许多相关性很高的变量转化成彼此相互独立或不相关的变量。通常是选出比原始变量个数少,能解释大部分资料中的变异的几个新变量,即所谓主成分,并用以解释资料的综合性指标。
因此,我们可以知道主成分分析的一般目的是:
(1)变量的降维;
(2)主成分的解释。

基本步骤

在这里插入图片描述

几点说明

1)主成分分析的结果受量纲的影响,由于各变量的单位可能不一样,如果各自改变量纲,结果会不一样,这是主成分分析的最大问题,回归分析是不存在这种情况的,所以实际中可以先把各变量的数据标准化,然后使用协方差矩阵或相关系数矩阵进行分析。
2)主成分的保留。用相关系数矩阵求主成分时,Kaiser主张将特征值小于1的主成分予以放弃(这也是SPSS软件的默认值)。
3)在实际研究中,由于主成分的目的是为了降维,减少变量的个数,故一般选取少量的主成分(不超过5或6个),只要它们能解释变异的70%~80%(称累积贡献率)就行了。
4)主成分向量与原始向量之间的关系式在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

MATLAB实现

clc,clear
load gj.txt %把原始数据保存在纯文本文件gj.txt中
gj=zscore(gj); %数据标准化
r=corrcoef(gj); %计算相关系数矩阵
%%下面利用相关系数矩阵进行主成分分析,x的列为r的特征向量,即主成分的系数
[x,y,z]=pcacov® %y为r的特征值,z为各个主成分的贡献率
f=repmat(sign(sum(x)),size(x,1),1); %构造与x同维数的元素为±1的矩阵
x=x.f; %修改特征向量的正负号,每个特征向量乘以所有分量和的符号函数值
num=4; %num为选取的主成分的个数
df=gj
x(:,1:num); %计算各个主成分的得分
tf=df*z(1:num)/100; %计算综合得分
[stf,ind]=sort(tf,‘descend’); %把得分按照从高到低的次序排列
stf=stf’, ind=ind’

主成分分析法的应用

在主成分分析中,我们首先应保证所提取的前几个主成分的累计贡献率达到一个较高的水平,其次对这些被提取的主成分必须都能够给出符合实际背景和意义的解释。当原始变量之间具有较高的相关性时,前面少数几个主成分的累计贡献率通常就能达到一个较高水平,也就是说,此时的累计贡献率通常较易得到满足。但如果我们所提取的主成分中如有一个主成分解释不了,整个主成分分析也就失败了。
主成分分析法应用的案例如:
股票的一段时间的回升率,某地区普通高等教育发展水平综合评价
食品风味评价分析,保健食品功能学评价等等
附:邵威平,李红,张五九.主成分分析法及其在啤酒风味评价https://wenku.baidu.com/view/28407db169dc5022aaea00be.html

  • 6
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值