add_multivariate_forecast_model: Add multivariate forecast model

Description Usage Arguments Value Examples

View source: R/INTRA_FORECAST_add_multivariate_forecast_model.R

Description

add_multivariate_forecast_model is a function to add a single multivariate forecast model to a (named) list of forecast models. The forecast model is created based on a model formula in conjunction with other parameters, which is then used to forecast a specific number of periods ahead.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
add_multivariate_forecast_model(
  fc_models,
  ts_object_train,
  ts_object_valid = NULL,
  fc_name,
  fc_formula,
  periods_ahead = 1,
  periods_history = Inf,
  keep_fc_model_objects = FALSE,
  verbose = FALSE,
  log_message = ""
)

Arguments

fc_models

A named list of forecast models, with for each forecast model a list with the model itself and a table with forecast values.

ts_object_train

A time series object, which contains only the training data.

ts_object_valid

A time series object, which contains the validation data. This is used for multivariate frameworks, thus it should have the forecasted/actual values of the external regressors as well.

fc_name

A character string specifying the name to be used for the new model that is added to the list of existing forecast models.

fc_formula

A character string specifying the expression to be evaluated to train the time series forecast model.

periods_ahead

A positive integer value indicating the number of periods to forecast ahead.

periods_history

A positive integer value indicating the number of historic datapoints to use for training, which is only relevant for specific forecast methods such as drift and mean.

keep_fc_model_objects

Boolean, which is set to TRUE in order to keep original fc_model objects in the main_forecasting_table after running the forecast. This is needed for scenario analysis in multivariate forecasting. However, it may lead to memory issues, as the main_forecasting_table increases in size.

verbose

Boolean, which is set to TRUE if status updates are valued, or set to FALSE if they are not.

Value

A named list of forecast models, with for each forecast model a list with the model itself and a table with forecast values.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
ts_object_train <- tstools::initialize_ts_forecast_data(
      data = dummy_gasprice,
      date_col = "year_month",
      col_of_interest = "gasprice",
      group_cols = c("state", "oil_company"),
      xreg_cols = c("spotprice", "gemprice")
   ) %>%
   dplyr::filter(grouping == "state = New York   &   oil_company = CompanyA") %>%
   dplyr::slice(1:189) %>%
   tstools::transform_data_to_ts_object()
ts_object_valid <- tstools::initialize_ts_forecast_data(
      data = dummy_gasprice,
      date_col = "year_month",
      col_of_interest = "gasprice",
      group_cols = c("state", "oil_company"),
      xreg_cols = c("spotprice", "gemprice")
   ) %>%
   dplyr::filter(grouping == "state = New York   &   oil_company = CompanyA") %>%
   dplyr::slice(190:191) %>%
   tstools::transform_data_to_ts_object()
add_multivariate_forecast_model(
   fc_models = list(),
   ts_object_train = ts_object_train,
   ts_object_valid = ts_object_valid,
   fc_name = "fc_linear_trend_xreg",
   fc_formula = "forecast::tslm(col_of_interest ~ trend + spotprice + gemprice, data = ts_object_train)",
   periods_ahead = 2,
   verbose = T
)    

ing-bank/tsforecast documentation built on Sept. 18, 2020, 9:40 a.m.