Visualisieren Sie die Überlebensanalyse mit zeitabhängigen Kovariaten

8

Als Folgemaßnahme zum Modellvorschlag für eine Cox-Regression mit zeitabhängigen Kovariaten ist hier das Kaplan-Meier-Diagramm, das die zeitabhängige Natur von Schwangerschaften berücksichtigt. Mit anderen Worten, der Datensatz wird jetzt in einen langen Datensatz mit mehreren Zeilen entsprechend der Anzahl der Schwangerschaften unterteilt. Das KM-Diagramm und auch das erweiterte Cox-Modell scheinen auf einen positiven Effekt der Schwangerschaft auf das Ergebnis hinzudeuten. Wenn ich mir jedoch das KM-Diagramm anschaue, frage ich mich: Sollte die Linie für die erste Geburt bei 1,0 beginnen? Wäre es nicht intuitiver, diese Zeile mit dem y-Wert für 0 Geburten bei x zu beginnen, der dem Zeitpunkt der ersten Geburt entspricht?

EDIT: Nachdem ich dies genauer untersucht habe, sehe ich, dass reguläres KM nicht gut ist. Vielmehr sollte ich die in Stata verwendete Methode von Simon und Makuch verwenden (Simon R, Makuch RW. Eine nicht parametrische grafische Darstellung der Beziehung zwischen Überleben und Auftreten eines Ereignisses: Anwendung auf Responder versus Non-Responder-Bias. Statistik in Medicine , 1984; 3: 35–44.)

Hat jemand gesehen, dass dies für R implementiert wurde?

Geben Sie hier die Bildbeschreibung ein

Mischa
quelle

Antworten:

6

Ich konnte nicht auf den oben erwähnten Artikel von Simon und Makuch zugreifen, habe aber das gefundene Thema recherchiert:

Steven M. Snapinn, Qi Jiang und Boris Iglewicz (2005) veranschaulichen die Auswirkungen einer zeitlich variierenden Kovariate mit einem erweiterten Kaplan-Meier-Schätzer , The American Statistician , 59: 4, 301-307.

In diesem Artikel wird ein zeitabhängiger Kaplan-Meier-Plot (KM) vorgeschlagen, indem die Kohorten einfach zu allen Ereigniszeiten aktualisiert werden. Es wird auch der Artikel von Simon und Makuch zitiert, in dem eine ähnliche Idee vorgeschlagen wird. Das reguläre KM erlaubt dies nicht, es erlaubt nur eine feste Aufteilung in Gruppen. Die vorgeschlagene Methode teilt die Überlebenszeit tatsächlich nach dem Kovariatenstatus auf - genau wie bei der Schätzung eines Cox-Modells mit stückweise konstanten Kovariaten. Für das Cox-Modell ist dies eine praktikable und eine Standardidee. Bei der Erstellung eines KM-Diagramms ist dies jedoch komplizierter. Lassen Sie es mich anhand eines Simulationsbeispiels veranschaulichen.

Nehmen wir an, wir haben keine Zensur, sondern ein Ereignis (z. B. Geburt), das vor dem Zeitpunkt des Todes eintreten könnte oder nicht. Nehmen wir der Einfachheit halber auch konstante Gefahren an. Wir gehen auch davon aus, dass die Geburt die Sterberisiko nicht verändert. Wir werden nun das im obigen Artikel beschriebene Verfahren befolgen. In dem Artikel wird klar angegeben, wie dies in R gemacht wird. Teilen Sie Ihre Probanden einfach zum Zeitpunkt der Geburt so auf, dass sie in Ihrer Gruppierungsvariablen konstant sind. Verwenden Sie dann die Zählprozessformulierung in der SurvFunktion. In Code

library(survival)
library(ggplot2)
n          <- 10000
data       <- data.frame(id = seq(n), 
                         preg = rexp(n, 1), 
                         death = rexp(n, .5), 
                         enter = 0, 
                         per = NA, 
                         event = 1)
data$exit  <- data$death

data0      <- data
data0$exit <- with(data, pmin(preg, death))
data0$per  <- 0
data0$event[with(data0, preg < death)] <- 0

data1       <- subset(data, preg < death)
data1$enter <- data1$preg
data1$per   <- 1

data <- rbind(data0, data1)
data <- data[order(data$id), ]

Sfit <- survfit(Surv(time = enter, time2 = exit, event = event) ~ per, data = data)
autoplot(Sfit, censSize = 0)$plot

Ich teile es mehr oder weniger "von Hand" auf. Wir könnten auch gebrauchen survSplit. Das Verfahren gibt mir tatsächlich eine sehr schöne Schätzung.

Keine Voreingenommenheit

Wir erhalten fast identische Schätzungen für die beiden Gruppen, wie wir sollten. Aber eigentlich war meine Simulation vielleicht etwas unrealistisch. Nehmen wir an, eine Frau kann aus irgendeinem Grund nicht in den ersten beiden Zeiteinheiten gebären. Dies ist in Ihrem Beispiel zumindest sinnvoll: Zwischen zwei Schwangerschaften, die derselben Frau entsprechen, liegt eine gewisse Zeit. Eine kleine Ergänzung zum Code

data <- data.frame(id = seq(n), 
                   preg = rexp(n, 1) + 2, 
                   death = rexp(n, .5), 
                   enter = 0, 
                   preg = NA, 
                   event = 1)

Wir erhalten die folgende Handlung:

Vorspannen

Das gleiche würde mit Ihren Daten passieren. Sie werden zumindest für einen ersten Zeitraum keine 3. Schwangerschaft sehen, was bedeutet, dass Ihre Schätzung für diese Gruppe und diesen Zeitraum 1 beträgt. Dies ist meiner Meinung nach eine falsche Darstellung Ihrer Daten. Betrachten Sie meine Simulation. Die Gefahren sind identisch, aber für jeden Zeitpunkt ist die per1Schätzung größer als die per0Schätzung.

Sie könnten verschiedene Abhilfemaßnahmen für dieses Problem in Betracht ziehen. Sie schlagen vor, sie irgendwann zusammenzufügen (lassen Sie die per1Kurve an einem bestimmten Punkt auf der per0Kurve beginnen). Ich mag diese Idee. Wenn ich es mit den Simulationsdaten mache, erhalten wir:

Geben Sie hier die Bildbeschreibung ein

In unserem speziellen Fall denke ich, dass dies Daten viel besser darstellt, aber ich kenne keine veröffentlichten Ergebnisse, die diesen Ansatz unterstützen. Heuristisch kann man das Argument verwenden, das ich in einer anderen Antwort vorgestellt habe:

KM-Diagramm mit zeitlich variierendem Koeffizienten

swmo
quelle
Ich habe Ihren Beitrag ein wenig bearbeitet, um ihn besser lesbar zu machen. Wenn es Ihnen nicht gefällt, rollen Sie es mit meiner Entschuldigung zurück.
Gung - Reinstate Monica
0

Es gibt einen aktuellen Beitrag zu diesem Thema im Lebenslauf: Welches ist das beste Diagramm, um eine Überlebensanalyse mit einer zeitabhängigen Kovariate zu beschreiben?

Darüber hinaus besteht jetzt die Möglichkeit, den Mantel-Byar-Test und den zugehörigen Simon-Makuch-Plot in R mit Rcmdrden RcmdrPlugin.EZRPaketen und zu berechnen .

Siehe den zugehörigen SO-Beitrag mit einem detaillierten R-Code: /programming/40431559/mantel-byar-test-and-simon-makuch-plot-for-survival-analysis-with-time-dependent

Joe_74
quelle