📄 pgranger.m
字号:
function pgranger(result,varargin)
% PURPOSE: prints VAR model Granger-causality results
% --------------------------------------------------
% USAGE: pgranger(results,varargin);
% where: results = a structure returned by vare()
% varargin = a variable input list containing
% vnames = an optional variable name vector
% cutoff = probability cutoff used when printing
% usage: pgranger(result,0.05,vnames);
% or: pgranger(result,0.05);
% or: pgranger(result,vnames);
% or: pgranger(result,vnames,0.01);
%----------------------------------------------------
% e.g. vnames = ['y1', VAR variables
% 'y2']
% e.g. cutoff = 0.05 would only print
% marginal probabilities < 0.05
%---------------------------------------------------
% NOTES: constant term is added automatically to vnames list
% you need only enter VAR variable names plus deterministic
%---------------------------------------------------
% SEE ALSO: vare(), prt_var(), pftests()
% ----------------------------------------------------
% written by:
% James P. LeSage, Dept of Economics
% University of Toledo
% 2801 W. Bancroft St,
% Toledo, OH 43606
% jpl@jpl.econ.utoledo.edu
if ~isstruct(result)
error('pgranger requires a VAR model results structure');
end;
nflag = 0;
fid = 1;
cutoff = 1.0;
for i=1:length(varargin);
if ischar(varargin{i})
nflag = 1; % user-supplied vnames
vnames = varargin{i};
[namsiz nsize] = size(vnames);
if namsiz < result(1).neqs
error('pgranger vnames argument is wrong size');
end;
else
cutoff = varargin{i};
end;
end;
% find neqs
neqs = result(1).neqs;
% recover probability matrix
prob = zeros(neqs,neqs);
for i=1:neqs;
for j=1:neqs;
if result(i).fprob(j) < cutoff;
prob(i,j) = result(i).fprob(j);
else
prob(i,j) = NaN;
end;
end;
end;
% set up names
if nflag == 0
rnames = 'Variable';
cnames = [];
for i=1:neqs
rnames = strvcat(rnames,['var ',num2str(i)]);
cnames = strvcat(cnames,['var ',num2str(i)]);
end;
else
rnames = 'Variable';
cnames = [];
for i=1:neqs
rnames = strvcat(rnames,vnames(i,:));
cnames = strvcat(cnames,vnames(i,:));
end;
end;
in.rnames = rnames;
in.cnames = cnames;
in.fmt = '%10.2f';
in.fid = fid;
fprintf(fid,'\n ****** Granger Causality Probabilities *******\n');
mprint(prob,in);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -