Prévisibilité
Vous avez raison de dire qu'il s'agit d'une question de prévisibilité. Quelques articles sur la prévisibilité ont été publiés dans la revue Foresight, destinée aux praticiens . (Divulgation complète: je suis un éditeur associé.)
Le problème est que la prévisibilité est déjà difficile à évaluer dans des cas "simples".
Quelques exemples
Supposons que vous ayez une série chronologique comme celle-ci sans parler allemand:
Comment modéliseriez-vous le pic atteint en avril et comment intégriez-vous ces informations dans les prévisions?
Si vous ne saviez pas que cette série chronologique représente les ventes d'œufs dans une chaîne de supermarchés suisse, qui culmine juste avant le calendrier occidental de Pâques , vous n'auriez aucune chance. De plus, avec Pâques déplaçant le calendrier de six semaines au maximum , toutes les prévisions qui n'incluent pas la date spécifique de Pâques (en supposant, par exemple, qu'il s'agissait simplement d'un pic saisonnier qui se reproduirait l'année suivante, une semaine spécifique) serait probablement très off.
De même, supposons que vous ayez la ligne bleue ci-dessous et que vous souhaitiez modéliser ce qui s'est passé le 2010-02-28 de manière si différente des modèles "normaux" du 2010-02-27:
Encore une fois, sans savoir ce qui se passe quand une ville entière remplie de Canadiens regarde un match de la phase finale du hockey sur glace à la télévision, vous n’avez aucune chance de comprendre ce qui s’est passé ici, et vous ne pouvez pas prédire quand une telle chose va se reproduire.
Enfin, regardez ceci:
Il s’agit d’une série chronologique de ventes quotidiennes dans un magasin cash and carry . (Sur la droite, vous avez un tableau simple: 282 jours avaient zéro vente, 42 jours ont vu des ventes de 1 ... et un jour ont vu 500 ventes.) Je ne sais pas de quel article il s'agit.
À ce jour, je ne sais pas ce qui s'est passé ce jour-là avec des ventes de 500 exemplaires. Mon meilleur choix est qu'un client a déjà commandé une grande quantité de ce produit et l'a collecté. Maintenant, sans le savoir, toute prévision pour cette journée sera lointaine. Inversement, supposons que cela se soit produit juste avant Pâques et que nous ayons un algorithme stupide qui croit que cela pourrait être un effet de Pâques (peut-être que ce sont des œufs?) Et prévoit heureusement 500 unités pour la prochaine Pâques. Oh mon Dieu, est-ce que ça pourrait mal tourner?
Sommaire
Dans tous les cas, nous voyons que la prévisibilité ne peut être bien comprise que lorsque nous avons une compréhension suffisamment approfondie des facteurs susceptibles d’influencer nos données. Le problème est que si nous ne connaissons pas ces facteurs, nous ne savons pas que nous pourrions ne pas les connaître. Selon Donald Rumsfeld :
[L] es connus sont connus; il y a des choses que nous savons que nous savons. Nous savons également qu'il existe des inconnus connus; c'est-à-dire que nous savons qu'il y a des choses que nous ne savons pas. Mais il y a aussi des inconnus inconnus - ceux que nous ne savons pas que nous ne savons pas.
Si Pâques ou la prédilection des Canadiens pour le hockey sont des inconnues pour nous, nous sommes bloqués - et nous n'avons même pas d'avenir, car nous ne savons pas quelles questions nous devons poser.
La seule façon de les maîtriser est de rassembler les connaissances du domaine.
Conclusions
J'en tire trois conclusions:
- Vous devez toujours inclure la connaissance du domaine dans votre modélisation et vos prévisions.
- Même avec une connaissance du domaine, vous n'êtes pas assuré d'obtenir suffisamment d'informations pour que vos prévisions et vos prédictions soient acceptables pour l'utilisateur. Voir cette valeur aberrante ci-dessus.
- Si "vos résultats sont misérables", vous espérez peut-être plus que ce que vous pouvez obtenir. Si vous prévoyez un bon tirage au sort, il n’ya aucun moyen d’obtenir une précision supérieure à 50%. Ne faites pas confiance non plus aux points de référence externes en matière de précision des prévisions.
Le résultat final
Voici comment je recommanderais de construire des modèles - et de noter quand arrêter:
- Parlez à quelqu'un qui a une connaissance du domaine si vous ne l'avez pas déjà vous-même.
- Identifiez les principaux moteurs des données que vous souhaitez prévoir, y compris les interactions probables, en fonction de l'étape 1.
- Construisez des modèles de manière itérative, en incluant les pilotes dans un ordre de force décroissant, comme indiqué à l'étape 2. Évaluez les modèles à l'aide de la validation croisée ou d'un échantillon témoin.
- Si l’exactitude de vos prédictions n’augmente plus, revenez à l’étape 1 (par exemple, en identifiant des prédictions erronées flagrantes que vous ne pouvez pas expliquer et discutez-en avec l’expert du domaine), ou acceptez le fait que vous avez atteint la fin de votre processus. les capacités des modèles. La mise en caisse de votre analyse à l'avance aide.
Notez que je ne préconise pas l’essai de différentes classes de modèles si vos plateaux de modèles originaux. Généralement, si vous avez commencé avec un modèle raisonnable, utiliser quelque chose de plus sophistiqué ne rapportera pas un avantage considérable, mais pourrait simplement entraîner une «sur-adaptation sur le jeu de tests». J'ai souvent vu cela et d'autres personnes sont d'accord .