Логістична регресія для часових рядів


21

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

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

І якщо ви бачите вищезгадану систему з часом, як її слід побудувати для того, щоб регресія працювала? Чи потрібно нам спочатку тренувати це, позначаючи, скажімо, перші 50 рядків наших даних (тобто встановлюючи залежну змінну до 0 або 1), а потім використовувати поточну оцінку вектора для оцінки нової ймовірності залежної змінної 0 або 1 для даних, які тільки що надійшли (тобто новий рядок, який щойно додали до системи)?β

Щоб зробити свою проблему більш зрозумілою, я намагаюся створити систему, яка аналізує набір даних рядок за рядками і намагається зробити прогноз бінарного результату (залежна змінна), враховуючи знання (спостереження чи оцінку) всіх попередніх залежних чи пояснювальних даних змінні, які надійшли у фіксованому часовому вікні. Моя система знаходиться в Rerl і використовує R для висновку.


5
чи можете ви припустити структуру кореляції ваших даних? Ваш випадок - це окремий випадок GLMM з посиланням logit, але кореляційна структура у даних часових рядів повинна бути правильно змодельована, щоб отримати розумну відповідь.
suncoolsu

1
утут-1

2
Ви можете, будь ласка, дати короткий опис ваших даних для конкретного рішення? Ви можете вирішити проблему на зразок цього stat.ethz.ch/pipermail/r-sig-mixed-models/2010q4/004530.html
suncoolsu

2
У мене є часовий ряд мережевого трафіку такої форми: протокол, SrcIP SrcPort, DestIP, DestPort, TimeSec, Timeusec, PackLength TCP, 200.80.199.105,3523,207.216.233.144,9658,11223344,941818,62 UDP, 142.144.155.120 , 1751,244.72.151.2,1935, 11223344,941843,60 Я хочу оцінити, чи є пакет (або група пакетів) шкідливим, використовуючи знання з мічених наборів даних для побудови самонавчаної моделі. Усереднення, про яке я говорив, застосовується у зазначених вище показниках, щоб забезпечити рівень агрегації та зробити систему більш практичною для великого обсягу трафіку.
регресором

2
Це справді звучить як робота для вектора підтримки машини. Я щось пропускаю? Якщо ви дійсно стурбовані автокореляцією або структурою часових рядів своїх даних, ви можете спробувати ARIMA та / або багаторівневу поздовжню модель. На поздовжніх моделях я рекомендую прикладний аналіз даних Віллета та Зінгера , для якого на сайті UCLA ATS є приклади R-коду.
ashaw

Відповіді:


6

Є два способи врахування:

  1. Використовуйте лише останні N вхідних зразків. Якщо припустимо, що ваш вхідний сигнал має розмір D, то ви маєте N * D зразків на мітку основної істини. Таким чином ви можете тренуватися за допомогою будь-якого класифікатора, який вам подобається, включаючи логістичну регресію. Таким чином, кожен вихід вважається незалежним від усіх інших результатів.

  2. Використовуйте останні N вхідних зразків і останні N вихідних результатів. Тоді проблема схожа на декодування вітербі . Ви можете генерувати небінарний бал на основі вхідних зразків та комбінувати оцінку декількох зразків за допомогою декодера вітербі. Це краще, ніж метод 1. Якщо ви зараз щось про тимчасову залежність між результатами.

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