Solved – AIC/BIC values keeps falling as I add more and more lags. How to select the appropriate lag length

aicardlbiclagsstata

I am trying to minimize the values of the Akaike and Bayesian Information Criteria to figure out the optimal lag structure for my ARDL error correction model. I am using Stata to run my analysis and am running into the following problem when trying to minimize the Information Criteria:

I am running a loop that estimates the same ARDL model with different lags and then generates the AIC/BIC values for each of these models. The problem is that the AIC/BIC values keep falling as I add more lags. I am not sure how to interpret these results since the AIC will keep falling even if I were to put a 100 or 200 lags in there. How do you minimize the information criteria if just keeps falling and falling until I run out of degrees of freedom? Do you have any suggestions for what I should be doing here to select my lag structure?

Here is the stata code I am using. In this case, I have set the maximum lag at 50. The model with 50 lags gives the lowest AIC and BIC estimates. As I increase this maximum lag to 100, the AIC and BIC is lowest for the model with the largest lags.

*forval i=1/50{
    forval j=1/50{
         regress D.Y  L(1/`i').D.Y  L(1/`j').D.X  L(1).X  L(1).X
         estimates store est_`i'_`j'
    }
  } 

 estimates stats est_*,n(251)

Best Answer

Firstly 50 lags is too much. What kind of data are you modeling? Secondly, there is a problem with your code: the D.X must start at 0 not 1. And You wrote L(1).X twice.
You can use this
forval i=1/50{
forval j=1/50{
regress D.Y L(1/i').D.Y L(0/j').D.X L(1).Y L(1).X
estimates store est_i'_j'
}
}
estimates stats est_*,n(251)

Related Question