The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
Run evaluation
You can run the evaluation with all the same parameters as nowcast_cl().
nowcast_eval() has only one additional parameter: n_past, which controls how many steps in the past you wish to run a nowcast on.
library(nowcastr)
nc_eval_obj <-
nowcast_demo %>%
nowcast_eval(
n_past = 10,
col_date_occurrence = date_occurrence,
col_date_reporting = date_report,
col_value = value,
group_cols = "group",
time_units = "weeks",
do_model_fitting = TRUE
)
This will return an S7 object with 2 slots:
nc_eval_obj@detail %>% dplyr::glimpse(0)
#> Rows: 958
#> Columns: 12
#> $ group <chr> …
#> $ cut_date <date> …
#> $ date_occurrence <date> …
#> $ last_r_date <date> …
#> $ value <dbl> …
#> $ value_predicted <dbl> …
#> $ value_true <dbl> …
#> $ delay <dbl> …
#> $ SAPE_pred <dbl> …
#> $ SAPE_obs <dbl> …
#> $ SAPE_improvement <dbl> …
#> $ pred_is_better <int> …
nc_eval_obj@summary %>% dplyr::glimpse(0)
#> Rows: 96
#> Columns: 14
#> $ group <chr> …
#> $ delay <dbl> …
#> $ n_periods <int> …
#> $ n_obs <int> …
#> $ SMAPE_pred <dbl> …
#> $ SMAPE_obs <dbl> …
#> $ SMAPE_improvement_mean <dbl> …
#> $ SMAPE_improvement_med <dbl> …
#> $ SMAPE_improvement_q1 <dbl> …
#> $ SMAPE_improvement_q3 <dbl> …
#> $ proportion_pred_is_better <dbl> …
#> $ n_pairs <int> …
#> $ CI_lower <dbl> …
#> $ CI_upper <dbl> …
Plots
Plot aggregated indicators
- “SMAPE Improvement median” = median of the difference between SMAPE(observed) and SMAPE(predicted)
- “Proportion Better = proportion of predictions that outperform base values (-50% to center around zero)
plot_nowcast_eval(nc_eval_obj, delay = 0)
Plot one indicator by delay / for one indicator
plot_nowcast_eval_by_delay(nc_eval_obj, indicator = "SMAPE_improvement_med")
Plot raw values / for one delay
- predicted values
- base reported values, at the time
- last reported values
plot_nowcast_eval_detail(nc_eval_obj, delay = 0)
#> Warning: Removed 1 row containing missing values or values outside the scale range
#> (`geom_line()`).
Evaluate Scenarios
We test if accuracy of nowcasts improve with fill_future_reported_values():
library(nowcastr)
nc_eval_obj_with_fill <-
nowcast_demo %>%
fill_future_reported_values(
col_date_occurrence = date_occurrence,
col_date_reporting = date_report,
col_value = value,
group_cols = "group",
max_delay = "auto"
) %>%
nowcast_eval(
n_past = 10,
col_date_occurrence = date_occurrence,
col_date_reporting = date_report,
col_value = value,
group_cols = "group",
time_units = "weeks",
do_model_fitting = TRUE
)
plot_nowcast_eval(nc_eval_obj_with_fill, delay = 0)
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.