Skip to contents

Calculates the Integrated Schmid Score (ISS), aka integrated absolute loss.

For an individual who dies at time \(t\), with predicted Survival function, \(S\), the Schmid Score at time \(t^*\) is given by $$L(S,t|t^*) = [(S(t^*))I(t \le t^*, \delta = 1)(1/G(t))] + [((1 - S(t^*)))I(t > t^*)(1/G(t^*))]$$ # nolint where \(G\) is the Kaplan-Meier estimate of the censoring distribution.

The re-weighted ISS, ISS* is given by $$L(S,t|t^*) = [(S(t^*))I(t \le t^*, \delta = 1)(1/G(t))] + [((1 - S(t^*)))I(t > t^*)(1/G(t))]$$ # nolint where \(G\) is the Kaplan-Meier estimate of the censoring distribution, i.e. always weighted by \(G(t)\). ISS* is strictly proper when the censoring distribution is independent of the survival distribution and when G is fit on a sufficiently large dataset. ISS is never proper. Use proper = FALSE for ISS and proper = TRUE for ISS*, in the future the default will be changed to proper = TRUE. Results may be very different if many observations are censored at the last observed time due to division by 1/eps in proper = TRUE.

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)$$


If task and train_set are passed to $score then G is fit on training data, otherwise testing data. The first is likely to reduce any bias caused by calculating parts of the measure on the test data it is evaluating. The training data is automatically used in scoring resamplings.


This Measure can be instantiated via the dictionary mlr_measures or with the associated sugar function msr():


Meta Information

  • Type: "surv"

  • Range: \([0, \infty)\)

  • Minimize: TRUE

  • Required prediction: distr


Schemper, Michael, Henderson, Robin (2000). “Predictive Accuracy and Explained Variation in Cox Regression.” Biometrics, 56, 249--255. doi:10.1002/sim.1486 .

Schmid, Matthias, Hielscher, Thomas, Augustin, Thomas, Gefeller, Olaf (2011). “A Robust Alternative to the Schemper-Henderson Estimator of Prediction Error.” Biometrics, 67(2), 524--535. doi:10.1111/j.1541-0420.2010.01459.x .

Super classes

mlr3::Measure -> mlr3proba::MeasureSurv -> MeasureSurvSchmid


Inherited methods

Method new()

Creates a new instance of this R6 class.


Method clone()

The objects of this class are cloneable with this method.


MeasureSurvSchmid$clone(deep = FALSE)



Whether to make a deep clone.