Проблема, з якою я маю справу, - передбачення значень часових рядів. Я дивлюся по одному часовому ряду і, спираючись, наприклад, на 15% вхідних даних, я хотів би передбачити його майбутні значення. Поки що я натрапив на дві моделі:
- LSTM (довготривала короткочасова пам'ять; клас періодичних нейронних мереж)
- АРІМА
Я спробував обидва і прочитав деякі статті про них. Зараз я намагаюся краще зрозуміти, як порівняти це. Що я знайшов поки що:
- LSTM працює краще, якщо ми маємо справу з величезною кількістю даних і доступно достатньо даних про навчання, тоді як ARIMA краще для менших наборів даних (це правильно?)
- ARIMA вимагає серії параметрів,
(p,q,d)
які повинні бути розраховані на основі даних, тоді як LSTM не потребує встановлення таких параметрів. Однак є деякі гіперпараметри, які нам потрібні для налаштування LSTM. - EDIT: Одне з основних відмінностей між цими двома , що я помітив, читаючи велику статтю тут , є те , що ARIMA може виконувати тільки добре на стаціонарних часових рядів (де немає сезонності, тенденції і т.д.) , і ви повинні дбати про те , що якщо хочу використовувати ARIMA
Крім вищезгаданих властивостей, я не міг знайти жодних інших моментів чи фактів, які могли б допомогти мені вибрати найкращу модель. Я був би дуже вдячний, якби хтось міг допомогти мені знайти статті, документи чи інші речі (до цього часу не пощастило, лише деякі загальні думки тут і там, і нічого не грунтуючись на експериментах).
Я мушу зазначити, що спочатку я маю справу з потоковими даними, однак наразі я використовую набори даних NAB, що включає 50 наборів даних із максимальним розміром 20k точок даних.