2015-02-16 5 views
8

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)) 

muhaz hazard function

In dem obigen Beispiel die muhaz.objectfit 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.

enter image description here

+2

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

+0

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

Antwort

1

Bootstrapping liefert die Antwort als die commenter vorgeschlagen. Ihre Intuitionen sind richtig, dass Sie erwarten sollten, dass sich die CIs mit abnehmender gefährdeter Zahl erweitern. Dieser Effekt wird jedoch durch den Glättungsprozess verringert und je länger das Intervall ist, über das die Glättung angewendet wird, desto weniger sollten Sie die Änderung der Größe des CI bemerken. Versuchen Sie, über ein ausreichend kurzes Intervall zu glätten und Sie sollten bemerken, dass die CIs sich merklich erweitern.

Wie Sie vielleicht finden, können diese geglätteten Gefahrenplots sehr begrenzt verwendet werden und sind sehr empfindlich für die Glättung. Als Übung ist es lehrreich, Überlebenszeiten aus einer Reihe von Weibull-Verteilungen mit dem auf 0,8, 1,0, 1,2 festgelegten Formparameter zu simulieren und dann diese geglätteten Gefahrenplots zu betrachten und zu versuchen, sie zu kategorisieren. In dem Ausmaß, in dem diese Diagramme informativ sind, sollte es ziemlich einfach sein, den Unterschied zwischen diesen drei Kurven basierend auf der Trendrate der Gefahrenfunktion zu bestimmen. YMMV, aber ich war nicht sehr beeindruckt von den Ergebnissen, als ich diese Tests mit angemessenen Probengrößen durchgeführt habe, die mit klinischen Studien in der Onkologie übereinstimmen.

Als Alternative zu geglätteten Hazardplots können Sie versuchen, stückweise Exponentialkurven nach der Methode von Han et al. (http://www.ncbi.nlm.nih.gov/pubmed/23900779) und bootstrappt das. Ihr Algorithmus wird die Bruchpunkte identifizieren, bei denen sich die Hazardrate statistisch signifikant ändert, und kann Ihnen einen besseren Eindruck von der Entwicklung der Gefährdungsrate geben als geglättete Hazard Plots. Es wird auch die etwas willkürliche aber konsequente Wahl von Glättungsparametern vermieden.

+0

Vielen Dank für Ihre ausführliche Antwort. Weißt du, ob es für dieses Verfahren ein R-Paket gibt? – ECII

+0

Ich glaube nicht, dass sie ihren R-Code schon veröffentlicht haben. Sie können den Code von den Autoren erhalten, wenn Sie erklären, wie Sie ihn verwenden und freundlich fragen werden. In der Regel sollte ihre Arbeit die Methode so gut erklären, dass sie ein interessantes Projekt wird. – jrdnmdhl