Forecast an Echo State Network (ESN) from a trained model via recursive forecasting. Forecast intervals are generated by simulating future sample path based on a moving block bootstrap of the residuals and estimating the quantiles from the simulations.
Usage
forecast_esn(
object,
n_ahead = 18,
levels = c(80, 95),
n_sim = 100,
n_seed = 42
)Arguments
- object
An object of class
esn. The result of a call totrain_esn().- n_ahead
Integer value. The number of periods for forecasting (i.e. forecast horizon).
- levels
Integer vector. The levels of the forecast intervals, e.g., 80% and 95%.
- n_sim
Integer value. The number of future sample path generated during simulation.
- n_seed
Integer value. The seed for the random number generator (for reproducibility).
Value
A list containing:
point: Numeric vector containing the point forecasts.interval: Numeric matrix containing the forecast intervals.sim: Numeric matrix containing the simulated future sample path.levels: Integer vector. The levels of the forecast intervals.actual: Numeric vector containing the actual values.fitted: Numeric vector containing the fitted values.n_ahead: Integer value. The number of periods for forecasting (forecast horizon).model_spec: Character value. The model specification as string.
References
Jaeger, H. (2001). The “echo state” approach to analysing and training recurrent neural networks with an erratum note. Bonn, Germany: German National Research Center for Information Technology GMD Technical Report, 148(34):13.
Jaeger, H. (2002). Tutorial on training recurrent neural networks, covering BPPT, RTRL, EKF and the "echo state network" approach.
Lukosevicius, M. (2012). A practical guide to applying echo state networks. In Neural Networks: Tricks of the Trade: Second Edition, pages 659–686. Springer.
Lukosevicius, M. and Jaeger, H. (2009). Reservoir computing approaches to recurrent neural network training. Computer Science Review, 3(3):127–149.
See also
Other base functions:
is.esn(),
is.forecast_esn(),
plot.esn(),
plot.forecast_esn(),
print.esn(),
summary.esn(),
train_esn()
Examples
xdata <- as.numeric(AirPassengers)
xmodel <- train_esn(y = xdata)
xfcst <- forecast_esn(xmodel, n_ahead = 12)
plot(xfcst)
