Returns lo, hi and the derived scale parameters c_thm1, c_thm23 for the score difference process hat_delta_t = S(p, y) - S(q, y), in those cases where a genuine, theorem-valid bound is available.
Arguments
- scoring_rule
Character. One of:
"brier","spherical"— bounded, exact finite-samplec."winkler"— descriptive helper for the one-sided CS on the log score."tick"— unbounded; returnsNULLwith guidance."crps","crps_normal","crps_empirical","crps_std"— unbounded; returnsNULLwith guidance."log","qlike"— unbounded; returnsNULLwith guidance.
Value
Named list with elements lo, hi, c_thm1, c_thm23 for bounded rules, or NULL for unbounded rules (with an informative message).
Details
Convention (utils.R::score_diff_scales): c_thm1 = (hi - lo) / 2 # Theorem 1: |delta_i| <= c c_thm23 = hi - lo # Theorems 2 & 3: |delta_i| <= c/2
Per-rule notes
Brier / Spherical — individual scores lie in
[-1, 0](Brier) or[0, 1](Spherical), so score differences lie in[-1, 1]either way. This bound is exact and yields finite-sample anytime-valid CS via Hoeffding/Bernstein.Winkler — bounded above by 1; the lower bound is problem-dependent, so
lo = -Infand onlyhi = 1is used, as a descriptive helper for the one-sided CS wrapperwinkler_cs(). Not intended for generic Hoeffding/Bernstein use (Theorem 1 requires a finite symmetric interval).Tick loss — unbounded on general financial returns. Any bound derived from an empirical data range is ex-post and not filtration-respecting, so it cannot justify finite-sample anytime validity. Use
cs_asymptotic()for tick comparisons.CRPS (normal, t, empirical) — unbounded, since both the predictive distributions and the realised outcomes are unbounded. A historical data range is again an ex-post surrogate and does not provide a theorem-valid
cfor Hoeffding/Bernstein. Usecs_asymptotic(), or supply genuine ex ante bounds in problem-specific code if available.Log / QLIKE — both unbounded. For binary log-score comparisons, use
winkler_score()+winkler_cs()when the Winkler construction is appropriate. For categorical log-score, QLIKE, and other unbounded score differences, usecs_asymptotic(), oreprocess_predictable()only with genuine ex ante predictable bounds.