- analiza przeżyć Statystyka Medyczna
Plan wykładu 1 2 3 4 5 6
Główne cechy modelu przeżycia: co najwyżej jedno zdarzenie na przedmiot badania (można umrzeć tylko raz) rozkład ma dużą skośność, zazwyczaj dodatnią cenzorowanie może mieć miejsce (nie wszyscy są obserwowani cały czas)
Czemu standardowe techniki mogą nie zadziałać? zazwyczaj zakłada się rozkład normalny (brak normalności psuje wszystko) standardowo dane nie są cenzorowane (cenzorowanie spowoduje brak zgodności estymatora)
Podstawowe pojęcia survival time - czas do momentu wydarzenia się jakiegoś zdarzenia failure - zdarzenie na które czekamy
Przykłady przeżywalność pacjentów po operacji (śmiertelność) długość trwania małżeństwa od ślubu czas pozostawania/mieszkania w jednym mieście (migracje) długość życia
Powiazanie czasu i wydarzeń Niech T będzie (nieujemną) zmienną losową oznaczającą czas do interesującego nas zdarzenia (survival time). Wtedy dystrybuanta F (t) = P(T t), t 0 oznacza prawdopodobieństwo, że nasze zdarzenie wydarzy się przed czasem t. W biomedycynie używa się funkcji przeżycia (survival function) S(t) P(T t) = 1 F (t ) wtedy S(t) oznacza prawdopodobieństwo, że obiekt przeżyje do czasu t.
Intuicja dla S(t) S(t) = P(T t) = 1 F (t ) Własności S(t): w t = 0 mamy S(t) = 1, czyli nikt jeszcze nie umarł w t = mamy S(t) = 0, czyli w końcu każdy kiedyś umrze
Podstawowe pojęcia mortality rate - procent populacji, dla której będzie miało miejsce oczekiwane zdarzenie (np. śmierć) w okresie między t oraz t + 1, dla których nie miało miejsce oczekiwane zdarzenie (osobnik żył w czasie t) hazard rate jeśli t jest małe m(t) = P(t T < t + 1 T t) P(t T <t+ t T t) λ(t) = lim t 0 t P(t T < t + t T t) λ(t) t
Inny wzór Wzór P(t T <t+ t T t) λ(t) = lim t 0 t można zapisać jako λ(t) = P(t T <t+ t) lim t t 0 P(T t) całkując obie strony otrzymujemy Λ(t) = t 0 = f (t) S(t) = S (t) S(t) = d log[s(t)] dt λ(u) du = log[s(0)] log[s(t)] = log[s(t)] Λ(t) oznacza akumulację hazardu w czasie i jest zwana cumulative hazard function - analog dystrybuanty dla gęstości rozkładu
Inny wzór c.d. Ze wzoru Λ(t) = log[s(t)] można wyliczyć S(t) Uwaga: t S(t) = exp( Λ(t)) = exp( λ(u)du) 0 hazard rate nie jest prawdopodobieństwem, może więc być większe od 1.
Stopa hazardu 0.0 0.2 0.4 0.6 0.8 1.0 6 8 10 12 14 16 18 Czas obserwacji
Kogo cenzurujemy? Cenzorowane są te obserwacje, dla których oczekiwane zdarzenie nie miało miejsca do końca rozpatrywanego czasu prawostronne cenzorowanie: jeśli zdarzenie miało miejsce po czasie obserwacji lewostronne cenzorowanie: jeśli zdarzenie miało miejsce przed rozpoczęciem obserwacji cenzorowanie przedziałowe: jeśli wiadomo, że zdarzenie miało miejsce w jakimś przedziale czasowym, ale dokładny czas nie jest znany
inaczej Cenzorowania używa się też w inny sposób. Na przykład rozpatrując dochody. W celu ochrony osób o wysokich dochodach ocenzurujemy te, które wynoszą ponad 10 000 pln tj. x jeżeli x < 10 000 f (x) = 10 000 jeżeli x 10 000
Wykluczanie (truncation) Wykluczenie (truncation) w odróżnieniu od cenzorowania nie polega na ograniczeniu wartości zmiennej lecz na całkowitym jej wykluczeniu z próbki. Oczywiście takie wykluczenie nie powinno być losowe. wykluczenie (truncation) cenzorowanie
Przepis na model parametryczny Mając jedną z funkcji F (t), S(t), f (t), λ(t) można stworzyć model parametryczny do analizy przeżycia. Dobrym wyborem dla f (t) bywają gęstości rozkładów: Wykładniczego Weibulla Log-normalnego
Zalety i wady poszczególnych rozkładów Wykładniczy - funkcja hazardu (λ(t)) jest stała Weibull - może być dodatnio albo ujemnie zależna od czasu Log-normalny - może być dodatnio lub ujemnie zależna od czasu
Jak modelować? Przykład (MLE): można z dekomponować l(t, θ) = n log f (t i X i, θ) i=1 l(t, θ) = n log λ(t i X i, θ) + n log S(t i X i, θ) i=1 korzysta się tu z faktu, że λ(t) = f (t) S(t). i=1
Najważniejsze metody nieparametryczne Tablice trwania życia Metoda Kaplana Meiera Metoda Flemingtona Harringtona
Tablice trwania życia 1/2 Inaczej: metoda aktuarialna, metoda Cutlera Edelera. Założenia: dane rejestrowane w stałych przedziałach czasu; obiekty ulegające cenzurowaniu w ciągu danego przedziału czasu opuszczają zbiór danych w losowym momencie tego przedziału czyli przeciętnie w połowie przedziału; prawdopodobieństwo wystąpienia badanego zdarzenia w danym okresie jest jednakowe dla wszystkich obiektów w zbiorze i niezależne od prawdopodobieństwa przeżycia w pozostałych okresach.
Tablice trwania życia 2/2 Okres Start L.zdarzeń Obiekty ucięte i n i d i w i 1 31 3 4 2 24 2 4 itd. Okres Prawdop.zdarzenia Prawdop.przeżycia Funkcja przeżycia i q i = d i /[n i (w i /2)] p i = 1 q i S i = p i S i 1 1 3/[31 (4/2)] = 0.10 1 0.10 = 0.90 0.90 1 = 0.90 2 2/[24 (4/2)] = 0.09 1 0.09 = 0.91 0.90 0.91 = 0.82 itd.
Tablice trwania życia 2/2 - problem Problem: długi przedział czasu = złe oszacowanie prawdopodobieństwo zdarzenia = obciążony estymator funkcji przeżycia
Metoda Kaplana Meiera 1/2 Założenie: czas przeżycia niezależny od czynnika powodującego cenzurowanie danych. Estymator Kaplana Meiera funkcji przeżycia: Ŝ(t) = j:t j t r j d j r j, dla 0 t t + gdzie: {t j : j = 1, 2,..., n} zbiór wszystkich momentów wystąpienia zdarzenia (np. śmierci obiektu); d j liczba wystąpień zdarzenia w chwili t j ; r j = n j w j liczba obserwowanych obiektów zagrożonych w chwili t j ; n j liczba obserwowanych obiektów w okresie (t j 1, t j ); w j liczba obiektów uciętych w okresie (t j 1, t j ); t + moment zakończenia badania.
Metoda Kaplana Meiera 2/2 Przykład obliczania Ŝ: Czas Start Zdarzenia Ucięte Zagrożone Prawdop.przeżycia Funkcja przeżycia j n j d j w j r j P j = (r j d j )/r j S j = P j S j 1 0 31 2 3 31 3 = 28 (28 2)/28 = 0.93 0.93 1.00 = 0.93 1 26 1 2 26 2 = 24 (24 1)/24 = 0.96 0.96 0.93 = 0.89 2 23 1 2 23 2 = 21 (21 1)/21 = 0.95 0.95 0.89 = 0.85 3 20 1 2 20 2 = 18 (18 1)/18 = 0.94 0.94 0.85 = 0.80 itd Źródło: Mark Stevenson, An Introduction to, s. 7. Metoda Kaplana Meiera i tablice trwania życia są identyczne, jeśli w każdym przedziale czasu badane zdarzenie ma miejsce tylko raz.
Metoda Flemingtona Harringtona Przypomnijmy zależność między funkcją przeżycia a skumulowanym hazardem: S(t) = exp( Λ(t)) Estymator Nelsona Aalena skumulowanego hazardu: ˆΛ(t) = j: t j t d j r j, dla 0 t t + gdzie t j, r j, d j jak w przypadku estymatora Kaplana Meiera. Estymator Flemingtona Harringtona funkcji przeżycia otrzymamy podstawiając estymator Nelsona Aalena do funkcji skumulowanego hazardu Š(t) = exp( ˆΛ(t))
Metoda KM i metoda FM porównanie estymatorów Dla dowolnego t mamy oszacowanie: ( Š(t) = exp( ˆΛ(t)) = exp = j:t j t ( exp d ) j r j j:t j t j:t j t d ) j r j ( 1 d j r j ) = Ŝ(t) Estymatory są sobie bardzo bliskie, gdy liczba zdarzeń jest mała w stosunku do liczby zagrożonych obiektów.
Miary położenia i odchylenia dla estymatorów funkcji przeżycia 1/2 Wariancja hazardu skumulowanego postać Greenwooda: j d j r j (r j d j ) postać Aalena: j d j r 2 j d j (r j d j ) r 3 j postać Kleina: j Zależność wariancji funkcji przeżycia od wariancji hazardu skumulowanego var(ŝ(t)) = Ŝ2 (t)var(ˆλ(t)) Do obliczania wariancji ˆΛ preferowana postać Aalena; Do obliczania wariancji Ŝ postać Greenwooda podstawiona do wzoru powyżej.
Miary położenia i odchylenia dla estymatorów funkcji przeżycia 2/2 Średni czas przetrwania ˆµ = t + 0 Ŝ(t)dt = m (t j t j 1 )Ŝ(t j), (1) gdzie t 0 = 0 początek badania, t m = t + moment zakończenia badania. Zakładamy, że Ŝ(t) = 0 dla t t+ = estymator ˆµ może być obciążony. Mediana czasu przetrwania zdefiniowana jako moment, w którym po raz pierwszy Ŝ(t) 0, 5. Na wykresie krzywej przeżycia punkt przecięcia krzywej z poziomą prostą Ŝ(t) = 0, 5. j=1
Pakiet survival Użyteczne funkcje z pakietu survival: Surv tworzy obiekt typu Surv; survfit oblicza m.in. wartości funkcji przeżycia, które następnie można przedstawić w formie krzywej przeżycia.
Funkcja Surv Składnia: >Surv (time, event) gdzie time zmienna reprezentująca długość czasu obserwacji obiektów; event zmienna zero-jedynkowa określająca, czy dla danego obiektu ze zbioru danych wystąpiło w okresie obserwacji badane zdarzenie;
Funkcja survfit Składnia (podstawowe argumenty): >survfit(formula, data, type, conf.int, conf.type, error) gdzie formula formuła postaci ob.surv var1+var2+...+vark, gdzie ob.surv obiekt typu Surv; lewa strona formuły może być pusta; data zbiór danych; type metoda estymowania funkcji przeżycia; do wyboru: kaplan-meier, fleming-harrington, fh2 ; domyślnie kaplan-meier ; conf.int poziom ufności dla przedziałów ufności; domyślnie 0.95; conf.type typ przedziałów ufności; do wyboru: none, plain, log, log-log ; error metoda obliczania odchylenia standardowego; do wyboru: greenwood, tsiatis ; domyślnie greenwood.
Przykład zastosowania 1/5 Wstępne obejrzenie i przeróbka danych: >dane$status=is.na(dane$rok.utraty.przeszczepu) >dane$status=!dane$status Utworzenie obiektu typu surv (wykorzystujemy zmienne czas.obserwacji i status): >dane.surv=with(dane, Surv(dane$czas.obserwacji, dane$status)) Najprostsze zastosowanie funkcji survfit (metoda Kaplana Meiera): >dane.fit=survfit(dane.surv 1, data=dane)
Przykład zastosowania 2/5 >summary(dane.fit) Call: survfit(formula = dane.surv 1, data = dane) time n.risk n.event survival std.err lower 95% CI upper 95% CI 5.0 136 1 0.993 0.00733 0.978 1.000 5.5 128 1 0.985 0.01061 0.964 1.000 5.8 113 1 0.976 0.01363 0.950 1.000... Zmienne w tabeli oznaczają: time moment zdarzenia; n.risk liczba zagrożonych obiektów badania w momencie t; n.event liczba zdarzeń w momencie t; survival funkcja przeżycia; std.err odchylenie standardowe funkcji przeżycia; lower 95% CI, upper 95% CI przedziały ufności;
Przykład zastosowania 3/5 Wykres krzywej przeżycia z zaznaczoną medianą czasu przeżycia: >plot(dane.fit, xlab= Czas obserwacji, ylab= S(t), col= red, lwd=2) >abline(h=0.5, lty=2) >title( Krzywa przeżycia dla przeszczepu nerki )
Przykład zastosowania 3/5 - rysunek Krzywa przeż ycia dla przeszczepu nerki S(t) 0.0 0.2 0.4 0.6 0.8 1.0 0 5 10 15 Czas obserwacji
Przykład zastosowania 4/5 Tak można uniknąć rysowania przedziałów ufności: >dane.fit.noconf=survfit(dane.surv 1, data=dane, conf.type= none ) A tak obliczyć funkcje przeżycia z podziałem ze względu na płeć biorcy: >dane.fit.noconf.gender=survfit(dane.surv plec.biorcy, data=dane, conf.type= none )
Przykład zastosowania 4/5 - rysunek Krzywe przeż ycia z podziałem ze wzglę du na płeć biorcy S(t) 0.0 0.2 0.4 0.6 0.8 1.0 kobiety biorcy mę ż czyź ni biorcy 0 5 10 15 Czas obserwacji
Przykład zastosowania 5/5 Krzywa przeżycia przy zastosowaniu metody Flemingtona Harringtona: >dane.fit.fh=survfit(dane.surv 1, data=dane, type= fleming-harrington )
Przykład zastosowania 5/5 - rysunek Metoda Kaplana Meiera Metoda Flemingtona Harringtona S(t) 0.0 0.2 0.4 0.6 0.8 1.0 S(t) 0.0 0.2 0.4 0.6 0.8 1.0 0 5 10 15 Czas obserwacji 0 5 10 15 Czas obserwacji