收藏 分享(赏)

MATLAB主成分分析.doc

上传人:gnk289057 文档编号:5941439 上传时间:2019-03-21 格式:DOC 页数:4 大小:36KB
下载 相关 举报
MATLAB主成分分析.doc_第1页
第1页 / 共4页
MATLAB主成分分析.doc_第2页
第2页 / 共4页
MATLAB主成分分析.doc_第3页
第3页 / 共4页
MATLAB主成分分析.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、1.princomp功能:主成分分析格式:PC=princomp(X)PC,SCORE,latent,tsquare=princomp(X)说明:PC,SCORE,latent,tsquare=princomp(X)对数据矩阵 X进行主成分分析,给出各主成分(PC)、所谓的 Z-得分(SCORE)、X 的方差矩阵的特征值(latent)和每个数据点的 HotellingT2统计 量(tsquare)。2.pcacov功能:运用协方差矩阵进行主成分分析格式:PC=pcacov(X)PC,latent,explained=pcacov(X)说明:PC,latent,explained=pcacov

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

3、巴特力特检验是一种等方差性检验。ndim=barttest(X,alpha)是在显著性水平 alpha下,给出满足数据矩阵 X的非随机变量的 n维模型,ndim 即模型维数,它由一系列假设检验所确定,ndim=1 表明数据 X对应于每个主成分的方差是相同的;ndim=2 表明数据 X对应于第二成分及其余成分的方差是相同的。第一种方法:用 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 200 7 2;4 1 1100 0.5 1;5 1 1100 3 0;26 7

4、 400 6 2;p=mean(X); %每一列的平均值pq=repmat(p,8,1);b=std(X); %每一列的标准差bq=repmat(b,8,1);ding = (X-pq)./bq; %标准化矩阵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.7500 -0.3978 0.3575;%

5、前三个 85%,得到的主成分系数,Y= ding *WY =0.7189 1.7805 -0.1687-1.2866 -0.4645 -1.28151.5565 -0.8752 -0.92440.0146 -1.5758 0.8769-0.5768 0.8649 2.5466-0.7725 0.0577 -1.68920.1863 0.6378 -1.46350.1594 -0.4250 2.1036第二种方法:用 matlab 的自带函数 princomp 得到的结果:pc,score,latent,tsquare = princomp(X);pc =-0.0249 0.9933 0.093

6、4 -0.0575 0.0250-0.0028 -0.0967 0.9941 -0.0413 0.02790.9997 0.0247 0.0053 0.0037 0.0030-0.0055 0.0496 0.0421 0.9884 0.1372-0.0016 -0.0293 -0.0362 -0.1344 0.9898为什么结果不一样呢?第三种方法用 spss 软件来做,结果让我更加不解,我迷茫了第一种和第二种方法应该能得到相同结果1、你第一种方法中得到的特征向量矩阵是主成分系数(标准化后变量的主成分系数),而最后计算的矩阵 Y是每个样本数据的主成分得分;2、第二种方法应该对标准化矩阵用 pr

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

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

9、中,成分的数量是一定的,一般有几个变量就有几个主成分。和主成分分析相比,由于因子分析可以使用旋转技术帮助解释因子,在解释方面更加有优势。大致说来,当需要寻找潜在的因子,并对这些因子进行解释的时候,更加倾向于使用因子分析,并且借助旋转技术帮助更好解释。而如果想把现有的变量变成少数几个新的变量(新的变量几乎带有原来所有变量的信息)来进入后续的分析,则可以使用主成分分析。当然,这中情况也可以使用因子得分做到。所以这中区分不是绝对的。总的来说,主成分分析主要是作为一种探索性的技术,在分析者进行多元数据分析之前,用主成分分析来分析数据,让自己对数据有一个大致的了解是非常重要的。主成分分析一般很少单独使用,通常用做以下用途:a 了解数据(screening the data);b 和 cluster analysis一起使用;c 和判别分析一起使用,比如当变量很多,个案数不多,直接使用判别分析可能无解,这时候可以使用主成份发对变量简化(reduce dimensionality);d 在多元回归中,主成分分析可以帮助判断是否存在共线性(条件指数),还可以用来处理共线性。在算法上,主成分分析和因子分析很类似,不过,在因子分析中所采用的协方差矩阵的对角元素不在是变量的方差,而是和变量对应的共同度(变量方差中被各因子所解释的部分。)。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 期刊/会议论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报