Simplify Kalman filter process to reduce estimation time!
Posted: Mon Jun 18, 2007 2:39 pm
Dear all,
I have a question about how to simplify the Kalman filter process to reduce estimation time substantially.
It seems that the most time consuming part of the (Bayesian) estimation process is the Kalman filter. In order to shorten this process, some authors make assumptions about the Kalman filter process which simplify it a lot. I have heard two possibilities for this:
- The neater way would be to evaluate the evolution of the kalman gain and stop the filter once it has converged, which according to some authors it happens rather quickly. I have been told that in time series models it generally converges after 15-20 observations, therefore reducing estimation time by 50% in samples with more than 10 years of quarterly data.
- An even simpler way is to use the steady state solution for the state variables (x(t)) and the Sigma(t/t) matrix (predicting error var-cov matrix of x(t) given all the information available until time t) to evaluate the Kalman gain. Because in this case it can be shown that the kalman gain is constant and we do not need to update it with every observation, reducing massively the estimation time. Then, once we are happy with the estimation results we could run one estimation with the full kalman filter to make sure nothing changes.
Are any of these two options already implemented in dynare? How can we apply them?
If not, which files would need to be changed to apply them? Are you considering this option for future versions of dynare?
This is more important than it may seem since according to some authors it could reduce estimation times by up to 80%. Which for some middle size models could mean days saved...
Thank you for your help.
Pablo
I have a question about how to simplify the Kalman filter process to reduce estimation time substantially.
It seems that the most time consuming part of the (Bayesian) estimation process is the Kalman filter. In order to shorten this process, some authors make assumptions about the Kalman filter process which simplify it a lot. I have heard two possibilities for this:
- The neater way would be to evaluate the evolution of the kalman gain and stop the filter once it has converged, which according to some authors it happens rather quickly. I have been told that in time series models it generally converges after 15-20 observations, therefore reducing estimation time by 50% in samples with more than 10 years of quarterly data.
- An even simpler way is to use the steady state solution for the state variables (x(t)) and the Sigma(t/t) matrix (predicting error var-cov matrix of x(t) given all the information available until time t) to evaluate the Kalman gain. Because in this case it can be shown that the kalman gain is constant and we do not need to update it with every observation, reducing massively the estimation time. Then, once we are happy with the estimation results we could run one estimation with the full kalman filter to make sure nothing changes.
Are any of these two options already implemented in dynare? How can we apply them?
If not, which files would need to be changed to apply them? Are you considering this option for future versions of dynare?
This is more important than it may seem since according to some authors it could reduce estimation times by up to 80%. Which for some middle size models could mean days saved...
Thank you for your help.
Pablo