www.gusucode.com > mbcmodels 工具箱 matlab 源码程序 > mbcmodels/@xreglinear/NaturalPressRMSE.m
function s = NaturalPressRMSE(m,X,y,yhat,s2mle,s2full) %NATURALPRESSRMSE % % msep = NaturalPressRMSE(m,X,y); % msep = NaturalPressRMSE(m,X,y,yhat); % Copyright 2006 The MathWorks, Inc. if nargin==1 % structure describing the stat s.Name = 'PRESS RMSE'; s.Description = 'Predicted Standard Error'; s.Formula = 'sqrt(PRESS/N)'; s.Type = 1; s.MinBest = true; else % calculate if nargin<4 yhat = eval(m,X); end yhat = yinv(m,yhat); yhatp= presspred(m,yhat); rp = yinv(m,y) - yhatp; % remove nonfinite and complex residuals due to transform OKpress = isfinite(rp); if ~any(OKpress) s= NaN; else rp = real(rp); s= sqrt( sum(rp(OKpress).^2)/sum(OKpress) ); end end