The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
In this example, we will use the m4_data
. The dataset is
a monthly tsibble
, which is filtered to include only the
time series "M21655"
and "M2717"
. The
resulting object train_frame
contains the training data and
is visualized below.
train_frame <- m4_data %>%
filter(series %in% c("M21655", "M2717"))
train_frame
#> # A tsibble: 494 x 4 [1M]
#> # Key: series [2]
#> series category index value
#> <chr> <fct> <mth> <dbl>
#> 1 M21655 Demographic 1995 Jan 4970
#> 2 M21655 Demographic 1995 Feb 5010
#> 3 M21655 Demographic 1995 Mrz 5060
#> 4 M21655 Demographic 1995 Apr 5010
#> 5 M21655 Demographic 1995 Mai 5610
#> 6 M21655 Demographic 1995 Jun 6040
#> 7 M21655 Demographic 1995 Jul 6450
#> 8 M21655 Demographic 1995 Aug 6370
#> 9 M21655 Demographic 1995 Sep 5190
#> 10 M21655 Demographic 1995 Okt 5250
#> # ℹ 484 more rows
p <- ggplot()
p <- p + geom_line(
data = train_frame,
aes(
x = index,
y = value),
linewidth = 0.5
)
p <- p + facet_wrap(
vars(series),
ncol = 1,
scales = "free")
p
The function ESN()
is used in combination with
model()
from the fabletools
package to train
an Echo State Network for the variable value
. The trained
models are stored as a mable
(i.e., model table).
Additionally, an ARIMA()
model is trained as benchmark.
mable_frame <- train_frame %>%
model(
"ESN" = ESN(value),
"ARIMA" = ARIMA(value)
)
mable_frame
#> # A mable: 2 x 3
#> # Key: series [2]
#> series ESN ARIMA
#> <chr> <model> <model>
#> 1 M21655 <ESN({243, 97, 194}, {36.57, 0.0046})> <ARIMA(1,0,0)(1,1,2)[12]>
#> 2 M2717 <ESN({251, 100, 200}, {31.91, 0.0046})> <ARIMA(2,1,4)(0,1,0)[12]>
Forecasts are generated via the function forecast()
,
where the forecast horizon is set to h = 18
(i.e., 18-month
ahead forecasts). The forecasts are stored as fable
(i.e.,
forecast table) and visualized along the historic training
data.
fable_frame <- mable_frame %>%
forecast(h = 18)
fable_frame
#> # A fable: 72 x 5 [1M]
#> # Key: series, .model [4]
#> series .model index
#> <chr> <chr> <mth>
#> 1 M21655 ESN 2015 Apr
#> 2 M21655 ESN 2015 Mai
#> 3 M21655 ESN 2015 Jun
#> 4 M21655 ESN 2015 Jul
#> 5 M21655 ESN 2015 Aug
#> 6 M21655 ESN 2015 Sep
#> 7 M21655 ESN 2015 Okt
#> 8 M21655 ESN 2015 Nov
#> 9 M21655 ESN 2015 Dez
#> 10 M21655 ESN 2016 Jan
#> # ℹ 62 more rows
#> # ℹ 2 more variables: value <dist>, .mean <dbl>
fable_frame %>%
autoplot(train_frame, level = NULL)
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.