Sequential Comparison of Probabilistic Forecasts
Overview
Implements tools for the anytime-valid sequential comparison of two or more probabilistic forecasters. Provides binary, categorical, and quantile scoring rules, together with finite-sample confidence sequences and e-processes following Choe and Ramdas (2024) doi:10.1287/opre.2021.0792. Extends to multi-model evaluation via Sequential Model Confidence Sets, following Arnold, Gavrilopoulos, Schulz, and Ziegel (2026) doi:10.1093/jrsssb/qkag066, using closure principles, joint confidence sequences, and accelerated closed-testing. Adaptive betting fractions for the strong null (aGRAPA and ONS-m) are adapted from Waudby-Smith and Ramdas (2024) doi:10.1093/jrsssb/qkad009. Also includes Winkler-score comparisons, lag handling, and predictable-bound betting e-processes.
New Features
- Added
lambda_betting_agrapa()andlambda_betting_ons(), adaptive betting-fraction rules for the strong-null e-process (eprocess_betting()), adapting the aGRAPA and ONS-m algorithms of Waudby-Smith and Ramdas (2024) to Arnold et al. (2026)'s bounded strong-null setting. These adaptations are original toseqcomp, not given in either source paper. - Added
build_agrapa_betting_array()andbuild_ons_betting_array()to construct the T x m x mlambda_paramarrays these rules require forsmcs_strong(), including aperiodargument for known periodic (e.g. day-of-week) structure. - Added a new vignette, "Choosing an Adaptive Betting Strategy: Temporal Dependence and Pathologies", comparing naive, aGRAPA, ONS-m, and Arnold et al.'s quantile-specific betting rules across structural breaks, autocorrelated noise, near-degenerate bounds, volatility clustering, and closed-testing dilution.
Show all changes in 0.3.0Hide the rest of the changes in 0.3.0
Renamed
compare_multiple_forecasts()is renamed tosmcs_compare(). This function was never released on CRAN (only available on GitHub as part of unreleased 0.2.0 development), so this is not a breaking change for any CRAN user.
Minor Improvements & Fixes
- Removed the floor of 1 on the intrinsic time in
cs_bernstein()after verifying it does not cause any numerical issues (as for validity, the floor was a conservative measure in the fist place, so nothing that affects validity).
From NEWS.md in the release
Install
Health
- OK13 OK2026-08-04
- NOTE12 OK, 1 NOTE2026-08-01
- OK7 OK2026-07-01
Documentation
- Help pages
- 42includes a package overview page
- Examples that run
- 100%41 run in a plain check (3 of them under a condition)
- Exported functions with examples
- 100%
- Documented parameters
- 100%
- Return-value docs
- 100%
- Help pages citing references
- 7%
Downloads
Repository
- PRs merged (all time)
- 100%
- Median days to close, 50 most recently updated closed issues
- not measured
- Median days to close, 50 most recently updated closed PRs
- 0
Stars over time
Commits over time
9 development-tooling and community-health practices detected across 5 families in the upstream repository
Checks run against github.com/alasgarliakbar/seqcomp on 2026-10-18.
The R CMD check workflow runs on Linux, macOS and Windows, and on R-devel
GitHub Pages site last deployed 2026-09-27 · The repository has a site deploy workflow
pkgdown site last built 2026-09-27
Show all practicesHide 1 practice
Dependencies
Installing seqcomp adds 3 packages (3 with compiled code, 2.5 MB of source tarballs). Heaviest: Rcpp 1.8 MB, RcppParallel 744 KB, lamW 17 KB.
Code & Tests
People & History
Pick two releases to compare their code metrics.
- 0.3.0Latest2026-09-27 · current release · diff ↗ ·
added 11 exports
build_agrapa_betting_array, build_ons_betting_array, build_quantile_betting_arrays, eprocess_betting, lambda_betting_agrapa, lambda_betting_ons, lambda_betting_quantile, smcs_compare, smcs_strong, smcs_weak, vovk_wang_merge - 0.1.02026-06-30
- RR 4.6.0 released · 2026-04-24
Package metadata
- First published
- 2026-06-30
- Total releases
- 2 / 1 yrs
- License
- MIT + file LICENSE OSI
- Minimum R
- ≥ 4.1.0
- Download size
- 183 KB
Cite
Cite this package
Run in R for the authors' entry:
citation("seqcomp")The package provides a citation file, so citation() returns the authors' own entry.
It points to 10.1287/opre.2021.0792, 10.1093/jrsssb/qkag066, 10.1093/jrsssb/qkad009, 10.1214/20-aos1991, 10.1214/18-ps321, 10.1214/23-sts894, 10.1214/24-aos2408.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-22, which the citation names so these numbers can be found later. More on citing and the projects behind them.