ベースラインハザード関数は、 "basehaz"関数を使用してRで推定できます。「ヘルプ」ファイルには、「予測生存率」関数であることが明記されていません。コードを調べれば、それは明らかにsurvfit
オブジェクトからの累積ハザード関数です。さらに簡単にするために、デフォルトの設定はcentered=TRUE
、a)(名前が示すように)ベースラインハザード関数ではなく、b)実用的な意味で非常に有効であると信用されていない予測平均を採用しています。
そしてあなたの以前のポイントへ:はい、この関数はstep関数を利用します。平滑化を使用して、その出力をハザード関数に変換できます。そのすべての最悪の部分、その予測の不確実性間隔は何ですか?フィールズメダルを獲得できる場合、そのメダルを獲得できます。ブートストラップが機能するかどうかさえわからないと思います。
例として:
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')