Predicted values from a fitted Parametric survival model.
(parametric(1)
)
Object of class inheriting from "parametric"
.
(data.frame(1))
Testing data of data.frame
like object, internally is coerced with stats::model.matrix()
.
If missing then training data from fitted object is used.
(character(1))
The form of the predicted distribution, see details
for options.
(numeric())
Times at which to evaluate the estimator. If NULL
(default) then evaluated at all unique times
in the training set.
(character(1)
)
Type of predicted value. Choices are survival probabilities over all time-points in training
data ("survival"
) or a relative risk ranking ("risk"
), which is the sum of the predicted
cumulative hazard function so higher rank implies higher risk of event, or both ("all"
).
(logical(1)
)
If FALSE
(default) and type
is "survival"
or "all"
returns matrix of survival
probabilities, otherwise returns a distr6::Distribution()
.
(numeric(1))
Number of unique time-points in the training set, default is 150.
(numeric(1))
Number of decimal places to round time-points to, default is 2, set to FALSE
for no rounding.
ANY
Currently ignored.
A numeric
if type = "risk"
, a distr6::Distribution()
(if distr6 = TRUE
) and type = "survival"
; a matrix
if
(distr6 = FALSE
) and type = "survival"
where entries are survival
probabilities with rows of observations and columns are time-points;
or a list combining above if type = "all"
.
The form
parameter determines how the distribution is created.
Options are:
Accelerated failure time ("aft"
) $$h(t) = h_0(\frac{t}{exp(lp)})exp(-lp)$$
Proportional Hazards ("ph"
) $$h(t) = h_0(t)exp(lp)$$
Tobit ("tobit"
) $$h(t) = \Phi(\frac{t - lp}{scale})$$
Proportional odds ("po"
) $$h(t) = \frac{h_0(t)}{1 + (exp(lp)-1)S_0(t)}$$
where \(h_0,S_0\) are the estimated baseline hazard and survival functions
(in this case with a given parametric form), \(lp\) is the predicted linear
predictor calculated using the formula \(lp = \hat{\beta} X_{new}\) where
\(X_{new}\) are the variables in the test data set and \(\hat{\beta}\)
are the coefficients from the fitted parametric survival model (object
).
\(\Phi\) is the cdf of a N(0, 1) distribution, and \(scale\) is the
fitted scale parameter.
if (requireNamespaces(c("distr6", "survival"))) {
library(survival)
set.seed(42)
train <- simsurvdata(10)
test <- simsurvdata(5)
fit <- parametric(Surv(time, status) ~ ., data = train)
# Return a discrete distribution survival matrix
predict_distr <- predict(fit, newdata = test)
predict_distr
# Return a relative risk ranking with type = "risk"
predict(fit, newdata = test, type = "risk")
# Or survival probabilities and a rank
predict(fit, newdata = test, type = "all", distr6 = TRUE)
}
#> $risk
#> [1] -1.593623 -1.593688 -1.593946 -1.595713 -1.593946
#>
#> $surv
#> WeibullAFT1 WeibullAFT2 ... WeibullAFT4 WeibullAFT5
#>