From 67069597f19205caaf69138f8dad657232db9fde Mon Sep 17 00:00:00 2001 From: Imad EL BADISY Date: Mon, 5 Jan 2026 16:19:08 +0100 Subject: [PATCH 1/5] tmp/loss-fixes (#18) * update version to 0.7.0 * update the README * update the README * update news for CRAN submission * update cran-comments * update the readme * fix AFT and CoxTime losses, predictions, and tests --- DESCRIPTION | 4 +- NEWS.md | 69 ++- R/losses.R | 256 +++++++-- R/predict.survdnn.R | 256 +++++---- R/survdnn.R | 501 ++++++++++-------- README.Rmd | 171 ++++-- README.html | 298 +++++++---- README.md | 267 +++++++--- .../figure-gfm/unnamed-chunk-11-1.png | Bin 37312 -> 157083 bytes .../figure-gfm/unnamed-chunk-12-1.png | Bin 0 -> 38404 bytes cran-comments.md | 26 +- tests/testthat/test-losses.R | 125 +++-- tests/testthat/test-predict.survdnn.R | 4 +- tests/testthat/test-survdnn.R | 17 +- 14 files changed, 1288 insertions(+), 706 deletions(-) create mode 100644 README_files/figure-gfm/unnamed-chunk-12-1.png diff --git a/DESCRIPTION b/DESCRIPTION index 60f19fb..68f79cb 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: survdnn -Title: Deep Neural Networks for Survival Analysis Using 'torch' -Version: 0.6.3 +Title: Deep Neural Networks for Survival Analysis using 'torch' +Version: 0.7.0 Authors@R: person(given = "Imad", family = "EL BADISY", diff --git a/NEWS.md b/NEWS.md index dc16f08..c85cfd0 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,19 +1,48 @@ -# survdnn 0.6.3 +# survdnn + +## survdnn 0.7.0 + +### Major changes + +* Added full support for **training control mechanisms**, including early stopping callbacks and complete loss tracking across epochs. + +* Introduced `plot_loss()` to visualize training loss trajectories and diagnose convergence or instability. + +* Centralized **reproducibility control** via the `.seed` argument in `survdnn()`, synchronizing both R and Torch random number generators. + +* Expanded optimizer support to include **Adam, AdamW, SGD, RMSprop, and Adagrad**, with customizable optimizer arguments. + +* Enhanced **prediction methods** to robustly support linear predictors, survival probabilities, and cumulative risk across all supported loss functions. + +* Added explicit and user-controllable **missing-data handling** (`na_action = "omit"` or `"fail"`), with informative messages. + +### Minor changes + +* Improved handling of formulas using `Surv(...) ~ .` in prediction and evaluation. + +* Improved printing and summary methods for fitted `survdnn` objects. + +* Expanded unit test coverage, including optimizers, plotting utilities, and missing-data edge cases. + +### Bug fixes + +* Fixed inconsistencies in prediction and evaluation when formulas used `.` expansion. + +--- ## survdnn 0.6.2 ### Maintenance release (CRAN compliance) - **Removed automatic `torch::install_torch()` on load:** - The package no longer downloads or installs Torch libraries automatically when loaded. - The `.onLoad()` function now performs only a silent availability check, and `.onAttach()` - displays an informative message instructing users to manually run - `torch::install_torch()` when necessary. - This update ensures full compliance with CRAN policies that forbid modification of user environments - or network activity during package load. -- Updated startup message for clearer user guidance. -- Internal documentation and version bump for CRAN resubmission. + The package no longer downloads or installs Torch libraries automatically when loaded. The `.onLoad()` function now performs only a silent availability check, and `.onAttach()` displays an informative message instructing users to manually run `torch::install_torch()` when necessary. + + This update ensures full compliance with CRAN policies that forbid modification of user environments or network activity during package load. + +- Updated startup messages for clearer user guidance. + +- Internal documentation updates and version bump for CRAN resubmission. --- @@ -21,31 +50,29 @@ ### Infrastructure and testing improvements -- Added conditional test skipping: tests and examples now use - `skip_if_not(torch_is_installed())` and `skip_on_cran()` to avoid failures - on systems where Torch is not available. - (Thanks to @dfalbel for the PR.) +- Added conditional test skipping: tests and examples now use `skip_if_not(torch_is_installed())` and `skip_on_cran()` to avoid failures on systems where Torch is not available (thanks to @dfalbel for the [PR](https://github.com/ielbadisy/survdnn/pull/5)). - Regenerated documentation (`RoxygenNote: 7.3.3`) and updated man pages. -- Minor internal consistency fixes and CI checks update. + +- Minor internal consistency fixes and CI check updates. --- ## survdnn 0.6.0 -First public release of `survdnn` — Deep Neural Networks for Survival Analysis in R using `torch`. +First public release of `survdnn`. ### Features - `survdnn()`: Fit deep learning survival models using a formula interface. -- Supported loss functions: - - Cox partial likelihood (`"cox"`) - - L2-penalized Cox (`"cox_l2"`) - - Time-dependent Cox (`"coxtime"`) +- Supported loss functions: + - Cox partial likelihood (`"cox"`) + - L2-penalized Cox (`"cox_l2"`) + - Time-dependent Cox (`"coxtime"`) - Accelerated Failure Time (`"aft"`) -- Cross-validation with `cv_survdnn()`. +- Cross-validation via `cv_survdnn()`. - Hyperparameter tuning with `tune_survdnn()`. - Survival probability prediction and curve plotting. - Evaluation metrics: Concordance index (C-index), Brier score, and Integrated Brier Score (IBS). -CRAN submission prepared. Includes README, documentation, and automated tests. +CRAN submission prepared, including README, documentation, and automated tests. diff --git a/R/losses.R b/R/losses.R index 23c8e49..c892a52 100644 --- a/R/losses.R +++ b/R/losses.R @@ -1,16 +1,24 @@ #' Loss Functions for survdnn Models #' -#' These functions define various loss functions used internally by `survdnn()` for training deep neural networks on right-censored survival data. +#' These functions define various loss functions used internally by `survdnn()` +#' for training deep neural networks on right-censored survival data. #' #' @section Supported Losses: #' - **Cox partial likelihood loss** (`cox_loss`): Negative partial log-likelihood used in proportional hazards modeling. #' - **L2-penalized Cox loss** (`cox_l2_loss`): Adds L2 regularization to the Cox loss. -#' - **Accelerated Failure Time (AFT) loss** (`aft_loss`): Mean squared error between predicted and log-transformed event times, applied to uncensored observations only. -#' - **CoxTime loss** (`coxtime_loss`): Implements the partial likelihood loss from Kvamme & Borgan (2019), used in Cox-Time models. +#' - **Accelerated Failure Time (AFT) loss** (`aft_loss`): Log-normal AFT **censored negative log-likelihood** +#' (uses both events and censored observations). +#' - **CoxTime loss** (`coxtime_loss`): Placeholder (see details). A correct CoxTime loss requires access to the network and the full input tensor. #' #' @param pred A tensor of predicted values (typically linear predictors or log-times). #' @param true A tensor with two columns: observed time and status (1 = event, 0 = censored). #' @param lambda Regularization parameter for `cox_l2_loss` (default: `1e-4`). +#' @param sigma Positive numeric scale parameter for the log-normal AFT model (default: `1`). +#' In `survdnn()`, a learnable global scale can be used via `survdnn__aft_lognormal_nll_factory()`. +#' @param aft_loc Numeric scalar location offset for the AFT model on the log-time scale. +#' When non-zero, the model is trained on centered log-times `log(time) - aft_loc` for better numerical stability. +#' Prediction should add this offset back: `mu = mu_resid + aft_loc`. +#' @param eps Small constant for numerical stability (default: `1e-12`). #' #' @return A scalar `torch_tensor` representing the loss value. #' @name survdnn_losses @@ -20,90 +28,240 @@ NULL +# ------------------------------------------------------------------------- +# Internal utilities +# ------------------------------------------------------------------------- + +#' @keywords internal +survdnn__zeros_like_scalar <- function(x) { + torch::torch_zeros_like(x$view(c(1)))[1] +} + +#' @keywords internal +survdnn__count_true <- function(mask) { + as.integer(mask$sum()$item()) +} + +#' @keywords internal +survdnn__log_surv_std_normal <- function(z, eps = 1e-12) { + sqrt2 <- torch::torch_sqrt(torch::torch_tensor(2, dtype = z$dtype, device = z$device)) + u <- z / sqrt2 + S <- torch::torch_clamp(0.5 * (1 - torch::torch_erf(u)), min = eps) + torch::torch_log(S) +} + + +# ------------------------------------------------------------------------- +# Cox loss (keeps your sign convention: lp = -net(x)) +# ------------------------------------------------------------------------- + #' @rdname survdnn_losses #' @export cox_loss <- function(pred, true) { - time <- true[, 1] + time <- true[, 1] status <- true[, 2] - idx <- torch_argsort(time, descending = TRUE) - time <- time[idx] + idx <- torch::torch_argsort(time, descending = TRUE) status <- status[idx] - pred <- -pred[idx, 1] # negate for log-partial likelihood - log_cumsum_exp <- torch_logcumsumexp(pred, dim = 1) + lp <- -pred[idx, 1] + event_mask <- (status == 1) + if (survdnn__count_true(event_mask) == 0) { + return(survdnn__zeros_like_scalar(lp[1])) + } - loss <- -torch_mean(pred[event_mask] - log_cumsum_exp[event_mask]) - loss + log_cumsum_exp <- torch::torch_logcumsumexp(lp, dim = 1) + -torch::torch_mean(lp[event_mask] - log_cumsum_exp[event_mask]) } - #' @rdname survdnn_losses #' @export cox_l2_loss <- function(pred, true, lambda = 1e-4) { base_loss <- cox_loss(pred, true) - l2_penalty <- lambda * torch_mean(pred^2) + lp <- -pred[, 1] + l2_penalty <- lambda * torch::torch_mean(lp^2) base_loss + l2_penalty } +# ------------------------------------------------------------------------- +# AFT loss (Option B): log-normal AFT censored negative log-likelihood +# ------------------------------------------------------------------------- + #' @rdname survdnn_losses #' @export -aft_loss <- function(pred, true) { - time <- true[, 1] +aft_loss <- function(pred, true, sigma = 1, aft_loc = 0, eps = 1e-12) { + + time <- true[, 1] status <- true[, 2] - log_time <- torch_log(time) - event_mask <- (status == 1) - n_events <- as.numeric(torch_sum(event_mask)) + t <- torch::torch_clamp(time, min = eps) + lt <- torch::torch_log(t) - if (n_events == 0) { - return(torch_zeros_like(pred[1, 1])) ## this ensure the returned loss has the same device as pred & has the same dtype as pred (CPU/CUDA/MPS) - } + mu_resid <- pred[, 1] + + sigma_t <- torch::torch_tensor( + as.numeric(sigma), + dtype = mu_resid$dtype, + device = mu_resid$device + ) + sigma_t <- torch::torch_clamp(sigma_t, min = eps) + log_sigma <- torch::torch_log(sigma_t) + + aft_loc_t <- torch::torch_tensor( + as.numeric(aft_loc), + dtype = mu_resid$dtype, + device = mu_resid$device + ) + + lt_c <- lt - aft_loc_t + z <- (lt_c - mu_resid) / sigma_t + + logS <- survdnn__log_surv_std_normal(z, eps = eps) - pred_event <- pred[event_mask, 1] - log_time_event <- log_time[event_mask] + nll_event <- lt + log_sigma + 0.5 * z^2 + nll_cens <- -logS - torch_mean((pred_event - log_time_event)^2) + nll <- torch::torch_where(status == 1, nll_event, nll_cens) + torch::torch_mean(nll) } +# ------------------------------------------------------------------------- +# CoxTime loss — cannot be correct with (pred, true) only +# ------------------------------------------------------------------------- + #' @rdname survdnn_losses #' @export coxtime_loss <- function(pred, true) { + stop( + "coxtime_loss(pred, true) is not identifiable from `pred` alone.\n", + "Cox-Time requires evaluating g(t_i, x_j) for all subjects j at each event time t_i.\n", + "Use the internal factory `survdnn__coxtime_loss_factory()` from survdnn() where `net` and the full input tensor are available.", + call. = FALSE + ) +} - # `pred` is a tensor of shape [n, 1]: g(t_i, x_i) - # `true` is a tensor with columns: time and status - time <- true[, 1] - status <- true[, 2] - n <- time$size()[[1]] +# ------------------------------------------------------------------------- +# Internal: Correct CoxTime loss factory +# +# IMPORTANT FIX: +# - use `true[,1]` (RAW time) for sorting + risk sets +# - use `x_tensor[,1]` (TIME AS FED TO NET; possibly scaled) when calling net +# ------------------------------------------------------------------------- - # sorting by time descending - idx <- torch_argsort(time, descending = TRUE) - time <- time[idx] - status <- status[idx] - pred <- pred[idx, 1] # ensure shape [n] +#' @keywords internal +survdnn__coxtime_loss_factory <- function(net) { - # compute risk set matrix: R_ij = 1 if time_j >= time_i - time_i <- time$view(c(n, 1)) # [n, 1] - time_j <- time$view(c(1, n)) # [1, n] - risk_matrix <- (time_j >= time_i)$to(dtype = torch_float()) # [n, n] + force(net) - # compute difference: g(t_i, x_j) - g(t_i, x_i) - pred_i <- pred$view(c(n, 1)) # [n, 1] - pred_j <- pred$view(c(1, n)) # [1, n] - diff <- pred_j - pred_i # [n, n] + function(x_tensor, true, eps = 1e-12) { - # mask for events only - event_mask <- (status == 1) + time_raw <- true[, 1] + status <- true[, 2] + n <- time_raw$size()[[1]] + + d <- x_tensor$size()[[2]] + if (d < 2) stop("CoxTime expects x_tensor with at least 2 columns: (time, x).", call. = FALSE) - # compute log sum exp over risk set - log_sum_exp <- torch_logsumexp(diff * risk_matrix, dim = 2) # [n] + time_inp <- x_tensor[, 1] # time as used by the net (can be raw or scaled) + x_cov <- x_tensor[, 2:d, drop = FALSE] + + ## sort by RAW time (risk sets depend on raw ordering) + idx <- torch::torch_argsort(time_raw, descending = TRUE) + + time_raw <- time_raw[idx] + time_inp <- time_inp[idx] + status <- status[idx] + x_cov <- x_cov[idx, , drop = FALSE] + + event_mask <- (status == 1) + ne <- as.integer(event_mask$sum()$item()) + if (ne == 0) return(torch::torch_zeros_like(time_raw[1])) + + ## event times + t_event_raw <- time_raw[event_mask] # for risk sets + t_event_inp <- time_inp[event_mask] # for net input + x_event <- x_cov[event_mask, , drop = FALSE] + + ## numerator: g(t_i, x_i) for events + inp_num <- torch::torch_cat(list(t_event_inp$unsqueeze(2), x_event), dim = 2) + g_num <- net(inp_num)[, 1] + + ## denominator: for each event time t_i, evaluate g(t_i, x_j) for all j + p <- x_cov$size()[[2]] + + x_rep <- x_cov$unsqueeze(2)$expand(c(n, ne, p))$permute(c(2, 1, 3)) + t_rep <- t_event_inp$view(c(ne, 1, 1))$expand(c(ne, n, 1)) # time for net input + inp_den <- torch::torch_cat(list(t_rep, x_rep), dim = 3) + + inp_den2 <- inp_den$reshape(c(ne * n, d)) + g_den2 <- net(inp_den2)[, 1] + g_den <- g_den2$reshape(c(ne, n)) + + ## risk sets computed on RAW time + time_j <- time_raw$view(c(1, n)) + t_i <- t_event_raw$view(c(ne, 1)) + risk <- (time_j >= t_i) + + neg_inf <- torch::torch_tensor(-Inf, dtype = g_den$dtype, device = g_den$device) + g_masked <- torch::torch_where(risk, g_den, neg_inf) + + log_denom <- torch::torch_logsumexp(g_masked, dim = 2) + -torch::torch_mean(g_num - log_denom) + } +} + + +# ------------------------------------------------------------------------- +# Internal: AFT log-normal censored NLL factory (learnable global log(sigma)) +# with optional centering by aft_loc. +# ------------------------------------------------------------------------- + +#' @keywords internal +survdnn__aft_lognormal_nll_factory <- function(device, aft_loc = 0) { + + log_sigma <- torch::torch_tensor( + 0, + dtype = torch::torch_float(), + device = device, + requires_grad = TRUE + ) + + aft_loc_t <- torch::torch_tensor( + as.numeric(aft_loc), + dtype = torch::torch_float(), + device = device + ) + + loss_fn <- function(net, x, y, eps = 1e-12) { + + time <- y[, 1] + status <- y[, 2] + + mu_resid <- net(x)[, 1] + + t <- torch::torch_clamp(time, min = eps) + lt <- torch::torch_log(t) + + lt_c <- lt - aft_loc_t + + sigma <- torch::torch_clamp(torch::torch_exp(log_sigma), min = eps) + z <- (lt_c - mu_resid) / sigma + + logS <- survdnn__log_surv_std_normal(z, eps = eps) + + nll_event <- lt + log_sigma + 0.5 * z^2 + nll_cens <- -logS + + nll <- torch::torch_where(status == 1, nll_event, nll_cens) + torch::torch_mean(nll) + } - # final partial likelihood loss: mean over events only - loss_terms <- log_sum_exp[event_mask] - loss <- torch_mean(loss_terms) - return(loss) + list( + loss_fn = loss_fn, + extra_params = list(log_sigma = log_sigma) + ) } diff --git a/R/predict.survdnn.R b/R/predict.survdnn.R index 518536a..da79d7a 100644 --- a/R/predict.survdnn.R +++ b/R/predict.survdnn.R @@ -6,12 +6,16 @@ #' @param object An object of class `"survdnn"` returned by [survdnn()]. #' @param newdata A data frame of new observations to predict on. #' @param times Numeric vector of time points at which to compute survival or risk probabilities. -#' Required if `type = "survival"` or `type = "risk"`. +#' Required if `type = "survival"` or `type = "risk"` for Cox/AFT models. +#' For CoxTime, `times = NULL` is allowed when `type="survival"` and defaults to event times. #' @param type Character string specifying the type of prediction to return: #' \describe{ -#' \item{"lp"}{Linear predictor (log-risk score; higher implies worse prognosis).} +#' \item{"lp"}{Linear predictor. For `"cox"`/`"cox_l2"` this is a log-risk score +#' (higher implies worse prognosis, consistent with training sign convention). For `"aft"`, +#' this is the predicted location parameter \eqn{\mu(x)} on the log-time scale. For `"coxtime"`, +#' this is \eqn{g(t_0, x)} evaluated at a reference time \eqn{t_0} (the first event time).} #' \item{"survival"}{Predicted survival probabilities at each value of `times`.} -#' \item{"risk"}{Cumulative risk (1 - survival) at a single time point.} +#' \item{"risk"}{Cumulative risk (1 - survival) at **a single** time point.} #' } #' @param ... Currently ignored (for future extensions). #' @@ -19,24 +23,6 @@ #' (if `type = "survival"`) with one row per observation and one column per `times`. #' #' @export -#' -#' @examples -#' \donttest{ -#' library(survival) -#' data(veteran, package = "survival") -#' -#' mod <- survdnn( -#' Surv(time, status) ~ age + karno + celltype, -#' data = veteran, -#' loss = "cox", -#' epochs = 50, -#' verbose = FALSE -#' ) -#' -#' predict(mod, newdata = veteran, type = "lp")[1:5] -#' predict(mod, newdata = veteran, type = "survival", times = c(30, 90, 180))[1:5, ] -#' predict(mod, newdata = veteran, type = "risk", times = 180)[1:5] -#' } predict.survdnn <- function( object, newdata, @@ -53,12 +39,7 @@ predict.survdnn <- function( loss <- object$loss model <- object$model - device <- if (!is.null(object$device)) { - object$device - } else { - torch::torch_device("cpu") - } - + device <- if (!is.null(object$device)) object$device else torch::torch_device("cpu") model$to(device = device) model$eval() @@ -76,11 +57,20 @@ predict.survdnn <- function( scale = object$x_scale ) + ## IMPORTANT: type='risk' is defined at a single time point + if (type == "risk" && !is.null(times) && length(times) != 1) { + stop("For type = 'risk', `times` must be a single numeric value.", call. = FALSE) + } + ## ================================================================ ## Cox / Cox L2 ## ================================================================ if (loss %in% c("cox", "cox_l2")) { + if (type %in% c("survival", "risk") && is.null(times)) { + stop("`times` must be specified for type = 'survival' or 'risk'.", call. = FALSE) + } + x_tensor <- torch::torch_tensor( x_scaled, dtype = torch::torch_float(), @@ -93,14 +83,7 @@ predict.survdnn <- function( if (type == "lp") return(lp) - if (is.null(times)) { - stop("`times` must be specified for type = 'survival' or 'risk'.") - } - - if (type == "risk" && length(times) != 1) { - stop("For type = 'risk', `times` must be a single value.") - } - + ## baseline hazard via Breslow on training data train_x <- stats::model.matrix( stats::delete.response(tt), object$data @@ -131,16 +114,12 @@ predict.survdnn <- function( ) bh <- survival::basehaz( - survival::coxph(Surv(time, status) ~ lp, data = train_df), + survival::coxph(survival::Surv(time, status) ~ lp, data = train_df), centered = FALSE ) - H0 <- stats::approx( - bh$time, - bh$hazard, - xout = sort(times), - rule = 2 - )$y + times_sorted <- sort(as.numeric(times)) + H0 <- stats::approx(bh$time, bh$hazard, xout = times_sorted, rule = 2)$y surv_mat <- outer( lp, @@ -148,19 +127,21 @@ predict.survdnn <- function( function(lp_i, h0_j) exp(-h0_j * exp(lp_i)) ) - if (type == "risk") { - return(1 - surv_mat[, length(times)]) - } + if (type == "risk") return(1 - surv_mat[, 1]) - colnames(surv_mat) <- paste0("t=", sort(times)) + colnames(surv_mat) <- paste0("t=", times_sorted) return(as.data.frame(surv_mat)) } ## ================================================================ - ## AFT + ## AFT (log-normal AFT with learned global sigma + training centering) ## ================================================================ if (loss == "aft") { + if (type %in% c("survival", "risk") && is.null(times)) { + stop("`times` must be specified for type = 'survival' or 'risk'.", call. = FALSE) + } + x_tensor <- torch::torch_tensor( x_scaled, dtype = torch::torch_float(), @@ -168,29 +149,34 @@ predict.survdnn <- function( ) torch::with_no_grad({ - pred <- as.numeric(model(x_tensor)[, 1]) + mu_raw <- as.numeric(model(x_tensor)[, 1]) }) - if (type == "lp") return(pred) + loc <- if (!is.null(object$aft_loc) && is.finite(object$aft_loc)) object$aft_loc else 0 + mu <- mu_raw + loc + if (type == "lp") return(mu) - if (is.null(times)) { - y_train <- model.response(model.frame(object$formula, object$data)) - times <- sort(unique(y_train[, "time"])) - } + ## sigma: must be finite and > 0; otherwise fall back to 1 + ls <- object$aft_log_sigma + sigma <- if (!is.null(ls) && is.finite(ls)) exp(ls) else 1 + if (!is.finite(sigma) || sigma <= 0) sigma <- 1 - logt <- log(sort(times)) + times_sorted <- sort(as.numeric(times)) + times_sorted[times_sorted <= 0] <- .Machine$double.eps + logt <- log(times_sorted) surv_mat <- outer( - pred, + mu, logt, - function(fx, lt) 1 - pnorm(lt - fx) + function(mu_i, lt) 1 - stats::pnorm((lt - mu_i) / sigma) ) - if (type == "risk") { - return(1 - surv_mat[, length(times)]) - } + surv_mat[surv_mat < 0] <- 0 + surv_mat[surv_mat > 1] <- 1 - colnames(surv_mat) <- paste0("t=", sort(times)) + if (type == "risk") return(1 - surv_mat[, 1]) + + colnames(surv_mat) <- paste0("t=", times_sorted) return(as.data.frame(surv_mat)) } @@ -200,11 +186,27 @@ predict.survdnn <- function( if (loss == "coxtime") { y_train <- model.response(model.frame(object$formula, object$data)) - time_train <- y_train[, "time"] status_train <- y_train[, "status"] event_times <- sort(unique(time_train[status_train == 1])) + if (length(event_times) == 0) { + stop("CoxTime prediction requires at least one event in training data.", call. = FALSE) + } + + ## --- time scaling used in training (fallback-safe) --- + t_center <- if (!is.null(object$coxtime_time_center) && is.finite(object$coxtime_time_center)) { + as.numeric(object$coxtime_time_center) + } else 0 + + t_scale <- if (!is.null(object$coxtime_time_scale) && is.finite(object$coxtime_time_scale) && + as.numeric(object$coxtime_time_scale) > 0) { + as.numeric(object$coxtime_time_scale) + } else 1 + + scale_t <- function(t) (as.numeric(t) - t_center) / t_scale + + ## training covariates (scaled) for baseline computation train_x <- stats::model.matrix( stats::delete.response(tt), object$data @@ -216,117 +218,95 @@ predict.survdnn <- function( scale = object$x_scale ) - if (length(event_times) == 0) { - stop( - "CoxTime prediction requires at least one event in training data.", - call. = FALSE - ) - } - - ## type = "lp" + ## type = "lp": define lp at a reference time (first event time) if (type == "lp") { - t0 <- event_times[1] - x_temp <- cbind(t0, x_scaled) - - x_tensor <- torch::torch_tensor( - x_temp, - dtype = torch::torch_float(), - device = device - ) - + t0s <- scale_t(t0) + x_temp <- cbind(t0s, x_scaled) + x_tensor <- torch::torch_tensor(x_temp, dtype = torch::torch_float(), device = device) torch::with_no_grad({ lp <- as.numeric(model(x_tensor)[, 1]) }) - return(lp) } - if (is.null(times)) times <- event_times - times <- sort(unique(times)) - - ## g(T_i, x_new) - g_new_mat <- matrix( - NA_real_, - nrow = nrow(x_scaled), - ncol = length(event_times) - ) + ## For CoxTime: allow times=NULL for survival -> default event_times (RAW) + if (type == "survival" && is.null(times)) { + times_sorted <- event_times + } else { + if (type %in% c("survival", "risk") && is.null(times)) { + stop("`times` must be specified for type = 'survival' or 'risk'.", call. = FALSE) + } + times_sorted <- sort(unique(as.numeric(times))) + } + ## ------------------------------------------------------------ + ## Compute g(t_k, x_new) on event-time grid + ## NOTE: net expects SCALED time input + ## ------------------------------------------------------------ + g_new_mat <- matrix(NA_real_, nrow = nrow(x_scaled), ncol = length(event_times)) for (j in seq_along(event_times)) { - - x_temp <- cbind(event_times[j], x_scaled) - - x_tensor <- torch::torch_tensor( - x_temp, - dtype = torch::torch_float(), - device = device - ) - + tj <- event_times[j] + tjs <- scale_t(tj) + x_temp <- cbind(tjs, x_scaled) + x_tensor <- torch::torch_tensor(x_temp, dtype = torch::torch_float(), device = device) torch::with_no_grad({ g_new_mat[, j] <- as.numeric(model(x_tensor)[, 1]) }) } - ## g(T_i, x_train) - g_train_mat <- matrix( - NA_real_, - nrow = nrow(train_x_scaled), - ncol = length(event_times) - ) - + ## ------------------------------------------------------------ + ## Compute g(t_k, x_train) on event-time grid (scaled time input) + ## ------------------------------------------------------------ + g_train_mat <- matrix(NA_real_, nrow = nrow(train_x_scaled), ncol = length(event_times)) for (j in seq_along(event_times)) { - - x_temp <- cbind(event_times[j], train_x_scaled) - - x_tensor <- torch::torch_tensor( - x_temp, - dtype = torch::torch_float(), - device = device - ) - + tj <- event_times[j] + tjs <- scale_t(tj) + x_temp <- cbind(tjs, train_x_scaled) + x_tensor <- torch::torch_tensor(x_temp, dtype = torch::torch_float(), device = device) torch::with_no_grad({ g_train_mat[, j] <- as.numeric(model(x_tensor)[, 1]) }) } - dN <- as.numeric(table(factor(time_train[status_train == 1], levels = event_times))) - denom <- colSums(exp(g_train_mat), na.rm = TRUE) - dH0 <- dN / denom - - H_pred <- matrix( - NA_real_, - nrow = nrow(g_new_mat), - ncol = length(times) - ) - - for (i in seq_along(times)) { - - relevant <- which(event_times <= times[i]) - + ## ------------------------------------------------------------ + ## Baseline increments: dH0(t_k) = dN(t_k) / sum_{j in R(t_k)} exp(g(t_k, x_j)) + ## risk sets are defined on RAW time (correct) + ## ------------------------------------------------------------ + dN <- as.numeric(table(factor(time_train[status_train == 1], levels = event_times))) + + risk_mat <- outer(time_train, event_times, `>=`) + denom <- colSums(exp(g_train_mat) * risk_mat, na.rm = TRUE) + + denom[denom <= 0] <- NA_real_ + dH0 <- dN / denom + dH0[is.na(dH0)] <- 0 + + ## ------------------------------------------------------------ + ## Cumulative hazard at requested times (RAW time grid) + ## ------------------------------------------------------------ + H_pred <- matrix(0, nrow = nrow(g_new_mat), ncol = length(times_sorted)) + for (i in seq_along(times_sorted)) { + relevant <- which(event_times <= times_sorted[i]) if (length(relevant) > 0) { - H_pred[, i] <- rowSums( exp(g_new_mat[, relevant, drop = FALSE]) * - matrix( - rep(dH0[relevant], each = nrow(g_new_mat)), - nrow = nrow(g_new_mat) - ) + matrix(rep(dH0[relevant], each = nrow(g_new_mat)), nrow = nrow(g_new_mat)) ) - } else { H_pred[, i] <- 0 } } S_pred <- exp(-H_pred) + S_pred[S_pred < 0] <- 0 + S_pred[S_pred > 1] <- 1 - if (type == "risk") { - return(1 - S_pred[, length(times)]) - } + if (type == "risk") return(1 - S_pred[, 1]) - colnames(S_pred) <- paste0("t=", times) + colnames(S_pred) <- paste0("t=", times_sorted) return(as.data.frame(S_pred)) } - stop("Unsupported loss type for prediction: ", loss) + stop("Unsupported loss type for prediction: ", loss, call. = FALSE) } diff --git a/R/survdnn.R b/R/survdnn.R index 44c4aff..af66dd2 100644 --- a/R/survdnn.R +++ b/R/survdnn.R @@ -17,41 +17,41 @@ #' @keywords internal #' @export build_dnn <- function(input_dim, - hidden, - activation = "relu", - output_dim = 1L, - dropout = 0.3, - batch_norm = TRUE) { - - layers <- list() - in_features <- input_dim - - act_fn <- switch( - activation, - relu = torch::nn_relu, - leaky_relu = torch::nn_leaky_relu, - tanh = torch::nn_tanh, - sigmoid = torch::nn_sigmoid, - gelu = torch::nn_gelu, - elu = torch::nn_elu, - softplus = torch::nn_softplus, - stop("Unsupported activation function: ", activation) - ) - - for (h in hidden) { - layers <- append(layers, list(torch::nn_linear(in_features, h))) - if (isTRUE(batch_norm)) { - layers <- append(layers, list(torch::nn_batch_norm1d(h))) - } - layers <- append(layers, list(act_fn())) - if (!is.null(dropout) && dropout > 0) { - layers <- append(layers, list(torch::nn_dropout(p = dropout))) - } - in_features <- h - } - - layers <- append(layers, list(torch::nn_linear(in_features, output_dim))) - torch::nn_sequential(!!!layers) + hidden, + activation = "relu", + output_dim = 1L, + dropout = 0.3, + batch_norm = TRUE) { + +layers <- list() +in_features <- input_dim + +act_fn <- switch( +activation, +relu = torch::nn_relu, +leaky_relu = torch::nn_leaky_relu, +tanh = torch::nn_tanh, +sigmoid = torch::nn_sigmoid, +gelu = torch::nn_gelu, +elu = torch::nn_elu, +softplus = torch::nn_softplus, +stop("Unsupported activation function: ", activation) +) + +for (h in hidden) { +layers <- append(layers, list(torch::nn_linear(in_features, h))) +if (isTRUE(batch_norm)) { +layers <- append(layers, list(torch::nn_batch_norm1d(h))) +} +layers <- append(layers, list(act_fn())) +if (!is.null(dropout) && dropout > 0) { +layers <- append(layers, list(torch::nn_dropout(p = dropout))) +} +in_features <- h +} + +layers <- append(layers, list(torch::nn_linear(in_features, output_dim))) +torch::nn_sequential(!!!layers) } @@ -107,197 +107,248 @@ build_dnn <- function(input_dim, #' \item{optimizer}{Optimizer name used.} #' \item{optim_args}{List of optimizer arguments used.} #' \item{device}{Torch device used for training (`torch_device`).} +#' \item{aft_log_sigma}{Learned global log(sigma) for `loss="aft"`; `NA_real_` otherwise.} +#' \item{aft_loc}{AFT log-time location offset used for centering when `loss="aft"`; `NA_real_` otherwise.} +#' \item{coxtime_time_center}{Mean used to scale time for CoxTime; `NA_real_` otherwise.} +#' \item{coxtime_time_scale}{SD used to scale time for CoxTime; `NA_real_` otherwise.} #' } #' @export survdnn <- function(formula, data, - hidden = c(32L, 16L), - activation = "relu", - lr = 1e-4, - epochs = 300L, - loss = c("cox", "cox_l2", "aft", "coxtime"), - optimizer = c("adam", "adamw", "sgd", "rmsprop", "adagrad"), - optim_args = list(), - verbose = TRUE, - dropout = 0.3, - batch_norm = TRUE, - callbacks = NULL, - .seed = NULL, - .device = c("auto", "cpu", "cuda"), - na_action = c("omit", "fail")) { - - survdnn_set_seed(.seed) - - device <- survdnn_get_device(.device) - - loss <- match.arg(loss) - optimizer <- match.arg(optimizer) - na_action <- match.arg(na_action) - - if (!is.list(optim_args)) { - stop("`optim_args` must be a list (possibly empty).", call. = FALSE) - } - - if (!is.null(callbacks)) { - if (is.function(callbacks)) { - callbacks <- list(callbacks) - } else if (!is.list(callbacks) || !all(vapply(callbacks, is.function, logical(1)))) { - stop("`callbacks` must be NULL, a function, or a list of functions.", call. = FALSE) - } - } - - stopifnot(inherits(formula, "formula")) - stopifnot(is.data.frame(data)) - - loss_fn <- switch( - loss, - cox = cox_loss, - cox_l2 = function(pred, true) cox_l2_loss(pred, true, lambda = 1e-3), - aft = aft_loss, - coxtime = coxtime_loss - ) - - environment(formula) <- list2env( - list(Surv = survival::Surv), - parent = environment(formula) - ) - - ## explicit missing-data handling - n_before <- nrow(data) - - mf <- model.frame( - formula, - data = data, - na.action = if (na_action == "omit") stats::na.omit else stats::na.fail - ) - - n_after <- nrow(mf) - n_removed <- n_before - n_after - - if (n_removed > 0 && isTRUE(verbose) && na_action == "omit") { - message(sprintf("Removed %d observations with missing values.", n_removed)) - } - - y <- model.response(mf) - x <- model.matrix(attr(mf, "terms"), data = mf)[, -1, drop = FALSE] - time <- y[, "time"] - status <- y[, "status"] - x_scaled <- scale(x) - - x_tensor <- if (loss == "coxtime") { - torch::torch_tensor( - cbind(time, x_scaled), - dtype = torch::torch_float(), - device = device - ) - } else { - torch::torch_tensor( - x_scaled, - dtype = torch::torch_float(), - device = device - ) - } - - y_tensor <- torch::torch_tensor( - cbind(time, status), - dtype = torch::torch_float(), - device = device - ) - - ## build network with dropout + batch_norm controls - net <- build_dnn( - input_dim = ncol(x_tensor), - hidden = hidden, - activation = activation, - output_dim = 1L, - dropout = dropout, - batch_norm = batch_norm - ) - net$to(device = device) - - ## build optimizer with dispatcher - opt_args <- c( - list(params = net$parameters, lr = lr), - optim_args - ) - - ## default weight decay for adam/adamw if not provided - if (is.null(optim_args$weight_decay) && optimizer %in% c("adam", "adamw")) { - opt_args$weight_decay <- 1e-4 - } - - optimizer_obj <- switch( - optimizer, - adam = do.call(torch::optim_adam, opt_args), - adamw = do.call(torch::optim_adamw, opt_args), - sgd = do.call(torch::optim_sgd, opt_args), - rmsprop = do.call(torch::optim_rmsprop, opt_args), - adagrad = do.call(torch::optim_adagrad, opt_args), - stop("Unsupported optimizer: ", optimizer) - ) - - loss_history <- numeric(epochs) - early_stopped <- FALSE - last_epoch_run <- epochs - - for (epoch in 1:epochs) { - net$train() - optimizer_obj$zero_grad() - - pred <- net(x_tensor) - loss_val <- loss_fn(pred, y_tensor) - - loss_val$backward() - optimizer_obj$step() - - current_loss <- loss_val$item() - loss_history[epoch] <- current_loss - last_epoch_run <- epoch - - if (verbose && epoch %% 50 == 0) { - cat(sprintf("Epoch %d - Loss: %.6f\n", epoch, current_loss)) - cat("\n") - } - - ## callbacks - if (!is.null(callbacks)) { - for (cb in callbacks) { - stop_now <- isTRUE(cb(epoch, current_loss)) - if (stop_now) { - early_stopped <- TRUE - break - } - } - if (early_stopped) break - } - } - - ## truncate loss history if early stopping - if (early_stopped && last_epoch_run < epochs) { - loss_history <- loss_history[seq_len(last_epoch_run)] - } - - structure( - list( - model = net, - formula = formula, - data = data, - xnames = colnames(x), - x_center = attr(x_scaled, "scaled:center"), - x_scale = attr(x_scaled, "scaled:scale"), - loss_history = loss_history, - final_loss = tail(loss_history, 1), - loss = loss, - activation = activation, - hidden = hidden, - lr = lr, - epochs = epochs, - optimizer = optimizer, - optim_args = optim_args, - device = device, - dropout = dropout, - batch_norm = batch_norm, - na_action = na_action - ), - class = "survdnn" - ) +hidden = c(32L, 16L), +activation = "relu", +lr = 1e-4, +epochs = 300L, +loss = c("cox", "cox_l2", "aft", "coxtime"), +optimizer = c("adam", "adamw", "sgd", "rmsprop", "adagrad"), +optim_args = list(), +verbose = TRUE, +dropout = 0.3, +batch_norm = TRUE, +callbacks = NULL, +.seed = NULL, +.device = c("auto", "cpu", "cuda"), +na_action = c("omit", "fail")) { + +survdnn_set_seed(.seed) +device <- survdnn_get_device(.device) + +loss <- match.arg(loss) +optimizer <- match.arg(optimizer) +na_action <- match.arg(na_action) + +if (!is.list(optim_args)) { +stop("`optim_args` must be a list (possibly empty).", call. = FALSE) +} + +if (!is.null(callbacks)) { +if (is.function(callbacks)) { +callbacks <- list(callbacks) +} else if (!is.list(callbacks) || !all(vapply(callbacks, is.function, logical(1)))) { +stop("`callbacks` must be NULL, a function, or a list of functions.", call. = FALSE) +} +} + +stopifnot(inherits(formula, "formula")) +stopifnot(is.data.frame(data)) + +environment(formula) <- list2env( +list(Surv = survival::Surv), +parent = environment(formula) +) + +# ---- missing data handling ---- +n_before <- nrow(data) +mf <- model.frame( +formula, +data = data, +na.action = if (na_action == "omit") stats::na.omit else stats::na.fail +) +n_after <- nrow(mf) +n_removed <- n_before - n_after +if (n_removed > 0 && isTRUE(verbose) && na_action == "omit") { +message(sprintf("Removed %d observations with missing values.", n_removed)) +} + +y <- model.response(mf) +x <- model.matrix(attr(mf, "terms"), data = mf)[, -1, drop = FALSE] +time <- y[, "time"] +status <- y[, "status"] +x_scaled <- scale(x) + +# ---- AFT location offset for stability ---- +aft_loc <- NA_real_ +if (loss == "aft") { +evt <- (status == 1) +if (any(evt)) { +aft_loc <- mean(log(pmax(time[evt], .Machine$double.eps))) +} else { +aft_loc <- mean(log(pmax(time, .Machine$double.eps))) +} +if (!is.finite(aft_loc)) aft_loc <- 0 +} + +# ---- CoxTime time scaling (CRITICAL for heterogeneity) ---- +coxtime_time_center <- NA_real_ +coxtime_time_scale <- NA_real_ +time_scaled <- NULL + +if (loss == "coxtime") { +ts <- scale(as.numeric(time)) +coxtime_time_center <- as.numeric(attr(ts, "scaled:center")) +coxtime_time_scale <- as.numeric(attr(ts, "scaled:scale")) +if (!is.finite(coxtime_time_scale) || coxtime_time_scale <= 0) coxtime_time_scale <- 1 +time_scaled <- as.numeric(ts) +} + +# ---- tensors ---- +# x_tensor: +# - coxtime: [time_scaled, x_scaled] (time as fed to net) +# - others : [x_scaled] +x_tensor <- if (loss == "coxtime") { +torch::torch_tensor( +cbind(time_scaled, x_scaled), +dtype = torch::torch_float(), +device = device +) +} else { +torch::torch_tensor( +x_scaled, +dtype = torch::torch_float(), +device = device +) +} + +# y_tensor always uses RAW time for ordering/risk sets +y_tensor <- torch::torch_tensor( +cbind(time, status), +dtype = torch::torch_float(), +device = device +) + +# ---- network ---- +net <- build_dnn( +input_dim = ncol(x_tensor), +hidden = hidden, +activation = activation, +output_dim = 1L, +dropout = dropout, +batch_norm = batch_norm +) +net$to(device = device) + +# ---- loss dispatcher + (optional) AFT extra params ---- +extra_params <- NULL # list for AFT, NULL otherwise +aft_log_sigma <- NA_real_ # ALWAYS numeric +loss_fn <- NULL + +if (loss == "cox") { +loss_fn <- function(net, x, y) cox_loss(net(x), y) +} else if (loss == "cox_l2") { +loss_fn <- function(net, x, y) cox_l2_loss(net(x), y, lambda = 1e-3) +} else if (loss == "aft") { +loc0 <- if (is.finite(aft_loc)) aft_loc else 0 +aft_bundle <- survdnn__aft_lognormal_nll_factory(device = device, aft_loc = loc0) +extra_params <- aft_bundle$extra_params +loss_fn <- function(net, x, y) aft_bundle$loss_fn(net, x, y) +} else if (loss == "coxtime") { +lf <- survdnn__coxtime_loss_factory(net) +loss_fn <- function(net, x, y) lf(x, y) +} else { +stop("Unsupported loss: ", loss, call. = FALSE) +} + +# ---- optimizer params ---- +params <- net$parameters +if (loss == "aft" && !is.null(extra_params) && !is.null(extra_params$log_sigma)) { +params <- c(params, list(extra_params$log_sigma)) +} + +opt_args <- c(list(params = params, lr = lr), optim_args) + +if (is.null(optim_args$weight_decay) && optimizer %in% c("adam", "adamw")) { +opt_args$weight_decay <- 1e-4 +} + +optimizer_obj <- switch( +optimizer, +adam = do.call(torch::optim_adam, opt_args), +adamw = do.call(torch::optim_adamw, opt_args), +sgd = do.call(torch::optim_sgd, opt_args), +rmsprop = do.call(torch::optim_rmsprop, opt_args), +adagrad = do.call(torch::optim_adagrad, opt_args), +stop("Unsupported optimizer: ", optimizer) +) + +# ---- training loop ---- +loss_history <- numeric(epochs) +early_stopped <- FALSE +last_epoch_run <- epochs + +for (epoch in 1:epochs) { +net$train() +optimizer_obj$zero_grad() + +loss_val <- loss_fn(net, x_tensor, y_tensor) +loss_val$backward() +optimizer_obj$step() + +current_loss <- loss_val$item() +loss_history[epoch] <- current_loss +last_epoch_run <- epoch + +if (verbose && epoch %% 50 == 0) { +cat(sprintf("Epoch %d - Loss: %.6f\n\n", epoch, current_loss)) +} + +if (!is.null(callbacks)) { +for (cb in callbacks) { +if (isTRUE(cb(epoch, current_loss))) { +early_stopped <- TRUE +break +} +} +if (early_stopped) break +} +} + +if (early_stopped && last_epoch_run < epochs) { +loss_history <- loss_history[seq_len(last_epoch_run)] +} + +# ---- store learned AFT log(sigma) robustly ---- +if (loss == "aft" && !is.null(extra_params) && !is.null(extra_params$log_sigma)) { +aft_log_sigma <- as.numeric(extra_params$log_sigma$item()) +if (!is.finite(aft_log_sigma)) aft_log_sigma <- NA_real_ +} else { +aft_log_sigma <- NA_real_ +} + +structure( +list( +model = net, +formula = formula, +data = data, +xnames = colnames(x), +x_center = attr(x_scaled, "scaled:center"), +x_scale = attr(x_scaled, "scaled:scale"), +loss_history = loss_history, +final_loss = tail(loss_history, 1), +loss = loss, +activation = activation, +hidden = hidden, +lr = lr, +epochs = epochs, +optimizer = optimizer, +optim_args = optim_args, +device = device, +dropout = dropout, +batch_norm = batch_norm, +na_action = na_action, +aft_log_sigma = aft_log_sigma, +aft_loc = if (loss == "aft") aft_loc else NA_real_, +coxtime_time_center = if (loss == "coxtime") coxtime_time_center else NA_real_, +coxtime_time_scale = if (loss == "coxtime") coxtime_time_scale else NA_real_ +), +class = "survdnn" +) } diff --git a/README.Rmd b/README.Rmd index 493dc8e..14faaf1 100644 --- a/README.Rmd +++ b/README.Rmd @@ -4,31 +4,40 @@ output: github_document # survdnn -> Deep Neural Networks for Survival Analysis Using [torch](https://torch.mlverse.org/) +> Deep Neural Networks for Survival Analysis using [torch](https://torch.mlverse.org/) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) [![R-CMD-check](https://github.com/ielbadisy/survdnn/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/ielbadisy/survdnn/actions/workflows/R-CMD-check.yaml) ---- -`survdnn` implements neural network-based models for right-censored survival analysis using the native `torch` backend in R. It supports multiple loss functions including Cox partial likelihood, L2-penalized Cox, Accelerated Failure Time (AFT) objectives, as well as time-dependent extension such as Cox-Time. The package provides a formula interface, supports model evaluation using time-dependent metrics (e.g., C-index, Brier score, IBS), cross-validation, and hyperparameter tuning. +## About + +`survdnn` implements neural network-based models for right-censored survival analysis using the native `torch` backend in R. It supports multiple loss functions including Cox partial likelihood, L2-penalized Cox, Accelerated Failure Time (AFT) objectives, as well as time-dependent extension such as Cox-Time. The package provides a formula interface, supports model evaluation using time-dependent metrics (C-index, Brier score, IBS), cross-validation, and hyperparameter tuning. + +## Review status + +A methodological paper describing the design, implementation, and evaluation of `survdnn` is currently under review at _The R Journal_. ---- -## Features +## Main features - Formula interface for `Surv() ~ .` models -- Modular neural architectures: configurable layers, activations, and losses + +- Modular neural architectures: configurable layers, activations, optimizers, and losses + - Built-in survival loss functions: + - `"cox"`: Cox partial likelihood - `"cox_l2"`: penalized Cox - `"aft"`: Accelerated Failure Time - - `"coxtime"`: deep time-dependent Cox (like DeepSurv) -- Evaluation: C-index, Brier score, Integrated Brier Score (IBS) + - `"coxtime"`: deep time-dependent Cox + +- Evaluation: C-index, Brier score, IBS + - Model selection with `cv_survdnn()` and `tune_survdnn()` + - Prediction of survival curves via `predict()` and `plot()` ---- ## Installation @@ -47,9 +56,8 @@ setwd("survdnn") devtools::install() ``` ---- -## Quick Example +## Quick example ```{r, message = FALSE, warning = FALSE} library(survdnn) @@ -62,13 +70,11 @@ mod <- survdnn( Surv(time, status) ~ age + karno + celltype, data = veteran, hidden = c(32, 16), - epochs = 100, + epochs = 300, loss = "cox", verbose = TRUE ) -``` -```{r} summary(mod) ``` @@ -76,62 +82,64 @@ summary(mod) plot(mod, group_by = "celltype", times = 1:300) ``` ---- ## Loss Functions +- Cox partial likelihood + ```{r} -# Cox partial likelihood mod1 <- survdnn( Surv(time, status) ~ age + karno, data = veteran, loss = "cox", - epochs = 100 + epochs = 300 ) ``` +- Accelerated Failure Time + ```{r} -# Accelerated Failure Time mod2 <- survdnn( Surv(time, status) ~ age + karno, data = veteran, loss = "aft", - epochs = 100 + epochs = 300 ) ``` +- Coxtime + ```{r} -# Deep time-dependent Cox (Coxtime) mod3 <- survdnn( Surv(time, status) ~ age + karno, data = veteran, loss = "coxtime", - epochs = 100 + epochs = 300 ) ``` ---- -## Cross-Validation +## Cross-validation ```{r, eval = FALSE} cv_results <- cv_survdnn( Surv(time, status) ~ age + karno + celltype, data = veteran, - times = c(30, 90, 180), + times = c(600), metrics = c("cindex", "ibs"), folds = 3, hidden = c(16, 8), loss = "cox", - epochs = 100 + epochs = 300 ) + print(cv_results) ``` ---- -## Hyperparameter Tuning + +## Hyperparameter tuning ```{r, eval = FALSE} grid <- list( @@ -152,23 +160,56 @@ tune_res <- tune_survdnn( refit = FALSE, return = "summary" ) + print(tune_res) ``` ---- -## Plot Survival Curves + +## Tuning and refitting the best Model + +`tune_survdnn()` can be used also to automatically refit the best-performing model on the full dataset. This behavior is controlled by the `refit` and `return` arguments. For example: + +```{r, eval = FALSE} +best_model <- tune_survdnn( + formula = Surv(time, status) ~ age + karno + celltype, + data = veteran, + times = c(90, 300), + metrics = "cindex", + param_grid = grid, + folds = 3, + refit = TRUE, + return = "best_model" + ) +``` + + +In this mode, cross-validation is used to select the optimal hyperparameter configuration, after which the selected model is refitted on the full dataset. The function then returns a fitted object of class `"survdnn"`. + +The resulting model can be used directly for prediction visualization, and evaluation: + +```{r, eval = FALSE} +summary(best_model) + +plot(best_model, times = 1:300) + +predict(best_model, veteran, type = "risk", times = 180) +``` + +This makes `tune_survdnn()` suitable for end-to-end workflows, combining model selection and final model fitting. + + + +## Plot survival curves ```{r} plot(mod1, group_by = "celltype", times = 1:300) ``` - ```{r} plot(mod1, group_by = "celltype", times = 1:300, plot_mean_only = TRUE) ``` ---- ## Documentation @@ -180,43 +221,81 @@ help(package = "survdnn") ?plot.survdnn ``` ---- - ## Testing ```{r, eval = FALSE} -# Run all tests +# run all tests devtools::test() ``` +## Note on reproducibility ---- +By default, `{torch}` initializes model weights and shuffles minibatches using random draws, so results may differ across runs. Unlike `set.seed()`, which only controls R's random number generator, `{torch}` relies on its own RNG implemented in C++ (and CUDA when using GPUs). + +To ensure reproducibility, random seeds must therefore be set at the Torch level as well. + +`survdnn` provides built-in control of randomness to guarantee reproducible results across runs. The main fitting function, `survdnn()`, exposes a dedicated `.seed` argument: + +```{r, eval = FALSE} +mod <- survdnn( + Surv(time, status) ~ age + karno + celltype, + data = veteran, + epochs = 300, + .seed = 123 +) +``` + +When `.seed` is provided, `survdnn()` internally synchronizes both R and Torch random number generators via `survdnn_set_seed()`, ensuring reproducible: + +* weight initialization + +* dropout behavior + +* minibatch ordering -## Reproducibility +* loss trajectories -By default, Torch initializes model weights and shuffles minibatches with random draws, so results may differ at each run. -Unlike `set.seed()`, which only controls R’s RNG, `{torch}` uses its own RNG implemented in C++/CUDA. To ensure reproducibility, set the Torch seed before training: +If `.seed = NULL` (the default), randomness is left uncontrolled and results may vary between runs. + +For full reproducibility in cross-validation or hyperparameter tuning, the same `.seed` mechanism is propagated internally by `cv_survdnn()` and `tune_survdnn()`, ensuring consistent data splits, model initialization, and optimization paths across repetitions. + +## CPU and core usage + +`survdnn` relies on the `{torch}` backend for numerical computation. The number of CPU cores (threads) used during training, prediction, and evaluation is controlled globally by Torch. + +By default, Torch automatically configures its CPU thread pools based on the available system resources, unless explicitly overridden by the user using: ```{r} -torch::torch_manual_seed(123) +torch::torch_set_num_threads(4) ``` ---- +This setting affects: + +* model training + +* prediction + +* evaluation metrics + +* cross-validation and hyperparameter tuning + +GPU acceleration can be enabled by setting `.device = "cuda"` when calling `survdnn()` (`cv_survdnn()` and `tune_survdnn()` too). + ## Availability -The `survdnn` R package is available on CRAN or at: https://github.com/ielbadisy/survdnn +The `survdnn` R package is available on [CRAN](https://CRAN.R-project.org/package=survdnn) or [github](https://github.com/ielbadisy/survdnn) ---- ## Contributions -Contributions, issues, and feature requests are welcome. -Open an [issue](https://github.com/ielbadisy/survdnn/issues) or submit a pull request! +Contributions, issues, and feature requests are welcome! + +Open an [issue](https://github.com/ielbadisy/survdnn/issues) or submit a pull request. ---- ## License -MIT © [Imad El Badisy](mailto:elbadisyimad@gmail.com) +MIT License © 2025 Imad EL BADISY + diff --git a/README.html b/README.html index b4c5347..346a150 100644 --- a/README.html +++ b/README.html @@ -604,39 +604,41 @@

survdnn

-

Deep Neural Networks for Survival Analysis Using torch

+

Deep Neural Networks for Survival Analysis using torch

License: MIT
R-CMD-check

-
+

About

survdnn implements neural network-based models for right-censored survival analysis using the native torch backend in R. It supports multiple loss functions including Cox partial likelihood, L2-penalized Cox, Accelerated Failure Time (AFT) objectives, as well as time-dependent extension such as Cox-Time. The package provides a formula interface, supports model evaluation using -time-dependent metrics (e.g., C-index, Brier score, IBS), -cross-validation, and hyperparameter tuning.

-
-

Features

+time-dependent metrics (C-index, Brier score, IBS), cross-validation, +and hyperparameter tuning.

+

Review status

+

A methodological paper describing the design, implementation, and +evaluation of survdnn is currently under review at The +R Journal.

+

Main features

-

Installation

# Install from CRAN
 install.packages("surdnn")
@@ -650,8 +652,7 @@ 

Installation

git clone https://github.com/ielbadisy/survdnn.git setwd("survdnn") devtools::install()
-
-

Quick Example

+

Quick example

library(survdnn)
 library(survival, quietly = TRUE)
 library(ggplot2)
@@ -662,32 +663,38 @@ 

Quick Example

Surv(time, status) ~ age + karno + celltype, data = veteran, hidden = c(32, 16), - epochs = 100, + epochs = 300, loss = "cox", verbose = TRUE )
-
## Epoch 50 - Loss: 3.898330
-## Epoch 100 - Loss: 3.834461
+
## Epoch 50 - Loss: 3.983201
+## 
+## Epoch 100 - Loss: 3.947356
+## 
+## Epoch 150 - Loss: 3.934828
+## 
+## Epoch 200 - Loss: 3.876191
+## 
+## Epoch 250 - Loss: 3.813223
+## 
+## Epoch 300 - Loss: 3.868888
summary(mod)
## 
-
-## ── Summary of survdnn model ─────────────────────────────────────────────────────────────────────
-
-## 
 ## Formula:
 ##   Surv(time, status) ~ age + karno + celltype
-## <environment: 0x57f5687daa00>
+## <environment: 0x611459d0ec80>
 ## 
 ## Model architecture:
 ##   Hidden layers:  32 : 16 
 ##   Activation:  relu 
 ##   Dropout:  0.3 
-##   Final loss:  3.834461 
+##   Final loss:  3.868888 
 ## 
 ## Training summary:
-##   Epochs:  100 
+##   Epochs:  300 
 ##   Learning rate:  1e-04 
 ##   Loss function:  cox 
+##   Optimizer:  adam 
 ## 
 ## Data summary:
 ##   Observations:  137 
@@ -695,50 +702,81 @@ 

Quick Example

## Time range: [ 1, 999 ] ## Event rate: 93.4%
plot(mod, group_by = "celltype", times = 1:300)
-

Loss Functions

-
# Cox partial likelihood
-mod1 <- survdnn(
-  Surv(time, status) ~ age + karno,
-  data = veteran,
-  loss = "cox",
-  epochs = 100
-  )
-
## Epoch 50 - Loss: 3.991873
-## Epoch 100 - Loss: 3.937163
-
# Accelerated Failure Time
-mod2 <- survdnn(
-  Surv(time, status) ~ age + karno,
-  data = veteran,
-  loss = "aft",
-  epochs = 100
-  )
-
## Epoch 50 - Loss: 18.660992
-## Epoch 100 - Loss: 18.260056
-
# Deep time-dependent Cox (Coxtime)
-mod3 <- survdnn(
-  Surv(time, status) ~ age + karno,
-  data = veteran,
-  loss = "coxtime",
-  epochs = 100
-  )
-
## Epoch 50 - Loss: 4.899240
-## Epoch 100 - Loss: 4.835490
-
-

Cross-Validation

+ +
mod1 <- survdnn(
+  Surv(time, status) ~ age + karno,
+  data = veteran,
+  loss = "cox",
+  epochs = 300
+  )
+
## Epoch 50 - Loss: 3.986035
+## 
+## Epoch 100 - Loss: 3.973183
+## 
+## Epoch 150 - Loss: 3.944867
+## 
+## Epoch 200 - Loss: 3.901533
+## 
+## Epoch 250 - Loss: 3.849433
+## 
+## Epoch 300 - Loss: 3.899746
+ +
mod2 <- survdnn(
+  Surv(time, status) ~ age + karno,
+  data = veteran,
+  loss = "aft",
+  epochs = 300
+  )
+
## Epoch 50 - Loss: 18.154217
+## 
+## Epoch 100 - Loss: 17.844833
+## 
+## Epoch 150 - Loss: 17.560537
+## 
+## Epoch 200 - Loss: 17.134348
+## 
+## Epoch 250 - Loss: 16.840366
+## 
+## Epoch 300 - Loss: 16.344124
+ +
mod3 <- survdnn(
+  Surv(time, status) ~ age + karno,
+  data = veteran,
+  loss = "coxtime",
+  epochs = 300
+  )
+
## Epoch 50 - Loss: 4.932558
+## 
+## Epoch 100 - Loss: 4.864682
+## 
+## Epoch 150 - Loss: 4.830169
+## 
+## Epoch 200 - Loss: 4.784954
+## 
+## Epoch 250 - Loss: 4.764827
+## 
+## Epoch 300 - Loss: 4.731824
+

Cross-validation

cv_results <- cv_survdnn(
   Surv(time, status) ~ age + karno + celltype,
   data = veteran,
-  times = c(30, 90, 180),
+  times = c(600),
   metrics = c("cindex", "ibs"),
   folds = 3,
   hidden = c(16, 8),
   loss = "cox",
-  epochs = 100
+  epochs = 300
   )
-print(cv_results)
-
-

Hyperparameter Tuning

+ +print(cv_results) +

Hyperparameter tuning

grid <- list(
   hidden     = list(c(16), c(32, 16)),
   lr         = c(1e-3),
@@ -757,42 +795,112 @@ 

Hyperparameter Tuning

refit = FALSE, return = "summary" ) -print(tune_res)
-
-

Plot Survival Curves

-
plot(mod1, group_by = "celltype", times = 1:300)
-

-
plot(mod1, group_by = "celltype", times = 1:300, plot_mean_only = TRUE)
-

-
+ +print(tune_res) +

Tuning and refitting the +best Model

+

tune_survdnn() can be used also to automatically refit +the best-performing model on the full dataset. This behavior is +controlled by the refit and return arguments. +For example:

+
best_model <- tune_survdnn(
+  formula = Surv(time, status) ~ age + karno + celltype,
+  data = veteran,
+  times = c(90, 300),
+  metrics = "cindex",
+  param_grid = grid,
+  folds = 3,
+  refit = TRUE,
+  return = "best_model"
+  )
+

In this mode, cross-validation is used to select the optimal +hyperparameter configuration, after which the selected model is refitted +on the full dataset. The function then returns a fitted object of class +"survdnn".

+

The resulting model can be used directly for prediction +visualization, and evaluation:

+
summary(best_model)
+
+plot(best_model, times = 1:300)
+
+predict(best_model, veteran, type = "risk", times = 180)
+

This makes tune_survdnn() suitable for end-to-end +workflows, combining model selection and final model fitting.

+

Plot survival curves

+
plot(mod1, group_by = "celltype", times = 1:300)
+

+
plot(mod1, group_by = "celltype", times = 1:300, plot_mean_only = TRUE)
+

Documentation

-
help(package = "survdnn")
-?survdnn
-?tune_survdnn
-?cv_survdnn
-?plot.survdnn
-
+
help(package = "survdnn")
+?survdnn
+?tune_survdnn
+?cv_survdnn
+?plot.survdnn

Testing

-
# Run all tests
-devtools::test()
-
-

Reproducibility

-

By default, Torch initializes model weights and shuffles minibatches -with random draws, so results may differ at each run.
-Unlike set.seed(), which only controls R’s RNG, -{torch} uses its own RNG implemented in C++/CUDA. To ensure -reproducibility, set the Torch seed before training:

-
torch::torch_manual_seed(123)
-
+
# run all tests
+devtools::test()
+

Note on reproducibility

+

By default, {torch} initializes model weights and +shuffles minibatches using random draws, so results may differ across +runs. Unlike set.seed(), which only controls R’s random +number generator, {torch} relies on its own RNG implemented +in C++ (and CUDA when using GPUs).

+

To ensure reproducibility, random seeds must therefore be set at the +Torch level as well.

+

survdnn provides built-in control of randomness to +guarantee reproducible results across runs. The main fitting function, +survdnn(), exposes a dedicated .seed +argument:

+
mod <- survdnn(
+  Surv(time, status) ~ age + karno + celltype,
+  data   = veteran,
+  epochs = 300,
+  .seed  = 123
+)
+

When .seed is provided, survdnn() +internally synchronizes both R and Torch random number generators via +survdnn_set_seed(), ensuring reproducible:

+ +

If .seed = NULL (the default), randomness is left +uncontrolled and results may vary between runs.

+

For full reproducibility in cross-validation or hyperparameter +tuning, the same .seed mechanism is propagated internally +by cv_survdnn() and tune_survdnn(), ensuring +consistent data splits, model initialization, and optimization paths +across repetitions.

+

CPU and core usage

+

survdnn relies on the {torch} backend for +numerical computation. The number of CPU cores (threads) used during +training, prediction, and evaluation is controlled globally by +Torch.

+

By default, Torch automatically configures its CPU thread pools based +on the available system resources, unless explicitly overridden by the +user using:

+
torch::torch_set_num_threads(4)
+

This setting affects:

+ +

GPU acceleration can be enabled by setting +.device = "cuda" when calling survdnn() +(cv_survdnn() and tune_survdnn() too).

Availability

-

The survdnn R package is available on CRAN or at: https://github.com/ielbadisy/survdnn

-
+

The survdnn R package is available on CRAN or github

Contributions

-

Contributions, issues, and feature requests are welcome. Open an issue or submit a -pull request!

-
+

Contributions, issues, and feature requests are welcome!

+

Open an issue or submit a +pull request.

License

-

MIT © Imad El Badisy

+

MIT License © 2025 Imad EL BADISY

diff --git a/README.md b/README.md index 15d9aa9..53c668e 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,14 @@ # survdnn -> Deep Neural Networks for Survival Analysis Using +> Deep Neural Networks for Survival Analysis using > [torch](https://torch.mlverse.org/) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) [![R-CMD-check](https://github.com/ielbadisy/survdnn/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/ielbadisy/survdnn/actions/workflows/R-CMD-check.yaml) ------------------------------------------------------------------------- +## About `survdnn` implements neural network-based models for right-censored survival analysis using the native `torch` backend in R. It supports @@ -16,26 +16,33 @@ multiple loss functions including Cox partial likelihood, L2-penalized Cox, Accelerated Failure Time (AFT) objectives, as well as time-dependent extension such as Cox-Time. The package provides a formula interface, supports model evaluation using time-dependent -metrics (e.g., C-index, Brier score, IBS), cross-validation, and +metrics (C-index, Brier score, IBS), cross-validation, and hyperparameter tuning. ------------------------------------------------------------------------- +## Review status -## Features +A methodological paper describing the design, implementation, and +evaluation of `survdnn` is currently under review at *The R Journal*. + +## Main features - Formula interface for `Surv() ~ .` models -- Modular neural architectures: configurable layers, activations, and - losses + +- Modular neural architectures: configurable layers, activations, + optimizers, and losses + - Built-in survival loss functions: + - `"cox"`: Cox partial likelihood - `"cox_l2"`: penalized Cox - `"aft"`: Accelerated Failure Time - - `"coxtime"`: deep time-dependent Cox (like DeepSurv) -- Evaluation: C-index, Brier score, Integrated Brier Score (IBS) + - `"coxtime"`: deep time-dependent Cox + +- Evaluation: C-index, Brier score, IBS + - Model selection with `cv_survdnn()` and `tune_survdnn()` -- Prediction of survival curves via `predict()` and `plot()` ------------------------------------------------------------------------- +- Prediction of survival curves via `predict()` and `plot()` ## Installation @@ -54,9 +61,7 @@ setwd("survdnn") devtools::install() ``` ------------------------------------------------------------------------- - -## Quick Example +## Quick example ``` r library(survdnn) @@ -69,38 +74,44 @@ mod <- survdnn( Surv(time, status) ~ age + karno + celltype, data = veteran, hidden = c(32, 16), - epochs = 100, + epochs = 300, loss = "cox", verbose = TRUE ) ``` - ## Epoch 50 - Loss: 3.898330 - ## Epoch 100 - Loss: 3.834461 + ## Epoch 50 - Loss: 3.983201 + ## + ## Epoch 100 - Loss: 3.947356 + ## + ## Epoch 150 - Loss: 3.934828 + ## + ## Epoch 200 - Loss: 3.876191 + ## + ## Epoch 250 - Loss: 3.813223 + ## + ## Epoch 300 - Loss: 3.868888 ``` r summary(mod) ``` - ## - - ## ── Summary of survdnn model ───────────────────────────────────────────────────────────────────── - ## ## Formula: ## Surv(time, status) ~ age + karno + celltype - ## + ## ## ## Model architecture: ## Hidden layers: 32 : 16 ## Activation: relu ## Dropout: 0.3 - ## Final loss: 3.834461 + ## Final loss: 3.868888 ## ## Training summary: - ## Epochs: 100 + ## Epochs: 300 ## Learning rate: 1e-04 ## Loss function: cox + ## Optimizer: adam ## ## Data summary: ## Observations: 137 @@ -112,70 +123,95 @@ summary(mod) plot(mod, group_by = "celltype", times = 1:300) ``` ------------------------------------------------------------------------- - ## Loss Functions +- Cox partial likelihood + ``` r -# Cox partial likelihood mod1 <- survdnn( Surv(time, status) ~ age + karno, data = veteran, loss = "cox", - epochs = 100 + epochs = 300 ) ``` - ## Epoch 50 - Loss: 3.991873 - ## Epoch 100 - Loss: 3.937163 + ## Epoch 50 - Loss: 3.986035 + ## + ## Epoch 100 - Loss: 3.973183 + ## + ## Epoch 150 - Loss: 3.944867 + ## + ## Epoch 200 - Loss: 3.901533 + ## + ## Epoch 250 - Loss: 3.849433 + ## + ## Epoch 300 - Loss: 3.899746 + +- Accelerated Failure Time ``` r -# Accelerated Failure Time mod2 <- survdnn( Surv(time, status) ~ age + karno, data = veteran, loss = "aft", - epochs = 100 + epochs = 300 ) ``` - ## Epoch 50 - Loss: 18.660992 - ## Epoch 100 - Loss: 18.260056 + ## Epoch 50 - Loss: 18.154217 + ## + ## Epoch 100 - Loss: 17.844833 + ## + ## Epoch 150 - Loss: 17.560537 + ## + ## Epoch 200 - Loss: 17.134348 + ## + ## Epoch 250 - Loss: 16.840366 + ## + ## Epoch 300 - Loss: 16.344124 + +- Coxtime ``` r -# Deep time-dependent Cox (Coxtime) mod3 <- survdnn( Surv(time, status) ~ age + karno, data = veteran, loss = "coxtime", - epochs = 100 + epochs = 300 ) ``` - ## Epoch 50 - Loss: 4.899240 - ## Epoch 100 - Loss: 4.835490 - ------------------------------------------------------------------------- + ## Epoch 50 - Loss: 4.932558 + ## + ## Epoch 100 - Loss: 4.864682 + ## + ## Epoch 150 - Loss: 4.830169 + ## + ## Epoch 200 - Loss: 4.784954 + ## + ## Epoch 250 - Loss: 4.764827 + ## + ## Epoch 300 - Loss: 4.731824 -## Cross-Validation +## Cross-validation ``` r cv_results <- cv_survdnn( Surv(time, status) ~ age + karno + celltype, data = veteran, - times = c(30, 90, 180), + times = c(600), metrics = c("cindex", "ibs"), folds = 3, hidden = c(16, 8), loss = "cox", - epochs = 100 + epochs = 300 ) + print(cv_results) ``` ------------------------------------------------------------------------- - -## Hyperparameter Tuning +## Hyperparameter tuning ``` r grid <- list( @@ -196,26 +232,61 @@ tune_res <- tune_survdnn( refit = FALSE, return = "summary" ) + print(tune_res) ``` ------------------------------------------------------------------------- +## Tuning and refitting the best Model -## Plot Survival Curves +`tune_survdnn()` can be used also to automatically refit the +best-performing model on the full dataset. This behavior is controlled +by the `refit` and `return` arguments. For example: ``` r -plot(mod1, group_by = "celltype", times = 1:300) +best_model <- tune_survdnn( + formula = Surv(time, status) ~ age + karno + celltype, + data = veteran, + times = c(90, 300), + metrics = "cindex", + param_grid = grid, + folds = 3, + refit = TRUE, + return = "best_model" + ) ``` -![](README_files/figure-gfm/unnamed-chunk-10-1.png) +In this mode, cross-validation is used to select the optimal +hyperparameter configuration, after which the selected model is refitted +on the full dataset. The function then returns a fitted object of class +`"survdnn"`. + +The resulting model can be used directly for prediction visualization, +and evaluation: ``` r -plot(mod1, group_by = "celltype", times = 1:300, plot_mean_only = TRUE) +summary(best_model) + +plot(best_model, times = 1:300) + +predict(best_model, veteran, type = "risk", times = 180) +``` + +This makes `tune_survdnn()` suitable for end-to-end workflows, combining +model selection and final model fitting. + +## Plot survival curves + +``` r +plot(mod1, group_by = "celltype", times = 1:300) ``` ![](README_files/figure-gfm/unnamed-chunk-11-1.png) ------------------------------------------------------------------------- +``` r +plot(mod1, group_by = "celltype", times = 1:300, plot_mean_only = TRUE) +``` + +![](README_files/figure-gfm/unnamed-chunk-12-1.png) ## Documentation @@ -227,46 +298,96 @@ help(package = "survdnn") ?plot.survdnn ``` ------------------------------------------------------------------------- - ## Testing ``` r -# Run all tests +# run all tests devtools::test() ``` ------------------------------------------------------------------------- +## Note on reproducibility + +By default, `{torch}` initializes model weights and shuffles minibatches +using random draws, so results may differ across runs. Unlike +`set.seed()`, which only controls R’s random number generator, `{torch}` +relies on its own RNG implemented in C++ (and CUDA when using GPUs). + +To ensure reproducibility, random seeds must therefore be set at the +Torch level as well. + +`survdnn` provides built-in control of randomness to guarantee +reproducible results across runs. The main fitting function, +`survdnn()`, exposes a dedicated `.seed` argument: + +``` r +mod <- survdnn( + Surv(time, status) ~ age + karno + celltype, + data = veteran, + epochs = 300, + .seed = 123 +) +``` + +When `.seed` is provided, `survdnn()` internally synchronizes both R and +Torch random number generators via `survdnn_set_seed()`, ensuring +reproducible: + +- weight initialization + +- dropout behavior + +- minibatch ordering -## Reproducibility +- loss trajectories -By default, Torch initializes model weights and shuffles minibatches -with random draws, so results may differ at each run. -Unlike `set.seed()`, which only controls R’s RNG, `{torch}` uses its own -RNG implemented in C++/CUDA. To ensure reproducibility, set the Torch -seed before training: +If `.seed = NULL` (the default), randomness is left uncontrolled and +results may vary between runs. + +For full reproducibility in cross-validation or hyperparameter tuning, +the same `.seed` mechanism is propagated internally by `cv_survdnn()` +and `tune_survdnn()`, ensuring consistent data splits, model +initialization, and optimization paths across repetitions. + +## CPU and core usage + +`survdnn` relies on the `{torch}` backend for numerical computation. The +number of CPU cores (threads) used during training, prediction, and +evaluation is controlled globally by Torch. + +By default, Torch automatically configures its CPU thread pools based on +the available system resources, unless explicitly overridden by the user +using: ``` r -torch::torch_manual_seed(123) +torch::torch_set_num_threads(4) ``` ------------------------------------------------------------------------- +This setting affects: -## Availability +- model training -The `survdnn` R package is available on CRAN or at: - +- prediction + +- evaluation metrics + +- cross-validation and hyperparameter tuning + +GPU acceleration can be enabled by setting `.device = "cuda"` when +calling `survdnn()` (`cv_survdnn()` and `tune_survdnn()` too). + +## Availability ------------------------------------------------------------------------- +The `survdnn` R package is available on +[CRAN](https://CRAN.R-project.org/package=survdnn) or +[github](https://github.com/ielbadisy/survdnn) ## Contributions -Contributions, issues, and feature requests are welcome. Open an -[issue](https://github.com/ielbadisy/survdnn/issues) or submit a pull -request! +Contributions, issues, and feature requests are welcome! ------------------------------------------------------------------------- +Open an [issue](https://github.com/ielbadisy/survdnn/issues) or submit a +pull request. ## License -MIT © [Imad El Badisy](mailto:elbadisyimad@gmail.com) +MIT License © 2025 Imad EL BADISY diff --git a/README_files/figure-gfm/unnamed-chunk-11-1.png b/README_files/figure-gfm/unnamed-chunk-11-1.png index 48520e65597ac19ddb579c70377f3a1d4956db66..b79fc283b65c3df21f5491addd81a18bf744f8e6 100644 GIT binary patch literal 157083 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

n7b020QJ?4|a0;_0dY=$@Ey7_Vy4L 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

    (Jpv%$XIZvr+xE$7~N5 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 z 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

    ^q;y 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 literal 0 HcmV?d00001 diff --git a/cran-comments.md b/cran-comments.md index a026909..66177d2 100644 --- a/cran-comments.md +++ b/cran-comments.md @@ -1,28 +1,8 @@ - ## R CMD check results -0 ERRORs, 0 WARNINGs, 1 NOTEs. - -- “IBS” and “coxtime” are technical terms referring to integrated Brier score and a time-dependent Cox loss function, respectively. - -## Test environments -- Local: Ubuntu 22.04, R 4.4.0 -- R-hub: Windows Server 2022 (R-devel), macOS 12 (R-release), Fedora Linux (R-release) -- GitHub Actions CI: ubuntu-latest (R 4.3, 4.4) - -## Downstream dependencies -This is a new package, so there are no downstream reverse dependencies. - -## Comments - - -The following issues raised during initial review have been addressed: - -- Added appropriate method references in the DESCRIPTION using CRAN-compliant syntax. -- Replaced \\dontrun{} with \\donttest{} in examples and unwrapped examples that run in under 5 seconds (gridsearch_survdnn.Rd). +0 errors | 0 warnings | 1 note -This is the first CRAN release of `survdnn`, a package for deep neural network-based survival analysis using the `torch` backend in R. It includes support for several common loss functions (Cox, CoxL2 AFT, coxtime), a formula interface, and tools for model evaluation and tuning. +## Update -All functions are documented with examples. The package passes all checks and is tested on multiple platforms. +This update (version 0.7.0) is a feature release that does not modify package installation behavior, system requirements, or external dependencies. No network access, file system modification, or automatic software installation is performed at load or runtime. -Thank you for reviewing. diff --git a/tests/testthat/test-losses.R b/tests/testthat/test-losses.R index 92b3115..2db0893 100644 --- a/tests/testthat/test-losses.R +++ b/tests/testthat/test-losses.R @@ -1,59 +1,82 @@ - -test_that("cox_loss returns scalar tensor", { +test_that("cox_loss returns scalar tensor (and is differentiable)", { skip_if_not(torch_is_installed()) - time <- torch_tensor(runif(20, 1, 100)) + time <- torch_tensor(runif(20, 1, 100)) status <- torch_tensor(sample(0:1, 20, replace = TRUE)) - y <- torch_stack(list(time, status), dim = 2) - pred <- torch_randn(20, 1) + y <- torch_stack(list(time, status), dim = 2) + + # pred must require grad to test autograd + pred <- torch_randn(20, 1, requires_grad = TRUE) loss <- cox_loss(pred, y) + expect_true(inherits(loss, "torch_tensor")) expect_equal(loss$numel(), 1) + expect_true(isTRUE(loss$requires_grad)) + + expect_silent(loss$backward()) + expect_false(torch::is_undefined_tensor(pred$grad)) }) -test_that("cox_l2_loss returns penalized scalar tensor", { +test_that("cox_l2_loss returns penalized scalar tensor (and is differentiable)", { skip_if_not(torch_is_installed()) - time <- torch_tensor(runif(20, 1, 100)) + time <- torch_tensor(runif(20, 1, 100)) status <- torch_tensor(sample(0:1, 20, replace = TRUE)) - y <- torch_stack(list(time, status), dim = 2) - pred <- torch_randn(20, 1) + y <- torch_stack(list(time, status), dim = 2) + + pred <- torch_randn(20, 1, requires_grad = TRUE) loss <- cox_l2_loss(pred, y, lambda = 0.01) + expect_true(inherits(loss, "torch_tensor")) expect_equal(loss$numel(), 1) -}) + expect_true(isTRUE(loss$requires_grad)) + expect_silent(loss$backward()) + expect_false(torch::is_undefined_tensor(pred$grad)) +}) -test_that("aft_loss returns scalar tensor (uncensored only)", { +test_that("aft_loss returns scalar tensor (censored log-normal NLL)", { skip_if_not(torch_is_installed()) time <- torch_tensor(runif(20, 1, 100)) status <- torch_tensor(sample(0:1, 20, replace = TRUE)) y <- torch_stack(list(time, status), dim = 2) - pred <- torch_randn(20, 1) - loss <- aft_loss(pred, y) + + pred <- torch_randn(20, 1, requires_grad = TRUE) + + loss <- aft_loss(pred, y, sigma = 1) + expect_true(inherits(loss, "torch_tensor")) expect_equal(loss$numel(), 1) + expect_true(isTRUE(loss$requires_grad)) + + expect_silent(loss$backward()) + expect_false(torch::is_undefined_tensor(pred$grad)) }) -test_that("aft_loss returns 0 for fully censored data", { +test_that("aft_loss is finite for fully censored data (no special-casing to 0)", { skip_if_not(torch_is_installed()) time <- torch_tensor(runif(10, 1, 100)) status <- torch_zeros(10) y <- torch_stack(list(time, status), dim = 2) - pred <- torch_randn(10, 1) - loss <- aft_loss(pred, y) + pred <- torch_randn(10, 1, requires_grad = TRUE) + + loss <- aft_loss(pred, y, sigma = 1) - expect_equal(as.numeric(loss), 0) expect_true(inherits(loss, "torch_tensor")) expect_equal(loss$numel(), 1) + expect_true(is.finite(as.numeric(loss))) + expect_gt(as.numeric(loss), 0) + + expect_silent(loss$backward()) + expect_false(torch::is_undefined_tensor(pred$grad)) }) -test_that("aft_loss fully censored returns 0 on same device as pred (if CUDA available)", { +test_that("aft_loss fully censored stays on same device as pred (CUDA)", { skip_if_not(torch_is_installed()) skip_if_not(cuda_is_available()) @@ -62,29 +85,69 @@ test_that("aft_loss fully censored returns 0 on same device as pred (if CUDA ava time <- torch_tensor(runif(10, 1, 100), device = device) status <- torch_zeros(10, device = device) y <- torch_stack(list(time, status), dim = 2) - pred <- torch_randn(10, 1, device = device) - loss <- aft_loss(pred, y) + pred <- torch_randn(10, 1, device = device, requires_grad = TRUE) + + loss <- aft_loss(pred, y, sigma = 1) - expect_equal(as.numeric(loss$to(device = "cpu")), 0) expect_true(inherits(loss, "torch_tensor")) expect_equal(loss$numel(), 1) + expect_true(is.finite(as.numeric(loss$to(device = "cpu")))) expect_equal(loss$device$type, pred$device$type) -}) - + expect_silent(loss$backward()) + expect_false(torch::is_undefined_tensor(pred$grad)) +}) -test_that("coxtime_loss implements partial likelihood faithfully", { +test_that("coxtime_loss() is a placeholder and errors (use factory in training)", { skip_if_not(torch_is_installed()) n <- 50 - pred <- torch_randn(c(n, 1)) - time <- torch_rand(c(n, 1)) * 100 + pred <- torch_randn(c(n, 1)) + time <- torch_rand(c(n, 1)) * 100 status <- torch_ones(c(n, 1)) - true <- torch_cat(list(time, status), dim = 2) + true <- torch_cat(list(time, status), dim = 2) - loss <- coxtime_loss(pred, true) - expect_true(!torch::is_undefined_tensor(loss)) - expect_length(loss, 1) - expect_gt(as.numeric(loss), 0) + expect_error( + coxtime_loss(pred, true), + regexp = "not identifiable|requires evaluating", + fixed = FALSE + ) }) + +test_that("survdnn__coxtime_loss_factory returns scalar tensor and is differentiable", { + skip_if_not(torch_is_installed()) + + n <- 30 + p <- 4 + d <- 1 + p + + # simple net; no BN to keep this unit test lightweight + net <- torch::nn_sequential( + torch::nn_linear(d, 8), + torch::nn_relu(), + torch::nn_linear(8, 1) + ) + net$train() + + time <- torch_tensor(runif(n, 1, 100)) + status <- torch_tensor(sample(0:1, n, replace = TRUE)) + y <- torch_stack(list(time, status), dim = 2) + + x_cov <- torch_randn(n, p) + x_tensor <- torch_cat(list(time$unsqueeze(2), x_cov), dim = 2) # [n, 1+p] + + lf <- survdnn__coxtime_loss_factory(net) + loss <- lf(x_tensor, y) + + expect_true(inherits(loss, "torch_tensor")) + expect_equal(loss$numel(), 1) + expect_true(isTRUE(loss$requires_grad)) + + expect_silent(loss$backward()) + + # at least one parameter should have a defined gradient + grads <- lapply(net$parameters, function(par) par$grad) + gsum <- sum(vapply(grads, function(g) if (is.null(g)) 0 else as.numeric(g$abs()$sum()$item()), numeric(1))) + expect_gt(gsum, 0) +}) \ No newline at end of file diff --git a/tests/testthat/test-predict.survdnn.R b/tests/testthat/test-predict.survdnn.R index d690e05..3db7d61 100644 --- a/tests/testthat/test-predict.survdnn.R +++ b/tests/testthat/test-predict.survdnn.R @@ -57,6 +57,8 @@ test_that("predict.survdnn handles invalid or missing times properly", { expect_error(predict(mod, newdata = data, type = "survival"), "`times` must be specified") + expect_error(predict(mod, newdata = data, type = "risk", times = c(30, 60)), - "For type = 'risk', `times` must be a single value.") + "For type = 'risk', `times` must be a single( numeric)? value\\.") + }) diff --git a/tests/testthat/test-survdnn.R b/tests/testthat/test-survdnn.R index dbbe2cb..1ccb057 100644 --- a/tests/testthat/test-survdnn.R +++ b/tests/testthat/test-survdnn.R @@ -30,8 +30,13 @@ test_that("survdnn() fits a model and returns correct structure", { expect_named( mod, - c("activation", + c( + "activation", + "aft_loc", + "aft_log_sigma", "batch_norm", + "coxtime_time_center", + "coxtime_time_scale", "data", "device", "dropout", @@ -48,9 +53,16 @@ test_that("survdnn() fits a model and returns correct structure", { "optimizer", "x_center", "x_scale", - "xnames"), + "xnames" + ), ignore.order = TRUE ) + + # sanity: for loss="cox", AFT/CoxTime metadata should be NA + expect_true(is.na(mod$aft_log_sigma)) + expect_true(is.na(mod$aft_loc)) + expect_true(is.na(mod$coxtime_time_center)) + expect_true(is.na(mod$coxtime_time_scale)) }) @@ -91,5 +103,6 @@ test_that("survdnn() is reproducible given .seed", { verbose = FALSE, .seed = 999 ) + expect_equal(mod1$loss_history, mod2$loss_history) }) From 6ce10f0181c37af4d5c7b45487e030b87a3d620c Mon Sep 17 00:00:00 2001 From: ielbadisy Date: Mon, 5 Jan 2026 16:26:49 +0100 Subject: [PATCH 2/5] docs: regenerate Rd files --- man/predict.survdnn.Rd | 28 +++++++--------------------- man/survdnn.Rd | 4 ++++ man/survdnn_losses.Rd | 19 +++++++++++++++---- 3 files changed, 26 insertions(+), 25 deletions(-) diff --git a/man/predict.survdnn.Rd b/man/predict.survdnn.Rd index cdc7469..975927c 100644 --- a/man/predict.survdnn.Rd +++ b/man/predict.survdnn.Rd @@ -12,13 +12,17 @@ \item{newdata}{A data frame of new observations to predict on.} \item{times}{Numeric vector of time points at which to compute survival or risk probabilities. -Required if `type = "survival"` or `type = "risk"`.} +Required if `type = "survival"` or `type = "risk"` for Cox/AFT models. +For CoxTime, `times = NULL` is allowed when `type="survival"` and defaults to event times.} \item{type}{Character string specifying the type of prediction to return: \describe{ - \item{"lp"}{Linear predictor (log-risk score; higher implies worse prognosis).} + \item{"lp"}{Linear predictor. For `"cox"`/`"cox_l2"` this is a log-risk score + (higher implies worse prognosis, consistent with training sign convention). For `"aft"`, + this is the predicted location parameter \eqn{\mu(x)} on the log-time scale. For `"coxtime"`, + this is \eqn{g(t_0, x)} evaluated at a reference time \eqn{t_0} (the first event time).} \item{"survival"}{Predicted survival probabilities at each value of `times`.} - \item{"risk"}{Cumulative risk (1 - survival) at a single time point.} + \item{"risk"}{Cumulative risk (1 - survival) at **a single** time point.} }} \item{...}{Currently ignored (for future extensions).} @@ -31,21 +35,3 @@ A numeric vector (if `type = "lp"` or `"risk"`), or a data frame Generate predictions from a fitted `survdnn` model for new data. Supports linear predictors, survival probabilities at specified time points, or cumulative risk estimates. } -\examples{ -\donttest{ -library(survival) -data(veteran, package = "survival") - -mod <- survdnn( - Surv(time, status) ~ age + karno + celltype, - data = veteran, - loss = "cox", - epochs = 50, - verbose = FALSE -) - -predict(mod, newdata = veteran, type = "lp")[1:5] -predict(mod, newdata = veteran, type = "survival", times = c(30, 90, 180))[1:5, ] -predict(mod, newdata = veteran, type = "risk", times = 180)[1:5] -} -} diff --git a/man/survdnn.Rd b/man/survdnn.Rd index ba9adba..0e3385f 100644 --- a/man/survdnn.Rd +++ b/man/survdnn.Rd @@ -87,6 +87,10 @@ An object of class `"survdnn"` containing: \item{optimizer}{Optimizer name used.} \item{optim_args}{List of optimizer arguments used.} \item{device}{Torch device used for training (`torch_device`).} + \item{aft_log_sigma}{Learned global log(sigma) for `loss="aft"`; `NA_real_` otherwise.} + \item{aft_loc}{AFT log-time location offset used for centering when `loss="aft"`; `NA_real_` otherwise.} + \item{coxtime_time_center}{Mean used to scale time for CoxTime; `NA_real_` otherwise.} + \item{coxtime_time_scale}{SD used to scale time for CoxTime; `NA_real_` otherwise.} } } \description{ diff --git a/man/survdnn_losses.Rd b/man/survdnn_losses.Rd index 5918f66..f663731 100644 --- a/man/survdnn_losses.Rd +++ b/man/survdnn_losses.Rd @@ -12,7 +12,7 @@ cox_loss(pred, true) cox_l2_loss(pred, true, lambda = 1e-04) -aft_loss(pred, true) +aft_loss(pred, true, sigma = 1, aft_loc = 0, eps = 1e-12) coxtime_loss(pred, true) } @@ -22,19 +22,30 @@ coxtime_loss(pred, true) \item{true}{A tensor with two columns: observed time and status (1 = event, 0 = censored).} \item{lambda}{Regularization parameter for `cox_l2_loss` (default: `1e-4`).} + +\item{sigma}{Positive numeric scale parameter for the log-normal AFT model (default: `1`). +In `survdnn()`, a learnable global scale can be used via `survdnn__aft_lognormal_nll_factory()`.} + +\item{aft_loc}{Numeric scalar location offset for the AFT model on the log-time scale. +When non-zero, the model is trained on centered log-times `log(time) - aft_loc` for better numerical stability. +Prediction should add this offset back: `mu = mu_resid + aft_loc`.} + +\item{eps}{Small constant for numerical stability (default: `1e-12`).} } \value{ A scalar `torch_tensor` representing the loss value. } \description{ -These functions define various loss functions used internally by `survdnn()` for training deep neural networks on right-censored survival data. +These functions define various loss functions used internally by `survdnn()` +for training deep neural networks on right-censored survival data. } \section{Supported Losses}{ - **Cox partial likelihood loss** (`cox_loss`): Negative partial log-likelihood used in proportional hazards modeling. - **L2-penalized Cox loss** (`cox_l2_loss`): Adds L2 regularization to the Cox loss. -- **Accelerated Failure Time (AFT) loss** (`aft_loss`): Mean squared error between predicted and log-transformed event times, applied to uncensored observations only. -- **CoxTime loss** (`coxtime_loss`): Implements the partial likelihood loss from Kvamme & Borgan (2019), used in Cox-Time models. +- **Accelerated Failure Time (AFT) loss** (`aft_loss`): Log-normal AFT **censored negative log-likelihood** + (uses both events and censored observations). +- **CoxTime loss** (`coxtime_loss`): Placeholder (see details). A correct CoxTime loss requires access to the network and the full input tensor. } \examples{ From 11d2671cdc36c3b3c92a2532ac396054dd876559 Mon Sep 17 00:00:00 2001 From: ielbadisy Date: Mon, 5 Jan 2026 18:06:54 +0100 Subject: [PATCH 3/5] roxygenize --- man/build_dnn.Rd | 3 +- man/survdnn.Rd | 165 +++++++++++++++++++++++++++++++++-------------- 2 files changed, 120 insertions(+), 48 deletions(-) diff --git a/man/build_dnn.Rd b/man/build_dnn.Rd index e6af471..b6fc1a6 100644 --- a/man/build_dnn.Rd +++ b/man/build_dnn.Rd @@ -19,7 +19,8 @@ build_dnn( \item{hidden}{Integer vector. Sizes of the hidden layers (e.g., c(32, 16)).} \item{activation}{Character. Name of the activation function to use in each layer. -Supported options: `"relu"`, `"leaky_relu"`, `"tanh"`, `"sigmoid"`, `"gelu"`, `"elu"`, `"softplus"`.} +Supported options: `"relu"`, `"leaky_relu"`, `"tanh"`, `"sigmoid"`, `"gelu"`, +`"elu"`, `"softplus"`.} \item{output_dim}{Integer. Output layer dimension (default = 1).} diff --git a/man/survdnn.Rd b/man/survdnn.Rd index 0e3385f..f62f471 100644 --- a/man/survdnn.Rd +++ b/man/survdnn.Rd @@ -24,76 +24,147 @@ survdnn( ) } \arguments{ -\item{formula}{A survival formula of the form `Surv(time, status) ~ predictors`.} +\item{formula}{A survival formula of the form \code{Surv(time, status) ~ predictors}.} \item{data}{A data frame containing the variables in the model.} -\item{hidden}{Integer vector. Sizes of the hidden layers (default: c(32, 16)).} +\item{hidden}{Integer vector giving hidden layer widths (e.g., \code{c(32L, 16L)}).} -\item{activation}{Character string specifying the activation function to use in each layer. -Supported options: `"relu"`, `"leaky_relu"`, `"tanh"`, `"sigmoid"`, `"gelu"`, `"elu"`, `"softplus"`.} +\item{activation}{Activation function used in each hidden layer. One of +\code{"relu"}, \code{"leaky_relu"}, \code{"tanh"}, \code{"sigmoid"}, +\code{"gelu"}, \code{"elu"}, \code{"softplus"}.} -\item{lr}{Learning rate for the optimizer (default: `1e-4`).} +\item{lr}{Learning rate passed to the optimizer (default \code{1e-4}).} -\item{epochs}{Number of training epochs (default: 300).} +\item{epochs}{Number of training epochs (default \code{300L}).} -\item{loss}{Character name of the loss function to use. One of `"cox"`, `"cox_l2"`, `"aft"`, or `"coxtime"`.} +\item{loss}{Loss function to optimize. One of \code{"cox"}, \code{"cox_l2"}, +\code{"aft"}, \code{"coxtime"}.} -\item{optimizer}{Character string specifying the optimizer to use. One of -`"adam"`, `"adamw"`, `"sgd"`, `"rmsprop"`, or `"adagrad"`. Defaults to `"adam"`.} +\item{optimizer}{Optimizer name. One of \code{"adam"}, \code{"adamw"}, +\code{"sgd"}, \code{"rmsprop"}, \code{"adagrad"}.} -\item{optim_args}{Optional named list of additional arguments passed to the -underlying torch optimizer (e.g., `list(weight_decay = 1e-4, momentum = 0.9)`).} +\item{optim_args}{Optional named list of extra arguments passed to the chosen +torch optimizer (e.g., \code{list(weight_decay = 1e-4, momentum = 0.9)}).} -\item{verbose}{Logical; whether to print loss progress every 50 epochs (default: TRUE).} +\item{verbose}{Logical; whether to print training progress every 50 epochs.} -\item{dropout}{Numeric between 0 and 1. Dropout rate applied after each -hidden layer (default = 0.3). Set to 0 to disable dropout.} +\item{dropout}{Dropout rate applied after each hidden layer (set \code{0} to disable).} -\item{batch_norm}{Logical; whether to add batch normalization after each -hidden linear layer (default = TRUE).} +\item{batch_norm}{Logical; whether to add batch normalization after each hidden linear layer.} -\item{callbacks}{Optional list of callback functions. Each callback should have -signature `function(epoch, current)` and return TRUE if training should stop, -FALSE otherwise. Used, for example, with [callback_early_stopping()].} +\item{callbacks}{Optional callback(s) for early stopping or monitoring. +May be \code{NULL}, a single function, or a list of functions. Each callback must have +signature \code{function(epoch, current_loss)} and return \code{TRUE} to stop training, +\code{FALSE} otherwise.} -\item{.seed}{Optional integer. If provided, sets both R and torch random seeds for reproducible -weight initialization, shuffling, and dropout.} +\item{.seed}{Optional integer seed controlling both R and torch RNGs (weight init, +shuffling, dropout) for reproducibility.} -\item{.device}{Character string indicating the computation device. -One of `"auto"`, `"cpu"`, or `"cuda"`. `"auto"` uses CUDA if available, -otherwise falls back to CPU.} +\item{.device}{Computation device. One of \code{"auto"}, \code{"cpu"}, \code{"cuda"}. +\code{"auto"} selects CUDA when available.} -\item{na_action}{Character. How to handle missing values in the model variables: -`"omit"` drops incomplete rows (and reports how many were removed when `verbose=TRUE`); -`"fail"` stops with an error if any missing values are present.} +\item{na_action}{Missing-data handling. \code{"omit"} drops incomplete rows (and reports +how many were removed when \code{verbose=TRUE}); \code{"fail"} errors if any missing +values are present in model variables.} } \value{ -An object of class `"survdnn"` containing: +An object of class \code{"survdnn"} with components: \describe{ - \item{model}{Trained `nn_module` object.} - \item{formula}{Original survival formula.} - \item{data}{Training data used for fitting.} - \item{xnames}{Predictor variable names.} - \item{x_center}{Column means of predictors.} - \item{x_scale}{Column standard deviations of predictors.} - \item{loss_history}{Vector of loss values per epoch.} - \item{final_loss}{Final training loss.} - \item{loss}{Loss function name used ("cox", "aft", etc.).} - \item{activation}{Activation function used.} + \item{model}{Trained torch \code{nn_module} (MLP).} + \item{formula}{Model formula used for fitting.} + \item{data}{Training data used for fitting (original \code{data} argument).} + \item{xnames}{Predictor column names used by the model matrix.} + \item{x_center}{Numeric vector of predictor means used for scaling.} + \item{x_scale}{Numeric vector of predictor standard deviations used for scaling.} + \item{loss_history}{Numeric vector of loss values per epoch (possibly truncated by early stopping).} + \item{final_loss}{Final loss value (last element of \code{loss_history}).} + \item{loss}{Loss name used for training.} + \item{activation}{Activation function name.} \item{hidden}{Hidden layer sizes.} \item{lr}{Learning rate.} - \item{epochs}{Number of training epochs.} - \item{optimizer}{Optimizer name used.} + \item{epochs}{Number of requested epochs.} + \item{optimizer}{Optimizer name.} \item{optim_args}{List of optimizer arguments used.} - \item{device}{Torch device used for training (`torch_device`).} - \item{aft_log_sigma}{Learned global log(sigma) for `loss="aft"`; `NA_real_` otherwise.} - \item{aft_loc}{AFT log-time location offset used for centering when `loss="aft"`; `NA_real_` otherwise.} - \item{coxtime_time_center}{Mean used to scale time for CoxTime; `NA_real_` otherwise.} - \item{coxtime_time_scale}{SD used to scale time for CoxTime; `NA_real_` otherwise.} + \item{device}{Torch device used for fitting.} + \item{dropout}{Dropout rate used.} + \item{batch_norm}{Whether batch normalization was used.} + \item{na_action}{Missing-data strategy used.} + \item{aft_log_sigma}{Learned global \code{log(sigma)} for AFT; \code{NA_real_} otherwise.} + \item{aft_loc}{Log-time centering offset used for AFT; \code{NA_real_} otherwise.} + \item{coxtime_time_center}{Time centering used for CoxTime; \code{NA_real_} otherwise.} + \item{coxtime_time_scale}{Time scaling used for CoxTime; \code{NA_real_} otherwise.} } } \description{ -Trains a deep neural network (DNN) to model right-censored survival data -using one of the predefined loss functions: Cox, AFT, or Coxtime. +Fits a deep neural network (MLP) for right-censored time-to-event data using +one of the supported losses: Cox partial likelihood, L2-penalized Cox, +log-normal AFT (censored negative log-likelihood), or CoxTime (time-dependent +relative risk model). +} +\details{ +The function: +\itemize{ + \item builds an MLP via [build_dnn()], + \item preprocesses predictors using centering/scaling (stored in the model), + \item optionally applies log-time centering for AFT (stored as \code{aft_loc}), + \item scales time for CoxTime to stabilize optimization (stored as \code{coxtime_time_center}/\code{coxtime_time_scale}), + \item trains the network with a torch optimizer and optional callbacks. +} + + +\strong{AFT model.} With \code{loss="aft"}, the model is a log-normal AFT model: +\deqn{\log(T) = \text{aft\_loc} + \mu_{\text{resid}}(x) + \sigma \varepsilon, \quad \varepsilon \sim \mathcal{N}(0,1).} +For numerical stability, training uses centered log-times +\code{log(time) - aft_loc}. The learned network output corresponds to +\code{mu_resid(x)}. The fitted object stores \code{aft_loc} and the learned global +\code{aft_log_sigma}. + +\strong{CoxTime.} With \code{loss="coxtime"}, the network represents a time-dependent +score \eqn{g(t, x)}. Internally, time is standardized before being concatenated with +standardized covariates. The scaling parameters are stored as +\code{coxtime_time_center} and \code{coxtime_time_scale} to ensure prediction uses the +same transformation. +} +\examples{ +\donttest{ +if (torch::torch_is_installed()) { + veteran <- survival::veteran + + # --- Cox model --- + fit_cox <- survdnn( + Surv(time, status) ~ age + karno + celltype, + data = veteran, + epochs = 50, + verbose = FALSE, + .seed = 1 + ) + lp <- predict(fit_cox, newdata = veteran, type = "lp") + S <- predict(fit_cox, newdata = veteran, type = "survival", times = c(30, 90, 180)) + + # --- AFT log-normal model --- + fit_aft <- survdnn( + Surv(time, status) ~ age + karno + celltype, + data = veteran, + loss = "aft", + epochs = 50, + verbose = FALSE, + .seed = 1 + ) + S_aft <- predict(fit_aft, newdata = veteran, type = "survival", times = c(30, 90, 180)) + + # --- CoxTime model --- + fit_ct <- survdnn( + Surv(time, status) ~ age + karno + celltype, + data = veteran, + loss = "coxtime", + epochs = 50, + verbose = FALSE, + .seed = 1 + ) + # By default, CoxTime survival predictions can use event times if times=NULL + S_ct <- predict(fit_ct, newdata = veteran, type = "survival") +} +} + } From b3cd0ff8647076ba3359b62a3ddfd96dc8479490 Mon Sep 17 00:00:00 2001 From: ielbadisy Date: Mon, 5 Jan 2026 18:07:48 +0100 Subject: [PATCH 4/5] roxynize and polish --- R/evaluation.R | 6 +- R/losses.R | 26 +- R/predict.survdnn.R | 34 +-- R/survdnn.R | 725 +++++++++++++++++++++++++------------------- R/tune_survdnn.R | 4 +- R/zzz.R | 7 +- 6 files changed, 428 insertions(+), 374 deletions(-) diff --git a/R/evaluation.R b/R/evaluation.R index 709ecd0..fc1b589 100644 --- a/R/evaluation.R +++ b/R/evaluation.R @@ -34,7 +34,7 @@ evaluate_survdnn <- function(model, data <- if (is.null(newdata)) model$data else newdata n_before <- nrow(data) - # Build model frame first with explicit NA policy (so y aligns with predictions) + # build model frame first with explicit NA policy mf <- model.frame( model$formula, data = data, @@ -50,10 +50,10 @@ evaluate_survdnn <- function(model, y <- model.response(mf) if (!inherits(y, "Surv")) stop("The response must be a 'Surv' object.", call. = FALSE) - # Predict on the filtered mf to keep row alignment + # predict on the filtered mf to keep row alignment sp_matrix <- predict(model, newdata = mf, times = times, type = "survival") - purrr::map_dfr(metrics, function(metric) { + purrr::map_dfr(metrics, function(metric) { ## to replace with fmap from functionals package if (metric == "brier" && length(times) > 1) { tibble::tibble( metric = "brier", diff --git a/R/losses.R b/R/losses.R index c892a52..ce75656 100644 --- a/R/losses.R +++ b/R/losses.R @@ -28,10 +28,6 @@ NULL -# ------------------------------------------------------------------------- -# Internal utilities -# ------------------------------------------------------------------------- - #' @keywords internal survdnn__zeros_like_scalar <- function(x) { torch::torch_zeros_like(x$view(c(1)))[1] @@ -51,9 +47,7 @@ survdnn__log_surv_std_normal <- function(z, eps = 1e-12) { } -# ------------------------------------------------------------------------- -# Cox loss (keeps your sign convention: lp = -net(x)) -# ------------------------------------------------------------------------- +# Cox loss (sign convention: lp = -net(x)) #' @rdname survdnn_losses #' @export @@ -85,9 +79,7 @@ cox_l2_loss <- function(pred, true, lambda = 1e-4) { } -# ------------------------------------------------------------------------- # AFT loss (Option B): log-normal AFT censored negative log-likelihood -# ------------------------------------------------------------------------- #' @rdname survdnn_losses #' @export @@ -128,9 +120,7 @@ aft_loss <- function(pred, true, sigma = 1, aft_loc = 0, eps = 1e-12) { } -# ------------------------------------------------------------------------- -# CoxTime loss — cannot be correct with (pred, true) only -# ------------------------------------------------------------------------- +# CoxTime loss #' @rdname survdnn_losses #' @export @@ -144,13 +134,10 @@ coxtime_loss <- function(pred, true) { } -# ------------------------------------------------------------------------- -# Internal: Correct CoxTime loss factory -# +# correct CoxTime loss factory # IMPORTANT FIX: # - use `true[,1]` (RAW time) for sorting + risk sets # - use `x_tensor[,1]` (TIME AS FED TO NET; possibly scaled) when calling net -# ------------------------------------------------------------------------- #' @keywords internal survdnn__coxtime_loss_factory <- function(net) { @@ -166,7 +153,7 @@ survdnn__coxtime_loss_factory <- function(net) { d <- x_tensor$size()[[2]] if (d < 2) stop("CoxTime expects x_tensor with at least 2 columns: (time, x).", call. = FALSE) - time_inp <- x_tensor[, 1] # time as used by the net (can be raw or scaled) + time_inp <- x_tensor[, 1] # time as used by the net (can be raw or scaled) x_cov <- x_tensor[, 2:d, drop = FALSE] ## sort by RAW time (risk sets depend on raw ordering) @@ -215,10 +202,7 @@ survdnn__coxtime_loss_factory <- function(net) { } -# ------------------------------------------------------------------------- -# Internal: AFT log-normal censored NLL factory (learnable global log(sigma)) -# with optional centering by aft_loc. -# ------------------------------------------------------------------------- +# internal: AFT log-normal censored NLL factory (learnable global log(sigma)) with optional centering by aft_loc #' @keywords internal survdnn__aft_lognormal_nll_factory <- function(device, aft_loc = 0) { diff --git a/R/predict.survdnn.R b/R/predict.survdnn.R index da79d7a..0bf0160 100644 --- a/R/predict.survdnn.R +++ b/R/predict.survdnn.R @@ -62,9 +62,7 @@ predict.survdnn <- function( stop("For type = 'risk', `times` must be a single numeric value.", call. = FALSE) } - ## ================================================================ ## Cox / Cox L2 - ## ================================================================ if (loss %in% c("cox", "cox_l2")) { if (type %in% c("survival", "risk") && is.null(times)) { @@ -133,9 +131,8 @@ predict.survdnn <- function( return(as.data.frame(surv_mat)) } - ## ================================================================ - ## AFT (log-normal AFT with learned global sigma + training centering) - ## ================================================================ + # AFT (log-normal AFT with learned global sigma + training centering) + if (loss == "aft") { if (type %in% c("survival", "risk") && is.null(times)) { @@ -180,9 +177,8 @@ predict.survdnn <- function( return(as.data.frame(surv_mat)) } - ## ================================================================ - ## CoxTime - ## ================================================================ + # CoxTime + if (loss == "coxtime") { y_train <- model.response(model.frame(object$formula, object$data)) @@ -230,7 +226,7 @@ predict.survdnn <- function( return(lp) } - ## For CoxTime: allow times=NULL for survival -> default event_times (RAW) + ## for CoxTime: allow times=NULL for survival -> default event_times (RAW) if (type == "survival" && is.null(times)) { times_sorted <- event_times } else { @@ -240,10 +236,8 @@ predict.survdnn <- function( times_sorted <- sort(unique(as.numeric(times))) } - ## ------------------------------------------------------------ - ## Compute g(t_k, x_new) on event-time grid - ## NOTE: net expects SCALED time input - ## ------------------------------------------------------------ + ## compute g(t_k, x_new) on event-time grid + ## NOTE: net expects SCALED time input g_new_mat <- matrix(NA_real_, nrow = nrow(x_scaled), ncol = length(event_times)) for (j in seq_along(event_times)) { tj <- event_times[j] @@ -255,9 +249,7 @@ predict.survdnn <- function( }) } - ## ------------------------------------------------------------ - ## Compute g(t_k, x_train) on event-time grid (scaled time input) - ## ------------------------------------------------------------ + ## compute g(t_k, x_train) on event-time grid (scaled time input) g_train_mat <- matrix(NA_real_, nrow = nrow(train_x_scaled), ncol = length(event_times)) for (j in seq_along(event_times)) { tj <- event_times[j] @@ -269,10 +261,8 @@ predict.survdnn <- function( }) } - ## ------------------------------------------------------------ - ## Baseline increments: dH0(t_k) = dN(t_k) / sum_{j in R(t_k)} exp(g(t_k, x_j)) - ## risk sets are defined on RAW time (correct) - ## ------------------------------------------------------------ + + ## baseline increments: dH0(t_k) = dN(t_k) / sum_{j in R(t_k)} exp(g(t_k, x_j)) risk sets are defined on RAW time (correct) dN <- as.numeric(table(factor(time_train[status_train == 1], levels = event_times))) risk_mat <- outer(time_train, event_times, `>=`) @@ -282,9 +272,7 @@ predict.survdnn <- function( dH0 <- dN / denom dH0[is.na(dH0)] <- 0 - ## ------------------------------------------------------------ - ## Cumulative hazard at requested times (RAW time grid) - ## ------------------------------------------------------------ + ## cumulative hazard at requested times (RAW time grid) H_pred <- matrix(0, nrow = nrow(g_new_mat), ncol = length(times_sorted)) for (i in seq_along(times_sorted)) { relevant <- which(event_times <= times_sorted[i]) diff --git a/R/survdnn.R b/R/survdnn.R index af66dd2..252b48c 100644 --- a/R/survdnn.R +++ b/R/survdnn.R @@ -6,7 +6,8 @@ #' @param input_dim Integer. Number of input features. #' @param hidden Integer vector. Sizes of the hidden layers (e.g., c(32, 16)). #' @param activation Character. Name of the activation function to use in each layer. -#' Supported options: `"relu"`, `"leaky_relu"`, `"tanh"`, `"sigmoid"`, `"gelu"`, `"elu"`, `"softplus"`. +#' Supported options: `"relu"`, `"leaky_relu"`, `"tanh"`, `"sigmoid"`, `"gelu"`, +#' `"elu"`, `"softplus"`. #' @param output_dim Integer. Output layer dimension (default = 1). #' @param dropout Numeric between 0 and 1. Dropout rate after each hidden layer #' (default = 0.3). Set to 0 to disable dropout. @@ -17,338 +18,422 @@ #' @keywords internal #' @export build_dnn <- function(input_dim, - hidden, - activation = "relu", - output_dim = 1L, - dropout = 0.3, - batch_norm = TRUE) { - -layers <- list() -in_features <- input_dim - -act_fn <- switch( -activation, -relu = torch::nn_relu, -leaky_relu = torch::nn_leaky_relu, -tanh = torch::nn_tanh, -sigmoid = torch::nn_sigmoid, -gelu = torch::nn_gelu, -elu = torch::nn_elu, -softplus = torch::nn_softplus, -stop("Unsupported activation function: ", activation) -) - -for (h in hidden) { -layers <- append(layers, list(torch::nn_linear(in_features, h))) -if (isTRUE(batch_norm)) { -layers <- append(layers, list(torch::nn_batch_norm1d(h))) -} -layers <- append(layers, list(act_fn())) -if (!is.null(dropout) && dropout > 0) { -layers <- append(layers, list(torch::nn_dropout(p = dropout))) -} -in_features <- h -} - -layers <- append(layers, list(torch::nn_linear(in_features, output_dim))) -torch::nn_sequential(!!!layers) + hidden, + activation = "relu", + output_dim = 1L, + dropout = 0.3, + batch_norm = TRUE) { + + layers <- list() + in_features <- input_dim + + act_fn <- switch( + activation, + relu = torch::nn_relu, + leaky_relu = torch::nn_leaky_relu, + tanh = torch::nn_tanh, + sigmoid = torch::nn_sigmoid, + gelu = torch::nn_gelu, + elu = torch::nn_elu, + softplus = torch::nn_softplus, + stop("Unsupported activation function: ", activation) + ) + + for (h in hidden) { + layers <- append(layers, list(torch::nn_linear(in_features, h))) + + if (isTRUE(batch_norm)) { + layers <- append(layers, list(torch::nn_batch_norm1d(h))) + } + + layers <- append(layers, list(act_fn())) + + if (!is.null(dropout) && dropout > 0) { + layers <- append(layers, list(torch::nn_dropout(p = dropout))) + } + + in_features <- h + } + + layers <- append(layers, list(torch::nn_linear(in_features, output_dim))) + torch::nn_sequential(!!!layers) } #' Fit a Deep Neural Network for Survival Analysis #' -#' Trains a deep neural network (DNN) to model right-censored survival data -#' using one of the predefined loss functions: Cox, AFT, or Coxtime. +#' Fits a deep neural network (MLP) for right-censored time-to-event data using +#' one of the supported losses: Cox partial likelihood, L2-penalized Cox, +#' log-normal AFT (censored negative log-likelihood), or CoxTime (time-dependent +#' relative risk model). +#' +#' The function: +#' \itemize{ +#' \item builds an MLP via [build_dnn()], +#' \item preprocesses predictors using centering/scaling (stored in the model), +#' \item optionally applies log-time centering for AFT (stored as \code{aft_loc}), +#' \item scales time for CoxTime to stabilize optimization (stored as \code{coxtime_time_center}/\code{coxtime_time_scale}), +#' \item trains the network with a torch optimizer and optional callbacks. +#' } #' -#' @param formula A survival formula of the form `Surv(time, status) ~ predictors`. +#' @param formula A survival formula of the form \code{Surv(time, status) ~ predictors}. #' @param data A data frame containing the variables in the model. -#' @param hidden Integer vector. Sizes of the hidden layers (default: c(32, 16)). -#' @param activation Character string specifying the activation function to use in each layer. -#' Supported options: `"relu"`, `"leaky_relu"`, `"tanh"`, `"sigmoid"`, `"gelu"`, `"elu"`, `"softplus"`. -#' @param lr Learning rate for the optimizer (default: `1e-4`). -#' @param epochs Number of training epochs (default: 300). -#' @param loss Character name of the loss function to use. One of `"cox"`, `"cox_l2"`, `"aft"`, or `"coxtime"`. -#' @param optimizer Character string specifying the optimizer to use. One of -#' `"adam"`, `"adamw"`, `"sgd"`, `"rmsprop"`, or `"adagrad"`. Defaults to `"adam"`. -#' @param optim_args Optional named list of additional arguments passed to the -#' underlying torch optimizer (e.g., `list(weight_decay = 1e-4, momentum = 0.9)`). -#' @param verbose Logical; whether to print loss progress every 50 epochs (default: TRUE). -#' @param dropout Numeric between 0 and 1. Dropout rate applied after each -#' hidden layer (default = 0.3). Set to 0 to disable dropout. -#' @param batch_norm Logical; whether to add batch normalization after each -#' hidden linear layer (default = TRUE). -#' @param callbacks Optional list of callback functions. Each callback should have -#' signature `function(epoch, current)` and return TRUE if training should stop, -#' FALSE otherwise. Used, for example, with [callback_early_stopping()]. -#' @param .seed Optional integer. If provided, sets both R and torch random seeds for reproducible -#' weight initialization, shuffling, and dropout. -#' @param .device Character string indicating the computation device. -#' One of `"auto"`, `"cpu"`, or `"cuda"`. `"auto"` uses CUDA if available, -#' otherwise falls back to CPU. -#' @param na_action Character. How to handle missing values in the model variables: -#' `"omit"` drops incomplete rows (and reports how many were removed when `verbose=TRUE`); -#' `"fail"` stops with an error if any missing values are present. +#' @param hidden Integer vector giving hidden layer widths (e.g., \code{c(32L, 16L)}). +#' @param activation Activation function used in each hidden layer. One of +#' \code{"relu"}, \code{"leaky_relu"}, \code{"tanh"}, \code{"sigmoid"}, +#' \code{"gelu"}, \code{"elu"}, \code{"softplus"}. +#' @param lr Learning rate passed to the optimizer (default \code{1e-4}). +#' @param epochs Number of training epochs (default \code{300L}). +#' @param loss Loss function to optimize. One of \code{"cox"}, \code{"cox_l2"}, +#' \code{"aft"}, \code{"coxtime"}. +#' @param optimizer Optimizer name. One of \code{"adam"}, \code{"adamw"}, +#' \code{"sgd"}, \code{"rmsprop"}, \code{"adagrad"}. +#' @param optim_args Optional named list of extra arguments passed to the chosen +#' torch optimizer (e.g., \code{list(weight_decay = 1e-4, momentum = 0.9)}). +#' @param verbose Logical; whether to print training progress every 50 epochs. +#' @param dropout Dropout rate applied after each hidden layer (set \code{0} to disable). +#' @param batch_norm Logical; whether to add batch normalization after each hidden linear layer. +#' @param callbacks Optional callback(s) for early stopping or monitoring. +#' May be \code{NULL}, a single function, or a list of functions. Each callback must have +#' signature \code{function(epoch, current_loss)} and return \code{TRUE} to stop training, +#' \code{FALSE} otherwise. +#' @param .seed Optional integer seed controlling both R and torch RNGs (weight init, +#' shuffling, dropout) for reproducibility. +#' @param .device Computation device. One of \code{"auto"}, \code{"cpu"}, \code{"cuda"}. +#' \code{"auto"} selects CUDA when available. +#' @param na_action Missing-data handling. \code{"omit"} drops incomplete rows (and reports +#' how many were removed when \code{verbose=TRUE}); \code{"fail"} errors if any missing +#' values are present in model variables. +#' +#' @details +#' \strong{AFT model.} With \code{loss="aft"}, the model is a log-normal AFT model: +#' \deqn{\log(T) = \text{aft\_loc} + \mu_{\text{resid}}(x) + \sigma \varepsilon, \quad \varepsilon \sim \mathcal{N}(0,1).} +#' For numerical stability, training uses centered log-times +#' \code{log(time) - aft_loc}. The learned network output corresponds to +#' \code{mu_resid(x)}. The fitted object stores \code{aft_loc} and the learned global +#' \code{aft_log_sigma}. +#' +#' \strong{CoxTime.} With \code{loss="coxtime"}, the network represents a time-dependent +#' score \eqn{g(t, x)}. Internally, time is standardized before being concatenated with +#' standardized covariates. The scaling parameters are stored as +#' \code{coxtime_time_center} and \code{coxtime_time_scale} to ensure prediction uses the +#' same transformation. #' -#' @return An object of class `"survdnn"` containing: +#' @return An object of class \code{"survdnn"} with components: #' \describe{ -#' \item{model}{Trained `nn_module` object.} -#' \item{formula}{Original survival formula.} -#' \item{data}{Training data used for fitting.} -#' \item{xnames}{Predictor variable names.} -#' \item{x_center}{Column means of predictors.} -#' \item{x_scale}{Column standard deviations of predictors.} -#' \item{loss_history}{Vector of loss values per epoch.} -#' \item{final_loss}{Final training loss.} -#' \item{loss}{Loss function name used ("cox", "aft", etc.).} -#' \item{activation}{Activation function used.} +#' \item{model}{Trained torch \code{nn_module} (MLP).} +#' \item{formula}{Model formula used for fitting.} +#' \item{data}{Training data used for fitting (original \code{data} argument).} +#' \item{xnames}{Predictor column names used by the model matrix.} +#' \item{x_center}{Numeric vector of predictor means used for scaling.} +#' \item{x_scale}{Numeric vector of predictor standard deviations used for scaling.} +#' \item{loss_history}{Numeric vector of loss values per epoch (possibly truncated by early stopping).} +#' \item{final_loss}{Final loss value (last element of \code{loss_history}).} +#' \item{loss}{Loss name used for training.} +#' \item{activation}{Activation function name.} #' \item{hidden}{Hidden layer sizes.} #' \item{lr}{Learning rate.} -#' \item{epochs}{Number of training epochs.} -#' \item{optimizer}{Optimizer name used.} +#' \item{epochs}{Number of requested epochs.} +#' \item{optimizer}{Optimizer name.} #' \item{optim_args}{List of optimizer arguments used.} -#' \item{device}{Torch device used for training (`torch_device`).} -#' \item{aft_log_sigma}{Learned global log(sigma) for `loss="aft"`; `NA_real_` otherwise.} -#' \item{aft_loc}{AFT log-time location offset used for centering when `loss="aft"`; `NA_real_` otherwise.} -#' \item{coxtime_time_center}{Mean used to scale time for CoxTime; `NA_real_` otherwise.} -#' \item{coxtime_time_scale}{SD used to scale time for CoxTime; `NA_real_` otherwise.} +#' \item{device}{Torch device used for fitting.} +#' \item{dropout}{Dropout rate used.} +#' \item{batch_norm}{Whether batch normalization was used.} +#' \item{na_action}{Missing-data strategy used.} +#' \item{aft_log_sigma}{Learned global \code{log(sigma)} for AFT; \code{NA_real_} otherwise.} +#' \item{aft_loc}{Log-time centering offset used for AFT; \code{NA_real_} otherwise.} +#' \item{coxtime_time_center}{Time centering used for CoxTime; \code{NA_real_} otherwise.} +#' \item{coxtime_time_scale}{Time scaling used for CoxTime; \code{NA_real_} otherwise.} +#' } +#' +#' @examples +#' \donttest{ +#' if (torch::torch_is_installed()) { +#' veteran <- survival::veteran +#' +#' # --- Cox model --- +#' fit_cox <- survdnn( +#' Surv(time, status) ~ age + karno + celltype, +#' data = veteran, +#' epochs = 50, +#' verbose = FALSE, +#' .seed = 1 +#' ) +#' lp <- predict(fit_cox, newdata = veteran, type = "lp") +#' S <- predict(fit_cox, newdata = veteran, type = "survival", times = c(30, 90, 180)) +#' +#' # --- AFT log-normal model --- +#' fit_aft <- survdnn( +#' Surv(time, status) ~ age + karno + celltype, +#' data = veteran, +#' loss = "aft", +#' epochs = 50, +#' verbose = FALSE, +#' .seed = 1 +#' ) +#' S_aft <- predict(fit_aft, newdata = veteran, type = "survival", times = c(30, 90, 180)) +#' +#' # --- CoxTime model --- +#' fit_ct <- survdnn( +#' Surv(time, status) ~ age + karno + celltype, +#' data = veteran, +#' loss = "coxtime", +#' epochs = 50, +#' verbose = FALSE, +#' .seed = 1 +#' ) +#' # By default, CoxTime survival predictions can use event times if times=NULL +#' S_ct <- predict(fit_ct, newdata = veteran, type = "survival") +#' } #' } +#' #' @export -survdnn <- function(formula, data, -hidden = c(32L, 16L), -activation = "relu", -lr = 1e-4, -epochs = 300L, -loss = c("cox", "cox_l2", "aft", "coxtime"), -optimizer = c("adam", "adamw", "sgd", "rmsprop", "adagrad"), -optim_args = list(), -verbose = TRUE, -dropout = 0.3, -batch_norm = TRUE, -callbacks = NULL, -.seed = NULL, -.device = c("auto", "cpu", "cuda"), -na_action = c("omit", "fail")) { - -survdnn_set_seed(.seed) -device <- survdnn_get_device(.device) - -loss <- match.arg(loss) -optimizer <- match.arg(optimizer) -na_action <- match.arg(na_action) - -if (!is.list(optim_args)) { -stop("`optim_args` must be a list (possibly empty).", call. = FALSE) -} - -if (!is.null(callbacks)) { -if (is.function(callbacks)) { -callbacks <- list(callbacks) -} else if (!is.list(callbacks) || !all(vapply(callbacks, is.function, logical(1)))) { -stop("`callbacks` must be NULL, a function, or a list of functions.", call. = FALSE) -} -} - -stopifnot(inherits(formula, "formula")) -stopifnot(is.data.frame(data)) - -environment(formula) <- list2env( -list(Surv = survival::Surv), -parent = environment(formula) -) - -# ---- missing data handling ---- -n_before <- nrow(data) -mf <- model.frame( -formula, -data = data, -na.action = if (na_action == "omit") stats::na.omit else stats::na.fail -) -n_after <- nrow(mf) -n_removed <- n_before - n_after -if (n_removed > 0 && isTRUE(verbose) && na_action == "omit") { -message(sprintf("Removed %d observations with missing values.", n_removed)) -} - -y <- model.response(mf) -x <- model.matrix(attr(mf, "terms"), data = mf)[, -1, drop = FALSE] -time <- y[, "time"] -status <- y[, "status"] -x_scaled <- scale(x) - -# ---- AFT location offset for stability ---- -aft_loc <- NA_real_ -if (loss == "aft") { -evt <- (status == 1) -if (any(evt)) { -aft_loc <- mean(log(pmax(time[evt], .Machine$double.eps))) -} else { -aft_loc <- mean(log(pmax(time, .Machine$double.eps))) -} -if (!is.finite(aft_loc)) aft_loc <- 0 -} - -# ---- CoxTime time scaling (CRITICAL for heterogeneity) ---- -coxtime_time_center <- NA_real_ -coxtime_time_scale <- NA_real_ -time_scaled <- NULL - -if (loss == "coxtime") { -ts <- scale(as.numeric(time)) -coxtime_time_center <- as.numeric(attr(ts, "scaled:center")) -coxtime_time_scale <- as.numeric(attr(ts, "scaled:scale")) -if (!is.finite(coxtime_time_scale) || coxtime_time_scale <= 0) coxtime_time_scale <- 1 -time_scaled <- as.numeric(ts) -} - -# ---- tensors ---- -# x_tensor: -# - coxtime: [time_scaled, x_scaled] (time as fed to net) -# - others : [x_scaled] -x_tensor <- if (loss == "coxtime") { -torch::torch_tensor( -cbind(time_scaled, x_scaled), -dtype = torch::torch_float(), -device = device -) -} else { -torch::torch_tensor( -x_scaled, -dtype = torch::torch_float(), -device = device -) -} - -# y_tensor always uses RAW time for ordering/risk sets -y_tensor <- torch::torch_tensor( -cbind(time, status), -dtype = torch::torch_float(), -device = device -) - -# ---- network ---- -net <- build_dnn( -input_dim = ncol(x_tensor), -hidden = hidden, -activation = activation, -output_dim = 1L, -dropout = dropout, -batch_norm = batch_norm -) -net$to(device = device) - -# ---- loss dispatcher + (optional) AFT extra params ---- -extra_params <- NULL # list for AFT, NULL otherwise -aft_log_sigma <- NA_real_ # ALWAYS numeric -loss_fn <- NULL - -if (loss == "cox") { -loss_fn <- function(net, x, y) cox_loss(net(x), y) -} else if (loss == "cox_l2") { -loss_fn <- function(net, x, y) cox_l2_loss(net(x), y, lambda = 1e-3) -} else if (loss == "aft") { -loc0 <- if (is.finite(aft_loc)) aft_loc else 0 -aft_bundle <- survdnn__aft_lognormal_nll_factory(device = device, aft_loc = loc0) -extra_params <- aft_bundle$extra_params -loss_fn <- function(net, x, y) aft_bundle$loss_fn(net, x, y) -} else if (loss == "coxtime") { -lf <- survdnn__coxtime_loss_factory(net) -loss_fn <- function(net, x, y) lf(x, y) -} else { -stop("Unsupported loss: ", loss, call. = FALSE) -} - -# ---- optimizer params ---- -params <- net$parameters -if (loss == "aft" && !is.null(extra_params) && !is.null(extra_params$log_sigma)) { -params <- c(params, list(extra_params$log_sigma)) -} - -opt_args <- c(list(params = params, lr = lr), optim_args) - -if (is.null(optim_args$weight_decay) && optimizer %in% c("adam", "adamw")) { -opt_args$weight_decay <- 1e-4 -} - -optimizer_obj <- switch( -optimizer, -adam = do.call(torch::optim_adam, opt_args), -adamw = do.call(torch::optim_adamw, opt_args), -sgd = do.call(torch::optim_sgd, opt_args), -rmsprop = do.call(torch::optim_rmsprop, opt_args), -adagrad = do.call(torch::optim_adagrad, opt_args), -stop("Unsupported optimizer: ", optimizer) -) - -# ---- training loop ---- -loss_history <- numeric(epochs) -early_stopped <- FALSE -last_epoch_run <- epochs - -for (epoch in 1:epochs) { -net$train() -optimizer_obj$zero_grad() - -loss_val <- loss_fn(net, x_tensor, y_tensor) -loss_val$backward() -optimizer_obj$step() - -current_loss <- loss_val$item() -loss_history[epoch] <- current_loss -last_epoch_run <- epoch - -if (verbose && epoch %% 50 == 0) { -cat(sprintf("Epoch %d - Loss: %.6f\n\n", epoch, current_loss)) -} - -if (!is.null(callbacks)) { -for (cb in callbacks) { -if (isTRUE(cb(epoch, current_loss))) { -early_stopped <- TRUE -break -} -} -if (early_stopped) break -} -} - -if (early_stopped && last_epoch_run < epochs) { -loss_history <- loss_history[seq_len(last_epoch_run)] -} - -# ---- store learned AFT log(sigma) robustly ---- -if (loss == "aft" && !is.null(extra_params) && !is.null(extra_params$log_sigma)) { -aft_log_sigma <- as.numeric(extra_params$log_sigma$item()) -if (!is.finite(aft_log_sigma)) aft_log_sigma <- NA_real_ -} else { -aft_log_sigma <- NA_real_ -} -structure( -list( -model = net, -formula = formula, -data = data, -xnames = colnames(x), -x_center = attr(x_scaled, "scaled:center"), -x_scale = attr(x_scaled, "scaled:scale"), -loss_history = loss_history, -final_loss = tail(loss_history, 1), -loss = loss, -activation = activation, -hidden = hidden, -lr = lr, -epochs = epochs, -optimizer = optimizer, -optim_args = optim_args, -device = device, -dropout = dropout, -batch_norm = batch_norm, -na_action = na_action, -aft_log_sigma = aft_log_sigma, -aft_loc = if (loss == "aft") aft_loc else NA_real_, -coxtime_time_center = if (loss == "coxtime") coxtime_time_center else NA_real_, -coxtime_time_scale = if (loss == "coxtime") coxtime_time_scale else NA_real_ -), -class = "survdnn" -) +survdnn <- function(formula, + data, + hidden = c(32L, 16L), + activation = "relu", + lr = 1e-4, + epochs = 300L, + loss = c("cox", "cox_l2", "aft", "coxtime"), + optimizer = c("adam", "adamw", "sgd", "rmsprop", "adagrad"), + optim_args = list(), + verbose = TRUE, + dropout = 0.3, + batch_norm = TRUE, + callbacks = NULL, + .seed = NULL, + .device = c("auto", "cpu", "cuda"), + na_action = c("omit", "fail")) { + + survdnn_set_seed(.seed) + device <- survdnn_get_device(.device) + + loss <- match.arg(loss) + optimizer <- match.arg(optimizer) + na_action <- match.arg(na_action) + + if (!is.list(optim_args)) { + stop("`optim_args` must be a list (possibly empty).", call. = FALSE) + } + + if (!is.null(callbacks)) { + if (is.function(callbacks)) { + callbacks <- list(callbacks) + } else if (!is.list(callbacks) || + !all(vapply(callbacks, is.function, logical(1)))) { + stop("`callbacks` must be NULL, a function, or a list of functions.", + call. = FALSE) + } + } + + stopifnot(inherits(formula, "formula")) + stopifnot(is.data.frame(data)) + + environment(formula) <- list2env( + list(Surv = survival::Surv), + parent = environment(formula) + ) + + # missing data handling + n_before <- nrow(data) + + mf <- model.frame( + formula, + data = data, + na.action = if (na_action == "omit") stats::na.omit else stats::na.fail + ) + + n_after <- nrow(mf) + n_removed <- n_before - n_after ## keep it informative + + if (n_removed > 0 && isTRUE(verbose) && na_action == "omit") { + message(sprintf("Removed %d observations with missing values.", n_removed)) + } + + y <- model.response(mf) + x <- model.matrix(attr(mf, "terms"), data = mf)[, -1, drop = FALSE] + time <- y[, "time"] + status <- y[, "status"] + x_scaled <- scale(x) + + # AFT location offset + aft_loc <- NA_real_ + + if (loss == "aft") { + evt <- status == 1 + aft_loc <- if (any(evt)) { + mean(log(pmax(time[evt], .Machine$double.eps))) + } else { + mean(log(pmax(time, .Machine$double.eps))) + } + + if (!is.finite(aft_loc)) aft_loc <- 0 + } + + # CoxTime scaling + coxtime_time_center <- NA_real_ + coxtime_time_scale <- NA_real_ + time_scaled <- NULL + + if (loss == "coxtime") { + ts <- scale(as.numeric(time)) + coxtime_time_center <- as.numeric(attr(ts, "scaled:center")) + coxtime_time_scale <- as.numeric(attr(ts, "scaled:scale")) + + if (!is.finite(coxtime_time_scale) || coxtime_time_scale <= 0) { + coxtime_time_scale <- 1 + } + + time_scaled <- as.numeric(ts) + } + + # tensors + x_tensor <- if (loss == "coxtime") { ## special case only for coxtime since it needs time_scaled with x_scaled + torch::torch_tensor( + cbind(time_scaled, x_scaled), + dtype = torch::torch_float(), + device = device + ) + } else { + torch::torch_tensor( + x_scaled, + dtype = torch::torch_float(), + device = device + ) + } + + y_tensor <- torch::torch_tensor( + cbind(time, status), + dtype = torch::torch_float(), + device = device + ) + + # network building + net <- build_dnn( + input_dim = ncol(x_tensor), + hidden = hidden, + activation = activation, + output_dim = 1L, + dropout = dropout, + batch_norm = batch_norm + ) + net$to(device = device) + + # Loss dispatcher; AFT initializes a learnable log(sigma) and CoxTime uses a custom factory + + extra_params <- NULL + aft_log_sigma <- NA_real_ + + loss_fn <- switch( + loss, + cox = function(net, x, y) cox_loss(net(x), y), + cox_l2 = function(net, x, y) cox_l2_loss(net(x), y, lambda = 1e-3), + aft = { + aft_bundle <- survdnn__aft_lognormal_nll_factory( + device = device, + aft_loc = aft_loc + ) + extra_params <<- aft_bundle$extra_params + function(net, x, y) aft_bundle$loss_fn(net, x, y) + }, + coxtime = { + lf <- survdnn__coxtime_loss_factory(net) + function(net, x, y) lf(x, y) + } + ) + + # optimizer + params <- net$parameters + + if (loss == "aft" && !is.null(extra_params$log_sigma)) { + params <- c(params, list(extra_params$log_sigma)) + } + + opt_args <- c(list(params = params, lr = lr), optim_args) + + if (is.null(optim_args$weight_decay) && + optimizer %in% c("adam", "adamw")) { + opt_args$weight_decay <- 1e-4 + } + + optimizer_obj <- switch( + optimizer, + adam = do.call(torch::optim_adam, opt_args), + adamw = do.call(torch::optim_adamw, opt_args), + sgd = do.call(torch::optim_sgd, opt_args), + rmsprop = do.call(torch::optim_rmsprop, opt_args), + adagrad = do.call(torch::optim_adagrad, opt_args) + ) + + # training loop + loss_history <- numeric(epochs) + early_stopped <- FALSE + last_epoch_run <- epochs + + ##the the training is purely synchronous so no need to use coro + for (epoch in seq_len(epochs)) { + net$train() + optimizer_obj$zero_grad() + + loss_val <- loss_fn(net, x_tensor, y_tensor) + loss_val$backward() + optimizer_obj$step() + + current_loss <- loss_val$item() + loss_history[epoch] <- current_loss + last_epoch_run <- epoch + + if (verbose && epoch %% 50 == 0) { + cat(sprintf("Epoch %d - Loss: %.6f\n\n", epoch, current_loss)) + } + + if (!is.null(callbacks)) { + for (cb in callbacks) { + if (isTRUE(cb(epoch, current_loss))) { + early_stopped <- TRUE + break + } + } + if (early_stopped) break + } + } + + if (early_stopped && last_epoch_run < epochs) { + loss_history <- loss_history[seq_len(last_epoch_run)] + } + + if (loss == "aft" && !is.null(extra_params$log_sigma)) { + aft_log_sigma <- as.numeric(extra_params$log_sigma$item()) + if (!is.finite(aft_log_sigma)) aft_log_sigma <- NA_real_ + } + + structure( + list( + model = net, + formula = formula, + data = data, + xnames = colnames(x), + x_center = attr(x_scaled, "scaled:center"), + x_scale = attr(x_scaled, "scaled:scale"), + loss_history = loss_history, + final_loss = tail(loss_history, 1), + loss = loss, + activation = activation, + hidden = hidden, + lr = lr, + epochs = epochs, + optimizer = optimizer, + optim_args = optim_args, + device = device, + dropout = dropout, + batch_norm = batch_norm, + na_action = na_action, + aft_log_sigma = aft_log_sigma, + aft_loc = if (loss == "aft") aft_loc else NA_real_, + coxtime_time_center = if (loss == "coxtime") coxtime_time_center else NA_real_, + coxtime_time_scale = if (loss == "coxtime") coxtime_time_scale else NA_real_ + ), + class = "survdnn" + ) } diff --git a/R/tune_survdnn.R b/R/tune_survdnn.R index 46cbbaa..d0ed91d 100644 --- a/R/tune_survdnn.R +++ b/R/tune_survdnn.R @@ -83,7 +83,7 @@ tune_survdnn <- function(formula, summary_tbl <- summarize_tune_survdnn(all_results, by_time = FALSE) - ## Select best hyperparameters + ## select best hyperparameters primary_metric <- metrics[1] best_row_all <- all_results |> @@ -99,7 +99,7 @@ tune_survdnn <- function(formula, stop("No valid configuration found for primary metric: ", primary_metric, call. = FALSE) } - ## Refitting the best model + ## refitting the best model if (refit) { message("Refitting best model on full data...") best_model <- survdnn( diff --git a/R/zzz.R b/R/zzz.R index 741f09c..460d1fc 100644 --- a/R/zzz.R +++ b/R/zzz.R @@ -9,14 +9,11 @@ "fold", "metric", "value", "id", "time", "surv", "group", "mean_surv", "n", "se", "hidden", "lr", "activation", "epochs", "loss_name", ".loss_fn" )) - - # IMPORTANT: never load or probe torch here (because CRAN/Windows may segfault). - # No torch checks, no tensor creation on load. + # never load or probe torch here (because CRAN/Windows may segfault) } ## handles user-facing messaging .onAttach <- function(libname, pkgname) { - # Do NOT load torch or call torch::torch_is_installed() here. # friendly hint that doesn't load the namespace: torch_pkg_present <- nzchar(system.file(package = "torch")) @@ -51,7 +48,7 @@ survdnn_set_seed <- function(.seed = NULL) { -## Internal utility to choose a torch device for survdnn +## internal utility to choose a torch device for survdnn survdnn_get_device <- function(.device = c("auto", "cpu", "cuda")) { .device <- match.arg(.device) From 2499ee08960ae534a0e77ab7722c3aade6b567ef Mon Sep 17 00:00:00 2001 From: ielbadisy Date: Tue, 6 Jan 2026 16:17:19 +0100 Subject: [PATCH 5/5] fix typo --- README.Rmd | 4 +- README.html | 906 ------------------ README.md | 58 +- .../figure-gfm/unnamed-chunk-11-1.png | Bin 157083 -> 161911 bytes .../figure-gfm/unnamed-chunk-12-1.png | Bin 38404 -> 41858 bytes 5 files changed, 31 insertions(+), 937 deletions(-) delete mode 100644 README.html diff --git a/README.Rmd b/README.Rmd index 14faaf1..16bdd2a 100644 --- a/README.Rmd +++ b/README.Rmd @@ -4,7 +4,7 @@ output: github_document # survdnn -> Deep Neural Networks for Survival Analysis using [torch](https://torch.mlverse.org/) +> Deep Neural Networks for Survival Analysis using [R torch](https://torch.mlverse.org/) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) [![R-CMD-check](https://github.com/ielbadisy/survdnn/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/ielbadisy/survdnn/actions/workflows/R-CMD-check.yaml) @@ -43,7 +43,7 @@ A methodological paper describing the design, implementation, and evaluation of ```{r, eval = FALSE} # Install from CRAN -install.packages("surdnn") +install.packages("survdnn") # Install from GitHub diff --git a/README.html b/README.html deleted file mode 100644 index 346a150..0000000 --- a/README.html +++ /dev/null @@ -1,906 +0,0 @@ - - - - - - - - - - - - - - - - - - - -

    survdnn -

    -
    -

    Deep Neural Networks for Survival Analysis using torch

    -
    -

    License: MIT
    -R-CMD-check

    -

    About

    -

    survdnn implements neural network-based models for -right-censored survival analysis using the native torch -backend in R. It supports multiple loss functions including Cox partial -likelihood, L2-penalized Cox, Accelerated Failure Time (AFT) objectives, -as well as time-dependent extension such as Cox-Time. The package -provides a formula interface, supports model evaluation using -time-dependent metrics (C-index, Brier score, IBS), cross-validation, -and hyperparameter tuning.

    -

    Review status

    -

    A methodological paper describing the design, implementation, and -evaluation of survdnn is currently under review at The -R Journal.

    -

    Main features

    -
      -
    • Formula interface for Surv() ~ . models

    • -
    • Modular neural architectures: configurable layers, activations, -optimizers, and losses

    • -
    • Built-in survival loss functions:

      -
        -
      • "cox": Cox partial likelihood
      • -
      • "cox_l2": penalized Cox
      • -
      • "aft": Accelerated Failure Time
      • -
      • "coxtime": deep time-dependent Cox
      • -
    • -
    • Evaluation: C-index, Brier score, IBS

    • -
    • Model selection with cv_survdnn() and -tune_survdnn()

    • -
    • Prediction of survival curves via predict() and -plot()

    • -
    -

    Installation

    -
    # Install from CRAN
    -install.packages("surdnn")
    -
    -
    -# Install from GitHub
    -install.packages("remotes")
    -remotes::install_github("ielbadisy/survdnn")
    -
    -# Or clone and install locally
    -git clone https://github.com/ielbadisy/survdnn.git
    -setwd("survdnn")
    -devtools::install()
    -

    Quick example

    -
    library(survdnn)
    -library(survival, quietly = TRUE)
    -library(ggplot2)
    -
    -veteran <- survival::veteran
    -
    -mod <- survdnn(
    -  Surv(time, status) ~ age + karno + celltype,
    -  data = veteran,
    -  hidden = c(32, 16),
    -  epochs = 300,
    -  loss = "cox",
    -  verbose = TRUE
    -  )
    -
    ## Epoch 50 - Loss: 3.983201
    -## 
    -## Epoch 100 - Loss: 3.947356
    -## 
    -## Epoch 150 - Loss: 3.934828
    -## 
    -## Epoch 200 - Loss: 3.876191
    -## 
    -## Epoch 250 - Loss: 3.813223
    -## 
    -## Epoch 300 - Loss: 3.868888
    -
    summary(mod)
    -
    ## 
    -## Formula:
    -##   Surv(time, status) ~ age + karno + celltype
    -## <environment: 0x611459d0ec80>
    -## 
    -## Model architecture:
    -##   Hidden layers:  32 : 16 
    -##   Activation:  relu 
    -##   Dropout:  0.3 
    -##   Final loss:  3.868888 
    -## 
    -## Training summary:
    -##   Epochs:  300 
    -##   Learning rate:  1e-04 
    -##   Loss function:  cox 
    -##   Optimizer:  adam 
    -## 
    -## Data summary:
    -##   Observations:  137 
    -##   Predictors:  age, karno, celltypesmallcell, celltypeadeno, celltypelarge 
    -##   Time range: [ 1, 999 ]
    -##   Event rate:  93.4%
    -
    plot(mod, group_by = "celltype", times = 1:300)
    -

    Loss Functions

    -
      -
    • Cox partial likelihood
    • -
    -
    mod1 <- survdnn(
    -  Surv(time, status) ~ age + karno,
    -  data = veteran,
    -  loss = "cox",
    -  epochs = 300
    -  )
    -
    ## Epoch 50 - Loss: 3.986035
    -## 
    -## Epoch 100 - Loss: 3.973183
    -## 
    -## Epoch 150 - Loss: 3.944867
    -## 
    -## Epoch 200 - Loss: 3.901533
    -## 
    -## Epoch 250 - Loss: 3.849433
    -## 
    -## Epoch 300 - Loss: 3.899746
    -
      -
    • Accelerated Failure Time
    • -
    -
    mod2 <- survdnn(
    -  Surv(time, status) ~ age + karno,
    -  data = veteran,
    -  loss = "aft",
    -  epochs = 300
    -  )
    -
    ## Epoch 50 - Loss: 18.154217
    -## 
    -## Epoch 100 - Loss: 17.844833
    -## 
    -## Epoch 150 - Loss: 17.560537
    -## 
    -## Epoch 200 - Loss: 17.134348
    -## 
    -## Epoch 250 - Loss: 16.840366
    -## 
    -## Epoch 300 - Loss: 16.344124
    -
      -
    • Coxtime
    • -
    -
    mod3 <- survdnn(
    -  Surv(time, status) ~ age + karno,
    -  data = veteran,
    -  loss = "coxtime",
    -  epochs = 300
    -  )
    -
    ## Epoch 50 - Loss: 4.932558
    -## 
    -## Epoch 100 - Loss: 4.864682
    -## 
    -## Epoch 150 - Loss: 4.830169
    -## 
    -## Epoch 200 - Loss: 4.784954
    -## 
    -## Epoch 250 - Loss: 4.764827
    -## 
    -## Epoch 300 - Loss: 4.731824
    -

    Cross-validation

    -
    cv_results <- cv_survdnn(
    -  Surv(time, status) ~ age + karno + celltype,
    -  data = veteran,
    -  times = c(600),
    -  metrics = c("cindex", "ibs"),
    -  folds = 3,
    -  hidden = c(16, 8),
    -  loss = "cox",
    -  epochs = 300
    -  )
    -
    -print(cv_results)
    -

    Hyperparameter tuning

    -
    grid <- list(
    -  hidden     = list(c(16), c(32, 16)),
    -  lr         = c(1e-3),
    -  activation = c("relu"),
    -  epochs     = c(100, 300),
    -  loss       = c("cox", "aft", "coxtime")
    -  )
    -
    -tune_res <- tune_survdnn(
    -  formula = Surv(time, status) ~ age + karno + celltype,
    -  data = veteran,
    -  times = c(90, 300),
    -  metrics = "cindex",
    -  param_grid = grid,
    -  folds = 3,
    -  refit = FALSE,
    -  return = "summary"
    -  )
    -
    -print(tune_res)
    -

    Tuning and refitting the -best Model

    -

    tune_survdnn() can be used also to automatically refit -the best-performing model on the full dataset. This behavior is -controlled by the refit and return arguments. -For example:

    -
    best_model <- tune_survdnn(
    -  formula = Surv(time, status) ~ age + karno + celltype,
    -  data = veteran,
    -  times = c(90, 300),
    -  metrics = "cindex",
    -  param_grid = grid,
    -  folds = 3,
    -  refit = TRUE,
    -  return = "best_model"
    -  )
    -

    In this mode, cross-validation is used to select the optimal -hyperparameter configuration, after which the selected model is refitted -on the full dataset. The function then returns a fitted object of class -"survdnn".

    -

    The resulting model can be used directly for prediction -visualization, and evaluation:

    -
    summary(best_model)
    -
    -plot(best_model, times = 1:300)
    -
    -predict(best_model, veteran, type = "risk", times = 180)
    -

    This makes tune_survdnn() suitable for end-to-end -workflows, combining model selection and final model fitting.

    -

    Plot survival curves

    -
    plot(mod1, group_by = "celltype", times = 1:300)
    -

    -
    plot(mod1, group_by = "celltype", times = 1:300, plot_mean_only = TRUE)
    -

    -

    Documentation

    -
    help(package = "survdnn")
    -?survdnn
    -?tune_survdnn
    -?cv_survdnn
    -?plot.survdnn
    -

    Testing

    -
    # run all tests
    -devtools::test()
    -

    Note on reproducibility

    -

    By default, {torch} initializes model weights and -shuffles minibatches using random draws, so results may differ across -runs. Unlike set.seed(), which only controls R’s random -number generator, {torch} relies on its own RNG implemented -in C++ (and CUDA when using GPUs).

    -

    To ensure reproducibility, random seeds must therefore be set at the -Torch level as well.

    -

    survdnn provides built-in control of randomness to -guarantee reproducible results across runs. The main fitting function, -survdnn(), exposes a dedicated .seed -argument:

    -
    mod <- survdnn(
    -  Surv(time, status) ~ age + karno + celltype,
    -  data   = veteran,
    -  epochs = 300,
    -  .seed  = 123
    -)
    -

    When .seed is provided, survdnn() -internally synchronizes both R and Torch random number generators via -survdnn_set_seed(), ensuring reproducible:

    -
      -
    • weight initialization

    • -
    • dropout behavior

    • -
    • minibatch ordering

    • -
    • loss trajectories

    • -
    -

    If .seed = NULL (the default), randomness is left -uncontrolled and results may vary between runs.

    -

    For full reproducibility in cross-validation or hyperparameter -tuning, the same .seed mechanism is propagated internally -by cv_survdnn() and tune_survdnn(), ensuring -consistent data splits, model initialization, and optimization paths -across repetitions.

    -

    CPU and core usage

    -

    survdnn relies on the {torch} backend for -numerical computation. The number of CPU cores (threads) used during -training, prediction, and evaluation is controlled globally by -Torch.

    -

    By default, Torch automatically configures its CPU thread pools based -on the available system resources, unless explicitly overridden by the -user using:

    -
    torch::torch_set_num_threads(4)
    -

    This setting affects:

    -
      -
    • model training

    • -
    • prediction

    • -
    • evaluation metrics

    • -
    • cross-validation and hyperparameter tuning

    • -
    -

    GPU acceleration can be enabled by setting -.device = "cuda" when calling survdnn() -(cv_survdnn() and tune_survdnn() too).

    -

    Availability

    -

    The survdnn R package is available on CRAN or github

    -

    Contributions

    -

    Contributions, issues, and feature requests are welcome!

    -

    Open an issue or submit a -pull request.

    -

    License

    -

    MIT License © 2025 Imad EL BADISY

    - - - diff --git a/README.md b/README.md index 53c668e..1d7dba4 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # survdnn -> Deep Neural Networks for Survival Analysis using -> [torch](https://torch.mlverse.org/) +> Deep Neural Networks for Survival Analysis using [R +> torch](https://torch.mlverse.org/) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) @@ -48,7 +48,7 @@ evaluation of `survdnn` is currently under review at *The R Journal*. ``` r # Install from CRAN -install.packages("surdnn") +install.packages("survdnn") # Install from GitHub @@ -80,17 +80,17 @@ mod <- survdnn( ) ``` - ## Epoch 50 - Loss: 3.983201 + ## Epoch 50 - Loss: 3.967377 ## - ## Epoch 100 - Loss: 3.947356 + ## Epoch 100 - Loss: 3.863189 ## - ## Epoch 150 - Loss: 3.934828 + ## Epoch 150 - Loss: 3.879065 ## - ## Epoch 200 - Loss: 3.876191 + ## Epoch 200 - Loss: 3.814478 ## - ## Epoch 250 - Loss: 3.813223 + ## Epoch 250 - Loss: 3.756944 ## - ## Epoch 300 - Loss: 3.868888 + ## Epoch 300 - Loss: 3.823366 ``` r summary(mod) @@ -99,13 +99,13 @@ summary(mod) ## ## Formula: ## Surv(time, status) ~ age + karno + celltype - ## + ## ## ## Model architecture: ## Hidden layers: 32 : 16 ## Activation: relu ## Dropout: 0.3 - ## Final loss: 3.868888 + ## Final loss: 3.823366 ## ## Training summary: ## Epochs: 300 @@ -136,17 +136,17 @@ mod1 <- survdnn( ) ``` - ## Epoch 50 - Loss: 3.986035 + ## Epoch 50 - Loss: 3.988259 ## - ## Epoch 100 - Loss: 3.973183 + ## Epoch 100 - Loss: 3.930287 ## - ## Epoch 150 - Loss: 3.944867 + ## Epoch 150 - Loss: 3.913787 ## - ## Epoch 200 - Loss: 3.901533 + ## Epoch 200 - Loss: 3.896528 ## - ## Epoch 250 - Loss: 3.849433 + ## Epoch 250 - Loss: 3.819792 ## - ## Epoch 300 - Loss: 3.899746 + ## Epoch 300 - Loss: 3.893889 - Accelerated Failure Time @@ -159,17 +159,17 @@ mod2 <- survdnn( ) ``` - ## Epoch 50 - Loss: 18.154217 + ## Epoch 50 - Loss: 16.911470 ## - ## Epoch 100 - Loss: 17.844833 + ## Epoch 100 - Loss: 16.589067 ## - ## Epoch 150 - Loss: 17.560537 + ## Epoch 150 - Loss: 16.226612 ## - ## Epoch 200 - Loss: 17.134348 + ## Epoch 200 - Loss: 15.959708 ## - ## Epoch 250 - Loss: 16.840366 + ## Epoch 250 - Loss: 15.182121 ## - ## Epoch 300 - Loss: 16.344124 + ## Epoch 300 - Loss: 15.049762 - Coxtime @@ -182,17 +182,17 @@ mod3 <- survdnn( ) ``` - ## Epoch 50 - Loss: 4.932558 + ## Epoch 50 - Loss: 4.888907 ## - ## Epoch 100 - Loss: 4.864682 + ## Epoch 100 - Loss: 4.846722 ## - ## Epoch 150 - Loss: 4.830169 + ## Epoch 150 - Loss: 4.838490 ## - ## Epoch 200 - Loss: 4.784954 + ## Epoch 200 - Loss: 4.816662 ## - ## Epoch 250 - Loss: 4.764827 + ## Epoch 250 - Loss: 4.780379 ## - ## Epoch 300 - Loss: 4.731824 + ## Epoch 300 - Loss: 4.756117 ## Cross-validation diff --git a/README_files/figure-gfm/unnamed-chunk-11-1.png b/README_files/figure-gfm/unnamed-chunk-11-1.png index b79fc283b65c3df21f5491addd81a18bf744f8e6..1ae8cf2b1364cdbb58468d6eb89062fca11ec762 100644 GIT binary patch literal 161911 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 W6dfhy`}7-d|EMTvqN?O9L;oK-UW@|( literal 157083 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

    n7b020QJ?4|a0;_0dY=$@Ey7_Vy4L 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

      (Jpv%$XIZvr+xE$7~N5 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 z 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

      boz^T1Pkk3^uzEvIg5le9s`wf(+sChfwq|c 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 literal 38404 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