This function implements the Generalised Rolling Origin Evaluation of Fioruci et al (2015).
Its particular cases include the cross validation methods: Rolling Origin Evaluation and Fixed Origin Evaluation of Tashman(2000).
A forecasting method as one object of the forecast class of forecast package.
g
The prediction error type of errorMetric function. The possible values are "sAPE", "APE", "AE" and "SE".
n1
The index of the first origin element.
m
The number of movements of the origin in each update.
H
The number of predictions forward of each origin.
p
The number of origin updates.
Default is the maximum.
...
Additional arguments for forecFunction.
Details
If m=1 is computed the Rolling Origin Evaluation.
If m>=length(y)-n1 is computed the Fixed Origin Evaluation.
Value
The sum of the prediction errors.
Note
The otm.arxiv function use this function for estimate the theta parameter when the theta argument is NULL.
Your computer may go into an infinite looping if you use forecFunction = otm.arxiv without specific a numeric value for the theta argument.
Author(s)
Jose Augusto Fiorucci and Francisco Louzada
References
Fioruci J.A., Pellegrini T.R., Louzada F., Petropoulos F. (2015). The Optimised Theta Method. Free available at http://arxiv.org/abs/1503.03529.
Tashman, L.J. (2000). Out-of-sample tests of forecasting accuracy: an analysis and review. International Journal of Forecasting 16 (4), 437–450.
See Also
forecTheta-package, dotm, otm.arxiv
Examples
y1 = 2+ 0.15*(1:20) + rnorm(20,2)
y2 = y1[20]+ 0.3*(1:30) + rnorm(30,2)
y = as.ts(c(y1,y2))
## Rolling Origin Evaluation
rolOrig( y=y, forecFunction = dotm, n1=40)
rolOrig( y=y, forecFunction = expSmoot, n1=40)
rolOrig( y=y, forecFunction = stheta, n1=40)
rolOrig( y=y, forecFunction = otm.arxiv, n1=40, theta=3)
## Fixed Origin Evaluation
fixOrig( y=y, forecFunction = dotm, n1=40)
fixOrig( y=y, forecFunction = expSmoot, n1=40)
fixOrig( y=y, forecFunction = stheta, n1=40)
fixOrig( y=y, forecFunction = otm.arxiv, n1=40, theta=3)
## Generalised Rolling Origin Evaluation with two origin updates.
## Where the first is the 40th element and second is the 45th element
groe( y=y, forecFunction = dotm, m=5, n1=40)
groe( y=y, forecFunction = expSmoot, m=5, n1=40)
groe( y=y, forecFunction = stheta, m=5, n1=40)
groe( y=y, forecFunction = otm.arxiv, m=5, n1=40, theta=3)