Базовая функция опасности может быть оценена в R с помощью функции «basehaz». Файл «справки» гласит, что это функция «предсказанного выживания», которой явно нет. Если проверять код, это, очевидно, функция кумулятивной опасности от survfit
объекта. Для дальнейшей глупости настройкой по умолчанию является то, centered=TRUE
что а) не является базовой функцией риска (как следует из названия), и б) использует прогнозирование на средстве, которое дико дискредитируется как действительное в любом практическом смысле.
И к вашей более ранней точке: да, эта функция использует функцию шага. Вы можете преобразовать этот вывод в функцию опасности, используя сглаживание. Худшая часть всего этого, каков интервал неопределенности для этого прогноза? Вы можете получить медаль Филдса, если сможете ее получить. Я не думаю, что мы даже знаем, работает ли начальная загрузка или нет.
Например:
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')