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

    function [s]= basicstats(L,X,y,Wc)
%BASICSTATS localmod statistics
%
% s= basicstats(L,X,y,Wc)

%  Copyright 2006-2015 The MathWorks, Inc. and Ford Global Technologies, Inc.



% sse     SSE
% df      nobs-p 
% ssen    natural SSE
% R2 
% cond(J) condition of jacobian

[r,~,yhat]= lsqcost(L,X,y,Wc);
sse = sum(r.^2);  

rn= CalcYinv(L,y) - CalcYinv(L,yhat);
rn= rn(isfinite(rn));
if ~isreal(rn)
   rn(imag(rn)~=0)=[];
end
ssen = sum(rn.^2);

m = get(L,'CurrentModel');
if isa(m,'xreggpr')
    % should use
    df = length(rn);
else
    df = dferror(L);
end

sst = sum((y-mean(y)).^2);     % Total sum of squares.
ssr = sst-sse;
nobs = length(y);
p   = numParams(L);
if nobs>p
   mse = sse/df;
else
   mse = 0;
end   

if sst==0
   R2= 1;
else
   R2   = ssr/sst;
end


s.sse         = sse;
s.SSE_natural = ssen;
s.df          = df;
s.nobs        = nobs;
s.R2          = R2;
s.mse         = mse;