Added cumulcalibITE(), extending the cumulative calibration methodology to
the assessment of moderate calibration of individualized treatment effect
(ITE) models using data from a randomized trial (Sadatsafavi et al. 2025,
doi:10.48550/arXiv.2512.08140). A companion vignette demonstrates its use.
Added print() methods for objects returned by cumulcalib() and
cumulcalibITE(), and extended summary() to also support
cumulcalibITE() output.
print() and summary() now report the direction of the maximum cumulative
calibration error C* (as a worded tag, e.g. "observed benefit < predicted")
together with the predicted value at its location. Direction is reported only
for C*, the descriptive metric; the test statistics (S_n, S*, B*) are referred
to null distributions of absolute deviations and remain unsigned. The
direction is derived on the fly and is consistent with plot().
summary() now describes the shape of miscalibration around the maximum
cumulative calibration error (C*): whether the cumulative error reverses at an
interior peak (opposite directions on either side of that location) or is
one-directional (a monotone accumulation), with the direction(s) worded in
terms of observed vs predicted. Reported only when the standardized maximum
deviation S* is at least shape_threshold (default 1.5), so it stays silent
for unremarkable processes. Added the crossover element to the summary
object and the shape_threshold argument to summary().
Behavior change: plot() no longer draws significance-threshold lines by
default; only the statistic line(s) are drawn. Pass
stats_config = list(lines = "vh") to restore the previous default of
showing both, or list(lines = "h") for thresholds only.
Fixed a bug where the bridge test's significance line was not drawn parallel to the line connecting the start and end of the random walk.
Fixed an error in summary() for the BM2p method caused by a stray
writeLines() call.