I have some data I would like to do some simple forecasting on. Its is non-stationary, looking at the time plot & from ADF & KPSS tests. After differencing I now have a stationary series. I want to use a moving average to forecast some future values.

Is it recommended to do this on the stationary series and then use that forecast to apply back to my original one? Or can I go ahead and use on the original? Also, good reason to believe that more recent terms have more influence, should I use EWMA?

  • $\begingroup$ I think in this case you would have an ARIMA without an AR term. So ARIMA(0,1,q) and q belongs to the lag of the MA process (and you did one differencing). So your task is basically about forecasting an ARIMA process. As far as I remeber, you can simply add the point forecast, but I also remeber that this does NOT necessary hold for the intervals of forecasts. So in case of forecast intervals you have to be careful. But in general, you have to do research about ARIMA forecasting. ARIMA is also weighting the observations, so you have the effect of taking into acount recent observations. $\endgroup$ Apr 7, 2013 at 12:26
  • $\begingroup$ I gave you a more detailed answer, maybe this is more specific! Youre welcome. $\endgroup$ Apr 7, 2013 at 12:53

1 Answer 1


EWMA is just an exponential smoothing, so it does not necessarily assume a stationary process. But if you have an upward (downward) trend, the EWMA model will underpredict (overpredict) future values. So even in this case you should remove a trend, apply EWMA to the detrended values and add back the trend to obatin the final forecast.

So in this case:

  1. Detrend original series (assume a linear trend for example)

  2. Smooth the detrended series (use residuals)

  3. Add back the trend

But since you used differencing, I gues your problem is not a trend. So if you consider an ARIMA model, i.e. a difference-stationary model, so an ARIMA model with a unit root and a constant term



where x follows an ARMA(0,1) and y follows an ARIMA(0,1,1)

the forecast (e.g. one period) is now given by

$\hat{y}_{T+1|Q}=y_T + \hat{X}_{T+1|Q}$

where Q is your information set (known variables up to a certain time point T)

and the two period forecast is given by

$\hat{y}_{T+2|Q}=y_T + \hat{X}_{T+1|Q}+\hat{X}_{T+2|Q}$

So you forecast your x variable, use a simple MA(1) process for example (you have to do typical model identification) and add this to the original time series. Since you only know this until a certain time point, you have to do more period forecasts like I gave you above, in the case of a two period forecast. If you do insample prediction you could update the information set, i.e. use a new value for $y_T$. You should be aware of the forecast behaviour of the MA process. Depending on the laggs you include, after a certain forecast period the forecast value will be zero. Then, your original time series will not "increase" anymore, the value stays the same. This happens, if you do not update the information set. In case of forecast intervals you have to consider the MSE of the forecast and as I mentioned already in my comment, this is not the same. So you cannot calculate the MSE of the x variable and add this to the original variable. You have the calculate the MSE of the y variable and use this, to compute intervals.

I attached a picture: The red line is what I mentioned: The info set is not updated, so the forecast of x is zero. So the it will stay at a certain level (depending on the last observation of y and on the lag order of the MA process).



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.