förbättrad sekundär analys av överlevnadsdata: rekonstruera data från publicerade Kaplan-Meier överlevnadskurvor

Kaplan-Meier (KM) uppskattningsmetod

Kaplan-Meier (KM)-metoden används för att uppskatta sannolikheten för att uppleva händelsen fram till tiden t, SKM(T), från individuella patientdata erhållna från en RCT som är föremål för högercensur (där vissa patienter går förlorade för uppföljning eller är händelsefria i slutet av studieperioden). Metoden fungerar genom att sammanfatta IPD i form av en serie r-tidsintervall SKM (t m ) vid händelsetid t m :

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

Kaplan-Meier data rekonstruktion algoritm

dataingångar krävs

den första indatafilen som krävs för algoritmen innehåller de extraherade X-axelkoordinaterna, T k , och y-axelkoordinaterna, S k , för k = 1,…, N pekar på KM-kurvan. Flera programvarupaket finns för att göra detta, och vi fann att programvaran DigitizeIt (http://www.digitizeit.de/) fungerade bra. Km-kurvorna, extraherad från A .pdf-artikel, läses in i programvaran, axlarna definieras, och sedan använder analytikern musklick för att välja punkter för att läsa av från kurvan. De resulterande t k-och S k-koordinaterna exporteras sedan till en textfil. Detta förberedande arbete måste utföras noggrant. Uppgifterna ska vara tillräckliga: varje steg som ses i siffrorna borde ha fångats under datautvinningen. Platsen och antalet klick är därför viktiga. Uppgifterna bör också vara konsekventa: sannolikheten att uppleva händelsen minskar med tiden, och det bör verifieras att detta alltid är fallet för de extraherade datapunkterna. Avvikelser kan uppstå på grund av publiceringskvaliteten på kurvan och mänskliga fel vid kontroll av klick. Eventuella avvikelser bör korrigeras innan algoritmen körs nedan. De tider, vid vilka siffrorna i riskzonen rapporteras i publikationen, måste ingå i dessa initiala uppgifter. Som en konvention är den första datapunkten T1 = 0 och sannolikheten för att uppleva händelsen till tiden 0 är därför S1 = 1. Varje km-kurva extraheras separat.

den andra indatafilen som krävs för algoritmen innehåller information om de rapporterade siffrorna i riskzonen. Kurvan är uppdelad i i = 1,.., nint intervaller, för varje vi har det rapporterade antalet i riskzonen i början av detta intervall, nrisk i , den tidpunkt då antalet i riskzonen tillhandahålls, trisk i , den första raden antalet extraherade Koordinater för det tidsintervallet lägre i , och den sista raden antalet extraherade Koordinater för det tidsintervallet Övre i . nrisk i och trisk jag kommer från den ursprungliga publikationen, medan lägre i och övre jag kommer från antalet klick görs på varje intervall, för att skapa den första indatafilen. För varje i är lägre i lika med k när T k = trisk i och övre I är lika med k när Tk+1= triski+1.

den slutliga indata som krävs är det totala antalet händelser, totevents.

vi börjar med att beskriva algoritmen för det fall där antalet i riskzonen rapporteras i början av studien och minst en annan tidpunkt och när det totala antalet händelser rapporteras (’all information’ fall). Vi visar sedan hur algoritmen kan anpassas när antalet i riskzonen endast rapporteras i början av studien (’inga siffror i riskzonen’ fall), när det totala antalet händelser inte rapporteras (’inga Totala händelser’ fall), och när ingen av dessa rapporteras (’varken’ fall).

algoritmen för’ all information ’ – fallet

antalet censurerade individer är inte tillgängligt från de rapporterade uppgifterna. Vi använder därför de rapporterade siffrorna i riskzonen , nrisk i, att approximera antalet censurerade individer på varje tidsintervall i. Vi kan inte identifiera det exakta censurmönstret inom varje intervall, och så tvingas vi göra ett antagande. Vi har antagit att censurering sker i konstant takt inom varje tidsintervall, vilket verkar rimligt om censurmönstret är icke-informativt (varje ämne har en censureringstid som är statistiskt oberoende av deras feltid).

algoritmen består av följande steg (illustreras också i Figur 3).

Figur 3
figur3

flödesschema för algoritmen (’all information’ fall).

steg 1. Vi bildar först en initial gissning för antalet censurerade på intervall i. om det inte fanns några individer censurerade på intervall i då antalet i riskzonen i början av följande intervall, nris k i + 1 n o c e n s o r, skulle vara antalet i riskzonen i början av intervall i, multiplicerat med sannolikheten för att uppleva händelsen vid intervall i villkorat av att vara vid:

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

avrundat till närmaste heltal.

vår första gissning för antalet censurerade på intervall i är skillnaden mellan det rapporterade antalet i riskzonen i början av intervallet i + 1, nriski + 1 och antalet i riskzonen under ingen censurering:

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

steg 2. Vi fördelar c=1,…, nce n ^ så r i censur gånger, ce n ^ t c, jämnt över intervall i:

c e n ^ t c = T l o v r i + c * (T L o v r i + 1-T L o v r i) / (n c e n ^ s o r i + 1 ) c = 1,…, n c e n ^ s o r i
(4)

antalet censurerade observationer mellan extraherade km-koordinater k och k + 1 hittas genom att räkna antalet uppskattade censurtider, ce n ^ t c, som ligger mellan tiden T k och Tk + 1:

c, c, c, c, c, c, c, c, c, c, c, c, c, c, c, c, c, c, c, c ∈ } )
(5)

där i { c e n ^ t c Jacobs} är en indikator som returnerar 1 om ce n ^ t c ligger på intervallet och 0 annars.

steg 3. Antalet händelser, d ^ k, vid varje extraherad KM-koordinat, k, och därmed antalet patienter i riskzonen vid nästa koordinat, n ^ k + 1, kan sedan beräknas. Omorganisera Eq. 2, får vi att d ^ k är lika med antalet patienter i riskzonen vid den extraherade KM-koordinaten, k, multiplicerat med en minus sannolikheten för att uppleva händelsen vid den extraherade KM-koordinaten, k, dividerat med 6XB l a S t ( k ) k m den uppskattade KM-överlevnadssannolikheten vid den tidigare koordinaten där vi uppskattar att en händelse inträffade, senast(k). Intervallen av KM uppskattningar är utformade för att vara sådan att åtminstone en händelse inträffar i början av varje intervall, men detta är inte nödvändigtvis fallet för våra extraherade koordinater, och så måste vi spåra tiden för den sista händelsen:

l A S t (k) = 1 i f k = 1 k ’o t h e r w i S e

där k’ är sådan att d ^ k ’>0

men d ^ j = 0för j = k ’ + 1,…, k-1

med användning av eq.2, Vi har:

K K M = 1 i f k = 1 L A S t ( k ) k m * (1-d ^ k n ^ k ) o t e r w i S e

därför:

d ^ k = n ^ k * (1-S K cu L A S t (k ) k M) k = l o r i,…, u p p e r i
(6)

avrundat till närmaste heltal.

antalet patienter i riskzonen vid varje extraherad koordinat, k, erhålls sedan med användning av Eq.1:

n ^ k + 1 = n ^ k – d ^ k – c 2 K K = L o w E r i , … , u p p e r i
(7)

var i början av intervallet ställer vi in n ^ l o w e r i =nris k i . Detta ger ett uppskattat antal i riskzonen vid början av följande intervall nrcu k i + 1 = n ^ u p p e r i + 1 .

steg 4. Om nrclubs k i + 1clubs NRIs k i + 1 Så justerar vi det uppskattade antalet censurerade observationer i intervall i, ncenclubor, av:

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)

vi upprepar steg 2-3 iterativt tills uppskattat och publicerat antal vid riskmatchning (dvs.

steg 5. Om jag + 1 inte är det sista intervallet upprepar vi steg 1-4 för följande intervall.

steg 6. I publicerade RCT, det finns i allmänhet inget risknummer som publiceras i slutet av det sista intervallet, nint. Vi antar först att antalet censurerade på det sista intervallet är lika med det totala antalet censurerade uppskattade före det sista intervallet, i = 1 n i n t – 1 n c e n o r i , viktad med den återstående tiden i förhållande till den tid som redan förflutit, avrundat till närmaste heltal. Men om detta antal sågs vara större än antalet patienter som fortfarande var i riskzonen i början av det sista intervallet, valdes detta antal i riskzonen istället. Detta antagande är formellt skrivet i ekvationen nedan:

n c e n ^ s o r n i n t = min ( t u p p e r n i n T – T L O R R n i n t t – 1 – T L O R R n i n t 1 * ci i = 1 n i n t – 1 n c e n ^ s o r i ; n r i s k n i n t )

och vi kör steg 2-3.

steg 7. Vi använder sedan det rapporterade totala antalet händelser, totevents. Vi beräknar det uppskattade totala antalet händelser som erhållits vid början av det sista intervallet, K = 1 u p p e r n i n t – 1 d ^ k . Om detta är större eller lika med totevents antar vi att inga fler händelser eller censurering inträffar:

d ^ k = 0, C IC i 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

steg 8. Om k = 1 u p p e r n i n t-1 D ^ k är mindre än totevents vi åter justera det uppskattade antalet censurerade observationer i intervall nint, nce n ^ så r n i n t, av skillnaden i det totala antalet händelser:

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 n i n t d ^ k – t o t e n t s )
(9)

vi kör sedan om steg 2-3, 8 för det sista intervallet, nint, tills det uppskattade totala antalet händelser , K = 1 u p p e r n i n t – 1 D ^ k, är lika med det rapporterade totala antalet händelser, totevents eller tills det uppskattade totala antalet händelser är mindre än det rapporterade totala antalet händelser men det totala antalet censurering i det sista intervallet , nce n ^ så r n i n t, blir lika med noll.

justeringar av algoritmen för ’no numbers at risk’ – fallet

i det här fallet finns det bara ett intervall nint = 1. Vi antar först att det totala antalet censurerade är lika med noll och sedan fortsätter vi som i steg 8.

justeringar av algoritmen för’ inga Totala händelser ’ – fallet

i det här fallet fortsätter vi som för ’all information’-fallet förutom att ingen omjustering med det totala antalet händelser kan göras och vi slutar därför vid steg 6.

justering till algoritmen för’ varken ’ fallet

när varken totalt antal händelser eller siffror i riskzonen efter studiens början rapporteras antog vi att det inte fanns några censurerade observationer. Detta är ett starkt antagande, men lika starkt som alla andra antaganden som vi kunde göra om censuren utan ytterligare information. På grund av bristen på information förväntas en lägre kvalitet på resultaten.

erhålla de individuella patientdata (IPD) från de rekonstruerade Kaplan-Meier-data

från våra rekonstruerade Kaplan-Meier-parametrar d ^ k ,c Kubi n k , n ^ k för varje extraherad KM koordinat k = 1,…, N, vi kan härleda IPD som skulle generera den data. Denna sista kodning är faktiskt ganska enkel. Varje gång, att en händelse eller en censurering uppskattas, registreras motsvarande tid samt en händelseindikator (en för händelse och noll för censurering).

utvärdering av reproducerbarhet och noggrannhet

Sex Par Kaplan-Meier-kurvor användes i valideringsövningen. Dessa hämtades från en delmängd av publikationer som ingick i en tillbakablick översyn av överlevnadstid analysmetoder som används i ekonomiska utvärderingar . Vi genomförde en rekonstruktion av tjugotvå överlevnadssannolikheter, sju medianöverlevnadstider, sex riskförhållanden och fyra standardfel i loggriskförhållandena som rapporterades i dessa fyra publikationer. Var och en rekonstruerades vid två tillfällen av samma tre observatörer. Två av de tre observatörerna var inte inblandade i utvecklingen av algoritmen.

metodens reproducerbarhet och noggrannhet utvärderades för var och en av de 4 olika informationsnivåerna (’all information’, ’no numbers at risk’, ’no total events’ och ’nor’). För att bedöma skillnaderna mellan den rekonstruerade statistiken och de ursprungliga användes den naturliga skalan för överlevnadssannolikheterna, medan loggskalan användes för medianer, timmar och deras osäkerheter. Kaplan Meier-kurvor och Cox HRs baserade på rekonstruerade data uppskattades med hjälp av R-rutinerna survfit och coxph.

vi monterade en standard tvåvägs ANOVA med upprepade mått på skillnaderna mellan de rekonstruerade resultaten och de ursprungliga resultaten, antingen på den naturliga eller loggskalan beroende på den statistik som beaktas. Variansens komponenter var exempel, observatör, exempel på observatörsinteraktion för observatörer i Brasilien och fel inom cellen. Eftersom p-värdet från F-ratio-testet för interaktionen i alla fall var över 10%, poolade vi interaktionstermen med inom-cellfeltermen. Det tillvägagångssätt som valts liknar det som i tekniska tillämpningar kallas repeterbarhet och reproducerbarhet.

reproducerbarheten representerar felet om en enda observatör gör en enda rekonstruktion för en specificerad statistik. Detta uppskattades som summan av felet inom observatören och mellan observatören. Monte Carlo-simulering från den monterade ANOVA-modellen användes för att erhålla 95% konfidensintervall kring standardavvikelserna. Frihetsgraderna för det inre, mellan-och utfallsvariationerna antogs följa chi-kvadratfördelningar. För att säkerställa robust slutsats drogs 150 000 prover av frihetsgrader från var och en av dessa fördelningar, dvs. för varje variationskälla. Därefter beräknades medelkvadratuppskattningarna, med användning av summan av kvadrater erhållna av ANOVA och provet erhållet genom simuleringen, för var och en av de 150 000 proverna och för var och en av variationskällorna. Motsvarande 150 000 inom, mellan och utfall standardavvikelser uppskattades därefter och vi slutligen extraherade 2.5 och 97.5 percentiler för att erhålla konfidensintervall uppskattningar.

för att bedöma noggrannheten undersökte vi medelskillnaden mellan den rekonstruerade statistiken och de ursprungliga. Den resulterande medelförspänningen eller medelfelet (ME) återspeglar systematisk över – eller underskattning. 95% konfidensintervall erhålls direkt från uppskattningen av standardavvikelserna från ANOVA. Vi registrerade också absolute bias eller mean absolute error (MAE). Detta ignorerar felens riktning och mäter deras storlek, vilket ger ett mått på den absoluta noggrannheten hos de rekonstruerade resultaten. En simuleringsmetod användes igen för att erhålla 95% konfidensintervall, vilket antog att MEs normalt distribuerades. För varje statistik, för att säkerställa robust slutsats, togs 150 000 prover från normalfördelningen med det observerade medelvärdet och variansen, som ges av ANOVA. Vi beräknade sedan motsvarande 150 000 absoluta värden för dessa siffror och vi extraherade slutligen 2,5 och 97,5 percentilerna för att erhålla konfidensintervalluppskattningarna.

slutligen registrerade vi variationen i skillnaden mellan rekonstruerad och originalstatistik som berodde på valet av exemplar, dvs till 22 överlevnadssannolikheter, 7 medianer, 6 timmar och 4 standardfel i loggen timmar. Detta ger en ytterligare indikation på metodens noggrannhet.

Lämna ett svar

Din e-postadress kommer inte publiceras.

More: