Model confidence sets

Aperta
#1,055 6 commenti 3 reazioni 1 assegnatario Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@sbfnk ci sta già lavorando.

Dal 19/1/2026.

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

feature request

Summary

Add functionality to compute Model Confidence Sets (MCS) - identifying the set of models that cannot be statistically distinguished from the best model at a given confidence level.

Motivation

When comparing multiple forecasting models, users often want to know not just which model performs best, but which models are "in the running" - i.e., cannot be ruled out as being the best given the available data. The MCS provides a principled answer to this question.

A larger MCS indicates more uncertainty about which model is truly best, often due to limited data, similar performance, or high score variability.

Related discussion: https://community.epinowcast.org/t/model-confidence-set/221 https://community.epinowcast.org/t/do-your-evaluations-have-enough-power

Proposed solution

A get_model_confidence_set() function that:

  • Takes output from get_pairwise_comparisons()
  • Identifies the best model (lowest relative skill)
  • Tests whether each other model is significantly worse
  • Returns models where the null hypothesis of equal performance cannot be rejected

This would support:

  • Conditional MCS: Separate confidence sets for subgroups (via by argument in get_pairwise_comparisons())
  • Sequential MCS: Track how MCS evolves over time (by filtering scores cumulatively)

Example usage

scores |>
  get_pairwise_comparisons() |>
  get_model_confidence_set()

# Conditional MCS by location
scores |>
  get_pairwise_comparisons(by = "location") |>
  get_model_confidence_set()

References

Lingua principale
R
Stelle
65
Fork
24
Merge medio
1h 24m
PR unite (30g)
2

Preparare l'ambiente

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di epiforecasts/scoringutils

Tutte le issue di epiforecasts/scoringutils

Issue simili

Altre issue su R

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.