verbeterde secundaire analyse van overlevingsdata: het reconstrueren van de gegevens uit gepubliceerd Kaplan-Meier survival curves

De Kaplan-Meier (KM) schattingsmethode

De Kaplan-Meier (KM) methode gebruikt voor het schatten van de waarschijnlijkheid van het ervaren van het evenement tot het tijdstip t, ZKM(t), van de individuele patiënt data verkregen uit een RCT dat is onderworpen aan de rechter te censureren (waar sommige patiënten zijn verloren voor follow-up of evenement gratis op het einde van de studie). De methode werkt door het samenvatten van de IPD in de vorm van een reeks r tijdsintervallen SKM (t m) op event time t m :

S K M ( t ) = ∏ j = 1 m n j d j n j = S K M ( t – 1 ) * n m – d m n m m = 1 , 2 , … , r
(2)

De Kaplan-Meier gegevens reconstructie-algoritme

Data-ingangen vereist

Het eerste bestand gegevens nodig zijn voor het algoritme bevat de uitgepakte x-as coördinaten, T k , en y-coördinaten-as, S k , voor k = 1,…, N punten op de KM-bocht. Er bestaan verschillende softwarepakketten om dit te doen, en we vonden dat de software digitize (http://www.digitizeit.de/) goed presteerde. De km-Bochten, gewonnen uit a .pdf artikel, worden gelezen in de software, de assen worden gedefinieerd, en vervolgens de analist gebruikt muisklikken om punten te selecteren om af te lezen van de curve. De resulterende t k en S k coördinaten worden vervolgens geëxporteerd naar een tekstbestand. Dit voorbereidende werk moet zorgvuldig worden uitgevoerd. De gegevens moeten voldoende zijn: elke stap in de cijfers moet zijn vastgelegd tijdens de data-extractie. De locatie en het aantal klikken zijn daarom belangrijk. De gegevens moeten ook consistent zijn: de kans op het ervaren van de gebeurtenis neemt af met de tijd, en het moet worden geverifieerd dat dit altijd het geval is voor de data punten geëxtraheerd. Anomalieën kunnen optreden als gevolg van de publicatiekwaliteit van de curve, en menselijke fouten in het controleren van de klikken. Eventuele afwijkingen moeten worden gecorrigeerd voordat het onderstaande algoritme wordt uitgevoerd. De tijdstippen waarop de risiconummers in de publicatie worden vermeld, moeten in deze eerste gegevens worden opgenomen. Als een conventie is het eerste gegevenspunt T1 = 0 en de kans op het ervaren van de gebeurtenis tot tijd 0 is daarom S1 = 1. Elke km-kromme wordt afzonderlijk geëxtraheerd.

het tweede invoergegevensbestand dat vereist is voor het algoritme bevat informatie over de gerapporteerde risiconummers. De kromme is gesplitst in i = 1,.., nint-intervallen, voor elk hebben we het gerapporteerde aantal risico ’s aan het begin van dat interval, nrisk i , het tijdstip waarop het aantal risico’ s wordt verstrekt, trisk i , het eerste rijnummer van de geëxtraheerde Coördinaten voor dat tijdsinterval lager i , en het laatste rijnummer van de geëxtraheerde Coördinaten voor dat tijdsinterval hoger i . nrisk ik en trisk ik kom uit de oorspronkelijke publicatie, terwijl lager ik en hoger Ik kom uit het aantal klikken gedaan op elk interval, om de eerste invoer gegevensbestand te maken. Voor elke i is onderste i gelijk aan k wanneer T k = trisk i en bovenste i is gelijk aan k wanneer Tk+1= triski+1.

de uiteindelijke vereiste invoergegevens zijn het totale aantal gebeurtenissen, tot gebeurtenissen.

we beginnen met het beschrijven van het algoritme voor het geval waarin het aantal risico’s aan het begin van het onderzoek en ten minste één ander tijdstip wordt gerapporteerd en wanneer het totale aantal voorvallen wordt gerapporteerd (“alle informatie” -geval). Vervolgens laten we zien hoe het algoritme kan worden aangepast wanneer het aantal risico’s pas aan het begin van de studie wordt gerapporteerd (geval’ geen risico’), wanneer het totale aantal gebeurtenissen niet wordt gerapporteerd (geval’ geen totale gebeurtenissen’), en wanneer geen van beide worden gerapporteerd (geval’ geen’).

het algoritme voor het geval “alle informatie”

het aantal gecensureerde personen is niet beschikbaar uit de gerapporteerde gegevens. Daarom gebruiken we de gerapporteerde risiconummers, nrisk i , om het aantal gecensureerde personen per tijdsinterval i te benaderen. We kunnen het exacte censuurpatroon niet identificeren binnen elk interval, en dus zijn we gedwongen om een aanname te maken. We hebben aangenomen dat het censureren met een constante snelheid plaatsvindt binnen elk van de tijdsintervallen, wat redelijk lijkt als het censureringspatroon niet informatief is (elk subject heeft een censureringstijd die statistisch onafhankelijk is van hun faaltijd).

het algoritme bestaat uit de volgende stappen (zie ook Figuur 3).

Figuur 3
figuur 3

Stroomdiagram van het algoritme (geval “alle informatie”).

stap 1 We vormen eerst een eerste gok voor het aantal gecensureerd op interval i. als er geen individuen gecensureerd op interval i dan het aantal in gevaar aan het begin van het volgende interval, nris k i + 1 n O c e N s O r, zou het aantal in gevaar aan het begin van interval i, vermenigvuldigd met de kans op het ervaren van de gebeurtenis op interval i afhankelijk van het leven aan het begin van interval i:

n r i s k i + 1 n o c e N S O r = n r i s k i * S l O w e r i + 1 / S l O w E R I

afgerond tot op het dichtstbijzijnde gehele getal.

onze eerste schatting voor het aantal gecensureerd op interval i is het verschil tussen het gerapporteerde aantal dat risico loopt aan het begin van interval i + 1, nriski+1, en het aantal dat risico loopt zonder censuur:

n c e n ^ s o r i = n r i s k i + 1 n o c e N r i s k i + 1 n c e N ^ s o r I = S L O w e r i + 1 / S l O w e r i * n r i s k i-n r i s k i + 1
(3)

stap 2 We verdelen de C = 1,…,nce n ^ so r i censuur tijden, ce n ^ t c , gelijkmatig over interval i:

c e N ^ t C = T L O w E r I + c * (T L o w e r i + 1 – T L O w e r i) / (n c e n ^ s o r i + 1 ) c = 1,…, n c E N ^ s O R i
(4)

het aantal gecensureerde waarnemingen tussen geëxtraheerde KM-coördinaten k en k + 1 wordt gevonden door het aantal geschatte censuurtijden, ce n ^ t c, te tellen die tussen tijd T k en Tk+1 liggen:

C ê n k = ∑ c = 1 N c e N ^ s o r i ( c e n ^ t c * i { c e n ^ t c ∈ } )
(5)

waarin I { c e n ^ t c ∈ } een indicator is die 1 Geeft als ce n ^ t c op het interval ligt en 0 anders.

stap 3. Het aantal voorvallen, D ^ k, bij elk geëxtraheerd KM-coördinaat, k, en dus het aantal risicopatiënten bij de volgende coördinaat, n ^ k + 1, kan dan worden berekend. Herindeling van Eq. 2, we verkrijgen dat D ^ k gelijk is aan het aantal patiënten met risico op de geëxtraheerde KM-coördinaat, k, vermenigvuldigd met een min de kans op het ervaren van de gebeurtenis op de geëxtraheerde KM-coördinaat, k, gedeeld door Ŝ L A s t ( k ) K M de geschatte KM-overlevingskans op de vorige coördinaat waar we schatten dat een gebeurtenis heeft plaatsgevonden, laatste(k). De intervallen van KM schattingen zijn zo ontworpen dat ten minste één gebeurtenis plaatsvindt aan het begin van elk interval, maar dit is niet noodzakelijk het geval voor onze geëxtraheerde coördinaten, en dus moeten we de tijd van de laatste gebeurtenis volgen:

l a s t ( k) = 1 i f k = 1 k ‘o t h E r w I s e

wanneer k’ van dien aard is dat d ^ k ‘>0

maar d ^ j = 0Voor j = k’ + 1,…, k-1

met behulp van eq.2, We hebben:

Ŝ k K M = 1 i f k = 1 l l a s t ( k ) K M * ( 1 – d ^ K n ^ k ) O T H E r W I s E

daarom:

d ^ k = n ^ K * (1 – S K Ŝ L a s t (k ) K M ) k = l O w e r i,…, u p p e r i
(6)

afgerond tot op het dichtstbijzijnde gehele getal.

het aantal risicopatiënten bij elk geëxtraheerd coördinaat, k, wordt dan verkregen met behulp van Eq.1:

n ^ k + 1 = n ^ k-d ^ k-c ê n k k = l o w e r i,…, u p p e r i
(7)

waar we aan het begin van het interval n ^ l o w e r i =nris k i instellen . Dit geeft een geschat aantal risico ‘ s aan het begin van het volgende interval nrîs k i + 1 = n ^ u p p e r i + 1 .

stap 4. Als nrîs k i + 1 ≠nris k i + 1 dan passen we het Geschatte aantal gecensureerde waarnemingen in interval i, ncenoror, opnieuw aan door:

n c e N ŝ o r i = n c e n ^ s o r i + (n ^ u p p e r i + 1 – n r i s k i + 1 )
(8)

we herhalen stappen 2-3 iteratief tot Geschatte en gepubliceerde aantal at risk match (dwz nrîs k i + 1 =nris k i + 1 ).

stap 5. Als i + 1 niet het laatste interval is, herhalen we de stappen 1-4 voor het volgende interval.

stap 6. In gepubliceerde RCT ‘ s is er over het algemeen geen nummer met risico gepubliceerd aan het einde van het laatste interval, nint. We gaan er eerst vanuit dat het aantal gecensureerd op het laatste interval gelijk is aan het totale aantal gecensureerd geschat voorafgaand aan het laatste interval, ∑ i = 1 n i n t – 1 N c e N ŝ o r i , gewogen door de resterende tijd ten opzichte van de reeds verstreken tijd, afgerond op het dichtstbijzijnde gehele getal. Maar als dit aantal groter bleek te zijn dan het aantal patiënten dat aan het begin van het laatste interval nog steeds risico liep, werd dit aantal in plaats daarvan gekozen. Deze aanname is formeel geschreven in de onderstaande vergelijking:

N c e N ^ s o r n t = min ( T u p p e r n i n T T T U p p e r n i n t – 1 – T l O w E R 1 * ∑ i = 1 n i n t – 1 N c e N ^ s o r i ; n r i s k n i n t )

en we lopen Stap 2-3.

Stap 7. We gebruiken dan het gerapporteerde totale aantal gebeurtenissen, totevents. We berekenen het geschatte totale aantal gebeurtenissen verkregen door het begin van het laatste interval, ∑ k = 1 U p p e r n i n t – 1 D ^ k . Als dit groter of gelijk is aan totevents gaan we ervan uit dat er geen gebeurtenissen of censuur meer plaatsvinden:

d ^ k = 0, c ê n k = 0, n ^ k = n U p p e r n i n T – 1 k = l O w E R n i n T,…, U p p e r n i n t

stap 8. Als ∑ k = 1 U p p e r n i n t-1 D ^ k kleiner is dan totevents, passen we het Geschatte aantal gecensureerde waarnemingen in interval nint, nce n ^ so r n i n t opnieuw aan met het verschil in totaal aantal gebeurtenissen:

n c e n ^ s o r n i n t = n c e n ^ s o r n i n t + ( ∑ k = 1 u p p e r e n t d ^ k – t o t e v e n t s )
(9)

vervolgens hebben We opnieuw uitvoeren van de stappen 2-3,8 voor de laatste interval, nint, tot de geschatte totale aantal gebeurtenissen, ∑ k = 1 u p p e r e n i n t – 1 d ^ k , is gelijk aan de gemelde totale aantal gebeurtenissen, totevents of tot de geschatte totale aantal gebeurtenissen is minder dan de gemelde totale aantal gebeurtenissen, maar het totale aantal van censuur in de laatste interval nce n ^ dus r n i n t , gelijk wordt aan nul.

aanpassingen van het algoritme voor het geval “geen risiconummers”

In dit geval is er slechts één interval nint = 1. We gaan er eerst vanuit dat het totale aantal gecensureerd gelijk is aan nul en dan gaan we verder zoals in Stap 8.

aanpassingen van het algoritme voor het geval’ geen totale gebeurtenissen ‘

in dit geval gaan we verder als voor het geval ‘alle informatie’, behalve dat er geen heraanpassing met behulp van het totale aantal gebeurtenissen kan worden gedaan en we stoppen daarom bij stap 6.

aanpassing van het algoritme voor het “noch” geval

wanneer geen totaal aantal gebeurtenissen of aantallen risico ’s na het begin van de studie worden gerapporteerd, gingen we ervan uit dat er geen gecensureerde waarnemingen waren. Dit is een sterke aanname, maar net zo sterk als elke andere aanname die we zouden kunnen maken over het censureren zonder verdere informatie. Door het gebrek aan informatie wordt een lagere kwaliteit van de resultaten verwacht.

het verkrijgen van de individuele patiëntgegevens (IPD) uit de gereconstrueerde Kaplan-Meier-gegevens

uit onze gereconstrueerde Kaplan-Meier-parameters d ^ k, cê n k, N ^ k voor elk geëxtraheerd KM-coördinaat k = 1,…, N, we kunnen de IPD afleiden die die gegevens zou genereren. Dit laatste stukje codering is in feite heel eenvoudig. Telkens wanneer een gebeurtenis of een censuur wordt geschat, wordt de bijbehorende tijd geregistreerd, evenals een gebeurtenisindicator (één voor gebeurtenis en nul voor censuur).

evaluatie van reproduceerbaarheid en nauwkeurigheid

bij de validatie werden zes paar Kaplan-Meier-curven gebruikt. Deze werden ontleend aan een deelverzameling van publicaties die deel uitmaakten van een terugblik op de methoden voor de analyse van de overlevingstijd die in economische evaluaties werden gebruikt . We voerden een reconstructie uit van tweeëntwintig overlevingskansen, zeven mediane overlevingstijden, zes hazard ratio ’s en vier standaardfouten van de log hazard ratio’ s die in deze vier publicaties werden gerapporteerd. Elk werd twee keer gereconstrueerd door dezelfde drie waarnemers. Twee van de drie waarnemers waren niet betrokken bij de ontwikkeling van het algoritme.

de reproduceerbaarheid en nauwkeurigheid van de methode werd geëvalueerd voor elk van de vier verschillende informatieniveaus (“alle informatie”, “geen risicogetallen”, “geen totale gebeurtenissen” en “geen van beide”). Om de verschillen tussen de gereconstrueerde statistieken en de originele te beoordelen, werd de natuurlijke schaal gebruikt voor de overlevingskansen, terwijl de logschaal werd gebruikt voor medianen, uren en hun onzekerheden. Kaplan-Meier-curven en Cox-uren op basis van gereconstrueerde gegevens werden geschat met behulp van de R-routines survfit en coxph.

we hebben een standaard ANOVA in twee richtingen uitgerust met herhaalde metingen van de verschillen tussen de gereconstrueerde resultaten en de oorspronkelijke resultaten, hetzij op de natuurlijke of de logschaal, afhankelijk van de beschouwde statistiek. De componenten van variantie waren exemplar, waarnemer, exemplar × waarnemer interactie, en binnen-celfout. Omdat de p-waarde van de F-ratio test voor de interactie in alle gevallen boven 10% lag, hebben we de interactieterm samengevoegd met de binnen-cel foutterm. De gekozen aanpak is vergelijkbaar met wat in technische toepassingen “herhaalbaarheid en reproduceerbaarheid van meetwaarden” wordt genoemd .

de reproduceerbaarheid geeft de fout weer als één waarnemer één reconstructie uitvoert voor een bepaalde statistiek. Dit werd geschat als de som van de fout binnen-waarnemer en tussen-waarnemer. Monte Carlo simulatie van het gemonteerde ANOVA model werd gebruikt om de 95% betrouwbaarheidsintervallen rond de standaardafwijkingen te verkrijgen. De vrijheidsgraden voor de binnen -, de tussen-en de uitkomstvariaties werden verondersteld chi-kwadraatverdelingen te volgen. Om een solide gevolgtrekking te waarborgen, werden uit elk van deze distributies 150 000 monsters van vrijheidsgraden genomen, d.w.z. voor elke bron van variatie. Vervolgens werden de gemiddelde kwadratenramingen berekend aan de hand van de som van de kwadraten verkregen door de ANOVA en het monster verkregen door de simulatie, voor elk van de 150 000 monsters en voor elk van de bronnen van variatie. De overeenkomstige 150.000 binnen, tussen en resultaat standaardafwijkingen werden vervolgens geschat en uiteindelijk hebben we de 2,5 en 97,5 percentielen geëxtraheerd om de betrouwbaarheidsintervallen schattingen te verkrijgen.

om de nauwkeurigheid te beoordelen hebben we het gemiddelde verschil tussen de gereconstrueerde en de oorspronkelijke statistieken onderzocht. De resulterende gemiddelde vooringenomenheid, of gemiddelde fout (ME) weerspiegelt systematische over – of onderschatting. De 95% betrouwbaarheidsintervallen worden rechtstreeks verkregen uit de schatting van de standaardafwijkingen gegeven door de ANOVA. We noteerden ook absolute vooringenomenheid of gemiddelde absolute fout (MAE). Dit negeert de richting van de fouten en meet hun omvang, wat een maat geeft voor de absolute nauwkeurigheid van de gereconstrueerde resultaten. Opnieuw werd een simulatiemethode gebruikt om de 95% – betrouwbaarheidsintervallen te verkrijgen, waarbij werd aangenomen dat MEs normaal was verdeeld. Voor elke statistiek werden, om een robuuste gevolgtrekking te waarborgen, 150 000 monsters genomen uit de normale verdeling met het waargenomen gemiddelde en de variantie, zoals aangegeven door de ANOVA. Vervolgens hebben we de overeenkomstige 150 000 absolute waarden van deze getallen berekend en uiteindelijk hebben we de 2,5 en 97,5 percentielen geëxtraheerd om de betrouwbaarheidsintervallen schattingen te verkrijgen.

ten slotte noteerden we de variatie in het verschil tussen gereconstrueerde en oorspronkelijke statistieken die te wijten was aan de keuze van voorbeelden, dat wil zeggen aan de 22 overlevingskansen, 7 medianen, 6 uur en 4 standaardfouten van de log uur. Dit geeft een verdere indicatie van de nauwkeurigheid van de methode.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.

More: