hubPredEvalsData 1.3.0
Bug Fixes
- The number of predictions scored (
n) inscores.csvnow counts only forecasts that had a corresponding observation to score against, rather than every submitted prediction, correcting an overcount wherever a model submitted predictions for units with no observation. In the rare case where this count differs across a target’s output types,scores.csvreports a separaten_<output_type>column per output type in place of the singlen(#19). -
generate_eval_data()now works on hubs whose target is identified bytarget_idalone, with no target key task id variable (target_keys: null), as used by nowcast hubs. Previously these failed partway through the run with an error about convertingNULLto a symbol (#87).
Performance
- Evaluation data generation is faster. The hub connection is opened once and reused across targets and evaluation sets rather than reopened for every combination, and oracle output is subset to the target before scoring (#82).
hubPredEvalsData 1.2.0
New Features
-
generate_predevals_options()now pullstarget_nameandtarget_unitsfrom the hub’stasks.jsontarget_metadatainto eachtargetsentry, just aftertarget_id. The dashboard usestarget_nameto label target menu items;target_unitsis passed through for future labelling of unit-valued scores (#21). -
scores.csvrows are now sorted on the(model_id, by)key immediately before writing, so the file is byte-stable across runs regardless of arrow’s scan order. Scores are unchanged; the deterministic order means outputs can be diffed or md5-compared to confirm a no-change situation (#25).
Bug Fixes
-
get_and_save_scores()now merges the per-output-type score frames with afull_joininstead of aleft_joinanchored on the first output type. Previously any model, or any(model_id, by)cell, scored only on a later output type was silently dropped, and which models survived depended on the arbitrary order metrics were listed in the config (#75).
hubPredEvalsData 1.1.1
Bug Fixes
-
generate_eval_data()no longer fails when a hub’s oracle output includes anas_ofprovenance column (versioned target-data). Oracle output holds a single value per observational unit, so the column is dropped before scoring rather than being passed through tohubEvals::score_model_out(), which rejects columns outside the task-id keys plusoracle_value(#70).
hubPredEvalsData 1.1.0
New Features
- Added optional scale-transformation support to
predevals-config.ymlvia schema versionv1.1.0(#39):-
transform_defaults— top-level default transform applied to all transformable targets. -
targets[*].transform— per-target transform that overridestransform_defaults, or the literalfalseto opt a target out. - Supported transform functions:
log_shift,sqrt,log1p,log,log10,log2.
-
- Configured transforms are now applied during scoring (#40).
-
scores.csvis now emitted in wide format, with transformed-scale metrics as<metric>__<label>-suffixed columns (e.g.wis__log). Settingappend: falseemits only the suffixed columns. - Transform-invariant metrics (
interval_coverage_<n>andbias) are now always reported on a single, un-suffixed scale inscores.csvandpredevals-options.json, even when a transform is configured. Both are unchanged by any strictly monotonic transform (interval containment and the sign of forecast-vs-observation error are rank-based), so the transformed-scale column was a duplicate of the natural-scale column. Matches the invariance set documented inhubverse-org/hubDocs#464(#63). - Existing v1.0.1 configs continue to validate against v1.1.0 without changes.
- Added
generate_predevals_options(), which assembles the contents of thepredevals-options.jsonfile used to initialise the predevals dashboard. It returns the validated config with each target’smetricsexpanded to the columns present inscores.csv(relative-skill metrics, plus transformed-scale<metric>__<label>metrics when a transform applies) and a resolvedtransformblock attached (#41, closes #4). -
generate_eval_data()now discovers oracle output fromhub_pathviahubData::connect_target_oracle_output()whenoracle_outputis not supplied; the argument remains supported for back-compat (#51).
Bug Fixes
-
generate_eval_data()no longer fails on ordinal pmf targets that requestrps. The ordinal level order is now read from the hub’stasks.jsonand forwarded tohubEvals::score_model_out()so scoringutils dispatches the data as ordinal (#48). -
read_predevals_config()now warns when an ordinal-only pmf metric (e.g.rps) is requested against a pre-v4 tasks-schema (whereoutput_type_idis split acrossrequired/optional), and errors if the hub’s pmfoutput_type_id$optionalis non-empty (#48).
hubPredEvalsData 1.0.0
This is a breaking change release that adds support for hubs with multiple rounds.
Breaking Changes
- Configuration files now require schema version
1.0.1and a newrounds_idxproperty.
How to Update
-
Update your config file’s
schema_versionto: -
Add the
rounds_idxproperty afterschema_version, specifying which round to use (0-based index):
New Features
- Added
rounds_idxconfiguration property to specify which round entry to use from the hub’stasks.jsonfile (#26). - Hubs with multiple rounds are now supported.
