New functions for better support for different scores and metrics
Open
@VisruthSK is already working on this.
Since Jun 25, 2025.
- Dominant language
- R
- Stars
- 157
- Forks
- 38
- Avg merge
- 4d 16h
- Merged PRs (30d)
- 2
Description
This is related to issues #223, #220, #213, #201, #135, #106
We have discussed rewriting CRPS and SCRPS functions to use better computation (probability weighted moment form). As new functions are needed, this has lead to thinking overall improvement of metric and score functions. Some thoughts
- Keep the current loo for elpd, as it does not have arguments for the predictions and observations
- a) Deprecate loo_predictive_metric and create new loo_predictive_measure, or
b) create new loo_predictive_score- (a) might be better if we change the output
- Noa thinks we could drop loo_
- I think we could drop predictive_ but should not drop loo_
- For all measures, return a loo object with pointwise and estimates
- With pointwise information, we can do model comparisons
- Should we extend the current loo object or make a new object type?
- One challenge might be the sub sampling loo, which increase the amount of
of work when implementing other measures
- Extend loo_compare to work with other measures, as we know how to compute diff_se for all current
metrics and scores. Currently, loo_predictive_metric returns only estimate and se for one model
predictions- Or do we need a new function
- Include MAE, RMSE, MSE, R2, ACC, balanced ACC, and Brie score to metrics
- Include RPS, SRPS, CRPS, SCRPS, and log score to scores
- When computing S?C?RPS or current metrics, maybe store function specific diagnostics?
- All measures need psis object or log weights, and thus
should we always compute p_loo, too? Or should we compute measure specific value describing
amount of fitting? - I have a minimal function that computes loo versions of RPS, SRPS, CRPS, SCRPS and includes documentation for the equations with references (but no argument checking, and computes it only for one scalar y, etc)
tagging @n-kall and @jgabry
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.