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
Dear Michel,
I agree with your interpretation and I have no objection fropping diffuse_d. best Marco
Michel Juillard wrote:
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.
- 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
Dev mailing list Dev@dynare.org https://www.dynare.org/cgi-bin/mailman/listinfo/dev