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

matlab的主成分分析函数

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
2 h% \; f9 o) L- J; m; {* Z- |
1.princomp
8 R/ m, m8 P# u' b   功能:主成分分析* S+ r* X0 M3 R: v  T2 q, Q, Y6 q
   格式:PC=princomp(X)
& A7 g7 H/ A4 b" K             [PC,SCORE,latent,tsquare]=princomp(X)) n, d# |4 Y; ~! j) U" O5 r
   说明:[PC,SCORE,latent,tsquare]=princomp(X)对数据矩阵X进行主成分分析,给出各主成分5 Z8 X. Q4 r8 X- n5 ]
(PC)、所谓的Z-得分 (SCORE)、X的方差矩阵的特征值(latent)和每个数据点的HotellingT2统计
. D: X: l- |5 p' t6 a& g量(tsquare)。
1 G$ E( M& c8 ~/ {  o# T! |4 V9 a0 x/ Q: Z
2.pcacov 功能:运用协方差矩阵进行主成分分析 格式:PC=pcacov(X) [PC,latent,explained]=pcacov(X) 说明:[PC,latent,explained]=pcacov(X)通过协方差矩阵X进行主成分分析,返回主成分(PC)、# h( \1 d5 P: ~
协方差矩阵X的特征值(latent)和每个特征向量表征在观测量总方差中所占的百分数(explained)。 + Z& b- H& Z' F* S+ t

, H+ a( d) x: c' Z5 n  \5 z+ _3.pcares 功能:主成分分析的残差 格式:residuals=pcares(X,ndim) 说明:pcares(X,ndim)返回保留X的ndim个主成分所获的残差。注意,ndim是一个标量,必须小于
; t- a  K; s3 n, yX的列数。而且,X是数据矩阵,而不是协方差矩阵。
  z8 _4 d- Y2 M2 U& X5 v3 F/ R) p% B: M4 h  i# E  \% J# U( F
4.barttest 功能:主成分的巴特力特检验 格式:ndim=barttest(X,alpha) [ndim,prob,chisquare]=barttest(X,alpha) 说明:巴特力特检验是一种等方差性检验。ndim=barttest(X,alpha)是在显著性水平alpha下,
  u9 a$ X+ _7 H: ?# S' w0 Y( o+ D给出满足数据矩阵X的非随机变量的n维模型,ndim即模型维数,它由一系列假设检验所确定,ndim=1
& \' y0 Q$ G! h表明数据X对应于每个主成分的方差是相同的;ndim=2表明数据X对应于第二成分及其余成分的方差是2 i. [# `/ h7 q0 }, l! B1 W
相同的。  A9 X8 F9 s: A7 o6 m& V

; R8 ?; O2 c# ?$ Z9 @+ v; D主成分分析Matlab源码分析                           
! i3 b0 M3 r( p$ [* b  {1 a; [0 [: I3 s$ X5 @5 P
function [pc, score, latent, tsquare] = princomp(x);: e7 w' Y' T) c- }' ]
%   PRINCOMP Principal Component Analysis (centered and scaled data).
: i- ~& P5 K6 c" b* f2 V
5 c5 P3 Z" t& A# S: M. |5 h8 [: E3 m' q( K+ X
%   [PC, SCORE, LATENT, TSQUARE] = PRINCOMP(X) takes a data matrix X and* W+ G  f4 X! G2 G
! ~% t, h, J$ n% [7 W+ s* t

' P" v% \  G3 F$ T/ y9 @: j%   returns the principal components in PC, the so-called Z-scores in SCORES,+ N5 X! H9 O6 B3 f0 U

' a5 {# O/ X8 s5 G, m
, R7 e3 _/ a0 G%   the eigenvalues of the covariance matrix of X in LATENT, and Hotelling's
' t2 \7 h+ W: s# U+ z* L, I0 l- m8 u- l* h/ g

! q1 ^- j* L2 E! c$ Q* Q7 u: B%   T-squared statistic for each data point in TSQUARE.
* q; |# W! S( ~) `& R+ N# y" S%   Reference: J. Edward Jackson, A User's Guide to Principal Components% u' A4 `3 _: B1 S# T7 W, s
4 m2 y/ Q/ {& a5 X: p( C

6 n7 Z0 l% ]% ?) [%   John Wiley & Sons, Inc. 1991 pp. 1-25.- C+ F9 q6 J; C" P; _
%   B. Jones 3-17-949 U& ^7 E; B2 h

2 c& H5 ]0 E# {: p- k4 ?5 o+ L' O3 I) G  W! J+ U/ v
%   Copyright 1993-2002 The MathWorks, Inc.
- b3 ?) Y7 l* f0 }' |% Q
' ~4 ]7 T+ i+ E! i
4 X- N# @' d* m& F0 I# m%   $Revision: 2.9 $  $Date: 2002/01/17 21:31:45 $
* L6 @: `6 X/ o/ L3 l' r" H" H! H/ o5 r" e$ R0 D  r

; T4 A. F3 l& C3 z6 r+ |3 L* ~2 T1 ]* |# i5 Q! l9 ~
[m,n] = size(x);     % 得到矩阵的规模,m行,n列4 N5 w5 c5 g/ z  h* N" t0 x4 q
r = min(m-1,n);     % max possible rank of x                     5 ?4 z6 {! E6 A0 Z6 k* h, B
% 该矩阵最大的秩不能超过列数,                    
1 l) {  C9 @* c* U. O4 Q% 也不能超过行数减1$ y! @; s' H8 D9 V- S
avg = mean(x);     % 求每一列的均值,付给一个n维行向量
7 n) l# O+ G2 N* v2 J- T* \; @6 S/ wcenterx = (x - avg(ones(m,1),:)); % x的每个元素减去该列的均值,                  
5 Y. p% N- ~  C% 使样本点集合重心与坐标原点重合9 F& s- c, q/ b- P
[U,latent,pc] = svd(centerx./sqrt(m-1),0);        % “经济型”的奇异值分解
+ n: e* Y4 i/ h! x) W5 X' E$ ?score = centerx*pc;      % 得分矩阵即为原始矩阵乘主成分矩阵. t1 b( e4 ^$ g+ ?3 E5 s6 W2 j
if nargout < 3, return; endlatent = diag(latent).^2;      % 将奇异值矩阵转化为一个向量' [/ q9 C9 e2 W; c
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-10-6 03:17 , Processed in 0.125000 second(s), 24 queries , Gzip On.

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

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

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