The echos
package provides a comprehensive set of
functions and methods for modeling and forecasting
univariate time series using Echo State Networks
(ESNs). It offers two alternative approaches:
numeric
vectors, allowing for
straightforward integration with existing R workflows.fable
framework based on tsibble
,
enabling tidy time series forecasting and model evaluation. This
interface leverages the fabletools
package, providing a consistent and streamlined workflow for model
development, evaluation, and visualization.The package features a lightweight implementation that enables fast and fully automatic model training and forecasting using ESNs. You can quickly and easily build accurate ESN models without requiring extensive hyperparameter tuning or manual configuration.
You can install the stable version from CRAN:
install.packages("echos")
You can install the development version from GitHub:
# install.packages("devtools")
::install_github("ahaeusser/echos") devtools
library(echos)
# Forecast horizon
<- 12 # forecast horizon
n_ahead # Number of observations
<- length(AirPassengers)
n_obs # Number of observations for training
<- n_obs - n_ahead
n_train
# Prepare train and test data
<- AirPassengers[(1:n_train)]
xtrain <- AirPassengers[((n_train+1):n_obs)]
xtest
# Train and forecast ESN model
<- train_esn(y = xtrain)
xmodel <- forecast_esn(xmodel, n_ahead = n_ahead)
xfcst
# Plot result
plot(xfcst, test = xtest)
library(echos)
library(tidyverse)
library(tsibble)
library(fable)
# Prepare train data
<- m4_data %>%
train_frame filter(series %in% c("M21655", "M2717"))
# Train and forecast ESN model
%>%
train_frame model(
"ESN" = ESN(value),
"ARIMA" = ARIMA(value)
%>%
) forecast(h = 18) %>%
autoplot(train_frame, level = NULL)