2
$\begingroup$

I have time series data on temperature, both hourly and daily. I want to forecast the time series. Is it possible to combine ARIMA model and Exponential Smoothing methods to achieve the goal?

Would this be feasible?

auto.arima(afex_d)
ets(afex_d)
auto.arima(ets(afex_d)$fitted)

Edit (new information from a comment):
I applied ets and got the best model. After that I took the fitted data and applied auto.arima on it. On the other hand, I applied auto.arima on the original series and got the best model. Can I compare between the two ARIMA models based on AIC?

$\endgroup$
4
  • 2
    $\begingroup$ Can you clarify what you are asking? Do you just want to know if the forecasts from ARIMA & exponential smoothing can be combined (eg, by averaging them)? $\endgroup$ Commented Oct 3, 2016 at 12:21
  • 1
    $\begingroup$ I have a /hourly temperature time series/ and I applied ets and got the best model.After that i took the fitted Data and applied auto.arima on it.In other hand I applied auto.arima at the original series and got the best model.Can I compare between the two arima models based on AIC? $\endgroup$
    – OmarMH87
    Commented Oct 3, 2016 at 17:56
  • $\begingroup$ I have submit a master thesis about this subject. $\endgroup$
    – OmarMH87
    Commented Oct 24, 2017 at 7:07
  • $\begingroup$ I have submit a master thesis about this subject. I have combined ARIMA and ETS in weighted average m_arima<-auto.arima(ep_m) m_ets<-ets(ep_m) ep_arima<-fitted(m_arima) ep_ets<-m_ets$fitted mape_arima<-mape(ep_m,ep_arima) mape_ets<-mape(ep_m,ep_ets) t_mape<-mape_arima+mape_ets ep_omar<-(mape_arimaep_ets+mape_etsep_arima)/t_mape mape_omar<-mape(ep_m,ep_omar) y1<-c("arima","ets","omar") y2<-c(mape_arima,mape_ets,mape_omar) $\endgroup$
    – OmarMH87
    Commented Oct 24, 2017 at 7:21

1 Answer 1

3
$\begingroup$

Combining models and forecasts

A simple practical suggestion could be, forecast your series separately with exponential smoothing (ES) and ARIMA, and then average the forecasts. If you are using auto.arima and ets, you might do well; the forecast combination of auto.arima and ets performed pretty well on the M3 competition data (and better than each of them individually): see Rob J. Hyndman's blog post "R vs Autobox vs ForecastPro vs …".

Now some thoughts on your method. You have an original time series $y$ which could be additively decomposed into signal $s$ and noise $\varepsilon$: $$ y=s+\varepsilon. $$ Then

  1. You fit an exponential smoothing (ES) model on $y$ and obtain fitted values $\hat y$.
  2. You fit an ARIMA model on $\hat y$ and obtain fitted values $\tilde y:=\hat{\hat y}$.

Consider the first step. Your fitted ES model can be used for foreasting $y$ directly. Also, $\hat y$ can be taken as the "explained" part of $y$ (approximation of $s$), while the residuals $e:=y-\hat y$ would be the "unexplained" part (approximation of $\varepsilon$). Note that $s$ will be recovered only to the extent that it can be approximated by the ES model, and part of $s$ might be left lurking in the residuals. At the same time, some new noise will be introduced in $\hat y$ due to the approximation. (Also keep in mind the estimation imprecision due to which even a true model, if known, would be estimated with some estimation error.)

Now consider the second step. Your fitted ARIMA model can be used for foreasting $\hat y$ directly and $y$ indirectly. If $\hat y$ approximates $s$ well, this might look like a sensible strategy. The first step (the ES model) would serve for extracting $s$, while the second step (the ARIMA model) would use the extracted signal to model it and do the forecasting. In the second step you would lose some signal to the extent that the ARIMA model would differ from the ES model. At the same time, you would introduce some new noise due to the same reason, similarly to what happened in the first step as discussed above.

This two-step approach offers a less flexible approximation of $y$ than just the first step (the ES model) taken separately -- because you approximate ES by ARIMA in the second step. This could probably be good for limiting overfitting, but at the same time introduces some extra noise due to the mismatch between ES and ARIMA. In the end, I doubt this would be an affective strategy, but some more/clearer argumentation would be helpful.

I am still in the process of thinking about it and I am looking forward to any comments or alternative answers.


Comparing AIC of (pure) ARIMA vs. exponential smoothing + ARIMA

You can compare AIC values when the variable being modelled is exactly the same. The AIC of the ARIMA model fitted on $y$ and the AIC of the ARIMA model fitted on $\hat y$ (where $\hat y$ was produced by the ES model) are not comparable -- because the latter one takes $\hat y$ as the original data as ignores the fact that it is actually the fitted values from an ES model. However, it should be possible (although pretty tedious) to obtain comparable AIC values, but that would need some manual computations (the standard R functions would not give you the relevant answer right away).

$\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.