When fitting (stationary) time series models, such as ARIMA models, the standard approach is to minimise the one-step ahead forecasting error, which is equivalent to performing maximum likelihood estimation of the Gaussian likelihood. Sometimes however, the main purpose of a model is for it to make good predictions on a considerable timescale (larger then one step, for example 4 or 12 steps). I am thus wondering if approaches exist that estimate a model by minimising the sum of the one-, two, ... and h-step ahead forecasts. I can imagine one would like for such a sum to be weighted, such that one could adhere more importance to 'early' errors.

I have searched for quite some time now, but can only find some papers on "Multi-Step Ahead Estimation methods", which minimise (only) the h-step ahead forecasting error. Maybe I am using the wrong search keywords?

Besides the fact that the approach I describe here seems intuitive to me, I also feel it could be used to put more emphasis on the data trend (and less on the noise) when estimating, potentially offering an alternative to an initial (and sometimes undesirable) denoising/smoothing of the data.

  • $\begingroup$ Anyone experience using the dse package by Paul Gilbert. I just stumbled upon it. It contains an error.weightsparameter is the ARMA function and others. "If error.weights is greater than zero then weighted prediction errors are calculated up to the horizon indicated by the length of error.weights. The weights are applied to the squared error at each period ahead." $\endgroup$ – mclaeysb Sep 25 '13 at 14:20

There are some papers that do that in the forecasting literature. I used it, for example, in a paper I wrote in 2002:

Hyndman, Koehler, Snyder and Grose (2002) A state space framework for automatic forecasting using exponential smoothing methods. International Journal of Forecasting, 18(3), 439-454.

The "average mean squared error" (AMSE) criterion averaged the squared errors from 1-step, 2-step and 3-step forecasts. This is implemented in the ets function from the forecast package in R (use opt.crit="amse").

  • $\begingroup$ Very interesting. Can I ask why this is only implemented for the ets function, and not for Arima() and other? $\endgroup$ – mclaeysb Sep 25 '13 at 13:56
  • $\begingroup$ I wrote the ets() function, whereas Arima() is only a wrapper for arima() which is part of the stats package. Without re-writing arima() myself, it is not possible to change the optimization criterion. $\endgroup$ – Rob Hyndman Sep 25 '13 at 22:44
  • $\begingroup$ I am trying to trace back opt.crit="amse" in ets hoping to learn how it is done, and see if I can make similar changes to models of my interest (manly the VAR function in the vars package). It leads me to the forecast:::etsmodel function, then to the optim function, but then I loose track of it. Could you give some hints on where the AMSE is exactly implemented? $\endgroup$ – mclaeysb Sep 26 '13 at 17:23
  • $\begingroup$ In the C code, function etscalc. $\endgroup$ – Rob Hyndman Sep 27 '13 at 1:03

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.