Calculates the integrated logarithmic (log), loss, aka integrated cross entropy.
For an individual who dies at time \(t\), with predicted Survival function, \(S\), the probabilistic log loss at time \(t^*\) is given by $$L(S,t|t^*) = - [log(1 - S(t^*))I(t \le t^*, \delta = 1)(1/G(t))] - [log(S(t^*))I(t > t^*)(1/G(t^*))]$$ # nolint where \(G\) is the Kaplan-Meier estimate of the censoring distribution.
If integrated == FALSE
then the sample mean is taken for the single specified times
, \(t^*\), and the returned
score is given by
$$L(S,t|t^*) = \frac{1}{N} \sum_{i=1}^N L(S_i,t_i|t^*)$$
where \(N\) is the number of observations, \(S_i\) is the predicted survival function for
individual \(i\) and \(t_i\) is their true survival time.
If integrated == TRUE
then an approximation to integration is made by either taking the sample
mean over all \(T\) unique time-points (method == 1
), or by taking a mean weighted by the difference
between time-points (method == 2
). Then the sample mean is taken over all \(N\) observations.
$$L(S) = \frac{1}{NT} \sum_{i=1}^N \sum_{j=1}^T L(S_i,t_i|t^*_j)$$
This Measure can be instantiated via the dictionary mlr_measures or with the associated sugar function msr():
MeasureSurvIntLogloss$new() mlr_measures$get("surv.intlogloss") msr("surv.intlogloss")
Type: "surv"
Range: \([0, \infty)\)
Minimize: TRUE
Required prediction: distr
mlr3::Measure
-> mlr3proba::MeasureSurv
-> mlr3proba::MeasureSurvIntegrated
-> MeasureSurvIntLogloss
eps
(numeric(1)
)
Very small number used to prevent log(0) error.
se
(logical(1))
If TRUE
returns the standard error of the measure.
new()
Creates a new instance of this R6 class.
MeasureSurvIntLogloss$new( integrated = TRUE, times, eps = 1e-15, method = 2, se = FALSE )
integrated
(logical(1)
)
If TRUE
(default), returns the integrated score; otherwise, not integrated.
times
(numeric()
)
If integrate == TRUE
then a vector of time-points over which to integrate the score.
If integrate == FALSE
then a single time point at which to return the score.
eps
(numeric(1)
)
Very small number to set zero-valued predicted probabilities to in order to prevent errors
in log(0) calculation.
method
(integer(1)
)
If integrate == TRUE
selects the integration weighting method.
method == 1
corresponds to weighting each time-point equally and taking the mean score over
discrete time-points. method == 2
corresponds to calculating a mean weighted by the difference
between time-points. method == 2
is default to be in line with other packages.
se
(logical(1)
)
If TRUE
returns the standard error of the measure.
clone()
The objects of this class are cloneable with this method.
MeasureSurvIntLogloss$clone(deep = FALSE)
deep
Whether to make a deep clone.
Graf E, Schmoor C, Sauerbrei W, Schumacher M (1999). “Assessment and comparison of prognostic classification schemes for survival data.” Statistics in Medicine, 18(17-18), 2529--2545. 10.1002/(sici)1097-0258(19990915/30)18:17/18<2529::aid-sim274>3.0.co;2-5.
Other survival measures:
mlr_measures_surv.beggC
,
mlr_measures_surv.calib_alpha
,
mlr_measures_surv.calib_beta
,
mlr_measures_surv.chambless_auc
,
mlr_measures_surv.cindex
,
mlr_measures_surv.gonenC
,
mlr_measures_surv.grafSE
,
mlr_measures_surv.graf
,
mlr_measures_surv.harrellC
,
mlr_measures_surv.hung_auc
,
mlr_measures_surv.intloglossSE
,
mlr_measures_surv.logloss_se
,
mlr_measures_surv.logloss
,
mlr_measures_surv.maeSE
,
mlr_measures_surv.mae
,
mlr_measures_surv.mseSE
,
mlr_measures_surv.mse
,
mlr_measures_surv.nagelk_r2
,
mlr_measures_surv.oquigley_r2
,
mlr_measures_surv.rmseSE
,
mlr_measures_surv.rmse
,
mlr_measures_surv.schmid
,
mlr_measures_surv.song_auc
,
mlr_measures_surv.song_tnr
,
mlr_measures_surv.song_tpr
,
mlr_measures_surv.unoC
,
mlr_measures_surv.uno_auc
,
mlr_measures_surv.uno_tnr
,
mlr_measures_surv.uno_tpr
,
mlr_measures_surv.xu_r2
Other Probabilistic survival measures:
mlr_measures_surv.grafSE
,
mlr_measures_surv.graf
,
mlr_measures_surv.intloglossSE
,
mlr_measures_surv.logloss_se
,
mlr_measures_surv.logloss
,
mlr_measures_surv.schmid
Other distr survival measures:
mlr_measures_surv.calib_alpha
,
mlr_measures_surv.grafSE
,
mlr_measures_surv.graf
,
mlr_measures_surv.intloglossSE
,
mlr_measures_surv.logloss_se
,
mlr_measures_surv.logloss
,
mlr_measures_surv.schmid