Récupération des données brutes derrière une courbe de survie non paramétrique

Principes

Pour commencer, nous supposerons que les valeurs de la courbe de Kaplan-Meier ou de Nelson-Aalen peuvent être mesurées avec suffisamment de précision et de précision (nous assouplirons cette exigence dans les sections suivantes). Dans de tels cas, les premiers principes – et certaines déductions – permettent généralement de récupérer non seulement (i) le temps « événement » distinct t qui définit chaque ensemble de risques mais aussi pour chaque ensemble de risques (ii) le nombre à risque n et (iii) le nombre d’événements d. Ensuite, par soustractions successives, on peut calculer (iv) le nombre d’observations censurées entre les ensembles de risques successifs c. À moins que les heures exactes des observations censurées ne soient indiquées sur le graphique, les données récupérées peuvent être compressées dans la séquence

n 0, c 0, t 1 , n 1, d 1, c 1, t 2, n 2, d 2, ….

Si les heures exactes de censure sont indiquées sur le graphique, alors en principe, l’ensemble des données peut être reconstruit; sinon, le mieux que l’on puisse faire est d’utiliser l’interpolation, avec la description de la période de recrutement et les dates de clôture de l’étude, pour imputer les emplacements des observations censurées dans les différents intervalles de temps. La plupart des auteurs les ont espacées uniformément dans ces intervalles.

Pour passer en revue les principes et illustrer le raisonnement, nous commençons par un petit exemple, en utilisant un ensemble de données illustratives largement utilisé. La figure 1a montre l’estimation de Kaplan-Meier de la fonction survivante chez les patients atteints de leucémie myéloïde aiguë (LAM) dans le groupe « maintenu », disponible dans la trousse de survie de R. La question à l’époque était de savoir si le traitement standard de chimiothérapie devait être maintenu pendant des cycles supplémentaires pour ces patients. Pour commencer, nous demandons au lecteur d’ignorer les informations supplémentaires que nous affichons sur chaque panneau et de limiter son attention à la courbe, avec ses pas et ses marques de censure.

Figure 1
figure1

Fonction de survivant de Kaplan-Meier, montrant les hauteurs, les sauts et les rapports de hauteurs. (a) Estimation de Kaplan-Meier de la fonction survivante pour les patients atteints de LAM dans le groupe maintenu, montrant les hauteurs S (t j). (b) Même courbe K-M montrant les sauts J(t j). c) Même courbe K-M montrant les rapports de hauteurs S(t j)/S (tj-1). La courbe indiquée dans chaque panneau a été ajustée et dessinée à l’aide de l’ensemble de survie en R.

Soit S(t j) la probabilité de survie, ou la « hauteur » de la courbe de survie, au temps t j et définissons le « saut » J(t j) comme S(tj−1)−S(t j). Nous le saurions généralement, mais supposons que nous ne connaissions même pas n0, le nombre de sujets au temps t0 = 0. Sans autre information que les valeurs des fonctions de pas et les temps des pas, quelle quantité d’informations brutes peut-on récupérer à partir d’un tel graphique, si les S sont connus avec une précision suffisante? (Par une précision suffisante, nous entendons que la valeur vraie peut être déduite de manière fiable comme étant n j et non n j -1 ou n j + 1).

Une inspection rapide de la figure 1a montre qu’il y a sept sauts et trois marques de censure, donc n0 est au moins 10. Même sans marques de censure, les différences de taille des sauts indiquent une certaine censure – s’il n’y en avait pas, tous les sauts seraient soit de taille égale (1 / n0), soit des multiples de celle-ci, c’est-à-dire m / n0 si m >1 événements dans un ensemble de risques. Comme le montre la figure 1b, J(t3) > J(t2), tandis que J(t5) > J(t4), et J(t7) > J(t6); de plus, puisque la dernière observation est censurée, nous pouvons déduire qu’il doit y avoir au moins quatre valeurs censurées au total.

Une façon de comprendre pourquoi les sauts (à événement unique) situés plus à droite ne peuvent être que plus grands que ceux qui les précèdent est via l’algorithme de redistribution vers la droite d’Efron: initialement, une masse de probabilité de 1 / n0 est placée à chaque instant d’observation. En procédant de gauche à droite, au fur et à mesure qu’un temps censuré est rencontré, sa masse est redistribuée en portions égales à toutes les observations à sa droite. Cette procédure de balayage des observations censurées est répétée jusqu’à ce que toutes leurs masses associées aient été redistribuées.

Sur la figure 1b, les deux premiers sauts J(t1) et J(t2) sont de taille égale de 0,09091, soit 1/11, ce qui suggère qu’il y avait peut-être au départ 11 personnes à risque (bien sûr, sans avoir plus d’informations, cela aurait également pu être 22 ou 33, mais les valeurs ultérieures de la courbe les excluront effectivement). Le fait que le troisième saut soit plus grand établit qu’il doit y avoir une observation censurée à ou après t2 et avant t3. Mais comme (contrairement aux autres observations censurées qui se situent strictement entre les heures des événements) elle n’est pas indiquée par une coche sur le graphique, la censure doit, par convention, avoir eu lieu immédiatement après le ou les événements à t2, mais en raison de la discrétion des données, avoir été enregistrée comme un « t2 + ». Ainsi, alors que les marques de censure peuvent donner des emplacements plus précis des observations censurées, les paquets statistiques ne les affichent pas nécessairement tous, et il ne faut donc pas compter sur l’identification de tous uniquement à partir des coches.

Suivant l’algorithme d’Efron, J(t3) de taille 0,10227 peut être vu comme la somme de la masse initiale de 1/11 (0,09091) et (1/8)th de même masse de taille associée à l’observation censurée « t2+ » qui a été redistribuée parmi les huit à risque juste après t2, soit J(t3) = J(t2) + 1/8×J(t2). Cependant, l’arithmétique et les multiples « héritages » et configurations possibles deviennent compliqués, s’il y a plusieurs événements au même moment observé, ou si plus d’une observation dans un intervalle est censurée. Ainsi, alors que les expressions pour les tailles absolues des sauts commencent à se compliquer, comment pourrions-nous déterminer les nombres à risque – et le nombre d’événements – au moment de chaque saut successif?

Nous avons trouvé plus facile de supposer d’abord que chaque d j = 1, puis de dériver le n j correspondant, puis d’utiliser toute anomalie dans le motif des n j successifs pour réviser d j à un entier plus grand, et de réduire le n j correspondant en conséquence. Une façon de passer de d j à n j est d’exploiter la structure du « produit des probabilités de survie conditionnelles » de l’estimateur K-M: inverser la séquence des produits utilisés comme estimateur et diviser le Ŝ t j par Ŝ t j−1. Le rapport résultant est 1-d(t j)/n(t j), où d(t j) désigne le nombre d’événements à l’instant t j et n(t j) le nombre à risque à l’instant t j. Si nous pouvons établir ce qu’est d(t j), alors nous obtenons l’expression simple pour n j:

n t j = d t j 1 − Ŝ t j / tt j−1, j = 1,2, ….
(1)

En effet, comme le montre la figure 1c, nous pouvons déduire en utilisant cette expression que les nombres à risque à {t1,…, t7} sont {n1,…, n7} = {11,10,8,7,5,4,2}.

Les nombres initiaux – qui sont généralement rapportés dans les publications – et la séquence des nombres à risque « ajustés » ou « inférés » peuvent être utilisés pour établir avec une quasi-certitude le nombre d’événements à chaque moment d’événement distinct – les d j s. S’il y a effectivement un seul événement à chaque moment d’événement distinct, les nombres à risque inférés – en dehors des erreurs de mesure (généralement petites) – formeront une séquence décroissante monotone. Les départs systématiques de la monotonie sont immédiatement évidents: s’il y avait en fait deux événements à un moment d’événement distinct, le nombre « ajusté » à risque, n j, sera 1/2 de ce qu’il devrait être, et se démarquera nettement de ses voisins basés sur un singleton; s’il y avait trois événements, le nombre « ajusté » à risque sera 1/3 de ses voisins, et ainsi de suite. Nous illustrerons cela plus loin en discutant de l’exemple de la figure 2 (à droite). A partir des {s1,…, s7} ainsi établis, et des {n1,…,n7}, on peut alors par soustraction déduire que dans notre exemple {c1,…, c7} = {0,1,0,1,0,1,1}.

Figure 2
figure2

Taux cumulatifs d’événements et nombre estimé de personnes à risque. (à gauche) Taux d’événements cumulatifs chez les patients atteints de fibrillation auriculaire ayant reçu de la warfarine ou du rivaroxaban. (à droite) L’emplacement vertical de chaque point représente le nombre estimé à risque dans le bras de warfarine dans l’ensemble de risques en question (emplacement horizontal). Les nombres ont été dérivés en appliquant l’équation 1 aux estimations S(t j) dérivées des commandes PostScript utilisées pour rendre l’image vectorielle. Les diamants représentent les nombres à risque aux jours 0, (120), 840, signalés au bas de la figure de l’article. De toute évidence, même si elles n’avaient pas été fournies, elles auraient pu être estimées de manière très précise uniquement à partir des estimations successives de S(t j). Le léger manque de monotonie dans la série (a) reflète des erreurs d’arrondi dans les coordonnées PostScript. Chaque n j de la série (b) est basé sur l’hypothèse (clairement fausse) que le d j correspondant = 1; à ces temps de défaillance distincts, clairement, d j = 2, donc chaque n j est le double de celui montré. De même, les n j s en série (c) sont basés sur l’hypothèse de d j = 1, alors que, là encore clairement, d j = 3, et les n j doivent être trois fois supérieures à celles indiquées.

Si les intervalles de temps entre les t adjacentes sont relativement courts, ou si les nombres à risque à des moments spécifiques (par exemple, . annuel ou mensuel) sont indiqués sur le graphique, puis par une interpolation supplémentaire de la séquence des nombres à risque, les quantités totales de temps-personne pour chaque intervalle de temps d’intérêt peuvent être établies avec un minimum d’erreur. Les parcelles de survie ont généralement une largeur:rapport hauteur/largeur supérieur à 1. Ainsi, les erreurs relatives auront tendance à être plus petites sur la dimension  » temps » que sur la dimension  » personne  » des entrées du dénominateur personne-temps aux taux d’événements calculés.

La formule ci-dessus faisait référence à la courbe de Kaplan-Meier. Si au lieu de la courbe de survie, le graphique montre l’estimateur de Nelson-Aalen de la fonction de taux de risque cumulé, donnée par H t j = ∑ t i ≤ t j d t i /n t i, alors l’expression de n (t j) est

n t j = d t j Ĥ t j − Ĥ t j−1, j = 1,2, ….
(2)

Il n’est pas toujours évident d’après l’étiquette de l’axe vertical si une courbe de Nelson-Aalen croissante fait référence à cette séquence de H s, c’est−à-dire aux dangers intégrés, ou à l’incidence ou au risque cumulé, c’est-à-dire CI j = R j = 1-exp. Si c’est bien ce dernier, c’est−à-dire le complément de S, alors la formule de n j devient

n t j = d t j log Ŝ t j-1/ Ŝt j.
(3)

Jusqu’à présent, nous avons supposé que les coordonnées verticales et horizontales des sommets peuvent être mesurées avec une précision « suffisante ». Nous passons maintenant à ce qui peut être réalisé en utilisant les courbes K-M et N-A réelles qui peuvent être extraites d’images bitmap et de graphiques vectoriels dans les publications.

Aspects pratiques

Il y a à peine une décennie ou deux, il était encore courant, mais chronophage, d’utiliser l’approche « crayon et règle » pour « lire les probabilités de survie » à partir d’un graphique papier (éventuellement agrandi). Cette pratique peut entraîner des erreurs de mesure importantes, en particulier lorsque l’impression est faible ou que la résolution est faible. Aujourd’hui, comme la plupart des graphiques peuvent être consultés électroniquement ou convertis dans un tel format, le travail à forte intensité de main-d’œuvre peut être réduit, avec une précision et une précision améliorées. Sur notre site Web http://www.med.mcgill.ca/epidemiology/hanley/software/DataRecovery, nous avons rassemblé un certain nombre de graphiques trouvés dans des articles publiés électroniquement. Ces images sont généralement de deux types, ce que la documentation Adobe Acrobat appelle des « images raster » et des « objets vectoriels ».

Images raster

Une image raster, ou bitmap, est constituée de pixels (les plus petits éléments d’écran adressables d’un dispositif d’affichage) disposés dans une grille bidimensionnelle. Chaque pixel, représenté par un point ou un carré, a ses propres coordonnées et couleurs. Lorsque l’on zoome de plus en plus, l’image devient plus granuleuse et les points individuels qui composent les lignes et les symboles du graphique deviennent plus évidents.

Dans une image en noir et blanc ou en niveaux de gris, le blanc est généralement représenté par la valeur 1, le noir par un 0 et le gris par une valeur intermédiaire; les images couleur utilisent un schéma de codage plus élaboré impliquant plusieurs canaux, tels que RVB ou CMJN. Tout comme en photographie numérique, plus le nombre de pixels est grand, plus la représentation des valeurs originales est fidèle. Pour un exemple de dépistage du cancer de la prostate (un sujet à discuter plus loin), voir les figures Deux et Trois de l’article d’Andriole.

Les images raster peuvent être stockées dans un certain nombre de formats de fichiers; les plus courants sont.jpeg, .png, .tiff, et.GIF. Ils peuvent être générés de plusieurs façons, telles que (i) numériser la copie papier et la stocker sous forme d’image raster, (ii) (si elle se trouve dans une page d’un document électronique) zoomer sur la zone contenant le graphique et prendre une capture d’écran, ou (iii) (si elle est déjà intégrée dans un fichier PDF) en utilisant la fonction « exporter des images » dans Adobe Acrobat.

Les points souhaités sur le graphique peuvent être extraits du fichier image de deux manières. La manière la plus technique consiste à utiliser un langage de programmation tel que Basic, C ++ ou SAS pour lire les valeurs de couleur dans un tableau 2D, identifier à partir des couleurs des points les emplacements des pixels des points de repère clés (tels que les axes se croisent et les repères verticaux et horizontaux les plus éloignés), et enfin déterminer quelles séquences d’emplacements de pixels contiennent les points qui composent les courbes d’intérêt. Alors que le package ReadImages facilite la lecture du tableau dans R, la programmation pour traiter le tableau reste un défi considérable, en particulier pour les parties où les courbes se chevauchent.

Le moyen le plus simple est d’utiliser un numériseur de graphique, un programme informatique qui (i) importe et affiche l’image sélectionnée à l’écran et (ii) permet à l’utilisateur d’identifier des repères horizontaux et verticaux au moyen du curseur et de cliquer sur autant d’emplacements sur le graphique que souhaité, puis convertit et stocke les valeurs correspondantes (x, y). Un certain nombre de numériseurs de graphiques (tels que GraphClick, Engauge Digitizer et Plot Digitizer) sont disponibles gratuitement sur le Web. Guyot et coll. signalez que le logiciel DigitizeIt (http://www.digitizeit.de/) a bien fonctionné. Parce que les numérisations d’images raster ont été couvertes en détail par Guyot et al. , nous ne donnerons pas d’exemples mais comparerons simplement leur précision avec celles des images vectorielles dans l’analyse d’erreur théorique ci-dessous.

Images vectorielles

Une figure ou un graphique vectoriel est constitué de primitives géométriques ou d’éléments tels que des points et des lignes; il peut être identifié par le fait qu’il peut être agrandi indéfiniment sans perte de qualité. Deux extrémités d’une ligne sont représentées par deux paires (x, y) et un point par une ligne de longueur nulle. Le « Post » en PostScript – le langage le plus courant pour les produire – fait référence au principe d’indépendance du périphérique: les éléments sont rendus en temps réel à partir des coordonnées stockées des éléments, quel que soit le matériel local sur lequel le logiciel est utilisé. Ce principe de portabilité sous-tend le format de document portable (PDF), développé par Adobe; Les fichiers PDF sont basés sur le langage PostScript.

Le contenu d’un document PDF est généralement stocké sous forme de fichier binaire, mais l’application Adobe Acrobat Pro et l’application de prévisualisation fournie sous Mac OS peuvent exporter un document PDF (ou la page de celui-ci contenant le graphique d’intérêt) sous forme de fichier PostScript, qui contient les commandes. Ces fichiers ont tendance à être volumineux et contiennent beaucoup d’informations techniques, mais il est facile (si fastidieux) d’identifier les commandes qui produisent les axes, les repères et la séquence de segments de ligne ou de points qui composent les courbes K-M et N-A.

En PostScript, les emplacements sur une page sont mesurés en points d’impression (72 points par pouce) à partir du coin supérieur gauche de la page. Ainsi, un axe des abscisses de 2 pouces (144 points), s’étendant de t = 0 et t = 5, et physiquement de 1 à 3 pouces à partir du côté gauche de la page et situé à 5 pouces (360 points) en dessous du haut de la page serait spécifié par le segment de ligne (72, 360) ⇔ (216, 360). Supposons que les extrémités de l’axe des ordonnées haut de 1,5 po (108 points) correspondent respectivement à S = 0 et S =1. Ensuite, à partir de ces coordonnées PostScript, nous pouvons déterminer que le segment de droite (144, 300) ⇔(146.88, 300) est une partie horizontale de la fonction de pas prenant la valeur S = (360-300) / 108 = 0,555 dans l’intervalle t=(144-72)/(144/5)=2.5 à t=(146.88−72)/(144/5)=2.6 et que le segment (146.88, 300) ⇔ (146.88, 303) est un saut vertical à t = 2,6, de longueur Δ S = 3/108 = 0,028 de S = 0,555 à S = 0,583.

Étonnamment, certaines publications incluent un mélange de formats. En effet, dans la publication utilisée comme source de la figure Un de, les axes de la figure originale du New England Journal of Medicine (NEJM) avaient été rendus sous forme de vecteurs en PostScript, mais les deux courbes sont superposées sous forme d’image. Le composite a été analysé sous forme d’image par Guyot et al. . En revanche, l’autre figure de cette publication NEJM a été rendue entièrement en PostScript, bien qu’avec des chemins très complexes pour former les segments de ligne.

Précision

Quelle est la précision des données extraites des images raster et vectorielles ? On peut évaluer cette question à plusieurs niveaux, en commençant par la précision des mesures themselves (ou 1−Ŝ) elles-mêmes. Considérons une image raster typique de 300 points par pouce (dpi) dans laquelle l’axe S complet (0, 1) est de 1,6 po ou 480 pixels de haut. Cela donne une résolution de Δ S≈0,002. (Une courbe « vers le bas » qui se termine par exemple S = 0,9, mais sur un graphique qui utilise l’échelle complète (0,1), gaspille une précision considérable: il est plus logique de tracer la fonction « vers le haut », 1−S, jusqu’à 0,1, ce qui rend les valeurs de 1−S précises à ± 0,0005 près).

Considérons plutôt une image vectorielle contenant la même courbe, sur la même échelle verticale de 1,6 po (= 72×1,6 = 115,2 points). Étant donné que les coordonnées données dans le fichier PostScript exporté par Adobe Acrobat sont enregistrées à trois décimales, la résolution est Δ S=1/(115.2×1,000)≈0.00001, soit 200 fois celle de l’image raster.

Bien que ces deux résolutions donnent des mesures suffisamment précises de Ŝ et permettent de déterminer le nombre d’événements impliqués dans chaque saut, elles peuvent ne pas donner des mesures aussi précises du nombre à risque à chaque saut, car il est mesuré comme l’inverse de 1 −Ŝ t j /Ŝt j−1. En tant qu’évaluation empirique de la précision des mesures dérivées, la figure 2 montre les nombres estimés à partir d’une image matricielle et d’une image vectorielle, ainsi que – pour vérifier la validité – les nombres déclarés à risque à la fin de chaque intervalle de temps. Ils correspondent très bien à ceux donnés dans les articles.

La précision peut également être quantifiée à l’aide d’une analyse d’erreur théorique. Considérons deux valeurs adjacentes sur la même courbe d’incidence cumulative, où l’axe vertical va de 0% à 5%, déclarées (après un certain arrondi) comme étant des points y0 et y5, respectivement, au-dessus d’un repère; supposons que sans arrondi, elles seraient des points Y0 et Y5 au-dessus. Désignez les emplacements verticaux (arrondis de la même manière) des deux points adjacents du graphique comme y’ et y », avec y »> y’, correspondant aux valeurs non arrondies de Y’ et Y ». Ensuite, l’estimation du nombre à risque est la suivante :

n t j = 20 y 5-y 0-y’-y 0 y « -y’.

Dans l’annexe, nous fournissons la variance de cette quantité dérivée, en supposant que les erreurs (e s) contenues dans les quatre y sont égales et indépendantes les unes des autres. En pratique, les points PostScript sont arrondis à trois décimales; ainsi, l’emplacement réel Y associé à un emplacement rapporté de y = 563,384 points se situe entre 563,3835 et 563,3845 points. Si les erreurs sont uniformes sur cette plage de 0,001 telle que σ e ≈0,001/12 = 0.0003 points, alors le coefficient de variation (CV) est



Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.