Wiederherstellen der Rohdaten hinter einer nichtparametrischen Überlebenskurve
Prinzipien
Zunächst gehen wir davon aus, dass die Kaplan-Meier- oder Nelson-Aalen-Kurvenwerte mit ausreichender Genauigkeit und Präzision gemessen werden können (wir werden diese Anforderung in späteren Abschnitten lockern). In solchen Fällen erlauben die ersten Prinzipien – und einige Abzüge – im Allgemeinen, nicht nur (i) die eindeutige ‚Ereigniszeit‘ t, die jede Risikomenge definiert, sondern auch für jede Risikomenge (ii) die Anzahl der gefährdeten n und (iii) die Anzahl der Ereignisse d. Dann kann man durch aufeinanderfolgende Subtraktionen (iv) die Anzahl der Beobachtungen berechnen, die zwischen aufeinanderfolgenden Risikomengen zensiert wurden c. Sofern die genauen Zeiten der zensierten Beobachtungen nicht in der Grafik angegeben sind, können die wiederhergestellten Daten in die Sequenz komprimiert werden
Wenn die genauen Zensurzeiten in der Grafik angegeben sind, kann im Prinzip der gesamte Datensatz rekonstruiert werden; Andernfalls kann man am besten die Interpolation zusammen mit der Beschreibung des Rekrutierungszeitraums und der Abschlussdaten der Studie verwenden, um die Standorte der zensierten Beobachtungen innerhalb der verschiedenen Zeitintervalle zuzurechnen. Die meisten Autoren haben sie innerhalb dieser Intervalle gleichmäßig verteilt.
Um die Prinzipien zu überprüfen und die Argumentation zu veranschaulichen, beginnen wir mit einem kleinen Beispiel unter Verwendung eines weit verbreiteten illustrativen Datensatzes. Abbildung 1a zeigt die Kaplan-Meier-Schätzung der Überlebensfunktion für Patienten mit akuter myeloischer Leukämie (AML) in der ‚maintained‘ -Gruppe, die im Survival Package in R verfügbar ist. Zunächst bitten wir den Leser, die zusätzlichen Informationen, die wir auf jeder Tafel zeigen, zu ignorieren und seine Aufmerksamkeit auf die Kurve mit ihren Schritten und Zensurzeichen zu beschränken.
Sei S(t j) die Überlebenswahrscheinlichkeit oder die „Höhe“ der Überlebenskurve zum Zeitpunkt t j und definiere den „Sprung“ J(t j) als S(tj−1)−S(t j). Normalerweise würden wir es wissen, aber angenommen, wir kennen nicht einmal n0, die Anzahl der Probanden zum Zeitpunkt t0 = 0. Wie viel der Rohinformationen kann man ohne weitere Informationen außer den Schrittfunktionswerten und den Zeiten der Schritte aus einem solchen Diagramm wiederherstellen, wenn die Ss mit ausreichender Genauigkeit bekannt sind? (Mit ausreichender Genauigkeit meinen wir, dass der wahre Wert zuverlässig als n j und nicht als n j -1 oder n j + 1 abgeleitet werden kann).
Ein kurzer Blick auf Abbildung 1a zeigt, dass es sieben Sprünge und drei Zensurmarken gibt, also ist n0 mindestens 10. Selbst ohne Zensurmarken weisen die Unterschiede in der Größe der Sprünge auf eine gewisse Zensur hin – wenn es keine gäbe, wären alle Sprünge entweder gleich groß (1 / n0) oder ein Vielfaches davon, dh m/ n0, wenn m> 1 Ereignisse in einem Risikosatz. Wie in Abbildung 1b gezeigt, J(t3)>J(t2), während J(t5)>J(t4) und J(t7)>J(t6); Da die letzte Beobachtung zensiert wird, können wir daraus schließen, dass es mindestens eine insgesamt vier zensierte Werte.
Eine Möglichkeit zu verstehen, warum (Einzelereignis-) Sprünge, die weiter rechts liegen, nur größer sein können als diejenigen, die ihnen vorausgehen, ist Efrons Re-Distribution-to-the-right-Algorithmus : Zunächst wird zu jedem Beobachtungszeitpunkt eine Wahrscheinlichkeitsmasse von 1 / n0 platziert. Wenn von links nach rechts eine zensierte Zeit angetroffen wird, wird ihre Masse zu gleichen Teilen auf alle Beobachtungen rechts umverteilt. Dieser Vorgang des Auswaschens der zensierten Beobachtungen wird wiederholt, bis alle damit verbundenen Massen neu verteilt wurden.
In Abbildung 1b sind die ersten beiden Sprünge J(t1) und J(t2) gleich groß von 0,09091 oder 1/11, was darauf hindeutet, dass anfangs 11 Personen gefährdet waren (natürlich, ohne weitere Informationen zu haben, könnte es auch 22 oder 33 gewesen sein, aber nachfolgende Werte der Kurve werden diese effektiv ausschließen). Die Tatsache, dass der dritte Sprung größer ist, legt fest, dass es bei oder nach t2 und vor t3 eine zensierte Beobachtung geben muss. Da sie jedoch (im Gegensatz zu den anderen zensierten Beobachtungen, die streng zwischen den Ereigniszeiten liegen) nicht durch ein Häkchen in der Grafik gekennzeichnet ist, muss die Zensur konventionell unmittelbar nach den Ereignissen bei t2 stattgefunden haben, aber aufgrund der Diskretion der Daten wurden als ‚t2 +‘ aufgezeichnet. Während Zensurmarken genauere Orte der zensierten Beobachtungen angeben können, zeigen statistische Pakete nicht unbedingt alle an, und man sollte sich daher nicht darauf verlassen, alle nur anhand der Häkchen zu identifizieren.
Nach Efrons Algorithmus kann J (t3) der Größe 0,10227 als die Summe der ursprünglichen Masse von 1/11 (0,09091) und (1/8) der gleichen Masse angesehen werden, die mit der zensierten ‚t2 +‘ -Beobachtung verbunden ist, die unter den acht, die kurz nach t2 gefährdet waren, neu verteilt wurde, dh J (t3) = J (t2) + 1/8 × J (t2). Die Arithmetik und die mehrfachen möglichen ‚Vermächtnisse‘ und Konfigurationen werden jedoch kompliziert, wenn mehrere Ereignisse gleichzeitig beobachtet werden oder wenn mehr als eine Beobachtung in einem Intervall zensiert wird. Wenn also die Ausdrücke für die absoluten Größen der Sprünge kompliziert werden, wie könnten wir sonst die gefährdeten Zahlen – und die Anzahl der Ereignisse – zum Zeitpunkt jedes aufeinanderfolgenden Sprungs bestimmen?
Wir fanden es am einfachsten, zuerst anzunehmen, dass jedes d j =1 ist, dann das entsprechende n j abzuleiten, dann Anomalien im Muster aufeinanderfolgender n j s zu verwenden, um d j zu einer größeren ganzen Zahl zu überarbeiten und das entsprechende n j entsprechend zu skalieren. Eine Möglichkeit, von d j nach n j zu gelangen, besteht darin, die Struktur ‚Produkt bedingter Überlebenswahrscheinlichkeiten‘ des K-M−Schätzers auszunutzen: Kehren Sie die Reihenfolge der Produkte um, die als Schätzer verwendet werden, und dividieren Sie Ŝ t j durch Ŝ t j – 1 . Das resultierende Verhältnis ist 1-d (t j)/n (t j), wobei d (t j) die Anzahl der Ereignisse zum Zeitpunkt t j und n (t j) die Anzahl der zum Zeitpunkt t j gefährdeten Ereignisse ist. Wenn wir feststellen können, was d(t j ) ist, erhalten wir den einfachen Ausdruck für n j :
Tatsächlich können wir, wie in Abbildung 1c gezeigt, mit diesem Ausdruck schließen, dass die bei {t1,…,t7} gefährdeten Zahlen {n1,…,n7}={11,10,8,7,5,4,2} sind.
Die Anfangszahlen – die in der Regel in Publikationen angegeben werden – und die Abfolge der ‚angepassten‘ oder ‚abgeleiteten‘ Risikozahlen können verwendet werden, um mit virtueller Sicherheit die Anzahl der Ereignisse zu jedem bestimmten Ereigniszeitpunkt zu ermitteln – die d j s. Wenn es tatsächlich ein einzelnes Ereignis zu jedem bestimmten Ereigniszeitpunkt gibt, bilden die abgeleiteten Risikozahlen – abgesehen von den (normalerweise kleinen) Messfehlern – eine monoton abnehmende Abfolge. Systematische Abweichungen von der Monotonie sind sofort ersichtlich: wenn es tatsächlich zwei Ereignisse zu einem bestimmten Ereigniszeitpunkt gäbe, wäre die gefährdete ‚angepasste‘ Zahl nj 1/2 dessen, was sie sein sollte, und würde sich deutlich von ihren Singleton-basierten Nachbarn abheben; Wenn es drei Ereignisse gäbe, wäre die gefährdete ‚angepasste‘ Zahl 1/3 ihrer Nachbarn und so weiter. Wir werden dies später veranschaulichen, wenn wir das Beispiel in Abbildung 2 (rechts) diskutieren. Aus dem so ermittelten {s1,…,s7} und dem {n1,…,n7} können wir dann durch Subtraktion ableiten, dass in unserem Beispiel {c1,…,c7}={0,1,0,1,0,1,1}.
Wenn die Zeitabstände zwischen den benachbarten t s relativ kurz sind, oder wenn die gefährdeten Zahlen zu bestimmten Zeitpunkten (z.B.,. b. jährlich oder monatlich) in der Grafik angezeigt werden, können dann durch weitere Interpolation der gefährdeten Zahlenfolge die Gesamtbeträge der Arbeitszeit für jedes interessierende Zeitintervall mit minimalem Fehler ermittelt werden. Überlebensdiagramme haben typischerweise eine Breite:höhe seitenverhältnis größer als 1. Somit sind die relativen Fehler bei der Dimension ‚Zeit‘ tendenziell kleiner als bei der Dimension ‚Person‘ des Personen-Zeit-Nenners, der in die berechneten Ereignisraten eingegeben wird.
Die obige Formel bezog sich auf die Kaplan-Meier-Kurve. Wenn anstelle der Überlebenskurve der Graph den Nelson-Aalen-Schätzer der kumulativen Hazard-Rate-Funktion zeigt, gegeben durch H t j = ∑ t i ≤ t j d t i /n t i , dann ist der Ausdruck für n(t j )
Aus der Beschriftung der vertikalen Achse ist nicht immer ersichtlich, ob sich eine ansteigende Nelson-Aalen−Kurve auf diese Folge von H s, d. H. Integrierte Gefahren, oder auf die kumulative Inzidenz oder das Risiko bezieht, d. H. CI j =R j =1- exp. Wenn es tatsächlich das letztere ist, d. H. Das Komplement von S , dann wird die Formel für n j
Bisher haben wir angenommen, dass die vertikalen und horizontalen Koordinaten der Eckpunkte mit ‚ausreichender‘ Genauigkeit gemessen werden können. Wir wenden uns nun dem zu, was mit den tatsächlichen K-M- und N-A-Kurven erreicht werden kann, die aus Bitmap-Bildern und vektorbasierten Grafiken in Publikationen extrahiert werden können.
Praktische Aspekte
Noch vor ein oder zwei Jahrzehnten war es üblich, aber zeitaufwendig, den ‚Bleistift und Lineal‘ -Ansatz zu verwenden, um Überlebenswahrscheinlichkeiten aus einem (möglicherweise vergrößerten) Hardcopy-Diagramm abzulesen. Diese Praxis könnte erhebliche Messfehler mit sich bringen, insbesondere wenn der Druck klein oder die Auflösung schlecht war. Da heute auf die meisten Graphen entweder elektronisch zugegriffen oder in ein solches Format konvertiert werden kann, kann die arbeitsintensive Arbeit mit verbesserter Präzision und Genauigkeit reduziert werden. Auf unserer Website http://www.med.mcgill.ca/epidemiology/hanley/software/DataRecovery haben wir eine Reihe von Grafiken zusammengestellt, die in elektronisch veröffentlichten Artikeln zu finden sind. Diese Bilder sind in der Regel von zwei Arten, was die Adobe Acrobat-Dokumentation bezieht sich auf ‚Rasterbilder‘ und ‚Vektorobjekte‘.
Rasterbilder
Ein Rasterbild oder Bitmap besteht aus Pixeln (den kleinsten adressierbaren Bildschirmelementen in einer Anzeigevorrichtung), die in einem zweidimensionalen Raster angeordnet sind. Jedes Pixel, dargestellt durch einen Punkt oder ein Quadrat, hat seine eigenen Koordinaten und Farben. Wenn man mehr und mehr hineinzoomt, wird das Bild körniger und die einzelnen Punkte, aus denen die Linien und Symbole im Diagramm bestehen, werden deutlicher.
In einem Schwarzweiß- oder Graustufenbild wird Weiß typischerweise durch den Wert 1, Schwarz durch eine 0 und Grau durch einen Zwischenwert dargestellt; farbbilder verwenden ein aufwändigeres Codierungsschema mit mehreren Kanälen, z. B. RGB oder CMYK. Genau wie in der digitalen Fotografie gilt: Je größer die Anzahl der Pixel, desto getreuer ist die Darstellung der ursprünglichen Werte. Ein Beispiel aus dem Prostatakrebs-Screening (ein Thema, das weiter unten diskutiert wird) finden Sie in den Abbildungen Zwei und drei des Artikels von Andriole .
Rasterbilder können in einer Reihe von Dateiformaten gespeichert werden.jpeg,.png,.tiff, und.gif. Sie können auf verschiedene Arten generiert werden, z. B. (i) Scannen der Hardcopy und Speichern als Rasterbild, (ii) (wenn es sich auf einer Seite eines elektronischen Dokuments befindet) Zoomen auf den Bereich mit dem Diagramm und Erstellen eines Screenshots oder (iii) (wenn es bereits in eine PDF-Datei eingebettet ist) mit der Funktion ‚Bilder exportieren‘ in Adobe Acrobat.
Die gewünschten Punkte im Diagramm können auf zwei Arten aus der Bilddatei extrahiert werden. Der technischere Weg besteht darin, eine Programmiersprache wie Basic, C ++ oder SAS zu verwenden, um die Farbwerte in ein 2D-Array einzulesen, aus den Farben der Punkte die Pixelpositionen der wichtigsten Landmarken zu identifizieren (z. B. die Achsen schneiden sich und die am weitesten voneinander entfernten vertikalen und horizontalen Häkchen) und schließlich zu bestimmen, welche Sequenzen von Pixelpositionen die Punkte enthalten, aus denen die interessierenden Kurven bestehen. Während das ReadImages-Paket das Einlesen des Arrays in R erleichtert, ist die Programmierung zur Verarbeitung des Arrays immer noch eine erhebliche Herausforderung, insbesondere für die Abschnitte, in denen sich Kurven überlappen.
Einfacher ist es, einen Graph Digitizer zu verwenden, ein Computerprogramm, das (i) das ausgewählte Bild importiert und auf dem Bildschirm anzeigt und (ii) es dem Benutzer ermöglicht, horizontale und vertikale Orientierungspunkte über den Cursor zu identifizieren und auf so viele Stellen im Diagramm zu klicken, wie gewünscht werden, dann konvertiert und speichert die entsprechenden (x, y) Werte. Eine Reihe von Graphdigitalisierern (wie GraphClick, Engauge Digitizer und Plot Digitizer) sind kostenlos im Internet verfügbar. In: Guyot et al. melden Sie, dass die Software DigitizeIt (http://www.digitizeit.de/) eine gute Leistung erbracht hat. Weil Digitalisierungen von Rasterbildern von Guyot et al. , werden wir Beispiele nicht geben, aber vergleichen bloß ihre Genauigkeit mit denjenigen von Vektorbildern in der theoretischen Fehleranalyse unten.
Vektorbilder
Eine vektorbasierte Figur oder Grafik besteht aus geometrischen Grundelementen oder Elementen wie Punkten und Linien; sie ist daran zu erkennen, dass sie ohne Qualitätsverlust unbegrenzt vergrößert werden kann. Zwei Endpunkte einer Linie werden durch zwei (x, y) Paare und ein Punkt durch eine Linie der Länge Null dargestellt. Das ‚Post‘ in PostScript – der gebräuchlichsten Sprache für ihre Herstellung – bezieht sich auf das Prinzip der Geräteunabhängigkeit: Die Elemente werden in Echtzeit aus den gespeicherten Koordinaten der Elemente gerendert, unabhängig von der lokalen Hardware, auf der die Software verwendet wird. Dieses Portabilitätsprinzip liegt dem von Adobe entwickelten Portable Document Format (PDF) zugrunde; PDF-Dateien basieren auf der PostScript-Sprache.
Der Inhalt eines PDF-Dokuments wird normalerweise als Binärdatei gespeichert, aber sowohl die Adobe Acrobat Pro-Anwendung als auch die in Mac OS bereitgestellte Vorschauanwendung können ein PDF-Dokument (oder die Seite davon) exportieren enthält das Diagramm von Interesse) als PostScript-Datei, die die Befehle enthält. Solche Dateien sind in der Regel groß und enthalten viele technische Informationen, aber es ist einfach (wenn auch mühsam), die Befehle zu identifizieren, die die Achsen, Häkchen und die Reihenfolge der Liniensegmente oder Punkte erzeugen, aus denen die K-M- und N-A-Kurven bestehen.
In PostScript werden die Positionen auf einer Seite in Druckerpunkten (72 Punkte pro Zoll) von der oberen linken Ecke der Seite gemessen. Somit würde eine x-Achse von 2 Zoll (144 Punkten), die sich von t = 0 und t = 5 und physikalisch von 1 bis 3 Zoll von der linken Seite der Seite erstreckt und sich 5 Zoll (360 Punkte) unter dem oberen Rand der Seite befindet, durch das Liniensegment angegeben (72, 360) ⇔ (216, 360). Angenommen, die Enden der 1,5 Zoll (108 Punkte) hohen y-Achse entsprechen S = 0 bzw. S=1. Dann können wir aus diesen PostScript-Koordinaten bestimmen, dass das Liniensegment (144, 300) ⇔ (146.88, 300) ist ein horizontaler Teil der Schrittfunktion mit dem Wert S = (360-300)/108 = 0,555 im Intervall t=(144-72)/(144/5)=2.5 zu t=(146.88−72)/(144/5)=2.6 und dass das Segment (146.88, 300) ⇔ (146.88, 303) ist ein vertikaler Sprung bei t=2,6, der Länge Δ S=3/108=0,028 von S=0,555 nach S=0,583.
Überraschenderweise enthalten einige Publikationen eine Mischung von Formaten. Tatsächlich wurden in der Veröffentlichung, die als Quelle für Abbildung Eins verwendet wurde, die Achsen in der ursprünglichen New England Journal of Medicine (NEJM) -Abbildung als Vektoren in PostScript gerendert, aber die beiden Kurven werden als Bild überlagert. Das Komposit wurde als Bild von Guyot et al. . Im Gegensatz dazu wurde die andere Figur in dieser NEJM-Publikation vollständig in PostScript gerendert, wenn auch mit einigen sehr komplexen Pfaden, um die Liniensegmente zu bilden.
Präzision
Wie genau werden die Daten aus Raster- und Vektorbildern extrahiert? Man kann diese Frage auf einer Reihe von Ebenen beurteilen, beginnend mit der Genauigkeit der Ŝ (oder 1−Ŝ) Messungen selbst. Betrachten Sie ein typisches Rasterbild mit 300 dpi (Dots per inch), bei dem die volle (0, 1) S-Achse 1,6 Zoll oder 480 Pixel hoch ist. Dies ergibt eine Auflösung von Δ S≈0,002. (Eine ‚Abwärts‘ -Kurve, die beispielsweise bei S = 0,9 endet, aber auf einem Diagramm, das die vollständige Skala (0,1) verwendet, verschwendet beträchtliche Präzision: Es ist sinnvoller, die ‚Aufwärts‘ −Funktion 1−S bis zu 0,1 zu zeichnen, wodurch die 1-S-Werte auf ± 0,0005 genau sind).Betrachten Sie stattdessen ein Vektorbild, das dieselbe Kurve auf derselben vertikalen Skala von 1,6 Zoll (= 72 × 1,6 = 115,2 Punkte) enthält. Da die in der von Adobe Acrobat exportierten PostScript-Datei angegebenen Koordinaten mit drei Dezimalstellen aufgezeichnet werden, beträgt die Auflösung Δ S=1/(115.2×1,000)≈0.00001, oder das 200-fache des Rasterbildes.
Beide Auflösungen geben zwar ausreichend genaue Maße für Ŝ an und ermöglichen es, zu bestimmen, wie viele Ereignisse an jedem Sprung beteiligt sind, sie geben jedoch möglicherweise keine so genauen Maße für die Anzahl der bei jedem Sprung gefährdeten Personen, da es gemessen wird als Kehrwert von 1−Ŝ t j /Ŝ t j − 1 . Als empirische Bewertung der Genauigkeit der abgeleiteten Messungen zeigt Abbildung 2 die geschätzten Zahlen aus einem Rasterbild und einem Vektorbild sowie – als Validitätsprüfung – die gemeldeten Risikozahlen am Ende jedes Zeitintervalls. Sie passen sehr gut zu den in den Artikeln angegebenen.
Die Genauigkeit kann auch mittels einer theoretischen Fehleranalyse quantifiziert werden. Betrachten Sie zwei benachbarte Werte auf derselben kumulativen Inzidenzkurve, wobei die vertikale Achse von 0% bis 5% reicht und (nach einiger Rundung) als y0- bzw. y5-Punkte über einer Landmarke angegeben wird. Angenommen, ohne Rundung wären sie Y0- und Y5-Punkte darüber. Bezeichnen Sie die vertikalen Positionen (ähnlich gerundet) der beiden benachbarten Punkte im Diagramm als y‘ und y“, wobei y“>y‘ ungerundeten Werten von Y‘ und Y“ entspricht. Dann ist die Schätzung der gefährdeten Zahl wie folgt:
Im Anhang geben wir die Varianz dieser abgeleiteten Größe an, vorausgesetzt, dass die in den vier y s enthaltenen Fehler (e s) gleich und unabhängig voneinander sind. In der Praxis werden die PostScript-Punkte auf drei Dezimalstellen gerundet; somit liegt die wahre Position Y, die mit einer gemeldeten Position von y = 563,384 Punkten verbunden ist, zwischen 563,3835 und 563,3845 Punkten. Wenn die Fehler über diesen Bereich von 0,001 einheitlich sind, so dass σ e ≈0,001 / 12 = 0.0003 Punkte, dann ist der Variationskoeffizient (CV)