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

    function [labs,head,Stats,InSig]= localsummary(L,Type,TS,X,Y,Wc,ValRMSE)
%LOCALSUMMARY summary statistics in local diagnostics table
%
% 
% [labs,Stats]= localsummary(L,Xs,Ys,Wc,ls)


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


TypeList= { 'Summary Statistics',...
    'Parameters',...
    'Correlations',...
    'Response Features',...
    'Global Covariance'};

if nargin==1
    labs= TypeList;
    head= '';
    Stats=[];
    InSig = [];
else
    [Xs,~]= checkdata(L,X{1},Y);

    params= double(L);
    switch Type
        case 1 % diagnostics

            [Stats,labs]= FitSummary(L,X{1},Y,Wc);

            InSig= false(size(Stats));
            head='';
            
            labs= [labs  'Validation RMSE']';
            Stats= [Stats ValRMSE]';        
        
        case 2  % parameters
            labs= labels(L,0);
            head= {'Value','Std Error'};
            if isempty(params)
                Stats= zeros(0,2);
                InSig= false(0,0);
            else
                [~,W]= sigma(L,Xs{1},Wc);
                Stats=  [double(L) sqrt(diag(W))];
                InSig= abs(Stats(:,1))<tinv(0.99,dferror(L))*Stats(:,2);
            end
        case 3  % correlation matrix
            labs= labels(L,0);
            head = labs;
            if isempty(params)
                labs= {''};
                head={''};
                Stats= NaN;
            else
                [~,W]= sigma(L,Xs{1},Wc);
                [~,Stats]= xregcov2corr(W);
            end
            InSig= false(size(Stats,1),1);
        case 4  % 'rf'
            labs= RespFeatName(L);
            %		labs= detex(labs);
            head= {'Value','Std Error'};
            Vals= evalfeatures(L);
            if ~isempty(Vals)
                S= sigma(L,Xs{1},Wc);
                Stats= [Vals(:) sqrt(diag(S))];
                InSig= abs(Stats(:,1))<tinv(0.99,dferror(L))*Stats(:,2);
            else
                Stats= zeros(0,2);
                InSig= Stats;
            end

        case 5 % global covariance
            if numfeats(L)>0
                labs= RespFeatName(L);
                head= labs';
                if ~isempty(TS);
                    Stats= cov(TS);
                    if isempty(Stats)
                        Stats= zeros(length(labs));
                        Stats(:)=NaN;
                    end
                else
                    Stats= zeros(length(labs));
                    Stats(:)=NaN;
                end

                InSig= false(size(Stats,1),1);
            else
                labs=cell(1,0);
                head= labs';
                Stats= zeros(0,0);
                InSig= Stats;
            end
    end
end