Dataset Shift and Robustness Auditing

Dataset shift is not one scalar drift score. gp3ml keeps predictor-distribution shift, missingness shift, prevalence shift, calibration drift, and performance degradation conceptually separate.

development <- data.frame(
  fixation_duration = 180 + 1:30,
  condition = rep(c("A", "B"), 15)
)
external <- data.frame(
  fixation_duration = 205 + 1:30,
  condition = rep(c("A", "C"), 15)
)

shift <- audit_gazepoint_dataset_shift(
  development,
  external,
  predictors = c("fixation_duration", "condition")
)

missingness <- audit_gazepoint_missingness_shift(
  development,
  external,
  predictors = c("fixation_duration", "condition")
)

summarize_gazepoint_shift(shift, missingness)
#> $dataset_shift_status
#> [1] "fail"
#> 
#> $dataset_shift_counts
#>   status n_predictors
#> 1   fail            2
#> 
#> $missingness_shift_status
#> [1] "pass"
#> 
#> $missingness_shift_counts
#>   status n_predictors
#> 1   pass            2
#> 
#> attr(,"class")
#> [1] "gp3ml_shift_summary"
plot(shift)

Robustness diagnostics should examine dependence on seeds, folds, features, thresholds, missingness scenarios, and other declared analytical choices rather than relabelling one successful analysis as robust.

mirror server hosted at Truenetwork, Russian Federation.