Tradycyjnie używamy modelu mieszanego do modelowania danych podłużnych, tj. Danych takich jak:
id obs age treatment_lvl yield
1 0 11 M 0.2
1 1 11.5 M 0.5
1 2 12 L 0.6
2 0 17 H 1.2
2 1 18 M 0.9
możemy przyjąć losowe przechwytywanie lub nachylenie dla różnych osób. Jednak pytanie, które próbuję rozwiązać, będzie obejmować ogromne zbiory danych (miliony osób, obserwacja 1 miesiąc dziennie, tj. Każda osoba będzie miała 30 obserwacji), obecnie nie wiem, czy istnieją pakiety, które mogą wykonać ten poziom danych.
Mam dostęp do Spark / Mahout, ale nie oferują one modeli mieszanych, moje pytanie brzmi: czy w każdym razie mogę zmodyfikować swoje dane, aby móc użyć RandomForest lub SVM do modelowania tego zestawu danych?
Jakieś techniki inżynierii cech, które mogę wykorzystać, aby pomóc RF / SVM w rozliczeniu autokorelacji?
Wielkie dzięki!
Niektóre potencjalne metody, ale nie mogłem pozwolić sobie na czas na napisanie ich w iskrze
źródło
Odpowiedzi:
Jeśli masz tylko kilka zmiennych, jak w przykładzie, nie powinieneś mieć problemu z jakimś wariantem
lme4
.Techniki uczenia maszynowego naprawdę świecą, gdy masz wiele zmiennych i chcesz modelować nieliniowości i interakcje między zmiennymi. Opracowano niewiele podejść ML, które mogą to zrobić z danymi podłużnymi. RNN są jedną z opcji, chociaż są one na ogół zoptymalizowane pod kątem problemów z szeregami czasowymi, a nie danych panelu.
Zasadniczo sieć neuronowa ze sprzężeniem zwrotnym jest (uogólnionym) modelem liniowym z regresorami, które są nieliniowymi funkcjami danych wejściowych. Jeśli pochodne regresory - górna warstwa modelu przed wyjściem - są uważane za część nieparametryczną, to nic nie powstrzymuje cię przed dodaniem wraz z nim struktury parametrycznej - być może w postaci efektów losowych.
Nie zostało to jednak zaimplementowane w przypadku problemów z klasyfikacją, które zakładam, że robisz, ponieważ interesujesz się SVM jako kandydatem.
źródło
Powtarzanie z technik uczenia maszynowego dla danych podłużnych : dokumentacja sklearn walidacji krzyżowej zawiera iteratory walidacji krzyżowej dla zgrupowanych danych! Zobacz GroupKFold , LeaveOneGroupOut i LeavePGroupsOut .
Jeśli interesuje Cię czysta predykcja, najlepszą opcją jest prawdopodobnie użycie Recurrent Neural Networks . Inną opcją są ukryte modele Markowa .
źródło
Czy naprawdę potrzebujesz Losowych Lasów, NN itp. Do danych podłużnych?
lme4
jest w stanie obsłużyć miliony osób:https://cran.r-project.org/web/packages/lme4/vignettes/Theory.pdf
Z łatwością radzi sobie z liniowymi modelami mieszanymi, a jak widać z linku, obsługuje także nieliniowe modele mieszane (choć nie spodziewałbym się, że będzie błyskawiczny również dla modeli nieliniowych).
źródło