Comment les réseaux de neurones aident à prévoir l’avenir

Des taux de change à la demande d’électricité, les réseaux de neurones servent depuis longtemps à prévoir : comment ils modélisent une série, et ce qu’il faut pour qu’ils fonctionnent.

Une série mesurée, puis sa prévision en pointillés dans la plage qu’elle peut prendre.

Prévisions financières (taux de change, prédiction du cours des actions…), prévision de la demande d’électricité, prévisions météorologiques et estimation du trafic ne sont que quelques exemples d’applications concrètes où les réseaux de neurones artificiels (RNA) sont utilisés depuis des années.

Leur capacité à modéliser tout type de fonction, d’une complexité arbitraire, avec le bon choix de paramètres et le bon entraînement, rend les réseaux de neurones artificiels adaptés à ce genre de tâches. De manière générale, tout ce qui comporte une dimension temporelle se prête bien à une analyse par RNA : d’où le nom de prédiction de séries temporelles.

Une série temporelle est simplement une liste de valeurs ordonnées dans le temps. Dans le cas le plus courant, ces valeurs sont collectées à une fréquence constante.

Supposons que nous ayons un site web et que nous relevions chaque jour le nombre de personnes qui le visitent. Le site rencontre un grand succès, mais nous craignons qu’un jour notre serveur ne soit plus assez puissant pour absorber tout le trafic. Nous décidons donc de construire un RNA pour prédire le nombre futur de visiteurs, et d’utiliser cette information pour faire évoluer notre serveur le moment venu.

Quelle topologie de RNA choisir ?

Dans la littérature de l’apprentissage automatique, les réseaux de neurones de type perceptron multicouche (MLP) sont utilisés depuis longtemps pour les tâches de prédiction, mais de nombreux chercheurs ont montré que les réseaux de neurones récurrents font souvent mieux que les MLP. Quoi qu’il en soit, chaque cas d’usage est bien souvent unique. Comprendre le problème est la première étape pour choisir la bonne topologie de réseau.

Comment choisir le nombre de nœuds d’entrée ?

En général, chaque nœud d’entrée correspond à un instant (dans notre cas, le nombre de visites au jour t). Augmenter le nombre de nœuds d’entrée revient à élargir la fenêtre d’observation, mais davantage d’information ne se traduit pas toujours par une meilleure prédiction. À l’inverse, utiliser trop peu de points d’entrée peut conduire à une mauvaise modélisation.

Et les nœuds de sortie ?

Cela dépend de ce que nous voulons que notre système prédise. Si nous voulons une « prédiction à un pas », il suffit d’un seul nœud de sortie ; sinon, il nous faut plusieurs nœuds de sortie, un pour chaque pas dans le futur.
Disposons-nous d’informations supplémentaires sur la série temporelle à prédire ?
La présence d’informations supplémentaires améliore souvent la précision du modèle : il peut s’agir d’informations sur la série temporelle elle-même, sur d’autres séries temporelles qui lui sont liées, ou sur la période de collecte des données. Si nous savons, par exemple, que le nombre de visites est généralement plus élevé le week-end, nous pouvons fournir cette information au RNA comme entrée supplémentaire.

Le prétraitement des données peut-il être utile ?

Il a été montré que le prétraitement des données aide souvent à obtenir de meilleurs résultats. La normalisation des données dans un intervalle donné en est un exemple, mais appliquer d’autres transformations aux données d’entrée peut valoir la peine.

La prédiction de séries temporelles ne s’arrête pas là ! Les choses se compliquent lorsqu’on veut prévoir plusieurs séries temporelles (séries temporelles multivariées) qui ne semblent pas corrélées entre elles. Dans ce cas, le prétraitement des données et le choix du bon modèle de données jouent un rôle clé dans la réussite de la prédiction.

Si l’article vous a plu ou si vous avez une question, n’hésitez pas à laisser un commentaire !

Graziano Mita

Data scientist chez Ezako