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