Suppose I have only 1 variable (data on export, monthly, non-seasonally adjusted) from Jan 1960 till Mar 2019. My task is to obtain forecasts of this series for the coming year (i.e. Apr 2019 - Mar 2020), using the data on export.

I have plotted the raw data, to look for any potential trend and stationarity. I have run the Augmented Dickey-Fuller test on the raw data, and at 5% significance level, we rejects the null hypothesis, in favor of stationarity. In this case, can I assume that the time series is stationary? Or do I have to do more to determine?

Also, I am wondering how I can fit a model for forecasting. Do I simply throw it into autoarima on R? Another question is, how should I determine whether I should transform my data?

I am a new forecaster here, so any thoughts will be appreciated on how I should go about to do this.

  • $\begingroup$ A variety of sources have pointed out that the ADF has serious problems with power, particularly with a near unit root so caution has to be applied in relying on it entirely. Some suggest using test like KPSS which has the reverse null for stationarity and seeing if it and the ADF agree. Also if you have a deterministic, not stochastic, trend I don't think ADF will correctly interpret this. $\endgroup$
    – user54285
    Mar 14, 2019 at 21:21

1 Answer 1


Is it possible to automate time series forecasting? is a good place to start. The whole idea is to iteratively identify structure and to validate assumptions regarding the error process. Early researchers (Very Early !) used to attempt to transform before identifying a model. The need for transformations When (and why) should you take the log of a distribution (of numbers)? or Intervention Detection http://faculty.chicagobooth.edu/ruey.tsay/teaching/uts/lec10-08.pdf should be based upon the residuals from a tentative model.

"The correlogram should be calculated from residuals using a model that controls for intervention administration, otherwise the intervention effects are taken to be Gaussian noise, underestimating the actual autoregressive effect" from Interrupted Time Series Analysis - ARIMAX for High Frequency Biological Data? should be reviewed. The essence of this is that simple-minded list-based approaches to time series model identification have assumptions that usually are not met and quite frequently lead to questionable results BUT not always.

Non-stationarity can often be remedied in a number of ways ... e.g. incorporating level; shifts , time trends , power transformations , weighted estimation and suitable differencing.

The ADF test has a number of critical assumptions (which can be found in the small print) and should be used very cautiously.

  • $\begingroup$ thank you for the response! I found the post, "Is it possible to automate time series forecasting?" interesting. My thought process was to use auto.arima as a quick and dirty way to determine the model fit, before experimenting with various models. Further, I am wondering on the point you made about non-stationarity. How do you decide on the appropriate means of remedying the issue? Do you plot the graph of the data, eyeball and decide on the trend? Or do you just do first differencing (if yes, why not second or third...?)? $\endgroup$
    – fauxpas
    Mar 13, 2019 at 15:51
  • $\begingroup$ Approach the problem in a number of distinctly different ways ...essentially running a tournament to evaluate the "best way to Rome" so to speak. If one starts with the assumption that there are no pulses/level shifts.local time trends/constant parameters and constant error variance auto.arima would still be a bad idea because it is a list-based try-all possible models which leads to redundant structure. If I wanted to script an automatic algorithm I would try and copy AUTOBOX (available in R) which details the intermediate steps providing transparency. $\endgroup$
    – IrishStat
    Mar 13, 2019 at 19:56

Your Answer

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

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