Helper function to set the unit of a single forecast (i.e. the
combination of columns that uniquely define a single forecast) manually.
This simple function keeps the columns specified in forecast_unit
(plus
additional protected columns, e.g. for true values, predictions or quantile
levels) and removes duplicate rows.
If not done manually, scoringutils
attempts to determine the unit
of a single forecast automatically by simply assuming that all column names
are relevant to determine the forecast unit. This may lead to unexpected
behaviour, so setting the forecast unit explicitly can help make the code
easier to debug and easier to read. When used as part of a workflow,
set_forecast_unit()
can be directly piped into check_forecasts()
to
check everything is in order.
set_forecast_unit(data, forecast_unit)
A data.table with only those columns kept that are relevant to scoring or denote the unit of a single forecast as specified by the user.
A data.frame or data.table with the predictions and observations.
For scoring using score()
, the following columns need to be present:
true_value
- the true observed values
prediction
- predictions or predictive samples for one
true value. (You only don't need to provide a prediction column if
you want to score quantile forecasts in a wide range format.)
For scoring integer and continuous forecasts a sample
column is needed:
sample
- an index to identify the predictive samples in the
prediction column generated by one model for one true value. Only
necessary for continuous and integer forecasts, not for
binary predictions.
For scoring predictions in a quantile-format forecast you should provide
a column called quantile
:
quantile
: quantile to which the prediction corresponds
In addition a model
column is suggested and if not present this will be
flagged and added to the input data with all forecasts assigned as an
"unspecified model").
You can check the format of your data using check_forecasts()
and there
are examples for each format (example_quantile, example_continuous,
example_integer, and example_binary).
Character vector with the names of the columns that uniquely identify a single forecast.
set_forecast_unit(
example_quantile,
c("location", "target_end_date", "target_type", "horizon", "model")
)
Run the code above in your browser using DataLab