Cox-regressie met een tijdsafhankelijke covariaat (een kenmerk verandert in de loop van de tijd)
Kort
Sommige kenmerken veranderen tijdens de waarneming: een therapie begint, er vindt een transplantatie plaats, een laboratoriumwaarde wordt opnieuw gemeten. Zo’n kenmerk behandelen als een vaste groep “ooit overgegaan” veroorzaakt de immortal time bias. De Cox-regressie met een tijdsafhankelijke covariaat voorkomt dat: elke persoon heeft de waarde 0 tot de overgang en de waarde 1 vanaf de overgang. Ze wordt gekozen in de vraag “Hoe lang duurt het tot een gebeurtenis?” onder “Meer opties” → “Een kenmerk verandert in de loop van de tijd”.
De immortal time bias
Wie later overgaat, moest tot dan overleven. Als zo iemand wordt meegeteld in de groep van degenen die vanaf het begin zijn overgegaan, lijkt die groep alleen door deze fout langer te leven. Gemeten in een simulatie met een ware hazard ratio van 1: de vaste groep “ooit overgegaan” geeft gemiddeld een HR van 0,49 en is in elke run significant; de tijdsafhankelijke covariaat geeft 0,99 en in 4% van de runs een significant resultaat. In de Stanford-hartgegevens (transplantatie) zakt de vaste groep naar een HR van 0,27, de tijdsafhankelijke covariaat naar 1,04. Daarom mag de covariaat op elk tijdstip alleen waarden hebben die op dat tijdstip al bekend waren.
De gegevens: intervalvorm
Statable heeft de tabel in intervalvorm (telproces) nodig: een rij per persoon en interval met ID, begin, einde, gebeurtenis en de waarde die in dit interval gold. De intervallen zijn links open en rechts gesloten: (begin, einde]. De waarde geldt vanaf het begin, de gebeurtenis vindt plaats aan het einde. De gebeurtenis (1) staat alleen in de laatste rij van de persoon. Op de kaart worden het ID, het begin en de tijdsafhankelijke covariaat gekozen; de tijd hierboven is het einde. Vóór het rekenen controleert Statable: begin kleiner dan einde, geen overlap, geen gat, hooguit één gebeurtenis per persoon en alleen in de laatste rij.
De assistent “Tijdstippen per persoon → intervallen”
Als de tabel maar één rij per persoon heeft met einde, gebeurtenis en het moment van een overgang (leeg = nooit), bouwt de assistent onder Gegevens > Herstructureren de tabel in intervalvorm: waarde 0 vóór de overgang, 1 vanaf de overgang, de gekozen kolommen van de persoon komen in elke rij. Hij meldt hoeveel personen zijn overgegaan, bij hoeveel de overgang aan het begin of na het einde van de waarneming lag (invoerfout? of al de immortal time bias in de ruwe gegevens) en bij hoeveel op de dag van de gebeurtenis. De nieuwe tabel neemt het gevalsgewicht niet mee.
Overgang op de dag van de gebeurtenis
Valt de overgang op de dag van de gebeurtenis, dan beslist de regel over het resultaat. Strikt (standaard): de overgang geldt pas daarna, de gebeurtenis hoort nog bij de oude waarde. “Telt al mee”: de overgang wordt met de helft van het kleinste tijdsverschil in de gegevens naar voren gehaald (0,5 bij dagen, een fractie bij jaren), waarmee survival de volgorde ook vastlegt; Statable noemt het bedrag. In de Stanford-hartgegevens betreft dit één patiënt en verschuift het de hazard ratio van de transplantatie van 0,90 (strikt) naar 0,99 (telt al mee). Statable noemt altijd de regel en het aantal betrokken personen.
Het resultaat lezen
- De hazard ratio van de tijdsafhankelijke covariaat vergelijkt het momentane risico na de overgang met dat ervoor, bij verder gelijke kenmerken. HR = 1 betekent: geen verschil. Het is geen relatief risico.
- Het resultaat beschrijft een samenhang met het risico na de overgang, geen bewijs van een effect. Als de covariaat zelf een gevolg van de ziekte is (bijvoorbeeld een laboratoriumwaarde), zegt ze al iets over de gebeurtenis (interne covariaat).
- Statable behandelt gelijke gebeurtenistijden volgens Efron. Statable controleert de aanname van proportionele hazards met cox.zph; bij tijdsafhankelijke covariaten is de toets slechts een richtlijn. In deze vorm is er geen concordantie.
- Vuistregel: minstens 10 gebeurtenissen per coëfficiënt, gebeurtenissen in beide toestanden (vóór en na de overgang) en minstens 5 personen met een overgang; anders waarschuwt Statable.
Iets anders: het tijdsafhankelijke effect
Een tijdsafhankelijke covariaat is niet hetzelfde als een tijdsafhankelijk effect (tt() in R): daar blijft het kenmerk vast (bijvoorbeeld leeftijd) en verandert het effect ervan met de tijd, zodat het proportionaliteit schendt. Statable biedt dit niet aan.
Het resultaat rapporteren
Cox-regressie met een tijdsafhankelijke covariaat: LR-toets χ²(4) = 15,11, p = ,004; HR = 0,99, 95%-BI [0,53; 1,82], p = ,967 (transplantatie); 103 personen in 170 rijen, 75 gebeurtenissen
Voor specialisten
survival::coxph met Surv(start, stop, event), ties = “efron”, Wald-toets en Wald-interval met qnorm(.975); meerdere rijen per persoon zijn prima voor één tijdsafhankelijke covariaat zonder robuuste variantie (de intervallen overlappen niet). Het omvormen draait in JavaScript en komt rij voor rij overeen met survival::tmerge; het model van de survival-vignette (Kalbfleisch en Prentice 1980, tabel 6.1, model 6) wordt tot het laatste afgedrukte cijfer gereproduceerd.
library(survival)
m <- coxph(Surv(start, stop, event) ~ transplant + age + surgery + year, data = heart_long, ties = "efron")
summary(m)
Bronnen
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”.