-
Notifications
You must be signed in to change notification settings - Fork 5
/
dlmdisp.m
52 lines (39 loc) · 1.19 KB
/
dlmdisp.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
function out = dlmdisp(dlm)
%DLMDISP print information about the DLM fit
% Marko Laine <marko.laine@fmi.fi>
% $Revision: 0.0 $ $Date: 2015/06/03 12:00:00 $
if not(isstruct(dlm)) || not(strcmp(dlm.class,'dlmfit')||strcmp(dlm.class,'dlmsmo'))
error('works only for dlm output structure');
end
fprintf('DLM model output\n');
if strcmp(dlm.class,'dlmfit')
fprintf('Model options\n')
fprintf(' order: %d\n',dlm.options.order)
if dlm.options.fullseas
fprintf(' fullseas\n')
else
fprintf(' trig: %d\n',dlm.options.trig)
end
if not(isempty(dlm.options.arphi))
fprintf(' AR(%d): %d\n',length(dlm.options.arphi))
end
if isfield(dlm,'chain')
fprintf('MCMC: npar %d, nsimu: %d, rejected %0.3g%%\n', ...
size(dlm.chain,2), size(dlm.chain,1),dlm.res.rejected*100);
end
fprintf('\n');
end
%fprintf('Observations %d\n',dlm.nobs);
nprint('Observations: ', '%d ',dlm.nobs);
nprint('RMSE: ','%.3g ',sqrt(dlm.mse));
nprint('MAPE: ','%.3g ',dlm.mape);
nprint('sigma: ', '%.4g ',sqrt(dlm.s2));
nprint('likelihood: ','%g ',dlm.lik);
fprintf('\n');
if nargout>0
out=dlm;
end
function nprint(s,f,x)
fprintf('%s',s);
fprintf(f,x);
fprintf('\n');