A triptych visualizes three important aspects of predictive performance:
Economic utility via Murphy curves, miscalibration via reliability curves,
and discrimination ability via ROC curves.
The triptych S3 class has plotting methods for ggplot2.
Arguments
- x
A data frame, list, matrix, or other object that can be coerced to a tibble. Contains numeric forecasts, and observations (optional).
- y_var
A variable in
xthat contains observations. Specified as the argumentvarindplyr::pull().- ...
Additional arguments passed to
murphy(),reliability(),roc(), andmcbdsc().- y
A numeric vector of observations. If supplied, overrides
y_var. Otherwise, defaults todplyr::pull(x, y_var).
Value
A triptych object, that is a tibble subclass, and contains five columns:
forecast: Contains the names.murphy: Contains avctrs_vctrsubclass of Murphy curves.reliability: Contains avctrs_vctrsubclass of reliability curves.roc: Contains avctrs_vctrsubclass of ROC curves.mcbdsc: Contains avctrs_vctrsubclass of score decompositions.
See also
Vector class constructors: murphy(), reliability(), roc(), mcbdsc()
Adding uncertainty quantification: add_consistency(), add_confidence()
Visualization: plot.triptych(), autoplot.triptych()
Examples
data(ex_binary, package = "triptych")
tr <- triptych(ex_binary)
identical(tr, triptych(ex_binary, y))
#> [1] TRUE
identical(tr, triptych(ex_binary, 1))
#> [1] TRUE
tr
#> # A tibble: 10 × 5
#> forecast murphy reliability roc mcbdsc
#> <chr> <trpt_mur> <trpt_rel> <trpt_roc> <trpt_mcbdsc>
#> 1 X01 <named list[3]> <named list[3]> <named list[3]> <named list[3]>
#> 2 X02 <named list[3]> <named list[3]> <named list[3]> <named list[3]>
#> 3 X03 <named list[3]> <named list[3]> <named list[3]> <named list[3]>
#> 4 X04 <named list[3]> <named list[3]> <named list[3]> <named list[3]>
#> 5 X05 <named list[3]> <named list[3]> <named list[3]> <named list[3]>
#> 6 X06 <named list[3]> <named list[3]> <named list[3]> <named list[3]>
#> 7 X07 <named list[3]> <named list[3]> <named list[3]> <named list[3]>
#> 8 X08 <named list[3]> <named list[3]> <named list[3]> <named list[3]>
#> 9 X09 <named list[3]> <named list[3]> <named list[3]> <named list[3]>
#> 10 X10 <named list[3]> <named list[3]> <named list[3]> <named list[3]>
# 1. Choose 4 predictions
# 2. Add consistency bands (for reliability curves)
# (Bootstrap resampling is expensive, the number of bootstrap samples
# is small to keep execution times short)
# 3. Create patchwork object
# 4. Adjust the title of the legend
dplyr::slice(tr, 1, 3, 6, 9) |>
add_consistency(level = 0.9, method = "resampling_Bernoulli", n_boot = 20) |>
autoplot() &
ggplot2::guides(colour = ggplot2::guide_legend("Forecast"))