Logistic-Hazard fits a discrete neural network based on a cross-entropy loss and predictions of a discrete hazard function, also known as Nnet-Survival.
pchazard(
  formula = NULL,
  data = NULL,
  reverse = FALSE,
  time_variable = "time",
  status_variable = "status",
  x = NULL,
  y = NULL,
  frac = 0,
  cuts = 10,
  cutpoints = NULL,
  scheme = c("equidistant", "quantiles"),
  cut_min = 0,
  activation = "relu",
  custom_net = NULL,
  num_nodes = c(32L, 32L),
  batch_norm = TRUE,
  reduction = c("mean", "none", "sum"),
  dropout = NULL,
  device = NULL,
  early_stopping = FALSE,
  best_weights = FALSE,
  min_delta = 0,
  patience = 10L,
  batch_size = 256L,
  epochs = 1L,
  verbose = FALSE,
  num_workers = 0L,
  shuffle = TRUE,
  ...
)(formula(1))
Object specifying the model fit, left-hand-side of formula should describe a survival::Surv()
object.
(data.frame(1))
Training data of data.frame like object, internally is coerced with stats::model.matrix().
(logical(1))
If TRUE fits estimator on censoring distribution, otherwise (default) survival distribution.
(character(1))
Alternative method to call the function. Name of the 'time' variable, required if formula.
or x and Y not given.
(character(1))
Alternative method to call the function. Name of the 'status' variable, required if formula
or x and Y not given.
(data.frame(1))
Alternative method to call the function. Required if formula, time_variable and
status_variable not given. Data frame like object of features which is internally
coerced with model.matrix.
([survival::Surv()])
Alternative method to call the function. Required if formula, time_variable and
status_variable not given. Survival outcome of right-censored observations.
(numeric(1)) 
Fraction of data to use for validation dataset, default is 0 and therefore no separate
validation dataset.
(integer(1))
If discretise is TRUE then determines number of cut-points for discretisation.
(numeric()) 
Alternative to cuts if discretise is true, provide exact cutpoints for discretisation.
cuts is ignored if cutpoints is non-NULL.
(character(1))
Method of discretisation, either "equidistant" (default) or "quantiles".
See reticulate::py_help(pycox$models$LogisticHazard$label_transform) for more detail.
(integer(1))
Starting duration for discretisation, see
reticulate::py_help(pycox$models$LogisticHazard$label_transform) for more detail.
(character(1)) 
See get_pycox_activation.
(torch.nn.modules.module.Module(1))
Optional custom network built with build_pytorch_net, otherwise default architecture used.
Note that if building a custom network the number of output channels depends on cuts or
cutpoints.
(integer()/logical(1)/numeric(1)) 
See build_pytorch_net.
(character(1))
How to reduce the loss, see to reticulate::py_help(pycox$models$loss$NLLPCHazardLoss).
(integer(1)|character(1))
Passed to pycox.models.PCHazard, specifies device to compute models on.
(logical(1)/logical(1)/numeric(1)/integer(1) 
See get_pycox_callbacks.
(integer(1))
Passed to pycox.models.PCHazard.fit, elements in each batch.
(integer(1))
Passed to pycox.models.PCHazard.fit, number of epochs.
(logical(1))
Passed to pycox.models.PCHazard.fit, should information be displayed during
fitting.
(integer(1))
Passed to pycox.models.PCHazard.fit, number of workers used in the
dataloader.
(logical(1))
Passed to pycox.models.PCHazard.fit, should order of dataset be shuffled?
ANY 
Passed to get_pycox_optim.
An object inheriting from class pchazard.
An object of class survivalmodel.
Implemented from the pycox Python package via reticulate.
Calls pycox.models.PCHazard.
Kvamme, H., & Borgan, Ø. (2019). Continuous and discrete-time survival prediction with neural networks. https://doi.org/arXiv:1910.06724.
# \donttest{
if (requireNamespaces("reticulate")) {
  # all defaults
  pchazard(data = simsurvdata(50))
  # common parameters
  pchazard(data = simsurvdata(50), frac = 0.3, activation = "relu",
    num_nodes = c(4L, 8L, 4L, 2L), dropout = 0.1, early_stopping = TRUE, epochs = 100L,
    batch_size = 32L)
}
#> Error in py_module_import(module, convert = convert): ModuleNotFoundError: No module named 'pycox'
#> Run `reticulate::py_last_error()` for details.
# }