Calculates the Integrated Schmid Score, 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.

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():


Meta Information

  • Type: "surv"

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

  • Minimize: TRUE

  • Required prediction: distr


Schemper M, Henderson R (2000). “Predictive Accuracy and Explained Variation in Cox Regression.” Biometrics, 56, 249--255. ISSN 02776715, doi: 10.1002/sim.1486 . Schmid M, Hielscher T, Augustin T, Gefeller O (2011). “A Robust Alternative to the Schemper-Henderson Estimator of Prediction Error.” Biometrics, 67(2), 524--535. ISSN 0006341X, doi: 10.1111/j.1541-0420.2010.01459.x .

See also

Super classes

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

Active bindings


If TRUE returns the standard error of the measure.


Public methods

Inherited methods

Method new()

Creates a new instance of this R6 class.


MeasureSurvSchmid$new(integrated = TRUE, times, method = 2, se = FALSE)



If TRUE (default), returns the integrated score; otherwise, not integrated.


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.


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.


If TRUE returns the standard error of the measure.

Method clone()

The objects of this class are cloneable with this method.


MeasureSurvSchmid$clone(deep = FALSE)



Whether to make a deep clone.