Solved – AIC, BIC values keep changing with lag.max in VAR model

aicbicrtime seriesvector-autoregression

I'm using a VARselect function from vars package in R to select order for my model. My data set has 2 time series with 21 data points.

When I give lag.max = 10, the function select lag 5 model for AIC HQ FPE criteria. When I give lag.max =15, the function suggests lag 3 models.
$criteria method shows that the AIC, FPE, HQ values keep changing for different lag.max with many values reaching -infinity for lag.max = 15.

Aren't AIC, HQ, FPE values supposed to be constant with respect to lag.max for smaller orders like 2?

Is this something related to degrees of freedom?

How to select a model in this scenario?

Best Answer

If you have a sample of size $T$ and are exploring VAR models with up to $P$ lags, the models being compared (VAR($1$), VAR($2$), ..., VAR($P$)) are fitted on the last $T-P$ data points in the sample. When you change $P$, your estimation sample changes, so you are getting different results for the same concrete lag length $p$.

This can be seen from the VARselect function and anticipated from its help file which says

Based on the same sample size the following information criteria and the final prediction error are computed

(the emphasis is mine).

The effect of the changing estimation sample may be particularly pronounced in small samples (small $T$) and should more or less vanish in larger samples.

How you should select a model in this situation is a tricky question. You should probably fix $P$ first, a decision that should balance the flexibility of the largest model $P$ (you want decent flexibility) vs. the shrinking size of the estimation sample $T-P$ (you want a large estimation sample). Then, for the chosen $P$, choose the model with the lowest value of the relevant information criterion.

I do not have a good explanation for why you get negative infinity in some cases. Perhaps you sample size is so small that a model with a sufficiently high lag fits the data perfectly?