您的位置:首页 > 编程语言 > MATLAB

matlab主成分分析函数princomp简介

2014-08-20 08:51 288 查看

比来看了些主成分解析,混迹Matlab论坛,翻了n多帖子,对princomp函数有了些懂得。

在此只讲一些小我懂得,并没有效术语,只求通俗。

供献率:每一维数据对于区分全部数据的供献,供献率最大的显然是主成分,第二大的是次主成分......

[coef,score,latent,t2] = princomp(x);(小我概念):

x:为要输入的n维原始数据。带入这个matlab自带函数,将会生成新的n维加工后的数据(即score)。此数据与之前的n维原始数据一一对应。

score:生成的n维加工后的数据存在score里。它是对原始数据进行的解析,进而在新的坐标系下获得的数据。他将这n维数据按供献率由大到小分列。(即在改变坐标系的景象下,又对n维数据排序)

latent:是一维列向量,每一个数据是对应score里响应维的供献率,因为数占领n维所以列向量有n个数据。由大到小分列(因为score也是按供献率由大到小分列)。

coef:是系数矩阵。经由过程cofe可以知道x是如何转换成score的。

则模型为从原始数据出发:

score= bsxfun(@minus,x,mean(x,1))*coef;(感化:可以把测试数据经由过程此办法改变为新的坐标系)

逆变换:

x= bsxfun(@plus,score*inv(coef),mean(x,1))

例子:

View Code

%%
%清屏
clear
%%
%初始化数据
a=[-14.8271317103068,-3.00108550936016,1.52090778549498,3.95534842970601;-16.2288612441648,-2.80187433749996,-0.410815700402130,1.47546694457079;-15.1242838039605,-2.59871263957451,-0.359965674446737,1.34583763509479;-15.7031424565913,-2.53005662064257,0.255003254103276,-0.179334985754377;-17.7892158910100,-3.32842422986555,0.255791146332054,1.65118282449042;-17.8126324036279,-4.09719527953407,-0.879821957489877,-0.196675865428539;-14.9958877514765,-3.90753364293621,-0.418298866141441,-0.278063876667954;-15.5246706309866,-2.08905845264568,-1.16425848541704,-1.16976057326753;];
x=a;
%%
%调用princomp函数
[coef,score,latent,t2] = princomp(x);
score
%测试score是否和score_test一样
score_test=bsxfun(@minus,x,mean(x,1))*coef;
score_test

latent=100*latent/sum(latent)%将latent总和同一为100,便于调查供献率
pareto(latent);%调用matla画图




上图是经由过程自带函数绘制,当供献率累加至95%,今后的维数会不在显示,最多只显示10维。

下面用本身编写的默示:

之前的错误熟悉:

1.认为主成分解析中latent显示的供献值是原始数据的,其实是加工后的数据的。申明:对原始数据既然选择PCA办法,那么策画机认为原始数据每维之间可能存在接洽关系,你想去掉接洽关系、降落维数。所以采取这种办法的。所以策画机并不关怀原始数据的供献值,因为你不会去用了,用的是加工后的数据(这也是为什么当把输入数据每一维的次序改变后,score、latent不受影响的原因)。

2.认为PCA解析后主动降维,不合错误。PCA后会有供献值,是输入者按照本身想要的供献值进行维数的改变,进而生成数据。(一般大师会取供献值在85%以上,请求高一点95%)。

3.PCA解析,只按照输入数据的特点进行主成分解析,与输出有几许类型,每个数据对应哪个类型无关。若是样本已经分好类型,那PCA后势必对成果的正确性有必然影响,我认为对于此类数据的PCA,就是在降维与正确性间找一个均衡点的题目,让数据即不会维数多而使运算错杂,又有较高的辨别率。

http://www.360doc.com/content/12/0402/11/9076884_200177731.shtml


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  PCA