Mai multe rânduri ale aceleiași persoane sau ale aceluiași grup: cluster și frailty
Pe scurt
Dacă mai multe rânduri aparțin aceleiași persoane sau aceluiași grup (fătări, centre, evenimente repetate), ele nu sunt independente. În cardul „Cât durează până la un eveniment?”, identificatorul are două căi la „Mai multe opțiuni”. Cluster (implicit) modifică doar erorile standard (robuste, sandwich); rapoartele de hazard rămân exact aceleași și se aplică în medie pe grupuri (marginal). Frailty (gamma, avansat) dă fiecărui grup o tendință proprie și îi estimează varianța; raportul de hazard se aplică în cadrul aceluiași grup (condițional). Statable nu le calculează niciodată pe ambele deodată. Identificatorul ajunge în R ca cod numeric, nu ca text.
Un exemplu cu numere
rats: 300 de șobolani în 100 de fătări, 42 de evenimente, tratament rx. Fără identificator: b = 0,714, eroare standard 0,309, HR = 2,04, p = ,021. Cu cluster: același b, eroare standard robustă 0,271, z = 2,63, p = ,008. Cu frailty (gamma, Efron): b = 0,727, HR = 2,07, varianța frailty 2,02, p = ,022. Testul pentru varianța 0 este un raport de verosimilitate: χ² = 10,23, p înjumătățit = ,0007.
Limite și capcane
- Condițional și marginal sunt numere diferite. Măsurat (100 de grupuri a câte 5, b adevărat = 1, varianța frailty 2, 150 de rulări): Cox fără frailty sau cu cluster în medie 0,749 (± 0,013), cu frailty 1,01 (± 0,015). Aceasta nu este o slăbiciune a clusterului, ci o altă întrebare.
- Valoarea p din rândul „frailty” al rezultatului din R nu este un test pentru varianța 0. Statable folosește raportul de verosimilitate cu p înjumătățit, deoarece varianța nu poate fi sub 0 (limita spațiului parametrilor).
- Varianța poate ajunge la 0 (exemplu kidney: 5·10⁻⁹). Atunci nu există diferențe între grupuri dincolo de predictori, iar coeficienții sunt aceiași ca fără frailty. Statable spune acest lucru.
- Cel puțin două grupuri cu cel puțin două rânduri fiecare; altfel calculul este blocat. Sub 20 de grupuri Statable avertizează (regulă empirică fără sursă): erorile standard și varianța sunt atunci nesigure. Grupurile cu un singur rând nu aduc nimic.
- Se presupune că frailty are distribuție gamma. Un frailty cu distribuție normală (coxme) dă alte numere: pentru rats, b = 0,730 și varianța 1,32. Statable nu îl oferă.
- Momente de timp identice (ties): Efron (implicit) sau Breslow, numerele diferă puțin (rats: b = 0,727 față de 0,721; varianța 2,02 față de 1,98). Nu există covariabile dependente de timp împreună cu un identificator.
Raportarea rezultatului
Regresie Cox cu cluster (100 de grupuri): HR = 2,04, IC 95% [1,20; 3,47], p = ,008 (tratament); 300 de rânduri, 42 de evenimente
Pentru specialiști
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