statable Statistiques pour les études et la recherche

Régression de Cox avec une covariable dépendante du temps (une caractéristique change au fil du temps)

En bref

Certaines caractéristiques changent pendant l’observation : un traitement commence, une greffe a lieu, une valeur de laboratoire est mesurée de nouveau. Traiter une telle caractéristique comme un groupe fixe « a changé un jour » crée le biais de temps immortel (immortal time bias). La régression de Cox avec une covariable dépendante du temps l’évite : chaque personne porte la valeur 0 jusqu’au changement et la valeur 1 à partir du changement. Elle se choisit dans la question « Combien de temps faut-il avant un événement ? » sous « Plus d’options » → « Une caractéristique change au fil du temps ».

Le biais de temps immortel

Qui change plus tard devait survivre jusque-là. Si l’on compte une telle personne dans le groupe de celles qui ont changé dès le début, ce groupe paraît avoir vécu plus longtemps uniquement à cause de cette erreur. Mesuré dans une simulation avec un vrai hazard ratio de 1 : le groupe fixe « a changé un jour » donne en moyenne un HR de 0,49 et est significatif à chaque exécution ; la covariable dépendante du temps donne 0,99 et un résultat significatif dans 4 % des exécutions. Dans les données cardiaques de Stanford (greffe), le groupe fixe tombe à un HR de 0,27, la covariable dépendante du temps à 1,04. C’est pourquoi la covariable ne doit prendre, à chaque instant, que des valeurs déjà connues à cet instant.

Les données : forme par intervalles

Statable a besoin du tableau sous forme d’intervalles (processus de comptage) : une ligne par personne et par intervalle avec l’identifiant, le début, la fin, l’événement et la valeur qui s’appliquait dans cet intervalle. Les intervalles sont ouverts à gauche et fermés à droite : (début, fin]. La valeur s’applique dès le début, l’événement a lieu à la fin. L’événement (1) ne figure que dans la dernière ligne de la personne. Dans la carte, on choisit l’identifiant, le début et la covariable dépendante du temps ; le temps ci-dessus est la fin. Avant de calculer, Statable vérifie : début inférieur à la fin, pas de chevauchement, pas de trou, au plus un événement par personne et seulement dans la dernière ligne.

L’assistant « Points temporels par personne → intervalles »

Si le tableau n’a qu’une ligne par personne avec la fin, l’événement et le moment d’un changement (vide = jamais), l’assistant sous Données > Restructurer construit le tableau sous forme d’intervalles : valeur 0 avant le changement, 1 à partir du changement, les colonnes choisies de la personne sont reprises dans chaque ligne. Il indique combien de personnes ont changé, combien avaient le changement au début ou après la fin de l’observation (erreur de saisie ? ou déjà le biais de temps immortel (immortal time bias) dans les données brutes) et combien le jour de l’événement. Le nouveau tableau ne reprend pas le poids de l’observation.

Changement le jour de l’événement

Si le changement tombe le jour de l’événement, c’est la règle qui décide du résultat. Strict (par défaut) : le changement ne s’applique qu’ensuite, l’événement appartient encore à l’ancienne valeur. « Compte déjà » : le changement est avancé de la moitié du plus petit écart de temps dans les données (0,5 pour des jours, une fraction pour des années), ce que fait aussi survival pour fixer l’ordre ; Statable nomme la valeur. Dans les données cardiaques de Stanford, cela concerne un seul patient et fait passer le hazard ratio de la greffe de 0,90 (strict) à 0,99 (compte déjà). Statable nomme toujours la règle et le nombre de personnes concernées.

Lire le résultat

Autre chose : l’effet dépendant du temps

Une covariable dépendante du temps n’est pas la même chose qu’un effet dépendant du temps (tt() dans R) : dans ce cas, la caractéristique reste fixe (par exemple l’âge), c’est son effet qui change avec le temps et qui viole donc la proportionnalité. Statable ne propose pas cela.

Rapporter le résultat

Régression de Cox avec une covariable dépendante du temps : test LR χ²(4) = 15,11, p = ,004 ; HR = 0,99, IC à 95 % [0,53 ; 1,82], p = ,967 (greffe) ; 103 personnes dans 170 lignes, 75 événements

Pour les spécialistes

survival::coxph avec Surv(start, stop, event), ties = « efron », test de Wald et intervalle de Wald avec qnorm(.975) ; plusieurs lignes par personne conviennent pour une covariable dépendante du temps sans variance robuste (les intervalles ne se chevauchent pas). La restructuration s’exécute en JavaScript et concorde ligne par ligne avec survival::tmerge ; le modèle de la vignette de survival (Kalbfleisch et Prentice 1980, tableau 6.1, modèle 6) est reproduit jusqu’au dernier chiffre imprimé.

library(survival)
m <- coxph(Surv(start, stop, event) ~ transplant + age + surgery + year, data = heart_long, ties = "efron")
summary(m)

Sources

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. Vignette de survival « Using time dependent covariates and time dependent coefficients in the Cox model ».

Voir aussi

Ouvrir dans Statable