tsCV | R Documentation |
tsCV
computes the forecast errors obtained by applying
forecastfunction
to subsets of the time series y
using a
rolling forecast origin.
tsCV(y, forecastfunction, h = 1, window = NULL, xreg = NULL, initial = 0, ...)
y |
Univariate time series |
forecastfunction |
Function to return an object of class
|
h |
Forecast horizon |
window |
Length of the rolling window, if NULL, a rolling window will not be used. |
xreg |
Exogeneous predictor variables passed to the forecast function if required. |
initial |
Initial period of the time series where no cross-validation is performed. |
... |
Other arguments are passed to |
Let y
contain the time series y_1,\dots,y_T
. Then
forecastfunction
is applied successively to the time series
y_1,\dots,y_t
, for t=1,\dots,T-h
, making predictions
\hat{y}_{t+h|t}
. The errors are given by e_{t+h} =
y_{t+h}-\hat{y}_{t+h|t}
. If h=1, these are returned as a
vector, e_1,\dots,e_T
. For h>1, they are returned as a matrix with
the hth column containing errors for forecast horizon h.
The first few errors may be missing as
it may not be possible to apply forecastfunction
to very short time
series.
Numerical time series object containing the forecast errors as a vector (if h=1) and a matrix otherwise. The time index corresponds to the last period of the training data. The columns correspond to the forecast horizons.
Rob J Hyndman
CV, CVar, residuals.Arima, https://robjhyndman.com/hyndsight/tscv/.
#Fit an AR(2) model to each rolling origin subset
far2 <- function(x, h){forecast(Arima(x, order=c(2,0,0)), h=h)}
e <- tsCV(lynx, far2, h=1)
#Fit the same model with a rolling window of length 30
e <- tsCV(lynx, far2, h=1, window=30)
#Example with exogenous predictors
far2_xreg <- function(x, h, xreg, newxreg) {
forecast(Arima(x, order=c(2,0,0), xreg=xreg), xreg=newxreg)
}
y <- ts(rnorm(50))
xreg <- matrix(rnorm(100),ncol=2)
e <- tsCV(y, far2_xreg, h=3, xreg=xreg)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.