techniki uczenia maszynowego dla danych podłużnych

11

Zastanawiałem się, czy istnieją jakieś techniki uczenia maszynowego (bez nadzoru) do modelowania danych podłużnych? Zawsze korzystałem z modeli efektów mieszanych (głównie nieliniowych), ale zastanawiałem się, czy istnieją inne sposoby na to (wykorzystanie uczenia maszynowego).

Przez uczenie maszynowe rozumiem losowy las, klasyfikację / grupowanie, drzewa decyzyjne, a nawet głębokie uczenie się itp.

John_dydx
źródło
Czy możesz zdefiniować, co rozumiesz przez „uczenie maszynowe”? Możesz zwiększyć LME po odpowiedniej stratyfikacji. To byłaby naprawdę nowość!
usεr11852
@ usεr11852, dodałem nieco więcej wyjaśnień do pytania - mam nadzieję, że to trochę bardziej wyjaśnia.
John_dydx
Ach ... więc wzmocnienie nie jest ML zgodnie z twoją definicją. Fajnie, dziękuję za wyjaśnienie, mam nadzieję, że wkrótce zwróci na to uwagę.
usεr11852
... i doładowania też.
John_dydx
3
To pytanie wydaje się dość niejasne. „Uczenie maszynowe” jest szerokim pojęciem, a nawet kategorie „losowy las, klasyfikacja / grupowanie, drzewa decyzyjne, a nawet głębokie uczenie się itp.” są dość szerokie. Czy interesuje Cię przejrzysta aplikacja? Jeśli na przykład musisz sklasyfikować dychotomiczne dane wyjściowe, możesz użyć logistycznego modelu efektów mieszanych lub logistycznego GEE. Uczenie maszynowe i modele statystyczne niekoniecznie dotyczą różnych rzeczy.
Jon

Odpowiedzi:

7

W przypadku, gdy istnieje wiele obserwacji jednego pacjenta (np. Wiele wizyt tego samego pacjenta), wówczas „identyfikator pacjenta” jest zmienną „grupującą”. Podczas oceny modelu należy zachować ostrożność, aby wizyty tego samego pacjenta nie pojawiały się zarówno w danych szkoleniowych, jak i testowych, ponieważ są one skorelowane i doprowadzą do inflacji dokładności klasyfikatora .

Dokumentacja sklearn cross-walidacja ma iteratory krzyżowej walidacji danych zgrupowanych. Zobacz GroupKFold , LeaveOneGroupOut i LeavePGroupsOut .

Jeszcze lepiej, spróbuj Rekurencyjne sieci neuronowe lub ukryte modele Markowa .

użytkownik0
źródło
4

Możesz modelować swoją podłużność za pomocą standardowych metod uczenia maszynowego, po prostu dodając funkcje, które reprezentują długość, np. Dodając funkcję, która reprezentuje czas. Lub funkcja wskazująca członkostwo w grupie, osobie itp. (W przypadku danych panelu).

Jeśli jesteś kreatywny w tworzeniu / wydobywaniu funkcji, możesz modelować wszystko za pomocą algorytmów ML.

PhilippPro
źródło
1
@PhlippePro, jestem trochę zdezorientowany tą odpowiedzią. (1) Co zrobić, jeśli chcesz przewidzieć dla osoby spoza twojego zestawu treningowego? Masz współczynniki tylko dla tych z twojego zestawu treningowego, prawda? (2) Dodanie funkcji odpowiadającej osobie może spowodować dodanie do 100 000 nowych zmiennych zastępczych, przy założeniu, że w zestawie danych znajduje się 100 000 osób. Te nowe funkcje będą pasowały tak samo jak oryginalne?
użytkownik0
(1) Jeśli nie masz osób, które chcesz przewidzieć w zbiorze danych szkoleniowych, nie możesz użyć „funkcji osoby”, która jest poprawna. (2) Zamiast tworzyć atrapy funkcji, możesz stworzyć jedną funkcję „kategoryczną” (np. Określasz je jako kategoryczne za pomocą as.factor w R). Niektóre algorytmy nie są w stanie obsłużyć tak wielu kategorii (np. RandomForest może obsłużyć tylko około 50), wtedy naprawdę musisz je określić jako zmienne pozorne i możesz uzyskać (zbyt) wiele funkcji, jak wskazałeś.
PhilippPro
ML nie przekłada się tak łatwo na dane podłużne
Aksakal