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

matlab的主成分分析函数

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

+ n( L7 F# S2 w9 k2 V, U1.princomp. w  @% w1 ?3 o5 S" B( s$ M9 S
   功能:主成分分析
7 \& }0 i3 m' g; X3 {: K3 ?   格式:PC=princomp(X)
* `" l- F! Q# F4 @             [PC,SCORE,latent,tsquare]=princomp(X)) L7 n2 `& [: h4 U; U; M
   说明:[PC,SCORE,latent,tsquare]=princomp(X)对数据矩阵X进行主成分分析,给出各主成分- D2 o4 A4 ]/ Z: P1 F
(PC)、所谓的Z-得分 (SCORE)、X的方差矩阵的特征值(latent)和每个数据点的HotellingT2统计
" E8 f9 ]8 r$ j4 g- [. Z量(tsquare)。
4 {% l( @7 W& V2 s& R
, M3 w) H: n! Q& S  B& b9 ?2.pcacov 功能:运用协方差矩阵进行主成分分析 格式:PC=pcacov(X) [PC,latent,explained]=pcacov(X) 说明:[PC,latent,explained]=pcacov(X)通过协方差矩阵X进行主成分分析,返回主成分(PC)、
# o8 @3 L  ~4 u0 V, b4 i; _协方差矩阵X的特征值(latent)和每个特征向量表征在观测量总方差中所占的百分数(explained)。 6 F; Z& l5 S) z3 c: W: m
" s% M& [0 U! R6 c
3.pcares 功能:主成分分析的残差 格式:residuals=pcares(X,ndim) 说明:pcares(X,ndim)返回保留X的ndim个主成分所获的残差。注意,ndim是一个标量,必须小于
- a, P8 K6 `# o6 k3 O) gX的列数。而且,X是数据矩阵,而不是协方差矩阵。 ( X+ U5 z2 d1 D" r# s  {) V% v

% u/ T* h* u; S  q( o4.barttest 功能:主成分的巴特力特检验 格式:ndim=barttest(X,alpha) [ndim,prob,chisquare]=barttest(X,alpha) 说明:巴特力特检验是一种等方差性检验。ndim=barttest(X,alpha)是在显著性水平alpha下,
. R3 X3 T4 v4 F/ N' W+ y给出满足数据矩阵X的非随机变量的n维模型,ndim即模型维数,它由一系列假设检验所确定,ndim=1
" Y; S% C$ c9 d4 I2 C( Q表明数据X对应于每个主成分的方差是相同的;ndim=2表明数据X对应于第二成分及其余成分的方差是7 Z+ @4 Y2 g, n, `
相同的。" c! N( d5 d# [, J! N' H

& m8 V% {  T$ C! `主成分分析Matlab源码分析                           
" R. Y: D$ v; y) D; T
' t% [  D# q$ `# A" D$ cfunction [pc, score, latent, tsquare] = princomp(x);
, e" k# K: X) y& h8 u: j) K3 G%   PRINCOMP Principal Component Analysis (centered and scaled data).
' p) h( i3 v: d
& n: z% z) I/ s5 r' e( P2 S, T8 x4 t6 W# ^' O/ ~
%   [PC, SCORE, LATENT, TSQUARE] = PRINCOMP(X) takes a data matrix X and' f0 v' U7 Q0 T8 a* n+ `% a" x
' j1 d9 h# I* Z5 }
& L) Y7 T! h6 b2 m7 s# T  z
%   returns the principal components in PC, the so-called Z-scores in SCORES,
% [) x0 l1 ~( y8 l2 y% i( g
$ \3 x+ l1 s7 t* y
" Q  N# ^9 B& F- ]5 ~5 g& ?%   the eigenvalues of the covariance matrix of X in LATENT, and Hotelling's! F9 x5 X- S' ?5 Q; Z# r

7 q: @( W! s- U$ _& K# P
: ~* j# C  F7 u% }' @%   T-squared statistic for each data point in TSQUARE.  o) b" C8 D8 c. T
%   Reference: J. Edward Jackson, A User's Guide to Principal Components
" i8 d& P' V0 F) z+ n/ W; _) @* u0 Y! N
7 ~9 f4 x3 |8 U  K- Z4 r" c
%   John Wiley & Sons, Inc. 1991 pp. 1-25.
+ ^0 p' _1 R: g" j% {/ i1 v# h3 G%   B. Jones 3-17-947 _0 I2 V4 K! v4 Y9 M

$ ~9 P" h, n' z! d: t2 f; F' H9 ]  ^+ g7 E" `: R
%   Copyright 1993-2002 The MathWorks, Inc.
' T, N0 q0 U& y  ~
2 i1 F, |& M" V: {6 U( x9 j1 X$ N) g
%   $Revision: 2.9 $  $Date: 2002/01/17 21:31:45 $
+ z: G" o& U: W" g% D) D/ Z6 y1 Z. O6 ], @0 z
  j, F1 r- k- f2 T. s" C) c5 `3 I
. N: i: S  W/ Z) G' L  l4 u  y
[m,n] = size(x);     % 得到矩阵的规模,m行,n列
. i$ W( u" O/ n) H2 p8 sr = min(m-1,n);     % max possible rank of x                     5 ?- k) N8 D: ^
% 该矩阵最大的秩不能超过列数,                    
8 G% ?/ B# c" t$ z5 l: E3 i1 ]% 也不能超过行数减1! A# \  \3 f- m) ?" l/ E
avg = mean(x);     % 求每一列的均值,付给一个n维行向量
' d" R0 Q+ ^% ^/ |9 B6 ^) r$ U4 Hcenterx = (x - avg(ones(m,1),:)); % x的每个元素减去该列的均值,                  
2 K# n9 @+ y. i$ M! T! h% 使样本点集合重心与坐标原点重合
" V+ x$ Q, ?, j' i4 M[U,latent,pc] = svd(centerx./sqrt(m-1),0);        % “经济型”的奇异值分解# n  B! Q* V- I% [1 m! `6 ?0 c$ N
score = centerx*pc;      % 得分矩阵即为原始矩阵乘主成分矩阵; ]: F) e( S, o* K4 |, r+ ?2 n. u( V
if nargout < 3, return; endlatent = diag(latent).^2;      % 将奇异值矩阵转化为一个向量
$ i2 p5 _# ~: }if (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-11-24 01:31 , Processed in 0.156250 second(s), 23 queries , Gzip On.

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

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

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