偏最小二乘法PLS回归NIPALS算法及Matlab程序及例子.docVIP

偏最小二乘法PLS回归NIPALS算法及Matlab程序及例子.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
偏最小二乘法PLS回归NIPALS算法及Matlab程序及例子

偏最小二乘法PLS回归NIPALS算法的Matlab程序及例子 function [T,P,W,Wstar,U,b,C,B_pls,... ??????? Bpls_star,Xori_rec,Yori_rec,... ??????? R2_X,R2_Y]=PLS_nipals(X,Y,nfactor) % USAGE: [T,P,W,Wstar,U,b,C,Bpls,Bpls_star,Xhat,Yhat,R2X,R2Y]=PLS_nipals(X,Y,nfact) % PLS regression NIPALS algorithm PLS回归NIPALS算法 % Compute the PLS regression coefficients PLS回归系数的计算 % X=T*P Y=T*B*C=X*Bpls X and Y being Z-scores %????????????????????????? B=diag(b) %??? Y=X*Bpls_star with X being augmented with a col of ones %?????????????????????? and Y and X having their original units % T*T=I (NB normalization SAS) % W*W=I % % Test for PLS regression % Herve Abdi November 2002/rev November 2004 % % % Version with T, W, and C being unit normalized % U, P are not % nfact=number of latent variables to keep 保持潜在变量的数量 % default = rank(X) X_ori=X; Y_ori=Y; if exist(nfactor)~=1;nfactor=rank(X);end M_X=mean(X); M_Y=mean(Y); S_X=std(X); S_Y=std(Y); X=zscore(X); Y=zscore(Y); [nn,np]=size(X) ; [n,nq]=size(Y) ; if nn~= n; ??? error([Incompatible # of rows for X and Y]); end % Precision for convergence epsilon=eps; % # of components kepts % Initialistion % The Y set U=zeros(n,nfactor); C=zeros(nq,nfactor); % The X set T=zeros(n,nfactor); P=zeros(np,nfactor); W=zeros(np,nfactor); b=zeros(1,nfactor); R2_X=zeros(1,nfactor); R2_Y=zeros(1,nfactor); Xres=X; Yres=Y; SS_X=sum(sum(X.^2)); SS_Y=sum(sum(Y.^2)); for l=1:nfactor???? t=normaliz(Yres(:,1)); t0=normaliz(rand(n,1)*10); u=t; nstep=0; maxstep=100; while ( ( (t0-t)*(t0-t) epsilon/2) (nstep maxstep));? ?? nstep=nstep+1; ?? disp([Latent Variable #,int2str(l), Iteration #:,int2str(nstep)]) ?? t0=t; ?? w=normaliz(Xres*u); ?? t=normaliz(Xres*w); ?? % t=Xres*w; ?? c=normaliz(Yres*t); ?? u=Yres*c; end; disp([Latent Variable #,int2str(l),, convergence reached at step ,... ??? int2str(nstep)]); %X loadings p=Xres*t; % b coef b_l=((t*t)^(-1))*(u*t); b_1=u*t; % Store in matrices b(l)=b_l; P(:,l)=p; W(:,l)=w; T(:,l)=t; U(:,l)=u; C(:,l)=c; % deflation of X and Y Xres=Xres-t*p; Yres=Yre

文档评论(0)

liwenhua00 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档