Prédiction de séries chronologiques à l'aide de LSTM: importance de rendre les séries chronologiques stationnaires

21

Dans ce lien sur la stationnarité et la différenciation , il a été mentionné que les modèles comme ARIMA nécessitent une série chronologique stationnaire pour la prévision car ses propriétés statistiques comme la moyenne, la variance, l'autocorrélation, etc. sont constantes dans le temps. Étant donné que les RNN ont une meilleure capacité à apprendre des relations non linéaires ( comme indiqué ici: La promesse de réseaux de neurones récurrents pour la prévision des séries chronologiques ) et qu'ils fonctionnent mieux que les modèles de séries chronologiques traditionnels lorsque les données sont volumineuses, il est essentiel de comprendre comment stationarisé les données auraient une incidence sur ses résultats. Les questions dont j'ai besoin de connaître la réponse sont les suivantes:

  1. Dans le cas des modèles traditionnels de prévision de séries chronologiques, la stationnarité des données de séries chronologiques facilite la prévision, pourquoi et comment?

  2. Lors de la construction d'un modèle de prédiction de séries chronologiques à l' aide de LSTM , est-il important de rendre les données de séries chronologiques stationnaires? Si oui, alors pourquoi?

Abhijay Ghildyal
la source

Réponses:

29

En général, les séries chronologiques ne sont pas vraiment différentes des autres problèmes d'apprentissage automatique - vous voulez que votre ensemble de test `` ressemble '' à votre ensemble d'entraînement, car vous voulez que le modèle que vous avez appris sur votre ensemble d'entraînement soit toujours approprié pour votre ensemble de test. C'est le concept sous-jacent important concernant la stationnarité. Les séries chronologiques ont la complexité supplémentaire qu'il peut y avoir une structure à long terme dans vos données que votre modèle peut ne pas être suffisamment sophistiqué pour apprendre. Par exemple, lorsque vous utilisez un retard autorégressif de N, nous ne pouvons pas apprendre les dépendances sur des intervalles plus longs que N. Par conséquent, lorsque nous utilisons des modèles simples comme ARIMA, nous voulons que les données soient également localement stationnaires.

  1. Comme vous l'avez dit, stationnaire signifie simplement que les statistiques du modèle ne changent pas avec le temps (stationnaire «localement»). Les modèles ARIMA sont essentiellement des modèles de régression dans lesquels vous utilisez les N précédentes valeurs comme entrée de régression linéaire pour prédire la N + 1ère valeur. (Du moins, c'est ce que fait la partie AR). Lorsque vous apprenez le modèle, vous apprenez les coefficients de régression. Si vous avez une série chronologique où vous apprenez la relation entre les N points précédents et le point suivant, puis que vous l'appliquez à un ensemble différent de N points pour prédire la valeur suivante, vous supposez implicitement que la même relation existe entre la N prédicteurs et le N + 1er point suivant que vous essayez de prédire. Voilà la stationnarité. Si vous séparez votre ensemble d'entraînement en deux intervalles et que vous vous entraînez séparément, et j'ai obtenu deux modèles très différents - qu'en concluriez-vous? Pensez-vous que vous seriez confiant d'appliquer ces modèles pour prédirede nouvelles données? Lequel utiliseriez-vous? Ces problèmes surviennent si les données sont «non stationnaires».

  2. Mon opinion sur les RNN est la suivante: vous apprenez toujours un modèle à partir d'un segment d'une série chronologique et vous souhaitez toujours l'appliquer à une autre partie de la série chronologique pour obtenir des prédictions. Le modèle apprend une représentation simplifiée de la série temporelle - et si cette représentation s'applique sur l'ensemble d'apprentissage mais pas dans l'ensemble de test, elle ne fonctionnera pas bien. Cependant, contrairement à ARIMA, les RNN sont capables d'apprendre des non-linéarités, et les nœuds spécialisés comme les nœuds LSTM sont encore meilleurs dans ce domaine. En particulier, les LSTM et les GRU sont très bons pour apprendre les dépendances à long terme. Voir par exemple ce billet de blog . En fait, cela signifie que ce que l'on entend par «stationnarité» est moins fragile avec les RNN, c'est donc un peu moins un problème. Cependant, pour pouvoir apprendre les dépendances à long terme, vous avez besoin de BEAUCOUP de données pour vous entraîner.

En fin de compte, la preuve est dans le pudding. Autrement dit, effectuez la validation du modèle comme vous le feriez avec tout autre projet d'apprentissage automatique. Si votre modèle prédit bien les données persistantes, vous pouvez vous sentir un peu confiant dans son utilisation. Mais comme tout autre projet ML - si vos données de test sont jamais significativement différentes de vos données d'entraînement, votre modèle ne fonctionnera pas bien.

à M
la source
2
Cette réponse est excellente. Bien pensé et minutieux.
StatsSorceress
1
Cela fait longtemps. Quelqu'un a-t-il testé cette hypothèse?
compguy24