A dense SAVE basis reduces the predictors to a small set of scores. A Cox model is fitted to those scores. The row-support path then evaluates subsets of the original predictors by truncating the fitted basis and refitting the Cox model.
library(ssurvdr)
dat <- simulate_ssurvdr(n = 100, p = 12, active = 1:3, seed = 2026)
fit <- fit_ssurvdr(dat$X, dat$time, dat$status, d = 2,
n_slices = 3, covariance = "mec", backend = "primal")
fit$criteria
#> criterion value
#> 1 AIC 427.8951
#> 2 BIC 433.1054
#> 3 CAIC 435.1054
#> 4 ICOMP_IFIM 423.9302
#> 5 ICOMP_MISSPEC 424.0991
path <- fit_ssurvdr_sparse_path(dat$X, dat$time, dat$status,
dense_fit = fit, support_grid = c(4, 8, 12))
path$path
#> support_size support_fraction retained_energy_proportion
#> 1 4 0.3333333 0.5408401
#> 2 8 0.6666667 0.8532966
#> 3 12 1.0000000 1.0000000
#> projection_distance_from_dense orthogonality_error AIC BIC CAIC
#> 1 1.3552268 4.440892e-16 430.0743 435.2847 437.2847
#> 2 0.7660375 2.220446e-16 429.2443 434.4546 436.4546
#> 3 0.0000000 2.220446e-16 427.8951 433.1054 435.1054
#> ICOMP_IFIM ICOMP_MISSPEC c_index c_index_se runtime_seconds
#> 1 426.0928 426.1755 0.5498155 0.04581237 0.02411699
#> 2 425.2594 425.3125 0.5749748 0.04381670 0.02133012
#> 3 423.9302 424.0991 0.5816840 0.04248321 0.05374599
#> is_dense_support status error_message
#> 1 FALSE ok <NA>
#> 2 FALSE ok <NA>
#> 3 TRUE ok <NA>Full support remains in the path so that sparsity is not forced. The procedure uses the existing reduced Cox criteria; it adds no separate predictor-support penalty. Training criterion selection is not an independent prediction assessment.
weights <- compute_c1f_weights(fit$basis_fit)
range(weights$weights)
#> [1] 0.5242278 2.2526199
weights$c1f
#> [1] NAWith no matrix supplied, weights depend on the estimated basis row
norms and the scalar diagnostic is missing. With a matrix, the weights
also use a loading-weighted eigenvalue-dispersion adjustment. The
historical c1f output field contains the C1
arithmetic/geometric eigenvalue expression implemented by this package;
it does not directly enter the weights.
For a test set, reuse the training centring/scaling and fitted basis. Never estimate those transformations on the test outcomes. The package’s simulation evaluation function reports training concordance; the separate research scripts implement the thesis validation workflows.