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.
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».
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.