View source: R/layer_add_target_date.R
layer_add_target_date | R Documentation |
Postprocessing step to add the target date
layer_add_target_date(
frosting,
target_date = NULL,
id = rand_id("add_target_date")
)
frosting |
a |
target_date |
The target date to add as a column to the |
id |
a random id string |
By default, this function assumes that a value for ahead
has been specified in a preprocessing step (most likely in
step_epi_ahead
). Then, ahead
is added to the forecast_date
in the test data to get the target date. forecast_date
can be set in 3 ways:
step_adjust_latency
, which typically uses the training epi_df
's as_of
layer_add_forecast_date
, which inherits from 1 if not manually specifed
if none of those are the case, it is simply the maximum time_value
over
every dataset used (prep, training, and prediction).
an updated frosting
postprocessor
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, linear_reg()) %>% fit(jhu)
# Use ahead + forecast date
f <- frosting() %>%
layer_predict() %>%
layer_add_forecast_date(forecast_date = as.Date("2022-05-31")) %>%
layer_add_target_date() %>%
layer_naomit(.pred)
wf1 <- wf %>% add_frosting(f)
p <- forecast(wf1)
p
# Use ahead + forecast_date from adjust_latency
# setting the `as_of` to something realistic
attributes(jhu)$metadata$as_of <- max(jhu$time_value) + 3
r <- epi_recipe(jhu) %>%
step_epi_lag(death_rate, lag = c(0, 7, 14)) %>%
step_epi_ahead(death_rate, ahead = 7) %>%
step_adjust_latency(method = "extend_ahead") %>%
step_epi_naomit()
f2 <- frosting() %>%
layer_predict() %>%
layer_add_target_date() %>%
layer_naomit(.pred)
wf2 <- wf %>% add_frosting(f2)
p2 <- forecast(wf2)
p2
# Use ahead + max time value from pre, fit, post
# which is the same if include `layer_add_forecast_date()`
f3 <- frosting() %>%
layer_predict() %>%
layer_add_target_date() %>%
layer_naomit(.pred)
wf3 <- wf %>% add_frosting(f3)
p3 <- forecast(wf2)
p2
# Specify own target date
f4 <- frosting() %>%
layer_predict() %>%
layer_add_target_date(target_date = "2022-01-08") %>%
layer_naomit(.pred)
wf4 <- wf %>% add_frosting(f4)
p4 <- forecast(wf4)
p4
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.