Meerdere rijen van dezelfde persoon of groep: cluster en frailty
Kort
Als meerdere rijen bij dezelfde persoon of groep horen (nesten, centra, herhaalde gebeurtenissen), zijn ze niet onafhankelijk. In de kaart “Hoe lang duurt het tot een gebeurtenis?” heeft het ID onder “Meer opties” twee wegen. Cluster (standaard) verandert alleen de standaardfouten (robuust, sandwich); de hazard ratio’s blijven precies gelijk en gelden gemiddeld over de groepen (marginaal). Frailty (gamma, geavanceerd) geeft elke groep een eigen neiging en schat haar variantie; de hazard ratio geldt binnen dezelfde groep (voorwaardelijk). Statable berekent nooit beide tegelijk. Het ID gaat als numerieke code naar R, niet als tekst.
Een voorbeeld met getallen
ratten: 300 ratten in 100 nesten, 42 gebeurtenissen, behandeling rx. Zonder ID: b = 0,714, standaardfout 0,309, HR = 2,04, p = ,021. Met cluster: dezelfde b, robuuste standaardfout 0,271, z = 2,63, p = ,008. Met frailty (gamma, Efron): b = 0,727, HR = 2,07, variantie van de frailty 2,02, p = ,022. De toets voor variantie 0 is een likelihood ratio: χ² = 10,23, gehalveerde p = ,0007.
Grenzen en valkuilen
- Voorwaardelijk en marginaal zijn verschillende getallen. Gemeten (100 groepen van 5, ware b = 1, frailty-variantie 2, 150 herhalingen): Cox zonder frailty of met cluster gemiddeld 0,749 (± 0,013), frailty 1,01 (± 0,015). Dat is geen zwakte van de cluster, maar een andere vraag.
- De p-waarde van de rij “frailty” in de R-uitvoer is geen toets voor variantie 0. Statable gebruikt de likelihood ratio met een gehalveerde p, omdat de variantie niet onder 0 kan komen (rand van de parameterruimte).
- De variantie kan naar 0 gaan (voorbeeld kidney: 5·10⁻⁹). Dan zijn er naast de voorspellers geen verschillen tussen de groepen, en de coëfficiënten zijn zoals zonder frailty. Statable zegt dat erbij.
- Minstens twee groepen met elk minstens twee rijen; anders wordt de berekening geblokkeerd. Onder 20 groepen waarschuwt Statable (vuistregel zonder bron): standaardfouten en variantie zijn dan onzeker. Groepen met één rij voegen niets toe.
- De frailty wordt als gammaverdeeld verondersteld. Een normaal verdeelde frailty (coxme) geeft andere getallen: voor ratten b = 0,730 en variantie 1,32. Statable biedt die niet aan.
- Gelijke tijden (ties): Efron (standaard) of Breslow, de getallen verschillen licht (ratten: b = 0,727 tegenover 0,721; variantie 2,02 tegenover 1,98). Met een ID zijn er geen tijdsafhankelijke covariaten.
Het resultaat rapporteren
Cox-regressie met cluster (100 groepen): HR = 2,04, 95%-BI [1,20; 3,47], p = ,008 (behandeling); 300 rijen, 42 gebeurtenissen
Voor specialisten
library(survival)
m1 <- coxph(Surv(time, status) ~ rx + cluster(litter), data = rats)
m2 <- coxph(Surv(time, status) ~ rx + frailty(litter, distribution = "gamma"), data = rats)
m2$history[[1]]$theta # Varianz der Frailty