1
$\begingroup$

If this has been asked elsewhere, I apologize - I've looked around and while there is lots of discussion about selecting lag order for VAR models, I haven't found anything addressing my specific question.

It seems that with VAR models there is a consensus that selecting a lag order to match the data's seasonality is usually appropriate (so lag=4 for quarterly data, 12 for monthly data). I am using weekly time series data that exhibits strong seasonality, so based on this point I suppose I could set the lag order to 52 - but my instinct is that this would be absolutely ridiculous, lead to over-fitting on the data, and not produce a reliable forecast.

I'm not going to pretend to be a PhD researcher or anything; I've just been relying on the VARselect function in R which recommends a lag based off of AIC (or other specified criteria). I have lag.max set to 10, and am using the lag recommended by AIC (lag=6). This seems reasonable to me, but I don't want to make a theoretical mistake by not using a lag that aligns with the data's seasonality and am just looking for some confirmation that this is appropriate. Thanks!

$\endgroup$

2 Answers 2

1
$\begingroup$

You can not set lags for VAR model based on frequency data, you should look at ACF and PACF to choose number of lags. Particularly in VAR model with multiple predictors, you need to look how many lags correlated with the other variables. After that you should experiment with many different choices of lags and other parameters and look at all accuracy measurements outcome as well at the plot, to choose the best model.

$\endgroup$
0
$\begingroup$

It seems that with VAR models there is a consensus that selecting a lag order to match the data's seasonality is usually appropriate (so lag=4 for quarterly data, 12 for monthly data).

There's no such consensus, and seasonality should not be dealt with by autoregression. If you have seasonal trends/patterns, you should deal with this by detrending. Specifically, you need to include a term for time of year. If you have seasonal sales data, a good regression to run might be something like lm(x ~ predictors + autoregression + sincosn(day/365.24)). Here, sincosn denotes an n-th order trigonometric polynomial (sometimes called a Fourier series), i.e.: sin(θ) + cos(θ) + sin(2*θ) + cos(2*θ) + ... sin(n*θ) + cos(n*θ) You can determine an appropriate order for n by using AIC (or AICc, which fixes a rather large small-sample bias for AIC).

I suggest reading more on time series analysis here, or better yet looking through the documentation for the R package Prophet.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.