failure

Un cas d’étude qui échoue

Une société (confidentielle, mais qui nous autorise à communiquer de façon générale sur les résultats) nous a demandé la mise en place d’un prédicteur pour un de leur indicateur clé utilisé pour l’optimisation court terme de leur business. Cet indicateur est à prédire pour le mois suivant, à partir d’une centaine de champs d’entrée, certains propriétaires, d’autres issus de bases publiques. Le prédicteur recherché est de type classification à 5 classes, noté –, -, =, + et ++. Ce prédicteur « de tendance » est crucial pour le client, qui à se jour dispose d’un modèle statistique conduisant à 44% de précision. La base de données mensuelles disponible porte sur les années 1990 à 2018.

Afin de se placer en « situation réelle », nous avons effectué plusieurs « backtesting » :

(1) apprentissage sur 1990 à 2007, validation sur 2008 & 2009, et évaluation sur 2010 à 2012,

(2) apprentissage sur 1990 à 2010, validation sur 2011 & 2012 et évaluation sur 2013 à 2015,

(3) apprentissage sur 1990 à 2013, validation sur 2014 & 2015 et évaluation sur 2016 à 2018.

La « validation » est couplée à l’apprentissage pour classer au préalable les performances des modèles construits.

Pour chacun des 3 cas nous avons construit plusieurs milliers de réseaux de neurones (RN) et déterminé le meilleur « multi-modèle » (i.e. utilisation de plusieurs RN par vote démocratique), grâce à notre algorithme de forêt neuronale, voir l’article sur notre page des use cases le concernant. L’évaluation de performance s’effectue par « précision », à savoir le % de bonnes prédictions de la bonne classe.

Les deux premiers backtesting ont montré des niveaux de précisions supérieurs à 90% en apprentissage, et de 85% sur les 12 mois suivants, avec une baisse de précision de l’ordre de 15% les 24 mois suivant. Sans rentrer dans les détails, nous avons alors indiqué que la « profondeur » des données n’étant pas suffisante, un réapprentissage annuel semblait souhaitable.

Le troisième backtesting l’a démontré de façon encore plus évidente. La précision du multi-modèle sur la période d’apprentissage 1990 à 2015 est restée supérieure à 90% comme dans les 2 précédents backtestings, mais sur 2016 à 2018 elle chute à 45% (avec un niveau de 57% sur les 12 premiers mois). La raison en est simple : après analyse des données, on constate que le comportement myopique des années 2016à2018 est « extrémal » au regard des années précédentes.

Donnons-en une illustration simple, en utilisant une projection 2D de type « t-SNE » (disponible via notre logiciel gratuit DEXTER) de la base de données :

Cerclés de rouge, une partie des données correspondant aux mois de 2016 à 2018, qui sont clairement sur la couche extérieure du nuage de points 1990 à 2018.

Les années 2016 à 2018 ayant été confirmé comme extrême par le client (qui considère que les annnées suivantes devraient l’être aussi), nous avons indiqué au client que sans information explicative (= champs) supplémentaire, le niveau de précision recherché ne pourrait être atteint.

Nous avons cependant proposé au client un prédicteur plus simple, à 2 classes, – et +, lui fournissant simplement une « tendance », qui l’a considéré comme pertinent. On obtient alors pour ce prédicteur binaire les précisions suivantes :

Ainsi donc ce multi-modèle à une précision de 88% sur le validation set (2014 & 2015), mais surtout surperforme sur 2016 à 92% !

Actuellement, le client est en train de tester un prédicteur à 3 classes (-, = et +), et espère obtenir une forêt neuronale ayant un niveau de précision comparable au prédicteur binaire. Nous lui avons aussi conseillé de tester d’autres approche, comme de construire des prédicteurs sur différents ensemble d’apprentissage portant sur des périodes temporelles « plus courtes » (par exemple 2000 à 2015).

Comme on vient de le voir, si l’historique d’apprentissage ne permet pas « d’obtenir » un prédicteur détaillé satisfaisant, il suffit souvent de « simplifier » ses sorties pour obtenir une information fiable, même si un peu moins précise !