I have the following data;

"jan 2008",0
"feb 2008",0
"mar 2008",0
"apr 2008",0
"maj 2008",2
"jun 2008",0
"jul 2008",1
"aug 2008",0
"sep 2008",4
"okt 2008",1
"nov 2008",0
"dec 2008",4
"jan 2009",1
"feb 2009",1
"mar 2009",1
"apr 2009",1
"maj 2009",2
"jun 2009",3
"jul 2009",4
"aug 2009",6
"sep 2009",5
"okt 2009",3
"nov 2009",13
"dec 2009",3
"jan 2010",2
"feb 2010",1
"mar 2010",3
"apr 2010",3
"maj 2010",1
"jun 2010",6
"jul 2010",11
"aug 2010",2
"sep 2010",11
"okt 2010",18
"nov 2010",1
"dec 2010",5
"jan 2011",1
"feb 2011",9
"mar 2011",3
"apr 2011",2
"maj 2011",5
"jun 2011",1
"jul 2011",5
"aug 2011",2
"sep 2011",2
"okt 2011",1
"nov 2011",1
"dec 2011",2
"jan 2012",6
"feb 2012",2
"mar 2012",3
"apr 2012",2
"maj 2012",4
"jun 2012",1
"jul 2012",0
"aug 2012",1
"sep 2012",19
"okt 2012",2
"nov 2012",4
"dec 2012",0
"jan 2013",0
"feb 2013",2
"mar 2013",0
"apr 2013",4
"maj 2013",2
"jun 2013",1
"jul 2013",3
"aug 2013",0
"sep 2013",1
"okt 2013",0
"nov 2013",0
"dec 2013",0
"jan 2014",3
"feb 2014",3
"mar 2014",1
"apr 2014",0
"maj 2014",0
"jun 2014",1
"jul 2014",4
"aug 2014",5
"sep 2014",2
"okt 2014",0
"nov 2014",0
"dec 2014",0
"jan 2015",0

enter image description here


enter image description here


enter image description here

I see that there are no nearby values outside the significance levels by checking the ACF / PACF.

Would this suggest and ARIMA(0,d,0) model?

And the integrated part, should it be one or zero?

ADF test provides p-value = 0.1165, ... Which is high enough to reject the null right? (p > 0.05)

So, in my eyes, this is a ARIMA(0,1,0) model. Also known as the random walk model.

However, auto.arima() suggests ARIMA(1,0,1), that seems to fit better (lower AIC). How could one motivate the choose of p and q to be 1, and d to be 0?


The magic doesn't work when you have a time series with anomalies but that's in the small print which you will never read because it was ignored in order to sell a simple solution to all data sets ... hardly a good idea ! . If you difference a random series you inject structure ... see the Slutsky-Yule effect on the web http://ri.search.yahoo.com/_ylt=A0LEV71SI.9V_EcAEg4PxQt.;_ylu=X3oDMTByNXM5bzY5BGNvbG8DYmYxBHBvcwMzBHZ0aWQDBHNlYwNzcg--/RV=2/RE=1441764307/RO=10/RU=http%3a%2f%2fmathworld.wolfram.com%2fSlutzky-YuleEffect.html/RK=0/RS=fvgfNbAzcn7CLUk47ki5Vrw0o.A- or equivalently a counter balancing / caancelling AR and MA structure . Your series is a (0,0,0) series with a few outliers . See enter image description here the actual/fit and forecast. The model is enter image description here with a plot of the errors hereenter image description here and the acf of the errors here enter image description here

  • $\begingroup$ Thanks, yeah, it's interesting to see your tool sir gives different results than auto.arima. But why do both argue that it does not need to be differentiated? The residuals of the (1,0,1) - auto.arima, or your autobox - (0,0,0) does not look like white noise. Atleast when plotted on the QQ-plot. How can I argue that the series is stationary? $\endgroup$ – Isbister Sep 8 '15 at 18:17
  • $\begingroup$ @Isbister, I can never justify a ARMA model for this data, I would take Irishstat anytime over auto.arima for this data. $\endgroup$ – forecaster Sep 8 '15 at 18:32
  • $\begingroup$ @isbister I believe that the "reason" that AUTOBOX's residuals don't "look" like white noise is due to the fact that your data is low-count integer data.The ACF plot suggests randomness (at least to me and my eyes/experience . The fact that auto arima fails by injecting unwarranted AR and unwarranted MA is due to the idea that one can use a list-based procedure to extract signal (ARIMA). I tried that primitive approach in 1968 and gave up on it sometime in the 70's .I am not saying it doesn;'t work for simple cases all I am saying is that it doesn't work for non-trivial cases like this one. $\endgroup$ – IrishStat Sep 8 '15 at 18:34

My forecasting professor once said something along the lines of:

"You can read all you want into ACF and PACF plots trying to choose the best ARIMA orders, but eye-balling it will seldom get you the tightest forecast. Trust the code."

I'd recommend that, unless you have some strong motivation to be able to "explain" exactly why you want specific AR, I, or MA terms, just to choose a criteria [AIC, AICc, BIC/SIC] and let auto.arima work it's magic.


m1 <- auto.arima(x, ic= "bic", allowdrift=TRUE)

  • $\begingroup$ Cool professor! :) I do actually have a strong reason to be able to explain exactly why I choose the specific parameters...! $\endgroup$ – Isbister Sep 8 '15 at 17:53
  • $\begingroup$ If that was the case for me, I'd go and simply fit the AR, I, and MA terms that best fit my "story" and call it a day :) $\endgroup$ – Eduard Gelman Sep 8 '15 at 18:01
  • 1
    $\begingroup$ hardly ever a good idea ...in my opinion $\endgroup$ – IrishStat Sep 8 '15 at 18:08
  • $\begingroup$ Auto.arima is not magic it's does a brute force search to arima modeling with some rules applied to make it computationally less expensive. $\endgroup$ – forecaster Sep 8 '15 at 18:31
  • $\begingroup$ @IrishStat exactly. If you'd rather have something that will get the most buy-in via "telling a story", it's reasonable in my mind to care less about reducing your forecast errors. $\endgroup$ – Eduard Gelman Sep 8 '15 at 18:47

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.