When we implemented the diffuse filter/smoother, we used options_.diffuse_d
to record the number of iterations spent in the diffuse part of the filter.
1) in the filter functions in kalman/likelihood, it is not used anymore
except in univariate_diffuse_kalman_filter_corr.m. It is still present
in the old (and not yet replaced) smoother functions.
2) in the multivariate case, diffuse_d can be interpreted as the number
of periods for which we use the diffuse step. In the univariate case,
diffuse_d is incremented inside the variable loop and can't be
interpreted this way
3) when there is no missing observations, the number of period
iterations spent in the diffuse step is equal to the highest order of
integration of the variables of the model. The field name in
oo_.smoother reflect this.
But hen missing observations are present, its interpretation is much
less clear.
4) In the past, we wanted to monitor diffuse_d, to make sure that it
didn't change because of numerical issues. Now that we are using the
Schur transformation of the transition equation, the numerical
instability seems to have disappeared.
All that to say that my inclination would be for dropping oo_.diffuse_d
entirely. What do you think?
Ondra,
I know that this will create problems for GPM and its current
infrastructure code. But I think that we should handle this problem in a
different way, taking into account the number of periods with missing
observations at the beginning of the sample and the order of intergation
of the GPM model (== 1) that we know by construction.
All the best,
Michel