Je crée un outil de prévision interactif (en python) pour aider à la prévision qui se fait dans mon organisation. À ce jour, le processus de prévision a été largement conduit par l'homme, les prévisionnistes assimilant les données dans leurs réseaux neuronaux naturels et utilisant leur intuition acquise pour faire des prédictions. À partir d'une vérification de prévision à long terme et d'une étude de modélisation prédictive que j'ai faite, j'ai trouvé ce à quoi vous pourriez vous attendre; différents prévisionnistes présentent des biais différents, les effets de certains prédicteurs semblent être surestimés et d'autres importants semblent être ignorés et, en général, les performances de prévision sont médiocres par rapport à des modèles empiriques relativement simples.
Les prévisions continueront d'être manuelles, mais j'essaie de construire un outil utile pour fournir aux prévisionnistes une meilleure quantification des effets relatifs des prédicteurs. Il y a aussi des effets importants tels que les influences saisonnières qui sont souvent négligés que j'aimerais que l'outil souligne à l'utilisateur. Je m'attends à un certain degré de réaction et de scepticisme à l'égard du processus de modélisation de certains des prévisionnistes les plus «expérimentés» (dont beaucoup ont peu de connaissances formelles des statistiques), donc la communication est au moins aussi importante et les performances du modèle lui-même en termes de obtenir une amélioration mesurable de la précision des prévisions.
Les modèles que je développe ont une forte composante auto-régressive qui est parfois modifiée de manière significative par des événements qui apparaissent sous forme de valeurs mesurées dans certains prédicteurs qui sont, pendant les périodes non-événementielles, proches de zéro. Cela correspond au modèle mental utilisé par les prévisionnistes. L'élément clé est de pouvoir démontrer laquelle des mesures «d'événement» est la plus influente pour éloigner la prédiction de la valeur autorégressive pour une prévision donnée. J'imagine le processus de cette façon; le prévisionniste devine sa meilleure valeur, le modèle en suggère une autre et le prévisionniste demande pourquoi. Le modèle répond quelque chose comme "voir ici, cette valeur de ce prédicteur augmente la valeur de prévision en été. Si c'était l'hiver, cela se déplacerait dans l'autre sens. Je sais qu'il y a ces autres mesures,
Maintenant, imaginez que le modèle était une simple régression linéaire. On pourrait imaginer afficher l '«effet» relatif des prédicteurs basés sur les événements en multipliant la valeur par le modèle co-efficace et en affichant un simple graphique à barres. Toutes les barres des différents prédicteurs totalisent l'écart total par rapport à la valeur AR, et cela montre succinctement et clairement ceux qui, dans ce cas, ont une forte influence.
Le problème est que le processus en cours de prévision affiche un degré élevé de non-linéarité dans les prédicteurs, ou du moins, j'ai eu beaucoup plus de succès avec les algorithmes d'apprentissage automatique non linéaire à boîte noire (forêt aléatoire et GBM) qu'avec les GLM pour cet ensemble de données. Idéalement, je voudrais pouvoir changer de façon transparente le modèle en travaillant `` sous le capot '' sans que l'expérience utilisateur ne change, j'ai donc besoin d'un moyen générique pour démontrer de manière simple l'importance des différentes mesures sans utiliser une approche spécifique à l'algorithme. Mon approche actuelle consistera à quasi-linéariser les effets en mettant toutes les valeurs à zéro, sauf pour un prédicteur, à enregistrer l'écart prévu et à répéter pour tous les prédicteurs, en affichant les résultats dans le graphique à barres mentionné ci-dessus. En présence d'une forte non-linéarité, cela peut ne pas fonctionner aussi bien.