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) `

**Contents**hide

#### 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)