Some models do not come with a ready to use risk prediction. This function allows for its generation based on the cumulative hazard function.
risk_from_chf(predict_cumulative_hazard_function, times)
a function of three arguments (model
, newdata
, times
) that allows for making cumulative hazard predictions.
a numeric vector of times at which the function should be evaluated.
A function of two arguments (model
, newdata
) returning a vector of risks.
# \donttest{
library(survex)
library(survival)
rsf_src <- randomForestSRC::rfsrc(Surv(time, status) ~ ., data = veteran)
chf_function <- transform_to_stepfunction(predict,
type = "chf",
prediction_element = "chf",
times_element = "time.interest"
)
risk_function <- risk_from_chf(chf_function, unique(veteran$time))
explainer <- explain(rsf_src,
predict_cumulative_hazard_function = chf_function,
predict_function = risk_function
)
#> Preparation of a new explainer is initiated
#> -> model label : rfsrc ( default )
#> -> data : 137 rows 6 cols ( extracted from the model )
#> -> target variable : 137 values ( 128 events and 9 censored , censoring rate = 0.066 ) ( extracted from the model )
#> -> times : 50 unique time points , min = 1.5 , median survival time = 80 , max = 999
#> -> times : ( generated from y as uniformly distributed survival quantiles based on Kaplan-Meier estimator )
#> -> predict function : risk_function
#> -> predict survival function : stepfun based on predict.rfsrc()$survival will be used ( default )
#> -> predict cumulative hazard function : chf_function
#> -> model_info : package randomForestSRC , ver. 3.2.3 , task survival ( default )
#> A new explainer has been created!
# }