Survival Analysis (Modul: Lebensdaueranalyse) ROLAND RAU Universität Rostock, Sommersemester 2015 12. Mai 2015 c Roland Rau Survival Analysis 1 / 24
Hausaufgabe 1 Schreiben Sie die Log-Likelihood Gleichung für Linkstrunkierung und Rechtszensierung im Falle einer Prozesszeit, die einer Exponentialverteilung folgt. 2 Übersetzen Sie diese Gleichung in R. 3 Schätzen Sie ˆλ unter den gegebenen Annahmen (Exponentialverteilung; Linkstrunkierung; Rechtszensierung) und den Daten aus wolpertinger2015-3.txt. c Roland Rau Survival Analysis 2 / 24
Einfluss von Linktrunkierung auf Schätzung Wie verändert sich die Likelihood und die log-likelihood-funktion? Alt: L(λ x 1, x 2,..., x n) = f (x i ) S(x i ) i δ i =1 i δ i =0 Neu: L(λ x 1, x 2,..., x n) = f (x i,out ) S(x i,out ) S(x i δ i =1 i,in ) S(x i δ i =0 i,in ) Neu: log L(λ x 1, x 2,..., x n) = Alt: log L(λ x 1, x 2,..., x n) = i δ i =1 i δ i =1 f (x i ) + i δ i =0 ( ) ln f (x i,out ) ln S(x i,in ) + i δ i =0 S(x i ) ( ) ln S(x i,out ) ln S(x i,in ) c Roland Rau Survival Analysis 3 / 24
Einfluss von Linktrunkierung auf Schätzung Wie verändert sich die Likelihood und die log-likelihood-funktion? log L(λ x 1, x 2,..., x n) = ( ln f (xi,out ) ln S(x i,in ) ) + ( ln S(xi,OUT ) ln S(x i,in ) ) i δ i =1 i δ i =0 = i (( log λ λxi,out ) ( λxi,in )) δ+ (( ) ( )) λxi,out λxi,in (1 δ) i = i (( log λ λxi,out ) + λxi,in ) δ+ (( ) ) λxi,out + λxi,in (1 δ) i c Roland Rau Survival Analysis 4 / 24
Einfluss von Linktrunkierung auf Schätzung Wie verändert sich die Likelihood und die log-likelihood-funktion? = i log L(λ x 1, x 2,..., x n) = ((log λ λx i,out ) + λx i,in ) δ+ i (( λx i,out ) + λx i,in ) (1 δ) unser.log.like3 <- function(lambda, intime, outtime, delta) { sum( ((log(lambda) - lambda * outtime) + (lambda * intime))*delta) + sum( ((-lambda * outtime) + (lambda * intime))*(1-delta)) } unser.mle <- optimize(unser.log.like3, intime=wolpi$enter, outtime=wolpi$exit, delta=wolpi$status, interval=c(0,100), maximum=true) unser.mle $maximum [1] 0.1321511 $objective [1] -571.5021 c Roland Rau Survival Analysis 5 / 24
Kovariaten Einführung zu: Welchen Einfluss üben Kovariaten auf die Prozesszeit X aus? Heutige Veranstaltung und kommende Veranstaltungen: nicht-parametrische Schätzung parametrische Schätzung semi-parametrische Schätzung + kleinere Arbeiten mit dem Datensatz. c Roland Rau Survival Analysis 6 / 24
Anforderungen an Hausarbeit Gerne in Gruppenarbeit Umfang: in etwa 20 Seiten. Thema: frei wählbar, sofern es sich um die Analyse einer Prozesszeit handelt und welchen Einfluss (verschiedene) Kovariaten darauf ausüben. Der Datensatz des National Health Interview Surveys wird angeboten, ist aber keine Verpflichtung. Wenn Sie einen anderen Datensatz analysieren wollen, so steht Ihnen das frei! Ziel: Arbeit im Stil eines wissenschaftlichen Artikels: Einleitung (Forschungsfrage & evtl. Hypothesen, Stand der Literatur) Daten & Methoden (dieser Teil sollte etwas ausführlicher sein, da wir ja die Methoden einüben) Ergebisse Diskussion & Fazit (bei der Diskussion kurz die Ergebnisse zusammenfassen, die eigenen Ergebnisse mit aus der Literatur bekannten Ergebnissen zu hinterfragen, eventuelle Probleme erläutern.) Zur Orientierung können Sie sich Zeitschriften ansehen wie Social Science & Medicine, Journal of Epidemiology and Community Health, International Journal of Epidemiology,... c Roland Rau Survival Analysis 7 / 24
EL KAPLAN, P MEIER (1958): Nonparametric Estimation from Incomplete Observations, Journal of the American Statistical Association 53(282):457 481 Ziel des Kaplan-Meier Schätzers: (nichtparametrische) Schätzung der Survival-Funktion: auch wenn die Beobachtungen nicht vollständig sind (Der ursprüngliche KM hat lediglich rechts-zensierte Beobachtungen berücksichtigt. Eine Erweiterung um Links-Trunkierung ist jedoch leicht möglich.) und man zusätzlich den Einfluss von Kovariaten auf den Survival-Verlauf berücksichtigen möchte. c Roland Rau Survival Analysis 8 / 24
Der Kaplan-Meier Schätzer ist folgendermaßen definiert für die Prozesszeit x und die Zeitpunkte i, an denen sich mindestens ein Event ereignet (siehe für Definition Abschnitt 4.2 in Klein and Moeschberger (2003) 1 ). Ŝ (x) = { 1, falls x < x1 ( ) x i x 1 d i Y i falls x 1 x wobei d i der Anzahl der Ereignisse (z.b. Todesfälle) zum i-ten Zeitpunkt entspricht und Y i der Anzahl der Personen, die um i-ten Zeitpunkt dem Risiko ausgesetzt waren, das Ereignis zu erfahren. 1 Es sei darauf hingewiesen, dass Klein and Moeschberger (2003) nicht x sondern t verwenden. c Roland Rau Survival Analysis 9 / 24
Beispiel 1: komplett beobachtete Überlebenszeiten 7 3 24 19 8 7 c Roland Rau Survival Analysis 10 / 24
Beispiel 1: komplett beobachtete Überlebenszeiten 7 3 24 19 8 7 x i d i Y i S(x) 3 1 6 0.83333 7 2 5 0.50000 8 1 3 0.33333 19 1 2 0.16667 24 1 1 0.00000 S^(x) 0.0 0.2 0.4 0.6 0.8 1.0 0 5 10 15 20 x c Roland Rau Survival Analysis 11 / 24
Beispiel 2: komplett beobachtete und rechts-zensierte ( + ) Überlebenszeiten 7 3 24 19 8 7 11+ 19+ c Roland Rau Survival Analysis 12 / 24
Beispiel 2: komplett beobachtete und rechts-zensierte ( + ) Überlebenszeiten 7 3 24 19 8 7 11+ 19+ x i d i Y i S(x) 3 1 8 0.87500 7 2 7 0.62500 8 1 5 0.50000 19 1 3 0.33333 24 1 1 0.00000 S^(x) 0.0 0.2 0.4 0.6 0.8 1.0 0 5 10 15 20 x c Roland Rau Survival Analysis 13 / 24
Zur Berechnung von Konfidenz-Intervallen wird typischerweise die Greenwood-Formel für die geschätzte Varianz herangezogen: ) ˆV (Ŝ (x) = Ŝ (x) 2 d i Y i (Y i d i ) x i x c Roland Rau Survival Analysis 14 / 24
Zur Berechnung von Konfidenz-Intervallen wird typischerweise die Greenwood-Formel für die geschätzte Varianz herangezogen: ) ˆV (Ŝ (x) = Ŝ (x) 2 d i Y i (Y i d i ) x i x... aber das lassen wir den R machen (allerdings nimmt R eine andere Formel, da es eine Vielzahl an Schätzern für Konfidenzintervalle für den Kaplan-Meier-Schätzer gibt). c Roland Rau Survival Analysis 15 / 24
R ist unser Freund und ist schon hervorragend für die Survival-Analyse aufgestellt. Hierzu benötigen wir das Paket survival, das zu den Standardpaketen von R gehört. library(survival) zeiten <- c(7,3,24,19,8,7, 11, 19) delta <- c( 1,1, 1, 1,1,1, 0, 0) Zuerst muss man bei der Survival-Analyse R erst einmal mitteilen, was die Prozesszeit ist und welche Variable anzeigt, ob es sich um einen rechtszensierten (δ = 0) oder komplett beobachteten (δ = 1) Fall handelt. survivalobjekt <- Surv(zeiten, delta) ## Surv, nicht surv (!) c Roland Rau Survival Analysis 16 / 24
Den Kaplan-Meier-Schätzer berechnet man folgendermaßen: km1 <- survfit(survivalobjekt ~ 1) Die 1 rechts der Tilde bedeutet, dass es keinerlei Kovariaten gibt... dazu kommen wir gleich. Die wichtigsten Information erhalten wir ganz einfach mittels: km1 Call: survfit(formula = survivalobjekt ~ 1) records n.max n.start events median 0.95LCL 0.95UCL 8.0 8.0 8.0 6.0 13.5 7.0 NA > Etwas ausführlicher gibt es das mittels: summary(km1) Call: survfit(formula = survivalobjekt ~ 1) time n.risk n.event survival std.err lower 95% CI upper 95% CI 3 8 1 0.875 0.117 0.673 1.000 7 7 2 0.625 0.171 0.365 1.000 8 5 1 0.500 0.177 0.250 1.000 19 3 1 0.333 0.180 0.116 0.961 24 1 1 0.000 NaN NA NA > c Roland Rau Survival Analysis 17 / 24
Einer der vielen Vorteile von R liegt auch in den grafischen Fähigkeiten: plot(x=km1, col=c("black", "red", "red"), xlab="x", ylab="s(x)", lty=1) S(x) 0.0 0.2 0.4 0.6 0.8 1.0 0 5 10 15 20 x c Roland Rau Survival Analysis 18 / 24
Wir wollen nun aber nicht nur die allgemeine Survival-Zeit schätzen sondern auch überprüfen, ob eventuell festgestellte Unterschiede auch statistisch signifikant sind. Wir verwenden hierfür den Datensatz leukemia, der im Paket survival zur Verfügung gestellt wird. data(leukemia) Mittels?leukemia können Sie mir über Inhalt und Quelle der Daten erfahren. c Roland Rau Survival Analysis 19 / 24
Der erste Schritt der Survival Analyse in R besteht immer darin, ein Survivalobjekt zu definieren: survleuk <- Surv(leukemia$time, leukemia$status) survleuk Der Kaplan-Meier-Schätzer wird nun wiederum durch survfit berechnet. Allerdings steht nun rechts der Tilde die Variable, nach der wie eine Unterscheidung treffen wollen; in diesem Falle nennt sich die Variable x, welche anzeigt, ob Chemotherapie durchgeführt wurde oder nicht. km.leukemia <- survfit(survleuk ~ leukemia$x) km.leukemia summary(km.leukemia) Die beiden Überlebenskurven können wir natürlich plotten: plot(km.leukemia, col=c("red", "blue")) legend("topright", col=c("red", "blue"), lty=1, legend=c("maintained", "Nonmaintained")) c Roland Rau Survival Analysis 20 / 24
0.0 0.2 0.4 0.6 0.8 1.0 Maintained Nonmaintained 0 50 100 150 Aber sind diese Unterschiede statistisch signifikant? Veranstaltung nächste Woche! c Roland Rau Survival Analysis 21 / 24
Klein, J. P. and M. L. Moeschberger (2003). Survival Analysis : Techniques for Censored and Truncated Data. Statistics for Biology and Health. New York, NY: Springer. c Roland Rau Survival Analysis 22 / 24
Lizenz This open-access work is published under the terms of the Creative Commons Attribution NonCommercial License 2.0 Germany, which permits use, reproduction & distribution in any medium for non-commercial purposes, provided the original author(s) and source are given credit. Für ausführlichere Informationen: http://creativecommons.org/licenses/by-nc/2.0/de/ (Deutsch) http://creativecommons.org/licenses/by-nc/2.0/de/deed.en (English) c Roland Rau Survival Analysis 23 / 24
Kontakt Universität Rostock Institut für Soziologie und Demographie Lehrstuhl für Demographie Ulmenstr. 69 18057 Rostock Germany Tel.: +49-381-498 4044 Fax.: +49-381-498 4395 Email: roland.rau@uni-rostock.de Sprechstunde im Sommersemester 2015: Mittwochs, 09:00 10:00 (und nach Vereinbarung) c Roland Rau Survival Analysis 24 / 24