• Smart Data
  • Publié le 1 juillet 2016

Prédire l’avenir : #HoltWinters (Part 2)

Dans le part 1 je vous ai fait un peu réviser vos maths, et donné la petite boîte à outil de base de la prédiction.

Je vous invite maintenant à vous lancer dans le vif du sujet, en vous expliquant d’abord le lissage exponentiel simple. Vous verrez qu’il n’y a rien de très sorcier derrière cette technique, il s’agit d’obtenir une valeur lissée en Latex formula et de la reporter tout simplement en Latex formula.

C’est une méthode très utilisée pour la gestion de stocks quand il y a beaucoup de références, et dans le cadre de l’analyse technique pour prévoir les cours de la bourse.


Lissage exponentiel simple

Je vous avait donc expliqué les méthodes simples de prédiction, et notamment la moyenne mobile pondérée sur les Latex formula derniers points.

Imaginez maintenant une moyenne pondérée sur tous les points, en attribuant des poids de plus en plus petits au fur et à mesure que nous remontons le temps, afin de donner plus d’importance aux dernières observations. On utiliserait des poids en les faisant décroitre de façon uniforme. Par exemple, en partant avec un poids de 0.9:

Latex formula

Latex formula

Seul hic, la somme des poids est nettement supérieure à 1. Heureusement, de grands esprits mathématiciens ont résolu ce problème avec une formule simple:

Latex formula

Notre valeur attendue Latex formula est la somme de 2 produits, comme si nous avions une moyenne pondérée avec 2 poids: Latex formula et Latex formula. Et leur somme est bien égale à 1. Tutto va bene!

Nous appelons Latex formula coefficient de lissage, qui a donc une valeur comprise entre 0 et 1. En regardant bien, on remarque que si Latex formula, alors Latex formula.

Maintenant, regardez de plus près. Le coefficient Latex formula s’applique à Latex formula, soit la prévision précédente. Mais… qui n’est autre que le résultat de la même formule, parce qu’elle est récurrente (et vous savez à quel point les informaticiens adorent la récursion!):

Latex formula

revient à écrire:

Latex formula

D’où le nom lissage exponentiel, avec cette décroissance exponentielle des pondérations lorsque l’on remonte dans le temps. La valeur d’Latex formula va donc influer sur l’importance de la dernière valeur historique. Plus Latex formula a une valeur proche de 1, plus la décroissance sera importante, et plus vite on “oubliera” les anciennes valeurs.

En Java ça donne ça. Et comme l’idée est de lisser nos valeurs connues, la fonction retourne une série lissée, et pas juste la valeur attendue. Cette dernière est simplement la valeur lissée de notre dernière observation.

exponentialSmoothingFunc

Pour mieux comprendre, et à titre comparatif avec les autres méthodes:

smoothingmethod

On peut observer qu’avec le coefficient Latex formula à 0.9, notre courbe lissée (en violet) suis de près notre courbe d’origine (la jaune). Ce n’est pas le cas pour toutes les séries. Le coefficient optimal est unique à chaque série.

Toutes les méthodes que nous avons vu jusqu’à maintenant ne prédisent qu’1 seul point à Latex formula.

Dans le prochain épisode, nous verrons comment nous pouvons prédire plusieurs points 🙂

Karine de Pontevès
Karine de Pontevès

Réagissez à cette article

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *