Model przeżycia dla prognozowania rezygnacji - predyktory zmieniające się w czasie?

17

Chcę zbudować model predykcyjny do przewidywania odejścia i chcę zastosować dyskretny model przetrwania dopasowany do zestawu danych szkoleniowych na okres personalny (jeden wiersz dla każdego klienta i dyskretny okres, w którym byli narażeni, ze wskaźnikiem zdarzenia - równym 1 jeśli rezygnacja nastąpiła w tym okresie, w przeciwnym razie 0).

  • Dopasowuję model za pomocą zwykłej regresji logistycznej, stosując technikę Singera i Willeta.
  • Odejście klienta może nastąpić w dowolnym miejscu w ciągu miesiąca, ale wiemy o tym dopiero pod koniec miesiąca (tj. W tym samym miesiącu, w którym odeszli). Na szkolenie wykorzystywane są 24 miesiące.
  • Wykorzystywana zmienna czasowa to czas początkowy próbki - wszyscy klienci aktywni od 31.12.2008 - wszyscy otrzymują t = 0 od stycznia 2009 (nie jest to klasyczny sposób, ale uważam, że tak jest podczas budowania model predykcyjny a tradycyjny model statystyczny). Stosowaną współzmienną jest kadencja klienta w tym momencie.
  • Skonstruowano szereg zmiennych towarzyszących - niektóre, które nie zmieniają się w wierszach zestawu danych (dla danego klienta), a niektóre, które to zmieniają.

  • Te zmienne czasowe są zmiennymi i to, co powoduje, że kwestionuję model przeżycia dla przewidywania odejść (w porównaniu do zwykłego klasyfikatora, który przewiduje odejście w następnych x miesiącach na podstawie bieżących danych migawkowych). Te niezmienne w czasie opisują aktywność miesiąc wcześniej i oczekuje się, że będą istotnymi wyzwalaczami.

Wdrożenie tego modelu predykcyjnego, przynajmniej w oparciu o moje obecne myślenie, ma na celu ocenę bazy klientów na koniec każdego miesiąca, obliczając prawdopodobieństwo / ryzyko odejścia w pewnym momencie w następnym miesiącu. Potem znowu przez następne 1,2 lub 3 miesiące. Następnie przez następne 1,2,3,4,5,6 miesiąca. Dla prawdopodobieństwa odejścia 3 i 6 miesięcy użyłbym szacowanej krzywej przeżycia.

Problem:

Jeśli chodzi o myślenie o punktacji, jak mogę włączyć predyktory zmieniające się w czasie? Wydaje się, że mogę oceniać tylko za pomocą predyktorów niezmiennych w czasie lub uwzględnić te, które są niezmienne w czasie, musisz ustawić je jako niezmienne w czasie - należy ustawić wartość „teraz”.

Czy ktoś ma doświadczenie lub przemyślenia na temat wykorzystania modelu przetrwania?

Aktualizacja oparta na komentarzu @JVM:

Problem nie dotyczy oszacowania modelu, interpretacji współczynników, wykreślenia wykresów hazardu / przeżycia interesujących zmiennych towarzyszących przy użyciu danych szkoleniowych itp. Problem polega na użyciu modelu do prognozowania ryzyka dla danego klienta. Powiedzmy, że pod koniec tego miesiąca chcę ocenić każdego, kto nadal jest aktywnym klientem dzięki temu modelowi. Chcę prognozować to oszacowanie ryzyka na x okresów (ryzyko zamknięcia konta na koniec następnego miesiąca. Ryzyko zamknięcia konta na koniec dwóch miesięcy od teraz itp.). Jeśli istnieją zmienne towarzyszące czasowi, ich wartości nie są znane w przyszłych okresach, więc jak korzystać z modelu?

Ostatnia aktualizacja:

zestaw danych okresu osobowego będzie zawierał wpis dla każdej osoby i każdego okresu, w którym są zagrożeni. Powiedzmy, że istnieją J przedziały czasowe (może J = 1 ... 24 przez 24 miesiące) Załóżmy, że konstruuję dyskretny model przeżycia czasowego, w którym dla uproszczenia traktujemy czas T jako liniowy i mamy dwie zmienne X i Z, gdzie X jest czasem - niezmienna, co oznacza, że ​​jest stała w każdym okresie dla i-tej osoby, a Z zmienia się w czasie, co oznacza, że ​​każdy rekord dla i-tej osoby może przyjąć inną wartość. Na przykład X może oznaczać płeć klienta, a Z może być wartością firmy dla poprzedniego miesiąca. Modelem logitu zagrożenia dla i-tej osoby w j-tym okresie jest:

logit(h(tij))=α0+α1Tj+β1Xi+β2Zij

Problem polega na tym, że przy użyciu zmiennych towarzyszących w czasie i prognozowania (w niewidzialnej przyszłości) z nowymi danymi, są nieznane.Zj

Jedyne rozwiązania, które mogę wymyślić, to:

  • Nie używaj zmiennych towarzyszących różnym czasom, takich jak Z. Znacznie osłabiłoby to model przewidywania zdarzenia odejścia, ponieważ na przykład spadek Z oznaczałby, że klient się rozłącza i być może przygotowuje się do odejścia.
  • Użyj zmiennych towarzyszących różnym czasom, ale opóźnij je (podobnie jak Z było powyżej), co pozwala nam przewidzieć, jak wiele okresów opóźniliśmy zmienną (ponownie, myśląc o modelu oceniającym nowe bieżące dane).
  • Użyj zmiennych towarzyszących różnym czasom, ale zachowaj je jako stałe w prognozie (więc model został dopasowany do różnych danych, ale do prognozowania pozostawiamy je na stałym poziomie i symulujemy, w jaki sposób zmiany tych wartości, jeśli zostaną później rzeczywiście zaobserwowane, wpłyną na ryzyko odejścia.
  • Używaj zmiennych towarzyszących różnym czasom, ale przypisuj ich przyszłe wartości na podstawie prognozy na podstawie znanych danych. Np. dla każdego klienta.Zj
B_Miner
źródło
Kilka pytań: po pierwsze, czy lubisz stosować dyskretny model czasu? To, co chcesz zrobić, może być prostsze w parametrycznym modelu przetrwania. Po drugie, czy byłbyś w stanie podać przykład tego, co rozumiesz przez rezygnację; może może to tylko przykład tego, jak wyglądają twoje dane?
Jason Morgan
@JWM. Odejście oznacza, że ​​klient anulował swoje konto. Ponieważ znam tylko miesiąc, w którym klient anulował, myślę, że dyskretny czas jest odpowiedni. Uważam, że ten sam problem z predyktorami zmieniającymi się w czasie istnieje, jeśli model jest czasem dyskretnym lub ciągłym (Cox lub AFT) Nie?
B_Miner
Przepraszam, że wciąż nie rozumiesz twojej troski. Powinieneś być w stanie wystarczająco dobrze oszacować swój model. Chociaż prawdopodobnie będziesz miał błąd pomiaru w TVC i zmiennej zależnej, prawdopodobnie powinieneś użyć opóźnienia TVC w modelu. W przeciwnym razie ryzykujesz użyciem wartości zmiennej towarzyszącej, która jest mierzona po wystąpieniu zdarzenia jako predyktora tego zdarzenia. Możesz zobaczyć problem z spójnością czasu. Chociaż wiem, że twoim celem jest przewidywanie, jeśli chcesz rozsądnych przedziałów ufności, będziesz chciał oszacować solidne błędy standardowe (przynajmniej).
Jason Morgan
@JVM najwyraźniej nie udało mi się dobrze wytłumaczyć. Dodałem odpowiedź w pytaniu.
B_Miner
t=0s>0P(Ti>s+x|Fs)

Odpowiedzi:

1

Dziękuję za wyjaśnienie, B_Miner. Sam nie prognozuję zbyt wiele, więc weź to, co następuje, ze szczyptą soli. Oto, co zrobiłbym jako co najmniej pierwsze cięcie danych.

  • Najpierw sformułuj i oszacuj model, który wyjaśni Twoje TVC. Wykonaj całą weryfikację krzyżową, sprawdzanie błędów itp., Aby upewnić się, że masz przyzwoity model danych.
  • Po drugie, sformułuj i oszacuj model przeżycia (dowolnego smaku). Wykonaj całą weryfikację krzyżową, sprawdzanie błędów, aby upewnić się, że ten model jest również uzasadniony.
  • Po trzecie, zdecyduj się na metodę wykorzystania prognoz z modelu TVC jako podstawy prognozowania ryzyka odejścia i wszystkiego, czego chcesz. Jeszcze raz sprawdź, czy prognozy są rozsądne, korzystając z próbki.

Gdy masz już model, który uważasz za rozsądny, sugerowałbym przeładowanie danych jako sposób na włączenie błędu w pierwszym modelu TVC do drugiego. Zasadniczo, stosuj kroki 1-3 N razy, za każdym razem pobierając próbkę bootstrapu z danych i tworząc zestaw prognoz. Kiedy masz rozsądną liczbę prognoz, podsumuj je w dowolny sposób, który Twoim zdaniem jest odpowiedni dla twojego zadania; np. zapewniać średnie ryzyko odejścia dla każdego profilu zainteresowania lub zmiennej zmiennej, a także 95% przedziały ufności.

Jason Morgan
źródło
@JVM. Czy dobrze przeczytałem, że twoja sugestia jest moją ostatnią opcją rozwiązania powyżej (w końcowej aktualizacji). Czy opracowujesz modele do prognozowania każdego Z (TVC) do wykorzystania w rzeczywistym modelu przetrwania?
B_Miner
2

Widzę, że można zastosować dwa paradygmaty analizy przeżycia. Ramy regresji Coxa pozwalają na zmienne towarzyszące w czasie i oszacowałyby ryzyko anulowania uwarunkowane dowolnym określonym zestawem zmiennych towarzyszących w stosunku do średniego poziomu anulowania. Struktura glm z błędami Poissona jest również proporcjonalnym modelem zagrożeń i szczególnie nadaje się do dyskretnych przedziałów. JVM zwrócił uwagę, że istnieje potencjalny błąd w korzystaniu z niekompletnych danych w bieżącym miesiącu, ale mam wrażenie, że chcesz oszacowania, które jest uzależnione od najnowszej wartości współzmiennej lub zestawu zmiennych towarzyszących. Lepszy opis sytuacji w danych może dać lepiej działające przykłady ....

DWin
źródło