MATLAB主成分分析_第1页
MATLAB主成分分析_第2页
MATLAB主成分分析_第3页
MATLAB主成分分析_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1.princomp    功能:主成分分析    格式:PC=princomp(X)              PC,SCORE,latent,tsquare=princomp(X)    说明:PC,SCORE,latent,tsquare=princomp(X)对数据矩阵X进行主成分分析,给出各主成分(PC)、所谓的Z-得分(SCORE)、X的方差矩阵的特征值(laten

2、t)和每个数据点的HotellingT2统计 量(tsquare)。2.pcacov    功能:运用协方差矩阵进行主成分分析    格式:PC=pcacov(X)              PC,latent,explained=pcacov(X)    说明:PC,latent,explained=pcacov(X)通过协方差矩阵X进行主成分分析,返回主成分(PC)、协方差

3、矩阵X的特征值(latent)和每个特征向量表征在观测量总方差中所占的百分数(explained)。3.pcares    功能:主成分分析的残差    格式:residuals=pcares(X,ndim)    说明:pcares(X,ndim)返回保留X的ndim个主成分所获的残差。注意,ndim是一个标量,必须小于X的列数。而且,X是数据矩阵,而不是协方差矩阵。4.barttest    功能:主成分的巴特力特检验    格式:ndim=

4、barttest(X,alpha)              ndim,prob,chisquare=barttest(X,alpha)    说明:巴特力特检验是一种等方差性检验。ndim=barttest(X,alpha)是在显著性水平alpha下,给出满足数据矩阵X的非随机变量的n维模型,ndim即模型维数,它由一系列假设检验所确定,ndim=1表明数据X对应于每个主成分的方差是相同的;ndim=2表明数据X对应于第二成分及其余成

5、分的方差是相同的。第一种方法:用matlab的各个函数组合得到的结果:clc;clear;X=28  1  1100  5  0;5   2  1200  1  2;10   9  1010  2  0;4    8   700  6  2;31   2

6、60;  200  7  2;4    1   1100  0.5 1;5    1   1100  3  0;26    7   400  6  2;p=mean(X); %每一列的平均值pq=repmat(p,8,1);b=std(X); %每一列的标准差bq=repmat(b,8,1);ding = (X-pq)./bq;

7、  %标准化矩阵dd =cov(ding);  %协方差计算 or dd=ding*ding/13V,D=eig(dd); %计算特征值和特征向量,V是特征向量,D是特征值W = 0.2004    0.5401    0.4460;0.5989   -0.7269    0.1889;0.0635    0.0608   -0.5782;0.1858    0.1340    0.5507;-0

8、.7500   -0.3978    0.3575;%  前三个>85%,得到的主成分系数,Y= ding *WY =0.7189    1.7805   -0.1687   -1.2866   -0.4645   -1.2815    1.5565   -0.8752   -0.9244    0.0146   -1.5758&#

9、160;   0.8769   -0.5768    0.8649    2.5466   -0.7725    0.0577   -1.6892    0.1863    0.6378   -1.46350.1594   -0.4250    2.1036第二种方法:用matlab的自带函数princomp得到的结果:pc,score,latent,tsquare

10、= princomp(X);pc =-0.0249    0.9933    0.0934   -0.0575    0.0250   -0.0028   -0.0967    0.9941   -0.0413    0.0279    0.9997    0.0247    0.0053    0.0037    0

11、.0030   -0.0055    0.0496    0.0421    0.9884    0.1372   -0.0016   -0.0293   -0.0362   -0.1344    0.9898为什么结果不一样呢?第三种方法用spss软件来做,结果让我更加不解,我迷茫了第一种和第二种方法应该能得到相同结果1、你第一种方法中得到的特征向量矩阵是主成分系数(标准化后变量的主成分系数),

12、而最后计算的矩阵Y是每个样本数据的主成分得分;2、第二种方法应该对标准化矩阵用princomp处理,对原始数据直接用当然得到不同的结果3、pc,score,latent,tsquare = princomp()结果中pc是主成分系数,latent是特征值,应该和第一种方法中得到的特征向量和特征值相同;score是主成分得分,应该和Y相同。4、SPSS中得到的结果不同是因为其计算方法和MATLAB稍有差异,两种结果应该成某个倍数关系(特征值取法不一样),但是结论是一致的,不影响分析5、MATLAB中对原始数据标准化可以直接用zscore函数主成分分析和因子分析的区别1、因子分析中是把变量表示成各

13、因子的线性组合,而主成分分析中则是把主成分表示成个变量的线性组合。2、主成分分析的重点在于解释个变量的总方差,而因子分析则把重点放在解释各变量之间的协方差。3、主成分分析中不需要有假设(assumptions),因子分析则需要一些假设。因子分析的假设包括:各个共同因子之间不相关,特殊因子(specific factor)之间也不相关,共同因子和特殊因子之间也不相关。4、主成分分析中,当给定的协方差矩阵或者相关矩阵的特征值是唯一的时候,的主成分一般是独特的;而因子分析中因子不是独特的,可以旋转得到不到的因子。5、在因子分析中,因子个数需要分析者指定(spss根据一定的条件自动设定,只要是特征值大

14、于1的因子进入分析),而指定的因子数量不同而结果不同。在主成分分析中,成分的数量是一定的,一般有几个变量就有几个主成分。和主成分分析相比,由于因子分析可以使用旋转技术帮助解释因子,在解释方面更加有优势。大致说来,当需要寻找潜在的因子,并对这些因子进行解释的时候,更加倾向于使用因子分析,并且借助旋转技术帮助更好解释。而如果想把现有的变量变成少数几个新的变量(新的变量几乎带有原来所有变量的信息)来进入后续的分析,则可以使用主成分分析。当然,这中情况也可以使用因子得分做到。所以这中区分不是绝对的。总的来说,主成分分析主要是作为一种探索性的技术,在分析者进行多元数据分析之前,用主成分分析来分析数据,让自己对数据有一个大致的了解是非常重要的。主成分分析一般很少单独使用,通常用做以下用途:a 了解数据(screening the data);b 和cl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论