W jaki sposób można wykorzystać modele uczenia maszynowego (GBM, NN itp.) Do analizy przeżycia?


13

Wiem, że tradycyjne modele statystyczne, takie jak regresja Cox Proportional Hazards i niektóre modele Kaplana-Meiera, można wykorzystać do przewidywania dni do następnego wystąpienia zdarzenia, np. Niepowodzenia itp., Czyli analizy przeżycia

pytania

  1. W jaki sposób można zastosować wersję regresji modeli uczenia maszynowego, takich jak GBM, sieci neuronowe itp., Aby przewidzieć dni do wystąpienia zdarzenia?
  2. Uważam, że używanie dni do wystąpienia jako zmiennej docelowej i po prostu uruchomienie modelu regresji nie zadziała? Dlaczego to nie działa i jak to naprawić?
  3. Czy możemy przekonwertować problem analizy przeżycia na klasyfikację, a następnie uzyskać prawdopodobieństwo przeżycia? Jeśli tak, jak utworzyć binarną zmienną docelową?
  4. Jakie są zalety i wady podejścia do uczenia maszynowego w porównaniu z regresją proporcjonalną hazardu Coxa i modelami Kaplana-Meiera itp.?

Wyobraź sobie, że przykładowe dane wejściowe mają poniższy format

wprowadź opis zdjęcia tutaj

Uwaga:

  • Czujnik wysyła sygnały ping w odstępach co 10 minut, ale czasami dane mogą być niedostępne z powodu problemów z siecią itp., Co reprezentuje wiersz z NA.
  • var1, var2, var3 są predyktorami, zmiennymi objaśniającymi.
  • flaga_ awarii informuje, czy maszyna uległa awarii, czy nie.
  • Mamy dane z ostatnich 6 miesięcy co 10 minut dla każdego identyfikatora maszyny

EDYTOWAĆ:

Oczekiwana prognoza wyników powinna mieć format poniżej wprowadź opis zdjęcia tutaj

Uwaga: Chcę przewidzieć prawdopodobieństwo awarii dla każdej maszyny na kolejne 30 dni na poziomie dziennym.


1
Myślę, że pomogłoby to, gdybyś mógł wyjaśnić, dlaczego są to dane dotyczące czasu na zdarzenie; jaką dokładnie reakcję chcesz wymodelować?
Cliff AB

Zredagowałem i dodałem tabelę przewidywanych wyników, aby było to jasne. Daj mi znać, jeśli masz dodatkowe pytania.
GeorgeOfTheRF

1
Istnieją sposoby konwersji danych dotyczących przeżycia na wyniki binarne w niektórych przypadkach, np. Modele dyskretnych zagrożeń czasowych: statisticshorizons.com/wp-content/uploads/Allison.SM82.pdf . Niektóre metody uczenia maszynowego, takie jak losowe lasy, mogą modelować czas do wystąpienia zdarzenia, na przykład wykorzystując statystykę rang logu jako kryterium podziału.
dsaxton

@dsaxton Thanks. Czy potrafisz wyjaśnić, jak przekonwertować powyższe dane dotyczące przeżycia na wyniki binarne?
GeorgeOfTheRF

Po bliższym przyjrzeniu się wydaje się, że masz już wyniki binarne z failure_flag.
dsaxton

Odpowiedzi:



2

Spójrz na te referencje:

https://www.stats.ox.ac.uk/pub/bdr/NNSM.pdf

http://pcwww.liv.ac.uk/~afgt/eleuteri_lyon07.pdf

Należy również zauważyć, że tradycyjne modele oparte na zagrożeniach, takie jak Cox Proportional Hazards (CPH), nie są zaprojektowane do przewidywania czasu do zdarzenia, ale raczej do wnioskowania o wpływie zmiennych (korelacji) na i) obserwacje zdarzeń, a zatem ii) krzywą przeżycia . Dlaczego? Spójrz na MLE CPH.

Dlatego jeśli chcesz bardziej bezpośrednio przewidzieć coś w rodzaju „dni do wystąpienia”, CPH może nie być wskazane; inne modele mogą lepiej służyć twojemu zadaniu, jak wspomniano w dwóch powyższych odnośnikach.


1

Jak powiedział @dsaxton, możesz zbudować dyskretny model czasu. Skonfigurowałeś go, aby przewidzieć p (niepowodzenie w tym dniu, pod warunkiem, że przetrwało do poprzedniego dnia). Twoje dane wejściowe dotyczą bieżącego dnia (w dowolnej reprezentacji), np. Jedno kodowanie na gorąco, liczba całkowita, ... Splajn ... Jak również inne zmienne niezależne, które możesz chcieć

Więc tworzysz rzędy danych, dla każdej próbki, która przetrwała do czasu t-1, czy to umarło w czasie t (0/1).

Więc teraz prawdopodobieństwo przeżycia do czasu T jest iloczynem p (nie umieraj w czasie t podanym nie umarło przy t-1) dla t = 1 do T. To znaczy, że przewidujesz T ze swojego modelu, a następnie pomnożyć razem.

Powiedziałbym, że powodem, dla którego nie jest takim pomysłem bezpośrednie przewidywanie czasu do awarii, jest ukryta struktura problemu. Np. Co wpisujesz dla maszyn, które nie zawiodły. Podstawową strukturą są w rzeczywistości niezależne zdarzenia: niepowodzenie w czasie t podane nie zawiodło do t-1. Na przykład jeśli założymy, że jest stała, krzywa przeżycia staje się wykładnicza (patrz modele zagrożeń)

Zwróć uwagę, że możesz modelować w 10-minutowych odstępach lub agregować problem klasyfikacji do poziomu dziennego.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.