Podstawową funkcję hazardu można oszacować w R za pomocą funkcji „basehaz”. Plik „pomocy” stwierdza, że jest to funkcja „przewidywanego przeżycia”, której oczywiście nie ma. Jeśli ktoś sprawdza kod, jest to wyraźnie funkcja skumulowanego zagrożenia z survfit
obiektu. Dla dalszej głupoty domyślnym ustawieniem jest to, centered=TRUE
co: a) nie jest podstawową funkcją hazardu (jak sugeruje nazwa), i b) stosuje przewidywanie środków, które jest zdyskredytowane jako ważne pod każdym względem praktycznym.
I do wcześniejszego punktu: tak, ta funkcja korzysta z funkcji krokowej. Możesz przekształcić ten wynik w funkcję hazardu za pomocą wygładzania. Co najgorsze, jaki jest przedział niepewności dla tej prognozy? Możesz zdobyć medal Fields, jeśli możesz go zdobyć. Nie sądzę, abyśmy nawet wiedzieli, czy ładowanie działa, czy nie.
Jako przykład:
set.seed(1234)
x <- rweibull(1000, 2, 3)
coxfit <- coxph(Surv(x) ~ 1)
bhest <- basehaz(coxfit)
haz <- exp(diff(bhest[, 1])*diff(bhest[, 2]))
time <- (bhest[-1,2] + bhest[-1000, 2])/2
b <- 2^-3
curve(3*b*x, from=0, to=max(x), xlab='Survival time', ylab='Weibull hazard')
points(t <- bhest[-1,2], h <- diff(bhest[, 1])/diff(bhest[, 2]), col='grey')
smooth <- loess.smooth(t, h)
lines(smooth$x, smooth$y, col='red')
legend('topright', lty=c(1,1,0), col=c('black', 'red', 'grey'), pch=c(NA,NA,1), c('Actual hazard fun', 'Smoothed hazard fun', 'Stepped discrete-time hazards'), bg='white')