I'm having a doubt with a time series. I have to find the best model for it and use it to do some forecast. The data are about the arctic oscillation (AO) from 1950 to 2015.

Plot of the ts

The series is clearly stationary, and the augmented Dickey-Fuller (ADF) test confirms it.

The ACF and PACF for absolute values of the series are depicted below.

enter image description here

Running seasonplot from "forecast" package in R, I can see that in the summer months the values look clearly more clustered, while during the end/beginning of the year the values are more scattered.

The question is: How can I find the best model? Based on the PACF, before seeing the seasonality, I chose an AR(1), and it was good till I discovered the seasonal thing. How can I find the best model to do forecasting?


  • 1
    $\begingroup$ Where do you see seasonality? $\endgroup$ – Aksakal Feb 8 '16 at 19:35
  • $\begingroup$ Without the reputation I cannot post a seasonalplot! :D I see it doing the absolute value of the ACF and PACF, the movement is pretty clear $\endgroup$ – Limbs Feb 8 '16 at 19:36
  • $\begingroup$ You could perhaps try function auto.arima from "forecast" package in R. Do not forget to allow for seasonality. $\endgroup$ – Richard Hardy Feb 8 '16 at 19:56
  • $\begingroup$ Already did, the output is: ARIMA(1,0,0) with non-zero mean Coefficients: ar1 intercept 0.3064 -0.1159 s.e. 0.0338 0.0491 sigma^2 estimated as 0.9202: log likelihood=-1090.9 AIC=2187.8 AICc=2187.83 BIC=2201.82 But the ACF and PACF of the residuals are still out of the interval confidence and they still have the typical seasonal wave form, they oscillate under and over the 0 line $\endgroup$ – Limbs Feb 8 '16 at 19:57
  • $\begingroup$ Have you specified that your series has a frequency of 12? If you forgot that, auto.arima will not consider seasonality. Also, what do you mean by "doing" in "Doing the absolute value of both ACF and PACF..."? $\endgroup$ – Richard Hardy Feb 8 '16 at 20:02

Assuming that a seasonal ARIMA model could offer a sensible approximation to the process, you could try using function auto.arima from the "forecast" package in R. It will first select the order of integration (by default using the KPSS test, optionally using augmented Dickey-Fuller or Phillips-Perron unit root tests) and seasonal integration (by default using OCSB test, optionally using Canova-Hansen test). Then it will select the SARIMA order based on the an information criterion (by default using AICc, optionally using AIC or BIC) from a pool of models defined by a local search procedure explained in Hyndman & Khandakar (2008).

Regarding seasonality: when dealing with seasonal data, make sure to supply a seasonal time series (e.g. a ts object with a specified frequency which is 12 for monthly data) to auto.arima. Seasonal integration will be determined by testing (OCSB or Canova-Hansen), while seasonal AR and MA components will be determined by minimization of an information criterion. Since it makes sense to use AIC for model selection when the goal is forecasting (see e.g. Rob J. Hyndman's blog post "Facts and fallacies of the AIC"), you may not worry too much if no seasonal part is selected but model residuals show mild patterns of remaining seasonality; AIC should select some seasonal components if the seasonality can be estimated precisely enough to improve forecasting but would leave them out if that cannot be done (so that inclusion of the seasonal components could do more harm through increased model variance than they help through reduced model bias).

Also note that the values of information criteria are not comparable between non-differenced and differenced data (again, see Rob J. Hyndman's blog post "Facts and fallacies of the AIC"), so you cannot use, say, AIC to compare between ARIMA(1,0,0) and ARIMA(0,1,0).


  • Hyndman, Rob J., and Yeasmin Khandakar. Automatic time series for forecasting: the forecast package for R. No. 6/07. Monash University, Department of Econometrics and Business Statistics, 2007.
  • $\begingroup$ Thank you Richard! You've been very clear and insightful with your explanation, I couldn't have asked for a better answer. Cheers, Marco $\endgroup$ – Limbs Feb 9 '16 at 14:06
  • $\begingroup$ I am happy I could help! Please be aware that the note of caution hiding in my first line may be of real concern. The SARIMA model need not necessarily be a reasonably good approximation (I don't know the specifics of arctic oscillations, so I will not try evaluating that from the subject-matter perspective, but you may look at the model residuals and see if they are free from ugly patterns) and there may be more suitable models out there. $\endgroup$ – Richard Hardy Feb 9 '16 at 14:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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