www.gusucode.com > mbcmodels 工具箱 matlab 源码程序 > mbcmodels/@xregusermod/stats.m

    function varargout= stats(m,opt,x,y)
%STATS Get statistics for xregusermod object
%
%  STATS(M,'Summary',X,Y).
%  [O1,O2]=STATS(M,'Validate',X,Y).
%
%  See also COLHEAD.

%  Copyright 2000-2004 The MathWorks, Inc. and Ford Global Technologies, Inc.


switch lower(opt)
    case 'summary'
        n = length(y);
        p = length(m.parameters);
        bc= get(m,'boxcox');

        J= CalcJacob(m,x);
        [Q,R]= qr(J,0);

        yhat  = eval(m,x);
        res= y-yhat;

        sser= sum( res.^2 )/(n-p);

        ss= sum( res.^2 );
        GCV= (ss/n)/( (n-sum(sum(Q.^2,2)))/n )^2;

        %   [N,p,lam,RMSE,k,GCV]
        s = [n p bc sqrt(sser) GCV];
        varargout{1}= s;
    case 'validate'
        varargout{1}= y(isfinite(y));
        varargout{2}= y(isfinite(y));
end