Wie erstelle ich ein Kalibrierungsdiagramm für Überlebensdaten, ohne Daten zu gruppieren?

7

Um ein Kalibrierungsdiagramm für Überlebenswahrscheinlichkeiten zu erstellen, die anhand eines Cox-Modells geschätzt wurden, kann das geschätzte Risiko in Gruppen unterteilt, das durchschnittliche Risiko innerhalb einer Gruppe berechnet und dann mit der Kaplan-Meier-Schätzung verglichen werden. Was sind alternative Ansätze, für die kein Binning erforderlich ist? Welche spezifischen Schritte sind erforderlich, um eine solche Technik zu implementieren, und welche Logik steckt dahinter? In dieser Frage ist eine Diskussion vorhanden .

Juli
quelle

Antworten:

7

Eine einfache Möglichkeit, Cox-Überlebensmodelle zu kalibrieren, besteht darin, die calibratevom rmsPaket in R bereitgestellte Funktion wie auf der von Ihnen verlinkten Seite zu verwenden . Dieses Paket enthält eine cphMethode für Cox-Modelle, die mit den Kalibrierungs- und Validierungsmethoden für verschiedene Arten von Regressionsmodellen zusammenarbeitet.

Zitat aus der Handbuchseite: "[ calibrateu] verwendet Bootstrapping oder Kreuzvalidierung, um vorspannungskorrigierte (überanpassungskorrigierte) Schätzungen der vorhergesagten vs. beobachteten Werte zu erhalten." Statt binned Kaplan-Meier der Verwendung schätzt „beobachtet“ Werte jedoch zu schaffen, die Standard - cmethod="hare"Einstellung calibratefür cphModelle Verwendungen regression-Spline - Interpolation , die Schätzwerte für die nichtproportionale Gefahren und Nicht - Linearität ermöglichen , während take Berücksichtigung zensiert. Diese adaptive Modellierung der beobachteten Daten ermöglicht ein kontinuierliches Kalibrierungsdiagramm für eine bestimmte Überlebenszeit. Diese Übersicht enthält detailliertere Informationen zur HARE-Methode unter Bezugnahme auf das Originalpapier. (Wenn Sie cmethod="KM"den Anruf an setzen, erhalten calibrateSie einen Vergleich mit Kaplan-Meier-Schätzungen.)

Bevor Sie dies tun, lesen Sie unbedingt die Handbuchseiten, um sicherzustellen, dass Sie das cphModell mit den richtigen Einstellungen generieren, die die Verwendung dieser Funktionen ermöglichen, und dass das polsplinePaket installiert ist, um die hareFunktionalität bereitzustellen .

Frank Harrell, der Autor des rmsPakets, vergleicht den binned Kaplan-Meier und kontinuierlichen HASE Ansatz auf den Seiten 506-9 von Regression Modellierung Stratgies , zweiter Auflage, und (mehr kryptisch) in seinem zugehörigen Skriptum , Kapitel 17, Seiten 18-19 .

Was ist los "unter der Haube"

Das Kalibrierungsproblem für die Überlebensanalyse besteht darin, dass Beobachtungen Ereignisse sind, während wir versuchen, die Wahrscheinlichkeiten der Ereignisse zu kalibrieren. Es ist also eine Art Interpolation erforderlich. Für Cox-Modelle wird eine bestimmte Überlebenszeit zur Analyse herangezogen.

Betrachten Sie die gruppierte KM-Kalibrierung. Sie beginnen mit der Gruppierung von Fällen nach vorhergesagten Wahrscheinlichkeiten. Anschließend zeichnen Sie für jede Gruppe ähnlicher vorhergesagter Wahrscheinlichkeiten die KM-Überlebenskurve und interpolieren zwischen diesen wenigen Fällen zum gewählten Überlebenszeitpunkt, um die geschätzte "beobachtete" Überlebenswahrscheinlichkeit für diese Gruppe zu erhalten.

Bei dem von calibratefür cphModelle verwendeten Ansatz interpolieren Sie stattdessen zunächst die Gefahr unter allen Fällen als allgemeine Funktion der Prädiktorvariablen und der Zeit. Diese allgemeine Funktion, wie vonhareermöglicht die Modellierung jeder Prädiktorvariablen und -zeit als linearen Spline und ermöglicht paarweise Interaktionen zwischen den Variablen (einschließlich der Zeit als Variable). Die Sammlung von Splines und Interaktionen bietet eine Reihe von Basisfunktionen, von denen jede eine Funktion von Prädiktorvariablen und Zeit ist. Anschließend suchen Sie nach der Kombination dieser Basisfunktionen, die am besten zu den Überlebensdaten passen, wobei die Koeffizienten die durch Maximierung der Teilwahrscheinlichkeit geschätzten Basisfunktionen gewichten, ähnlich wie ein Cox-Modell Koeffizienten für die Prädiktorvariablen selbst findet. Die Komplexität des Modells (z. B. welche Basisfunktionen eingeschlossen werden sollen, Anzahl der Spline-Knoten) wird durch einen schrittweisen Additions- und Löschprozess ausgewählt, der in der oben angegebenen Gliederung ausführlich erläutert wird .

Das Ergebnis des hareProzesses ist eine einzelne Funktion, die die Gefahr als Funktion aller Prädiktorvariablen und der Zeit in einer Form bereitstellt, die typischerweise viel komplizierter ist als das Cox-Modell mit proportionalen Gefahren. Ich stelle mir dies gerne so vor, dass mit einer Interpolation aller Fälle zu jeder Zeit zusammen mit den zugehörigen Werten der Prädiktorvariablen begonnen wird und nicht mit der Interpolation auf eine bestimmte Zeit für eine Teilmenge von Fällen, die im gruppierten KM-Kalibrierungsschema verwendet werden.

Mit der von bereitgestellten Hazard-Funktion harekönnen Sie jetzt eine beliebige Kombination von Prädiktorvariablenwerten verwenden und die "vorhergesagte" Cox-Überlebenswahrscheinlichkeit zu einem bestimmten Zeitpunkt mit der interpolierten Schätzung der "beobachteten" Überlebenswahrscheinlichkeit von vergleichen hare. (Beachten Sie, dass Sie im Prinzip nicht auf die für diesen Vergleich vorliegenden Fälle beschränkt sind. Es kann jede vernünftige Kombination von Prädiktorvariablenwerten untersucht werden.) Die Kalibrierungskurve ist dann eine geglättete Darstellung der Überlebenswahrscheinlichkeit "beobachtet" gegen "vorhergesagt" unter allen Fällen zum gewünschten Zeitpunkt. Die calibrateMethode rmswiederholt diesen Vorgang für mehrere Bootstrap-Stichproben aus den Fällen, um zu beurteilen, wie gut sich die Ergebnisse auf die Population verallgemeinern lassen, aus der die Fälle stammen.

Wenn Sie nicht nur unter die Haube schauen, sondern auch die Engine dekonstruieren möchten, ist dies in R einfach. Wenn das rmsPaket geladen ist, geben Sie rms:::calibrate.cphan der Eingabeaufforderung ein, um den Code für diese calibrateMethode abzurufen. Der Wrapper für hareist verfügbar, indem Sie harebeim polsplineLaden des Pakets an der Eingabeaufforderung eingeben . Ein Großteil der Arbeit wird von kompilierten Funktionen erledigt, deren Quellcode bei CRAN erhältlich ist .

EdM
quelle
Vielen Dank. Wenn möglich, können Sie die Logik der Verwendung der Hasenmethode erläutern. Ich sehe die aufgeführten Vorteile, verstehe aber nicht, was "unter der Haube" vor sich geht.
Juli
@julieth, ich habe versucht, die Haube für dich zu öffnen, zusätzlich zu meiner Antwort.
EdM