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

matlab的主成分分析函数

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
- K/ h' R9 V2 E+ g; h
1.princomp% ~, Q. x1 m2 f( Y. Z0 a" m( g7 s
   功能:主成分分析
% [: q( s5 q: ?# z   格式:PC=princomp(X)
  Q3 C. T- G2 y/ H, b: j% k             [PC,SCORE,latent,tsquare]=princomp(X)2 }' V# |9 \* k0 C& @/ m
   说明:[PC,SCORE,latent,tsquare]=princomp(X)对数据矩阵X进行主成分分析,给出各主成分: I& B/ S: d( D3 X3 g& o; n" g. o+ e
(PC)、所谓的Z-得分 (SCORE)、X的方差矩阵的特征值(latent)和每个数据点的HotellingT2统计
' {" X. [6 n8 J, w  k量(tsquare)。
6 N6 _1 l( j' N( f, Y6 |' M- [2 S3 g+ A0 X- O1 `6 B7 q! h
2.pcacov 功能:运用协方差矩阵进行主成分分析 格式:PC=pcacov(X) [PC,latent,explained]=pcacov(X) 说明:[PC,latent,explained]=pcacov(X)通过协方差矩阵X进行主成分分析,返回主成分(PC)、, W( O4 _: W8 X" x2 y
协方差矩阵X的特征值(latent)和每个特征向量表征在观测量总方差中所占的百分数(explained)。 9 V4 h4 f$ W; [; h- [( {" \

  T3 T1 e; v/ L1 O6 p3.pcares 功能:主成分分析的残差 格式:residuals=pcares(X,ndim) 说明:pcares(X,ndim)返回保留X的ndim个主成分所获的残差。注意,ndim是一个标量,必须小于5 [. R4 w2 N" t( M
X的列数。而且,X是数据矩阵,而不是协方差矩阵。 8 e: u7 w# f( _! ~3 I2 |6 _4 ?+ i& N

4 a( Q  l# p# x$ v* T4.barttest 功能:主成分的巴特力特检验 格式:ndim=barttest(X,alpha) [ndim,prob,chisquare]=barttest(X,alpha) 说明:巴特力特检验是一种等方差性检验。ndim=barttest(X,alpha)是在显著性水平alpha下,
& K3 \- L6 s  |0 D/ Q! `给出满足数据矩阵X的非随机变量的n维模型,ndim即模型维数,它由一系列假设检验所确定,ndim=1
% L7 h- P% a) v' V% J1 E/ [  Y表明数据X对应于每个主成分的方差是相同的;ndim=2表明数据X对应于第二成分及其余成分的方差是; X( Y9 e, r/ z6 v) K
相同的。
4 t: }& {( X$ Y3 p6 q5 v; u+ f  {
主成分分析Matlab源码分析                           
, x  J$ ?& j  G3 g) S' c; @7 u- z+ {# K5 ]) n: z" T) L- U
function [pc, score, latent, tsquare] = princomp(x);
& w9 x3 M) W! o, V4 N0 R%   PRINCOMP Principal Component Analysis (centered and scaled data).# z  i) f' C- ~  Q+ [
# I+ U9 e. b4 i$ H$ O2 H

- N" k0 @! ~( {! W/ [%   [PC, SCORE, LATENT, TSQUARE] = PRINCOMP(X) takes a data matrix X and# z# G5 p$ {7 F( ]& I

8 o5 ]8 ~( }0 V6 M" U0 ^; k
2 ^1 |/ P* C/ e/ o" S- e%   returns the principal components in PC, the so-called Z-scores in SCORES,( Q. \. ~5 w  B% n! v& N! Y. q6 A. o
: |. [" Z: p: \; [; @0 l$ {6 [

  D+ d- `, N/ u* V$ [%   the eigenvalues of the covariance matrix of X in LATENT, and Hotelling's
8 Y2 P# p4 J; Q8 b+ ]  w5 i" v5 F2 f( G& c2 g' {' b
: @9 c( p. U! }# q; G- }
%   T-squared statistic for each data point in TSQUARE.; _5 k7 _2 u5 Y* h7 G$ D8 `. q
%   Reference: J. Edward Jackson, A User's Guide to Principal Components; D/ D* c& i- ^2 t

' V  h% j/ Z0 N* I* Q" X  x1 b' B
2 Q* e2 O5 `8 o; _& o1 u" S%   John Wiley & Sons, Inc. 1991 pp. 1-25.6 O- J% X9 d" Z: @4 }8 W- ?
%   B. Jones 3-17-94
2 f% O) \6 B- l
; g" ?+ K  G' Y* b) W
2 m2 i2 u/ k/ f* B& b* i' k%   Copyright 1993-2002 The MathWorks, Inc. 1 G6 N) z+ l: P  f8 w1 A) t

& Z! y; [& _! y4 X: l1 E7 `' R8 n0 y7 c( X( T$ ?
%   $Revision: 2.9 $  $Date: 2002/01/17 21:31:45 $
# \% x2 z9 G. D2 u3 R) ]$ k6 G! ~. w: x

* ]( e$ U' K  G, N
2 P, q6 Y) H. P% N* ^8 h; z3 w% E+ N[m,n] = size(x);     % 得到矩阵的规模,m行,n列8 B, U. U8 n% q) u) }& B
r = min(m-1,n);     % max possible rank of x                     
5 j) O8 [( M- h% 该矩阵最大的秩不能超过列数,                    6 C8 t2 p, y6 A" |( }" _) z; I& [
% 也不能超过行数减16 t" ~2 H$ z( T% S; N
avg = mean(x);     % 求每一列的均值,付给一个n维行向量7 Q: z8 u5 N- W) K- q4 A% [
centerx = (x - avg(ones(m,1),:)); % x的每个元素减去该列的均值,                  # P% ]# C0 S1 o9 v
% 使样本点集合重心与坐标原点重合/ J# R: a' M; ^3 E8 D
[U,latent,pc] = svd(centerx./sqrt(m-1),0);        % “经济型”的奇异值分解1 I5 ~) s* \3 ]
score = centerx*pc;      % 得分矩阵即为原始矩阵乘主成分矩阵
, w4 t1 C8 t0 [- M5 Y9 Pif nargout < 3, return; endlatent = diag(latent).^2;      % 将奇异值矩阵转化为一个向量% R. `. g9 G8 }0 m
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 12:19 , Processed in 0.156250 second(s), 23 queries , Gzip On.

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

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

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