Decomposition into observables

Hello, community.

I would like to know if Dynare can decompose the smoothed variables (from the Kalman Filter) into contributions from the different observable variables. I am interested in better gauging what variables helps in identifying the latent variables in my model.

Some papers that do this composition are the following:

Let me give you some context about my question. I have a simple 3 equation NK model, which I use to get an estimate of the output gap. The model is augmented with a block of observed variables strictly related to the output gap (such as HP-filtered-GDP gap and capacity utilisation gap). This block is important to discipline the estimation of the latent output gap. Therefore, my smoothed output gap will be recovered from observed variables like inflation and interest rates, but also from other variables related to the output gap.

After running calib_smoother, I successfully get an estimate of the slack of my economy. Yet, I would like to gauge what is behind this estimate, i.e., what is the relative importance of each observable. My intuition says it can be obtained through a back of the envelope calculation using the observables and the smoothed states. But I’m not sure.

If the answer to my question happens to be a straightforward NO, do you have any alternative in mind?

Thank you all for the support.

No, the technique by Andrle has not yet been implemented in Dynare. Dynare should provide all the outputs required, but it still needs to be coded.

1 Like

Thank you for the prompt reply.

The paper from Andrle points out that the decomposition could be performed by running several kalman smoothers; from Andrle (2013):

“…the whole decomposition of the deviations in the two estimates can be obtained by successive runs of the Kalman smoother with different inputs.”

Therefore, it seems to me that the procedure can be performed by first running the kalman filter using the original dataset, and then running several kalman smoothers, dropping observables one at a time.

My question is why not using the command selected_variables_only in the ESTIMATION step of dynare then? This command description is: “Only run the classical smoother on the variables listed just after the estimation command.” Is it because this command also automatically triggers the computation of a kalman filter with the selection of specified variables rather than the full set of observables?

If this is not feasible, could you point out which m files we would need to compute the kalman smoother, once the kalman filtering step has been completed?

I found DsgeSmoother.m but it is defined as a function that computes the diffuse smoother (even though there is if options_.lik_init == 1 % Kalman filter embedded in the code). My strategy would be to run the “full” ESTIMATION step in dynare (for my project I am only interested in the mode of the estimated parameters) and then, once dynare is done, directly feed the DsgeSmoother.m with the output from the run (including the parameters from the estimation). Of course the datastructure will be changed accordingly (to reflect the “missing” observations needed to perform the decomposition).

The selected_variables_only is about the reported output for the smoother, not the observables declared in varobs.
The easiest implementation is probably to conduct different calib_snoother runs with a different set of declared observables.

2 Likes