Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

devResidShort

Deviance Residuals


Description

Computes the root of the deviance residuals for evaluation of performance in discrete survival analysis.

Usage

devResidShort(dataSet, hazards)

Arguments

dataSet

Original data in long format. Must be of class "data.frame". The correct format can be specified with data preparation, see e. g. dataLong.

hazards

Estimated hazard rates of the data in long format. Discrete hazard rates are probabilities and therefore restricted to the interval [0, 1]

Value

  • Output: List with objects:

    • DevResid: Square root of deviance residuals as numeric vector.

  • Input: A list of given argument input values (saved for reference)

Author(s)

References

Gerhard Tutz and Matthias Schmid, (2016), Modeling discrete time-to-event data, Springer series in statistics, Doi: 10.1007/978-3-319-28158-2

Gerhard Tutz, (2012), Regression for Categorical Data, Cambridge University Press

See Also

Examples

library(survival)

# Transform data to long format
heart[, "stop"] <- ceiling(heart[, "stop"])
set.seed(0)
Indizes <- sample(unique(heart$id), 25)
randSample <- heart[unlist(sapply(1:length(Indizes), 
function(x) which(heart$id==Indizes[x]))),]
heartLong <- dataLongTimeDep(dataSet=randSample, 
timeColumn="stop", censColumn="event", idColumn="id", timeAsFactor=FALSE)

# Fit a generalized, additive model and predict hazard rates on data in long format
library(mgcv)
gamFit <- gam(y ~ timeInt + surgery + transplant + s(age), data=heartLong, family="binomial")
hazPreds <- predict(gamFit, type="response")

# Calculate the deviance residuals
devResiduals <- devResidShort (dataSet=heartLong, hazards=hazPreds)$Output$DevResid

# Compare with estimated normal distribution
plot(density(devResiduals), 
main="Empirical density vs estimated normal distribution", 
las=1, ylim=c(0, 0.5))
tempFunc <- function (x) dnorm(x, mean=mean(devResiduals), sd=sd(devResiduals))
curve(tempFunc, xlim=c(-10, 10), add=TRUE, col="red")
# The empirical density seems like a mixture distribution, 
# but is not too far off in with values greater than 3 and less than 1

discSurv

Discrete Time Survival Analysis

v1.4.1
GPL-3
Authors
Thomas Welchowski <welchow@imbie.meb.uni-bonn.de> and Matthias Schmid <matthias.schmid@imbie.uni-bonn.de>
Initial release
2019-12-10

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.