Heteroschedastic filter and smoother
Implements heteroschedastic filters, where shocks standard error may unexpectedly change in every period. shocks standard deviation may be set/modified in each observed period by
- a scale factor, i.e. if std0 is the usual standard error for
shock1
,std(shock1|t)=std0(shock1)*scale(t)
- an imputed value:
std(shock1|t)=value(t)
Preprocessor requirements:
- new option
heteroschedastic_filter
forestimation
andevaluate_smoother
: triggers the fieldoptions_.heteroschedastic_filter
. - new block
heteroschedastic_shocks
:
heteroschedastic_shocks;
var e1;
periods 86:97;
scale 0.5 0.5 (zeros(1,10));
var e2;
periods 86:97;
value 0.04 0.04 (repmat(0.01,[1 10]));
end;
var e3;
periods 86:87;
value 0.04 0.04 ;
end;
var e3;
periods 88:97;
scale 0;
end;
that triggers the following fields in M_
:
M_.heteroschedastic_shocks.Qhet.e1.time_scale=86:97;
M_.heteroschedastic_shocks.Qhet.e1.scale=[0.5 0.5 zeros(1,10)];
M_.heteroschedastic_shocks.Qhet.e2.time_value=86:97;
M_.heteroschedastic_shocks.Qhet.e2.value=[0.04 0.04 repmat(0.01,[1 10])];
M_.heteroschedastic_shocks.Qhet.e3.time_value=86:87;
M_.heteroschedastic_shocks.Qhet.e3.value=[0.04 0.04];
M_.heteroschedastic_shocks.Qhet.e3.time_scale=88:97;
M_.heteroschedastic_shocks.Qhet.e3.scale=0;
this input info is the handled in dynare_estimation_init
, by filling in arrays of size [M_.exo_nbr x options_.nobs]
M_.heteroschedastic_shocks.Qscale
M_.heteroschedastic_shocks.Qvalue
Users may not define, for the same shock and the same period, scale AND value. the can define for the same shock, scale and values for different periods.