Як моделювати поздовжні великі дані?


14

Традиційно ми використовуємо змішану модель для моделювання поздовжніх даних, тобто таких даних, як:

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

ми можемо припустити випадковий перехоплення або нахил для різних осіб. Однак питання, яке я намагаюся вирішити, стосуватиметься величезних наборів даних (мільйони осіб, щомісячне спостереження щомісяця, тобто у кожної людини буде 30 спостережень), на даний момент я не знаю, чи є пакети, здатні робити цей рівень даних.

У мене є доступ до spark / mahout, але вони не пропонують змішаних моделей, моє запитання: чи все-таки я можу змінити свої дані, щоб я міг використовувати RandomForest або SVM для моделювання цього набору даних?

Будь-яку техніку інженерних можливостей я можу використовувати на тому, щоб вона могла допомогти RF / SVM враховувати автоматичну кореляцію?

Велике дякую!

Деякі потенційні методи, але я не міг дозволити собі час написати їх іскрою

Як я можу включити випадкові ефекти в randomForest

Регрес SVM з поздовжніми даними


1
набір даних не такий великий. 1 мільйон предметів з 30 записами, можливо, 20 байт даних на запис принесуть 600 МБ. нічого. будь-який статистичний пакет впорається з цим
Aksakal

Відповіді:


4

Якщо у вас є лише декілька змінних, як у прикладі, у вас не повинно виникнути проблем із деяким варіантом lme4.

Де техніка машинного навчання насправді сяє, коли у вас багато змінних і ви хочете моделювати нелінійності та взаємодії між вашими змінними. Було розроблено декілька підходів, що дозволяють зробити це за допомогою поздовжніх даних. RNN - це один варіант, хоча вони, як правило, оптимізовані для проблем часових рядів, а не даних панелей.

В принципі, нейронна мережа з подачею вперед - це (узагальнена) лінійна модель з регресорами, які є нелінійними функціями вхідних даних. Якщо похідні регресори - верхній шар моделі до виходу - вважаються непараметричною частиною, то ніщо не заважає вам додавати параметричну структуру разом з нею - можливо, у вигляді випадкових ефектів.

Однак це не було застосовано для проблем із класифікацією, і я вважаю, що ви займаєтесь тим, що вас цікавить SVM як кандидат.


2

Повторюючись з методик машинного навчання для поздовжніх даних : документація на скрін-валідацію sklearn має ітератори перехресної перевірки для згрупованих даних! Див. ГрупиKFold , LeaveOneGroupOut та LeavePGroupsOut .

Якщо вас цікавить чистий прогноз, найкращим варіантом, мабуть, є використання періодичних нейронних мереж . Ще один варіант - приховані Маркові моделі .


2

Вам справді потрібні випадкові ліси, сімейні мережі та ін. Для ваших поздовжніх даних? lme4вміє обробляти мільйони людей:

https://cran.r-project.org/web/packages/lme4/vignettes/Theory.pdf

Він може легко мати справу з лінійними змішаними моделями, і як ви бачите за посиланням, він також підтримує нелінійні змішані моделі (хоча я не очікував, що це буде блискавично і для нелінійних моделей).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.