找回密码
 注册
关于网站域名变更的通知
查看: 456|回复: 1
打印 上一主题 下一主题

matlab的主成分分析函数

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-3-10 09:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
9 S3 s! N2 e3 d3 y( b" J
1.princomp
, {. ~; Y7 e# c( P4 d   功能:主成分分析# H+ q/ J9 e! }/ O0 m
   格式:PC=princomp(X)5 Z4 A8 c# a0 s
             [PC,SCORE,latent,tsquare]=princomp(X)
2 M: B- z2 o4 V0 l/ A   说明:[PC,SCORE,latent,tsquare]=princomp(X)对数据矩阵X进行主成分分析,给出各主成分& s. L2 s+ g8 N8 o
(PC)、所谓的Z-得分 (SCORE)、X的方差矩阵的特征值(latent)和每个数据点的HotellingT2统计
( B4 W, Y7 S+ B量(tsquare)。 5 b, e) o5 P0 f' Z' w3 m% O
: C, u$ A- a# \. q) V# E7 t
2.pcacov 功能:运用协方差矩阵进行主成分分析 格式:PC=pcacov(X) [PC,latent,explained]=pcacov(X) 说明:[PC,latent,explained]=pcacov(X)通过协方差矩阵X进行主成分分析,返回主成分(PC)、4 F5 z2 v8 X3 q$ o/ b; k, M( K
协方差矩阵X的特征值(latent)和每个特征向量表征在观测量总方差中所占的百分数(explained)。 & ?! |. }& r/ x5 T
# g- W1 t" m3 F
3.pcares 功能:主成分分析的残差 格式:residuals=pcares(X,ndim) 说明:pcares(X,ndim)返回保留X的ndim个主成分所获的残差。注意,ndim是一个标量,必须小于% a! t0 `+ M' P- J0 E4 d. _9 H4 ~; O# b
X的列数。而且,X是数据矩阵,而不是协方差矩阵。 * B* N8 `$ j3 d6 Q3 @

: {# ?# d9 L" C/ g4.barttest 功能:主成分的巴特力特检验 格式:ndim=barttest(X,alpha) [ndim,prob,chisquare]=barttest(X,alpha) 说明:巴特力特检验是一种等方差性检验。ndim=barttest(X,alpha)是在显著性水平alpha下,+ K( S. b8 h- M5 o
给出满足数据矩阵X的非随机变量的n维模型,ndim即模型维数,它由一系列假设检验所确定,ndim=1
% s3 `! V/ w; p, k: c$ G/ c( q表明数据X对应于每个主成分的方差是相同的;ndim=2表明数据X对应于第二成分及其余成分的方差是
9 m8 t7 K- D! ~9 c1 j- Z- J相同的。
% j4 s) T+ J/ V6 w
5 q9 v! o  X* h% k! [+ Y# r* F主成分分析Matlab源码分析                            & B! E4 Z' O. P! r9 t! Z

/ H0 K) x3 f7 |, D$ rfunction [pc, score, latent, tsquare] = princomp(x);
4 J) o% Q; W5 V. _8 {$ o%   PRINCOMP Principal Component Analysis (centered and scaled data).
7 }" N3 Y4 _# Y/ m/ ^) M" [9 r. C" O+ m5 R& n5 m

$ i. h# R6 S+ e  ^%   [PC, SCORE, LATENT, TSQUARE] = PRINCOMP(X) takes a data matrix X and& D; d9 z6 E' Y
! V8 \# A$ D& b9 N

# }' C2 k( h( ?# Z' S6 F%   returns the principal components in PC, the so-called Z-scores in SCORES,
  L  ~- j' H/ J  g+ d" L0 ~8 H7 y
0 F' [1 n0 c4 ]+ g* L  A5 O1 {/ ]
%   the eigenvalues of the covariance matrix of X in LATENT, and Hotelling's9 a5 v4 ?6 Z5 E! h

3 O5 J4 M) x# Y% ?5 X+ n: C
: I* z& q% ?" V$ k* _. {%   T-squared statistic for each data point in TSQUARE.
( z3 Y6 Q0 ]5 D%   Reference: J. Edward Jackson, A User's Guide to Principal Components
' f4 E3 G+ R- t0 z4 H4 U( l, k7 N" \4 Q6 W; F( y  u
) b6 `. [$ V+ L! U* _1 r# R
%   John Wiley & Sons, Inc. 1991 pp. 1-25.
$ a7 z: {5 ]8 b" P%   B. Jones 3-17-94
* m3 C0 r6 P1 Z' ?6 t( J  v1 }, A+ Q- o
/ A3 f! c! ~9 W# }
%   Copyright 1993-2002 The MathWorks, Inc. % N: t, p* a- L- _
: ^8 [+ G: S) g. g( w

+ t8 n- D4 N0 s8 B; x9 p%   $Revision: 2.9 $  $Date: 2002/01/17 21:31:45 $% d+ k  m/ n5 a' m7 H

, m% A* `# }* y# V9 Q8 _* }8 v1 g$ I- C( ^, e' P: X5 x5 q# ?: A

( \9 p+ Y' ~( O& e( L8 ^( J[m,n] = size(x);     % 得到矩阵的规模,m行,n列4 S: ]( W  b3 G' s
r = min(m-1,n);     % max possible rank of x                     
: j' L5 z. d6 C- `. V+ Q$ m% 该矩阵最大的秩不能超过列数,                    
9 T3 L7 ]8 h  U/ d% 也不能超过行数减1
+ }9 D- r5 b6 x' @4 Qavg = mean(x);     % 求每一列的均值,付给一个n维行向量
0 F, [5 G1 A* Bcenterx = (x - avg(ones(m,1),:)); % x的每个元素减去该列的均值,                  ' p$ G6 B/ K1 b+ d
% 使样本点集合重心与坐标原点重合
/ Z7 k0 J) S% l. R' ~2 I4 G[U,latent,pc] = svd(centerx./sqrt(m-1),0);        % “经济型”的奇异值分解+ |8 L) @7 k% A, t0 J2 b0 a# H
score = centerx*pc;      % 得分矩阵即为原始矩阵乘主成分矩阵. x3 X& T$ O* r0 K
if nargout < 3, return; endlatent = diag(latent).^2;      % 将奇异值矩阵转化为一个向量
+ f) B0 t9 W3 W3 ^" d/ Sif (r   latent = [latent(1:r); zeros(n-r,1)];   score(:,r+1:end) = 0;endif nargout < 4, return; endtmp = sqrt(diag(1./latent(1:r)))*score(:,1:r)';tsquare = sum(tmp.*tmp)';

该用户从未签到

2#
发表于 2020-3-10 16:48 | 只看该作者
matlab的主成分分析函数
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-11 13:03 , Processed in 0.125000 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表