Hàm nguy hiểm cơ sở có thể được ước tính trong R bằng cách sử dụng hàm "basehaz". Tệp "trợ giúp" nói rằng đó là chức năng "dự đoán sống sót" mà rõ ràng là không. Nếu một người kiểm tra mã, thì rõ ràng là hàm nguy hiểm tích lũy từ một survfit
đối tượng. Đối với sự điên cuồng hơn nữa, cài đặt mặc định là centered=TRUE
a) không phải là chức năng nguy hiểm cơ bản (như tên gọi) và b) sử dụng dự đoán có nghĩa là cực kỳ mất uy tín trong bất kỳ ý nghĩa thực tế nào.
Và theo quan điểm trước đó của bạn: có chức năng này sử dụng chức năng bước. Bạn có thể chuyển đổi đầu ra đó thành một hàm nguy hiểm bằng cách sử dụng làm mịn. Phần tồi tệ nhất của tất cả, khoảng không chắc chắn cho dự đoán đó là gì? Bạn có thể nhận được huy chương Trường nếu bạn có thể lấy được nó. Tôi không nghĩ chúng ta thậm chí còn biết liệu bootstrapping có hoạt động hay không.
Ví dụ:
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')