Skip to contents

The forecast function allows you to produce future predictions of a vital model, where the response is a function of age. The forecasts returned contain both point forecasts and their distribution.

Usage

# S3 method for class 'FDM'
forecast(
  object,
  new_data = NULL,
  h = NULL,
  point_forecast = list(.mean = mean),
  simulate = FALSE,
  bootstrap = FALSE,
  times = 5000,
  ...
)

# S3 method for class 'LC'
forecast(
  object,
  new_data = NULL,
  h = NULL,
  point_forecast = list(.mean = mean),
  simulate = FALSE,
  bootstrap = FALSE,
  times = 5000,
  ...
)

# S3 method for class 'FMEAN'
forecast(
  object,
  new_data = NULL,
  h = NULL,
  point_forecast = list(.mean = mean),
  simulate = FALSE,
  bootstrap = FALSE,
  times = 5000,
  ...
)

# S3 method for class 'FNAIVE'
forecast(
  object,
  new_data = NULL,
  h = NULL,
  point_forecast = list(.mean = mean),
  simulate = FALSE,
  bootstrap = FALSE,
  times = 5000,
  ...
)

# S3 method for class 'mdl_vtl_df'
forecast(
  object,
  new_data = NULL,
  h = NULL,
  point_forecast = list(.mean = mean),
  simulate = FALSE,
  bootstrap = FALSE,
  times = 5000,
  ...
)

Arguments

object

A mable containing one or more models.

new_data

A tsibble containing future information used to forecast.

h

Number of time steps ahead to forecast. This can be used instead of new_data when there are no covariates in the model. It is ignored if new_data is provided.

point_forecast

A list of functions used to compute point forecasts from the forecast distribution.

simulate

If TRUE, then forecast distributions are computed using simulation from a parametric model.

bootstrap

If TRUE, then forecast distributions are computed using simulation with resampling.

times

The number of sample paths to use in estimating the forecast distribution when bootstrap = TRUE.

...

Additional arguments passed to the specific model method.

Value

A fable containing the following columns:

  • .model: The name of the model used to obtain the forecast. Taken from the column names of models in the provided mable.

  • The forecast distribution. The name of this column will be the same as the dependent variable in the model(s). If multiple dependent variables exist, it will be named .distribution.

  • Point forecasts computed from the distribution using the functions in the point_forecast argument.

  • All columns in new_data, excluding those whose names conflict with the above.

Author

Rob J Hyndman and Mitchell O'Hara-Wild

Examples

aus_mortality |>
 dplyr::filter(State == "Victoria", Sex == "female") |>
 model(naive = FNAIVE(Mortality)) |>
 forecast(h = 10)
#> # A vital fable: 1,010 x 8 [1Y]
#> # Key:           Age x (Sex, State, Code, .model) [101 x 1]
#>    Sex    State    Code  .model  Year   Age          Mortality   .mean
#>    <chr>  <chr>    <chr> <chr>  <dbl> <int>             <dist>   <dbl>
#>  1 female Victoria VIC   naive   2021     0 N(0.0025, 3.7e-05) 0.00252
#>  2 female Victoria VIC   naive   2022     0 N(0.0025, 7.4e-05) 0.00252
#>  3 female Victoria VIC   naive   2023     0 N(0.0025, 0.00011) 0.00252
#>  4 female Victoria VIC   naive   2024     0 N(0.0025, 0.00015) 0.00252
#>  5 female Victoria VIC   naive   2025     0 N(0.0025, 0.00019) 0.00252
#>  6 female Victoria VIC   naive   2026     0 N(0.0025, 0.00022) 0.00252
#>  7 female Victoria VIC   naive   2027     0 N(0.0025, 0.00026) 0.00252
#>  8 female Victoria VIC   naive   2028     0   N(0.0025, 3e-04) 0.00252
#>  9 female Victoria VIC   naive   2029     0 N(0.0025, 0.00033) 0.00252
#> 10 female Victoria VIC   naive   2030     0 N(0.0025, 0.00037) 0.00252
#> # ℹ 1,000 more rows