| make_errors | R Documentation |
Calculate forecast errors and percentage forecast errors for point forecasts.
make_errors(future_frame, main_frame, context)
future_frame |
A |
main_frame |
A |
context |
A named |
make_errors() compares point forecasts in future_frame with the
observed values in main_frame. The two data sets are joined by the
series identifier and time index specified in context.
The forecast error is calculated as error = actual - point. The
percentage forecast error is calculated as pct_error = (actual -
point / point) * 100.
Positive errors indicate that the forecast is below the observed value. Negative errors indicate that the forecast is above the observed value.
The returned data contains:
series_id: Unique identifier for the time series as specified
in context.
model: Forecasting model name.
split: Train-test split identifier.
horizon: Forecast horizon.
error: Forecast error.
pct_error: Percentage forecast error.
A tibble containing forecast errors and percentage forecast errors.
Other accuracy functions:
mae_vec(),
make_accuracy(),
mape_vec(),
me_vec(),
mpe_vec(),
mse_vec(),
rmse_vec(),
smape_vec()
library(dplyr)
library(tsibble)
library(fabletools)
library(fable)
context <- list(
series_id = "series",
value_id = "value",
index_id = "index"
)
main_frame <- M4_monthly_data |>
filter(series %in% c("M23100", "M14395"))
split_frame <- make_split(
main_frame = main_frame,
context = context,
type = "first",
value = 120,
n_ahead = 18,
n_skip = 17,
n_lag = 0,
mode = "stretch",
exceed = FALSE
)
train_frame <- slice_train(
main_frame = main_frame,
split_frame = split_frame,
context = context
) |>
as_tsibble(
index = index,
key = c(series, split)
)
model_frame <- train_frame |>
model(
"SNAIVE" = SNAIVE(value ~ lag("year"))
)
fable_frame <- model_frame |>
forecast(h = 18)
future_frame <- make_future(
fable = fable_frame,
context = context
)
error_frame <- make_errors(
future_frame = future_frame,
main_frame = main_frame,
context = context
)
error_frame
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.