Comment atténuer le surapprentissage lors de la prévision de la demande?

Notre vidéo sur le surapprentissage a reçu son lot d’attention depuis sa publication il y a 5 ans, c’est-à-dire, un demi-siècle pour une startup comme Lokad. Des années plus tard, nous avons beaucoup progressé mais le surapprentissage reste un sujet difficile.
En bref, le surapprentissage représente le risque que votre modèle de prévision ne soit précis que pour prédire le passé, et non pour prédire l’avenir. Un bon modèle de prévision devrait être efficace pour prédire les données dont vous ne disposez pas.
Une idée reçue est qu’il n’existe aucune autre manière d’évaluer un modèle, à part en vérifiant ses performances sur les données historiques. Certes, les données historiques doivent être exploitées; cependant, s’il y a un enseignement à retenir de la théorie Vapnik-Chervonenkis, c’est que tous les modèles ne se valent pas : certains comportent un risque structurel bien plus important – un concept faisant partie de la théorie – que d’autres. Toute une catégorie de modèles peut être considérée comme sûre ou non, d’un point de vue purement théorique, ce qui se traduit par des améliorations très réelles de précision.
Les problèmes de surapprentissage ne peuvent pas être entièrement évités, mais ils peuvent néanmoins être atténués.
Il existe plusieurs façons d’atténuer le surapprentissage. Tout d’abord, la règle à ne jamais enfreindre est la suivante : un modèle de prévision ne doit jamais être évalué sur les données qui ont été utilisées pour l’entraîner dès le départ. De nombreux outils régressent les modèles sur l’historique complet afin d’estimer ensuite l’ajustement global. Eh bien, comme son nom l’indique, un tel processus vous donne l’ajustement, mais rien de plus. En particulier, cet ajustement ne doit pas être interprété comme une quelconque précision attendue, ce n’est pas le cas. L’ajustement est généralement bien inférieur à la précision réelle.
Deuxièmement, une manière simple d’atténuer le surapprentissage est d’effectuer un back-testing approfondi. En pratique, cela signifie que votre processus doit diviser le jeu de données d’entrée en des dizaines – voire des centaines – de seuils de date incrémentaux, et re-former tous les modèles de prévision et les réévaluer à chaque fois. Le back-testing nécessite une énorme puissance de calcul. Pouvoir allouer la puissance de calcul massive requise pour réaliser un back-testing approfondi fut en réalité l’une des raisons principales pour lesquelles Lokad a migré vers cloud computing en premier lieu.
Troisièmement, même le **back-testing le plus approfondi a peu de valeur si vos séries temporelles sont peu denses au départ, c’est-à-dire, si les séries temporelles représentent des articles à faible volume de ventes. En effet, comme la plupart des points de données des séries temporelles sont nuls, le processus de back-testing apprend très peu en itérant sur les zéros. Malheureusement pour le commerce, environ 90 % des articles vendus ou desservis possèdent une historique de demande considérée comme peu dense d’un point de vue statistique. Pour remédier à ce problème, les performances du modèle devraient être évaluées selon un point de vue multi-séries temporelles. Ce n’est pas la performance du modèle sur une seule série temporelle qui importe, mais sa performance sur des clusters bien définis de séries temporelles. Ensuite, tout devient un équilibre entre la précision empirique locale et globale lorsqu’il s’agit de sélectionner le meilleur modèle.
Une question ? N’hésitez pas à les poser en commentaires.
Commentaires des lecteurs (2)
Shaun, Le back-testing est un outil fondamental en statistiques. Il est utilisé depuis des décennies dans pratiquement tous les domaines : finance, météorologie, transports, énergie, … Le back-testing ne requiert pas de “confiance”, c’est pratiquement la seule méthodologie solide que nous connaissons pour évaluer la précision d’un processus prédictif, et il existe une multitude de littérature sur le sujet. Pour une introduction en douceur, vous devriez vraiment commencer par lire “Elements of Statistical Learning”
Joannes Vermorel (4 years ago)
Joannes, C’est extrêmement intéressant. Cependant, je suis mal à l’aise à l’idée d’expliquer cela aux clients. Donc, si je comprends bien, l’on peut réaliser le back-testing chez Lokad, cependant, étant donné que le back-testing – qui, après lecture, est une forme de machine learning –, n’est-il pas particulièrement difficile à expliquer ce qui a été réalisé ? S’il s’agit d’un algorithme avancé, ne doit-on pas en fait faire confiance à son bon fonctionnement ? Évidemment, ceci constitue un axe majeur pour Lokad, aussi tous ceux parmi vous ont-ils longuement réfléchi à ce sujet. Cependant, je pense qu’il existe un public d’entreprise limité capable de comprendre les détails spécifiques de son fonctionnement. Lokad s’appuie-t-il donc sur les résultats de recherches que Lokad a menées auprès d’entreprises précédentes – démontrant le bénéfice net de ce back-testing ? Lokad s’appuie-t-il donc sur les résultats de recherches que Lokad a menées auprès d’entreprises précédentes – démontrant le bénéfice net de ce back-testing?
Shaun Snapp (4 years ago)