Pourquoi cette prédiction des séries chronologiques est-elle «assez mauvaise»?

15

J'essaie d'apprendre à utiliser les réseaux de neurones. Je lisais ce tutoriel .

Après avoir ajusté un réseau neuronal sur une série chronologique en utilisant la valeur en pour prédire la valeur en t + 1, l'auteur obtient le graphique suivant, où la ligne bleue est la série chronologique, le vert est la prédiction sur les données du train, le rouge est le prédiction sur les données de test (il a utilisé une répartition de train d'essai)tt+1p1

et l'appelle "Nous pouvons voir que le modèle a fait un assez mauvais travail d'ajustement à la fois de la formation et des jeux de données de test. Il a essentiellement prédit la même valeur d'entrée que la sortie."

Ensuite, l'auteur décide d'utiliser , t - 1 et t - 2 pour prédire la valeur à t + 1 . Ce faisant, obtienttt-1t-2t+1

p2

et dit "En regardant le graphique, nous pouvons voir plus de structure dans les prédictions."

Ma question

Pourquoi le premier est-il "pauvre"? il me semble presque parfait, il prédit parfaitement chaque changement!

Et de même, pourquoi le second est-il meilleur? Où est la "structure"? Elle me semble beaucoup plus pauvre que la première.

En général, quand une prédiction sur les séries chronologiques est-elle bonne et quand est-elle mauvaise?

Euler_Salter
la source
3
En règle générale, la plupart des méthodes de BC sont destinées à une analyse transversale et doivent être ajustées pour les séries chronologiques. La principale raison est l'autocorrélation dans les données, tandis qu'en ML, les données sont souvent supposées indépendantes dans les méthodes les plus populaires
Aksakal presque sûrement binaire
11
Il fait un excellent travail pour prédire chaque changement ... juste après qu'il se produise!
Hobbs
@hobbs, je n'essaie pas d'utiliser t, t-1, t-2, etc. pour prédire t + 1. Je me demandais si vous savez combien de termes dans le passé il vaut mieux utiliser. Si nous en utilisons trop, est-ce que nous sur-adaptons?
Euler_Salter
Il aurait été plus éclairant de tracer les résidus.
reo katoa

Réponses:

23

C'est une sorte d'illusion d'optique: l'œil regarde le graphique et voit que les graphiques rouge et bleu sont juste à côté de chacun. Le problème est qu'ils sont côte à côte horizontalement , mais ce qui compte c'est la verticaledistance. L'œil voit le plus facilement la distance entre les courbes dans l'espace bidimensionnel du graphique cartésien, mais ce qui compte, c'est la distance unidimensionnelle à l'intérieur d'une valeur t particulière. Par exemple, supposons que nous avions les points A1 = (10 100), A2 = (10,1, 90), A3 = (9,8,85), P1 = (10,1 100,1) et P2 = (9,8, 88). L'œil va naturellement comparer P1 à A1, car c'est le point le plus proche, tandis que P2 va être comparé à A2. Comme P1 est plus proche de A1 que P2 de A3, P1 va ressembler à une meilleure prédiction. Mais lorsque vous comparez P1 à A1, vous regardez simplement dans quelle mesure A1 est capable de répéter ce qu'il a vu plus tôt; par rapport à A1, P1 n'est pas un prédiction. La comparaison appropriée est entre P1 v. A2 et P2 v. A3, et dans cette comparaison P2 est meilleur que P1. Il aurait été plus clair si, en plus de tracer y_actual et y_pred contre t, il y avait eu des graphiques de (y_pred-y_actual) contre t.

Accumulation
la source
2
C'est la meilleure réponse car l'autre ne mentionne même pas pourquoi une "bonne" prévision est en fait médiocre, alors que vous faites du bon travail!
Richard Hardy
17

Pourquoi le premier est-il "pauvre"? il me semble presque parfait, il prédit parfaitement chaque changement!

Il s'agit d'une prévision dite «décalée». Si vous regardez de plus près le graphique 1, vous voyez que le pouvoir de prédiction est uniquement de copier presque exactement la dernière valeur vue. Cela signifie que le modèle n'a rien appris de mieux et qu'il traite la série chronologique comme une marche aléatoire. Je suppose que le problème vient peut-être du fait que vous utilisez les données brutes que vous alimentez sur le réseau neuronal. Ces données ne sont pas stationnaires, ce qui cause tous les problèmes.

Alexey Burnakov
la source
8
Dans la prévision, cela s'appelle une prévision "naïve", c'est-à-dire utiliser la dernière observée comme prévision
Aksakal presque sûrement binaire
Je vous remercie! @Aksakal savez-vous combien de valeurs précédentes doivent être utilisées pour la prédiction?
Euler_Salter
Concentrez-vous sur la stationnarité. Quelques décalages stationnaires devraient être assez bons pour cette série chronologique. Mieux que 100 décalages non stationnaires.
Alexey Burnakov
dans les séries chronologiques, il y a un moyen d'avoir une bonne estimation de la structure des retards via ACF et PACF, consultez ce forum, il y avait beaucoup de messages sur la façon dont cela était fait
Aksakal presque sûrement binaire
@AlexeyBurnakov signifie-t-il donc que je devrais le transformer pour qu'il soit stationnaire?
Euler_Salter