Problemem, z którym mam do czynienia, jest przewidywanie wartości szeregów czasowych. Patrzę na jedną serię czasową naraz i na podstawie np. 15% danych wejściowych chciałbym przewidzieć jej przyszłe wartości. Do tej pory natknąłem się na dwa modele:
- LSTM (długoterminowa pamięć krótkotrwała; klasa rekurencyjnych sieci neuronowych)
- ARIMA
Próbowałem obu i przeczytałem kilka artykułów na ich temat. Teraz staram się lepiej zrozumieć, jak porównać oba. Co znalazłem do tej pory:
- LSTM działa lepiej, jeśli mamy do czynienia z ogromną ilością danych i dostępna jest wystarczająca ilość danych szkoleniowych, natomiast ARIMA jest lepszy dla mniejszych zestawów danych (czy to prawda?)
- ARIMA wymaga szeregu parametrów,
(p,q,d)
które należy obliczyć na podstawie danych, natomiast LSTM nie wymaga ustawiania takich parametrów. Jednak istnieją pewne hiperparametry, które musimy dostroić do LSTM. - EDIT: Jedną z głównych różnic między nimi, które zauważyłem podczas czytania ciekawy artykuł tutaj jest to, że ARIMA mógł jedynie wykonywać również na stacjonarnych szeregów czasowych (gdzie nie ma sezonowości, trendu i itd.) I trzeba dbać o to, czy chcesz skorzystać z ARIMA
Poza wyżej wymienionymi właściwościami nie mogłem znaleźć żadnych innych punktów ani faktów, które mogłyby pomóc mi w wyborze najlepszego modelu. Byłbym bardzo wdzięczny, gdyby ktoś mógł mi pomóc w znalezieniu artykułów, artykułów lub innych rzeczy (jak dotąd nie miał szczęścia, tylko niektóre ogólne opinie tu i tam i nic na podstawie eksperymentów).
Muszę wspomnieć, że pierwotnie mam do czynienia z przesyłaniem danych, jednak na razie korzystam z zestawów danych NAB, które obejmują 50 zestawów danych o maksymalnym rozmiarze 20 000 punktów danych.