Das muhaz
-Paket schätzt die hazard function von right censored Daten mit Kernel-Glättungsmethoden. Meine Frage ist, gibt es eine Möglichkeit, Konfidenzintervalle für die Hazard-Funktion zu erhalten, die muhaz
berechnet?Konfidenzintervalle der Muhaz-Paket-Hazard-Funktion
options(scipen=999)
library(muhaz)
data(ovarian, package="survival")
attach(ovarian)
fit1 <- muhaz(futime, fustat)
plot(fit1, lwd=3, ylim=c(0,0.002))
In dem obigen Beispiel die muhaz.object
fit
hat einige Einträge fit1$msemin
, fit1$var.min
, fit1$haz.est
jedoch deren Länge die Hälfte der fit1$haz.est
ist.
Irgendwelche Ideen, wenn es möglich ist, Konfidenzintervalle für die Hazard-Funktion zu extrahieren?
EDIT: Ich habe versucht, die mit Basis nach dem, was @ user20650 vorgeschlagen
options(scipen=999)
library(muhaz)
data(ovarian, package="survival")
fit1 <- muhaz(ovarian$futime, ovarian$fustat,min.time=0, max.time=744)
h.df<-data.frame(est=fit1$est.grid, h.orig=fit1$haz.est)
for (i in 1:10000){
d.s.onarian<-ovarian[sample(1:nrow(ovarian), nrow(ovarian), replace = T),]
d.s.muhaz<-muhaz(d.s.onarian$futime, d.s.onarian$fustat, min.time=0, max.time=744)
h.df<-cbind(h.df, d.s.muhaz$haz.est)
}
h.df$upper.ci<-apply(h.df[,c(-1,-2)], 1, FUN=function(x) quantile(x, probs = 0.975))
h.df$lower.ci<-apply(h.df[,c(-1,-2)], 1, FUN=function(x) quantile(x, probs = 0.025))
plot(h.df$est, h.df$h.orig, type="l", ylim=c(0,0.003), lwd=3)
lines(h.df$est, h.df$upper.ci, lty=3, lwd=3)
lines(h.df$est, h.df$lower.ci, lty=3, lwd=3)
Einstellung max.Zeit zu Werken scheint, jede Bootstrap-Probe hat die gleichen Abschätzungsgitterpunkte. Das gewonnene CI ist jedoch wenig sinnvoll. Normalerweise würde ich erwarten, dass die Intervalle bei t = 0 eng sind und mit der Zeit breiter werden (weniger Information, mehr Unsicherheit), aber die erhaltenen Intervalle scheinen mit der Zeit mehr oder weniger konstant zu sein.
Können Sie es Bootstrap?. Dies 'mit (fit1, plot (est.grid, haz.est, type = "l", lwd = 3, ylim = c (0,0.002))) ergibt die gleiche Kurve, so dass Sie Schätzungen von 'haz benötigen .est' zu den gleichen Zeitpunkten wie für 'fit1'. Wenn Sie jedoch das 'muhaz'-Modell resampeln und neu einstellen, ändern sich die Zeitpunkte. Nach einem kurzen Versuch können Sie, est.grid 'zu den gleichen Zeitpunkten für jedes Resample zwingen, wenn Sie' min.time' und 'max.time' ist identisch mit der ursprünglichen Anpassung. dh 'mit (dat, muhaz (futime, fustat, min.time = 0, max.time = 744)) ', wobei' dat' die Bootstrap-Daten sind. – user20650
Einstellung max.Die Zeit scheint zu funktionieren, jedes Bootstrap-Sample hat die gleichen Gitterpunkte. Das gewonnene CI ist jedoch wenig sinnvoll. Normalerweise würde ich erwarten, dass die Intervalle mit der Zeit größer werden (weniger Informationen, mehr Unsicherheit), aber die erhaltenen Intervalle scheinen im Laufe der Zeit mehr oder weniger konstant zu sein. – ECII