Jak przeprowadzić walidację krzyżową za pomocą proporcjonalnego modelu zagrożeń Coxa?

15

Załóżmy, że zbudowałem model predykcyjny dla wystąpienia określonej choroby w jednym zestawie danych (zestaw danych budowania modelu) i teraz chcę sprawdzić, jak dobrze model działa w nowym zestawie danych (zestaw danych sprawdzania poprawności). Dla modelu zbudowanego z regresją logistyczną obliczałbym przewidywane prawdopodobieństwo dla każdej osoby w zbiorze danych sprawdzania poprawności na podstawie współczynników modelu uzyskanych z zestawu danych budowania modelu, a następnie, po podzieleniu tych prawdopodobieństw na pewną wartość odcięcia, mogę zbudować tabelę 2x2 co pozwala mi obliczyć prawdziwą stopę dodatnią (czułość) i prawdziwą stopę ujemną (specyficzność). Co więcej, mogę skonstruować całą krzywą ROC, zmieniając wartość odcięcia, a następnie uzyskać AUC dla wykresu ROC.

Załóżmy teraz, że mam dane o przetrwaniu. Użyłem więc proporcjonalnego modelu zagrożeń Coxa w zestawie danych budynku modelu i teraz chcę sprawdzić, jak dobrze model działa w zestawie danych sprawdzania poprawności. Ponieważ ryzyko podstawowe nie jest funkcją parametryczną w modelach Coxa, nie widzę, w jaki sposób mogę uzyskać przewidywane prawdopodobieństwo przeżycia dla każdej osoby w zbiorze danych sprawdzania poprawności na podstawie współczynników modelu uzyskanych w zbiorze danych modelu. Więc jak mogę przejść do sprawdzenia, jak dobrze model działa w zestawie danych sprawdzania poprawności? Czy istnieją ustalone metody, aby to zrobić? A jeśli tak, czy są one zaimplementowane w jakimkolwiek oprogramowaniu? Z góry dziękuję za wszelkie sugestie!

Wolfgang
źródło

Odpowiedzi:

9

Krzywa ROC nie jest przydatna w tym ustawieniu, chociaż uogólniony obszar ROC (indeks c, który nie wymaga żadnej dychotomizacji), jest. rmsPakiet R obliczy indeks c i wersje sprawdzone pod kątem poprawności lub bootstrap z poprawionymi wersjami. Możesz to zrobić bez zatrzymywania jakichkolwiek danych, jeśli w pełni wstępnie określisz model lub powtórzysz algorytm stopniowania wstecznego przy każdym ponownym próbkowaniu. Jeśli naprawdę chcesz przeprowadzić zewnętrzną weryfikację, tj. Jeśli próbka weryfikacji jest ogromna, możesz użyć następujących rmsfunkcji: rcorr.cens, val.surv.

Frank Harrell
źródło
Dziękuję za Twoją odpowiedź. Czy możesz wyjaśnić, dlaczego krzywa ROC nie jest przydatna w tym ustawieniu? Widziałem kilka znaczących zastosowań, w których zastosowano takie podejście (np. Hippisley-Cox i wsp. (2007). Pochodzenie i walidacja QRISK, nowej oceny ryzyka chorób sercowo-naczyniowych dla Wielkiej Brytanii: prospektywne otwarte badanie kohortowe. British Medical Journal , 335 (7611): 136), więc teraz zastanawiam się nad ich metodami.
Wolfgang
1
Oto analogia. Załóżmy, że ktoś jest zainteresowany oceną, w jaki sposób starzenie się odnosi się do zdolności biegania. Podejście ROC postawiłoby pytanie, biorąc pod uwagę czyjąś zdolność biegania, jakie jest prawdopodobieństwo, że są powyżej pewnego (arbitralnego) wieku? W badaniu kohortowym wprowadza jedynie zamieszanie w celu odwrócenia ról zmiennych niezależnych i zależnych, a krzywe ROC również kuszą do odcięcia predyktora, o którym wiadomo, że jest złą praktyką statystyczną - patrz biostat.mc. vanderbilt.edu/ CatContinuous . Oprócz tworzenia spustoszenia, punkty odcięcia muszą faktycznie być funkcjami wszystkich innych predyktorów.
Frank Harrell,
Jeszcze raz dziękuję za odpowiedź. Nie jestem jednak do końca przekonany. Całkowicie się zgadzam, że arbitralna kategoryzacja zmiennej ciągłej jest złą praktyką, ale podejście ROC kategoryzuje wszystkie możliwe wartości graniczne i podsumowuje te informacje za pomocą AUC. Więc nie ma w tym arbitralności. Wydaje się to również standardową i akceptowaną praktyką dla modeli regresji logistycznej. Czy jesteś zatem przeciwny stosowaniu krzywych ROC w ogóle, czy tylko w kontekście modeli przetrwania?
Wolfgang,
2
Krzywe ROC ogólnie, chyba że użyjesz ich do tego, do czego są naprawdę przeznaczone: masowe jednorazowe podejmowanie decyzji w grupie. Nie pomagają w podejmowaniu indywidualnych decyzji dotyczących tego, dla którego przedmiotu jesteś uzależnionyX=x zamiast X>do(znamy dokładne wartości predykcyjne dla każdego obiektu, nie tylko, że przekraczają one granicę). Krzywe ROC również kuszą nawet dobrych analityków do wyboru punktu odcięcia. Co krzywa ROC mówi ci, że nie możesz uzyskać ze standardowych statystyk regresji?
Frank Harrell,
Moje doświadczenie mówi mi, że wielu badaczy / praktyków faktycznie chce dychotomicznych zasad decyzyjnych (pomijając to, czy jest to przydatne, czy nie). W każdym razie będę śledził niektóre z tych funkcji R i sprawdzę, dokąd mnie to zaprowadzi. Dziękuję za dyskusję.
Wolfgang,
0

Wiem, że to pytanie jest dość stare, ale to, co zrobiłem, gdy napotkałem ten sam problem, polegało na użyciu funkcji przewidywania, aby uzyskać „wynik” dla każdego przedmiotu w zestawie sprawdzania poprawności. Następnie podzielono uczestników według tego, czy wynik był wyższy czy niższy niż mediana i wykreślono krzywą Kaplana-Meiera. To powinno pokazywać rozdzielenie podmiotów, jeśli Twój model jest predykcyjny. Testowałem również korelację wyniku (w rzeczywistości jego ln [dla rozkładu normalnego]) z przeżywalnością przy użyciu funkcji Coxpha z pakietu przeżycia w R.

PMA
źródło