layer_point_from_distn: Converts distributional forecasts to point forecasts

View source: R/layer_point_from_distn.R

layer_point_from_distnR Documentation

Converts distributional forecasts to point forecasts

Description

This function adds a postprocessing layer to extract a point forecast from a distributional forecast. NOTE: With default arguments, this will remove information, so one should usually call this AFTER layer_quantile_distn() or set the name argument to something specific.

Usage

layer_point_from_distn(
  frosting,
  ...,
  type = c("median", "mean"),
  name = NULL,
  id = rand_id("point_from_distn")
)

Arguments

frosting

a frosting postprocessor

...

Unused, include for consistency with other layers.

type

character. Either mean or median.

name

character. The name for the output column. The default NULL will overwrite the .pred column, removing the distribution information.

id

a random id string

Value

an updated frosting postprocessor.

Examples

jhu <- covid_case_death_rates %>%
  filter(time_value > "2021-11-01", geo_value %in% c("ak", "ca", "ny"))

r <- epi_recipe(jhu) %>%
  step_epi_lag(death_rate, lag = c(0, 7, 14)) %>%
  step_epi_ahead(death_rate, ahead = 7) %>%
  step_epi_naomit()

wf <- epi_workflow(r, quantile_reg(quantile_levels = c(.25, .5, .75))) %>%
  fit(jhu)

f1 <- frosting() %>%
  layer_predict() %>%
  layer_quantile_distn() %>% # puts the other quantiles in a different col
  layer_point_from_distn() %>% # mutate `.pred` to contain only a point prediction
  layer_naomit(.pred)
wf1 <- wf %>% add_frosting(f1)

p1 <- forecast(wf1)
p1

f2 <- frosting() %>%
  layer_predict() %>%
  layer_point_from_distn() %>% # mutate `.pred` to contain only a point prediction
  layer_naomit(.pred)
wf2 <- wf %>% add_frosting(f2)

p2 <- forecast(wf2)
p2

cmu-delphi/epipredict documentation built on March 5, 2025, 12:17 p.m.