⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 prt_cas.m

📁 计量工具箱
💻 M
📖 第 1 页 / 共 2 页
字号:
function prt_cas(results,vnames,fid)% PURPOSE: Prints output using spatial expansion results structures%---------------------------------------------------% USAGE: prt_cas(results,vnames,fid)% Where: results = a structure returned by spatial expansion %        vnames  = an optional vector of variable names%        fid     = optional file-id for printing results to a file%                  (defaults to the MATLAB command window)%--------------------------------------------------- %  NOTES: e.g. vnames = strvcat('y','const','x1','x2');%         e.g. fid = fopen('ols.out','wr');%  use prt_cas(results,[],fid) to print to a file with no vnames               % --------------------------------------------------%  RETURNS: nothing, just prints the spatial expansion results% --------------------------------------------------% SEE ALSO: prt, plt%---------------------------------------------------   % written by:% James P. LeSage, Dept of Economics% University of Toledo% 2801 W. Bancroft St,% Toledo, OH 43606% jpl@jpl.econ.utoledo.eduif ~isstruct(results) error('prt_cas requires structure argument');elseif nargin == 1 nflag = 0; fid = 1;elseif nargin == 2 fid = 1; nflag = 1;elseif nargin == 3 nflag = 0; [vsize junk] = size(vnames); % user may supply a blank argument   if vsize > 0   nflag = 1;             end;else error('Wrong # of arguments to prt_cas');end;switch results.methcase {'casetti'} % <=================== casetti expansion modelnvar = results.nvar;nobs = results.nobs;expansion = results.exp;if expansion == 0 % case of x-y expansionxvar = nvar-1;yvar = nvar-1;% special handling of vnames% make up generic variable namesVname = 'Variable';for i=1:nvarVname = strvcat(Vname,['variable',num2str(i)]);end; for i=1:xvar;    tmp = ['x-variable ',num2str(i)];    Vname = strvcat(Vname,tmp); end; for i=1:yvar    tmp = ['y-variable ',num2str(i)];    Vname = strvcat(Vname,tmp);     end;if (nflag == 1) % the user supplied variable names[tst_n nsize] = size(vnames); if tst_n ~= nvar+1 fprintf(fid,'Wrong # of variable names in prt_spat -- check vnames argument \n'); fprintf(fid,'will use generic variable names \n'); nflag = 0; else,Vname = 'Variable';for i=1:nvarVname = strvcat(Vname,vnames(i+1,:));end; for i=1:xvar    Vname = strvcat(Vname,['x-',vnames(i+2,:)]); end; for i=1:yvar    Vname = strvcat(Vname,['y-',vnames(i+2,:)]); end; end; % end of if-elseend; % end of nflag issuebout = results.b0;results.tstat = results.t0; % need this trick for printing belowfprintf(fid,'\n');fprintf(fid,'Casetti X-Y Spatial Expansion Estimates \n');if (nflag == 1)fprintf(fid,'Dependent Variable = %16s \n',vnames(1,:));end;fprintf(fid,'\n');fprintf(fid,'R-squared     = %9.4f \n',results.rsqr);fprintf(fid,'Rbar-squared  = %9.4f \n',results.rbar);fprintf(fid,'sige          = %9.4f \n',results.sige);fprintf(fid,'Nobs, Nvars   = %6d,%6d \n',results.nobs,nvar);if results.norm == 1fprintf(fid,'Isotropic x-y normalization \n');end;fprintf(fid,'***************************************************************\n');fprintf(fid,'Base x-y estimates \n');% now print coefficient estimates, t-statistics and probabilitiestout = tdis_prb(results.tstat,nobs-nvar); % find t-stat probabilitiestmp = [bout results.tstat tout];  % matrix to be printed% column labels for printing resultsbstring = 'Coefficient'; tstring = 't-statistic'; pstring = 't-probability';cnames = strvcat(bstring,tstring,pstring);in.cnames = cnames;in.rnames = Vname;in.fmt = '%16.6f';in.fid = fid;mprint(tmp,in);% print expanded estimates herebeta = results.beta; % nobs x 2*(nvar-1) matrix% redo variable names for expansion variables onlyVname = []; for i=1:xvar;    tmp = ['x-variable ',num2str(i)];    Vname = strvcat(Vname,tmp); end; for i=1:yvar    tmp = ['y-variable ',num2str(i)];    Vname = strvcat(Vname,tmp);     end;if (nflag == 1) % the user supplied variable names[tst_n nsize] = size(vnames); if tst_n ~= nvar+1 fprintf(fid,'Wrong # of variable names in prt_spat -- check vnames argument \n'); fprintf(fid,'will use generic variable names \n'); nflag = 0; else,Vname = []; for i=1:xvar    Vname = strvcat(Vname,['x-',vnames(i+2,:)]); end; for i=1:yvar    Vname = strvcat(Vname,['y-',vnames(i+2,:)]); end; end; % end of if-elseend; % end of nflag issuein2.rflag = 1;in2.cnames = Vname;fprintf(fid,'***************************************************************\n');fprintf(fid,'Expansion estimates \n');in2.fid = fid;in2.fmt = '%8.4f';mprint(beta,in2);else % case of distance expansionnvar = results.nvar;% make up generic namesVname = []; for i=1:nvar    tmp = ['variable ',num2str(i)];    Vname = strvcat(Vname,tmp); end; for i=nvar+1:2*nvar-1    tmp = ['d-variable ',num2str(i-nvar)];    Vname = strvcat(Vname,tmp); end;if (nflag == 1) % the user supplied variable namesVname = [];[tst_n nsize] = size(vnames); if tst_n ~= nvar+1 fprintf(fid,'Wrong # of variable names in prt_spat -- check vnames argument \n'); fprintf(fid,'will use generic variable names \n'); nflag = 0; else, for i=1:nvar    Vname = strvcat(Vname,vnames(i+1,:)); end; for i=1:nvar-1    Vname = strvcat(Vname,['d-',vnames(i+2,:)]); end; end;end; % end of nflag issuebout = results.b0;results.tstat = results.t0; % need this trick for printing belowfprintf(fid,'\n');fprintf(fid,'Casetti Distance Spatial Expansion Estimates \n');if (nflag == 1)fprintf(fid,'Dependent Variable = %16s \n',vnames(1,:));end;fprintf(fid,'\n');fprintf(fid,'R-squared     = %9.4f \n',results.rsqr);fprintf(fid,'Rbar-squared  = %9.4f \n',results.rbar);fprintf(fid,'sige          = %9.4f \n',results.sige);fprintf(fid,'Nobs, Nvars   = %6d,%6d \n',results.nobs,nvar);fprintf(fid,'central obs   = %6d \n',results.ctr);if results.norm == 1fprintf(fid,'Isotropic x-y normalization \n');end;fprintf(fid,'***************************************************************\n');fprintf(fid,'Base centroid estimates \n');% now print coefficient estimates, t-statistics and probabilitiestout = tdis_prb(results.tstat,nobs-nvar); % find t-stat probabilitiestmp = [bout results.tstat tout];  % matrix to be printed% column labels for printing resultsbstring = 'Coefficient'; tstring = 't-statistic'; pstring = 't-probability';cnames = strvcat(bstring,tstring,pstring);Vname2 = strvcat('Variable',Vname);in.cnames = cnames;in.rnames = Vname2;in.fmt = '%16.6f';in.fid = fid;mprint(tmp,in);fprintf(fid,'***************************************************************\n');% print expanded estimates herein2.cnames = Vname(2:nvar,:);in2.rflag = 1;fprintf(fid,'Expansion estimates \n');in2.fid = fid;in2.fmt = '%8.4f';mprint(results.beta,in2);end; % end of casetticase {'bcasetti'} % <=================== casetti expansion modelnvar = results.nvar;nobs = results.nobs;expansion = results.exp;if expansion == 0 % case of x-y expansionxvar = nvar-1;yvar = nvar-1;% special handling of vnames% make up generic variable namesVname = 'Variable';for i=1:nvarVname = strvcat(Vname,['variable',num2str(i)]);end; for i=1:xvar;    tmp = ['x-variable ',num2str(i)];    Vname = strvcat(Vname,tmp); end; for i=1:yvar    tmp = ['y-variable ',num2str(i)];    Vname = strvcat(Vname,tmp);     end;if (nflag == 1) % the user supplied variable names[tst_n nsize] = size(vnames); if tst_n ~= nvar+1 fprintf(fid,'Wrong # of variable names in prt_spat -- check vnames argument \n'); fprintf(fid,'will use generic variable names \n'); nflag = 0; else,Vname = 'Variable';for i=1:nvarVname = strvcat(Vname,vnames(i+1,:));end; for i=1:xvar    Vname = strvcat(Vname,['x-',vnames(i+2,:)]); end; for i=1:yvar    Vname = strvcat(Vname,['y-',vnames(i+2,:)]); end; end; % end of if-elseend; % end of nflag issuebout = mean(results.b0draw)';stdb = std(results.b0draw)';t0 = bout./stdb;results.tstat = t0; % need this trick for printing belowtvar = length(bout);y = results.y;results.resid = y - results.yhat;sigu = results.resid'*results.resid;results.sige = sigu/(nobs-tvar);ym = y - mean(y);rsqr1 = sigu;rsqr2 = ym'*ym;results.rsqr = 1.0 - rsqr1/rsqr2; % r-squaredrsqr1 = rsqr1/(nobs-2*results.nvar);rsqr2 = rsqr2/(nobs-1.0);results.rbar = 1 - (rsqr1/rsqr2); % rbar-squaredfprintf(fid,'\n');fprintf(fid,'Bayesian Casetti X-Y Spatial Expansion Estimates \n');if (nflag == 1)fprintf(fid,'Dependent Variable = %16s \n',vnames(1,:));end;fprintf(fid,'\n');fprintf(fid,'R-squared     = %9.4f \n',results.rsqr);fprintf(fid,'Rbar-squared  = %9.4f \n',results.rbar);fprintf(fid,'sige          = %9.4f \n',results.sige);fprintf(fid,'Nobs, Nvars   = %6d,%6d \n',results.nobs,nvar);fprintf(fid,'prior r-value = %6d \n',results.rval);fprintf(fid,'ndraws,nomit  = %6d,%6d \n',results.ndraw,results.nomit);fprintf(fid,'time in secs  = %9.4f   \n',results.time);if results.norm == 1fprintf(fid,'Isotropic x-y normalization \n');end;fprintf(fid,'***************************************************************\n');fprintf(fid,'Base x-y estimates \n');% now print coefficient estimates, t-statistics and probabilitiestout = tdis_prb(results.tstat,nobs-nvar); % find t-stat probabilitiestmp = [bout results.tstat tout];  % matrix to be printed% column labels for printing resultsbstring = 'Coefficient'; tstring = 't-statistic'; pstring = 't-probability';cnames = strvcat(bstring,tstring,pstring);in.cnames = cnames;in.rnames = Vname;in.fmt = '%16.6f';in.fid = fid;mprint(tmp,in);% print expanded estimates herebeta = results.beta; % nobs x 2*(nvar-1) matrix% redo variable names for expansion variables onlyVname = []; for i=1:xvar;    tmp = ['x-variable ',num2str(i)];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -