Cox-Regression mit zeitabhängiger Größe (eine Angabe ändert sich im Lauf der Zeit)
Kurz
Manche Angaben ändern sich im Lauf der Beobachtung: eine Therapie beginnt, eine Transplantation findet statt, ein Laborwert wird neu gemessen. Wer eine solche Angabe als feste Gruppe „jemals gewechselt“ behandelt, erzeugt den Unsterblichkeitsfehler (immortal time bias). Die Cox-Regression mit zeitabhängiger Größe vermeidet ihn: Jede Person trägt bis zum Wechsel den Wert 0 und ab dem Wechsel den Wert 1. Gewählt wird sie in der Frage „Wie lange dauert es bis zu einem Ereignis?“ unter „Weitere Wege“ → „Eine Angabe ändert sich im Lauf der Zeit“.
Der Unsterblichkeitsfehler
Wer erst später wechselt, musste bis dahin überleben. Zählt man ihn von Anfang an zur Gruppe der Gewechselten, sieht diese Gruppe nur wegen dieses Fehlers länger lebend aus. Gemessen an einer Simulation mit wahrer Hazard Ratio 1: Die feste Gruppe „jemals gewechselt“ gibt im Mittel HR 0,49 und ist in allen Läufen signifikant; die zeitabhängige Größe gibt 0,99 und in 4 % der Läufe ein signifikantes Ergebnis. In den Stanford-Herzdaten (Transplantation) fällt die feste Gruppe auf HR 0,27, die zeitabhängige Größe auf 1,04. Darum darf die Größe zu jedem Zeitpunkt nur Werte haben, die zu diesem Zeitpunkt schon bekannt waren.
Die Daten: Intervall-Form
Statable braucht die Tabelle in Intervall-Form (Zählprozess): eine Zeile je Person und Abschnitt mit Kennung, Start, Ende, Ereignis und dem Wert, der in diesem Abschnitt galt. Die Abschnitte sind links offen und rechts geschlossen: (Start, Ende]. Der Wert gilt ab dem Start, das Ereignis geschieht am Ende. Das Ereignis (1) steht nur in der letzten Zeile der Person. In der Karte werden Kennung, Start und die zeitabhängige Größe gewählt; die Zeit oben ist das Ende. Vor dem Rechnen prüft Statable: Start kleiner als Ende, keine Überlappung, keine Lücke, höchstens ein Ereignis je Person und nur in der letzten Zeile.
Der Assistent „Zeitpunkte je Person → Intervalle“
Hat die Tabelle nur eine Zeile je Person mit Ende, Ereignis und dem Zeitpunkt eines Wechsels (leer = nie), baut der Assistent unter Daten > Umstrukturieren die Tabelle in Intervall-Form: Wert 0 vor dem Wechsel, 1 ab dem Wechsel, die gewählten Spalten der Person laufen in jede Zeile mit. Er sagt, wie viele Personen wechselten, wie viele den Wechsel am Anfang oder nach dem Ende der Beobachtung hatten (Eingabefehler? oder schon der Unsterblichkeitsfehler in den Rohdaten) und wie viele am Tag des Ereignisses. Das Fallgewicht nimmt die neue Tabelle nicht mit.
Wechsel am Tag des Ereignisses
Fällt der Wechsel auf den Tag des Ereignisses, entscheidet die Regel über das Ergebnis. Streng (Voreinstellung): Der Wechsel gilt erst danach, das Ereignis gehört noch zum alten Wert. „Zählt schon“: Der Wechsel wird um die Hälfte des kleinsten Zeitabstands in den Daten vorgezogen (bei Tagen 0,5, bei Jahren ein Bruchteil), so legt auch survival die Reihenfolge fest; Statable nennt den Betrag. In den Stanford-Herzdaten betrifft das einen einzigen Patienten und verschiebt die Hazard Ratio der Transplantation von 0,90 (streng) auf 0,99 (zählt schon). Statable nennt die Regel und die Zahl der Betroffenen immer.
Ergebnis lesen
- Die Hazard Ratio der zeitabhängigen Größe vergleicht das Momentanrisiko nach dem Wechsel mit dem davor, bei sonst gleichen Angaben. HR = 1 heißt: kein Unterschied. Sie ist kein Risikoverhältnis.
- Das Ergebnis beschreibt einen Zusammenhang mit dem Risiko nach dem Wechsel, keinen Beweis für eine Wirkung. Ist die Größe selbst eine Folge der Krankheit (zum Beispiel ein Laborwert), verrät sie schon etwas über das Ereignis (innere Größe).
- Gleiche Ereigniszeiten behandelt Statable nach Efron. Die Annahme proportionaler Hazards prüft Statable mit cox.zph; bei zeitabhängigen Größen ist der Test nur ein Anhaltspunkt. Eine Konkordanz gibt es bei dieser Form nicht.
- Faustregel: mindestens 10 Ereignisse je Koeffizient, Ereignisse in beiden Zuständen (vor und nach dem Wechsel) und mindestens 5 Personen mit Wechsel; sonst warnt Statable.
Etwas anderes: der zeitabhängige Effekt
Eine zeitabhängige Größe ist nicht dasselbe wie ein zeitabhängiger Effekt (tt() in R): Dabei bleibt die Angabe fest (zum Beispiel das Alter), ihre Wirkung ändert sich mit der Zeit, also verletzt sie die Proportionalität. Das bietet Statable nicht an.
Ergebnis berichten
Cox-Regression mit zeitabhängiger Größe: LR-Test χ²(4) = 15,11, p = ,004; HR = 0,99, 95 %-KI [0,53; 1,82], p = ,967 (Transplantation); 103 Personen in 170 Zeilen, 75 Ereignisse
Für Fachleute
survival::coxph mit Surv(start, stop, event), ties = "efron", Wald-Test und Wald-Intervall mit qnorm(,975); mehrere Zeilen je Person sind für eine zeitabhängige Größe ohne robuste Varianz in Ordnung (die Abschnitte überlappen nicht). Der Umformer rechnet in JavaScript und stimmt mit survival::tmerge Zeile für Zeile überein; das Modell der survival-Vignette (Kalbfleisch und Prentice 1980, Tabelle 6.1, Modell 6) wird bis zur letzten gedruckten Stelle getroffen.
library(survival)
m <- coxph(Surv(start, stop, event) ~ transplant + age + surgery + year, data = heart_long, ties = "efron")
summary(m)
Quellen
Therneau, T. M. & Grambsch, P. M. (2000). Modeling survival data: extending the Cox model. Springer. Kalbfleisch, J. D. & Prentice, R. L. (1980). The statistical analysis of failure time data. Wiley. Crowley, J. & Hu, M. (1977). Covariance analysis of heart transplant survival data. Journal of the American Statistical Association, 72, 27-36. survival-Vignette „Using time dependent covariates and time dependent coefficients in the Cox model“.