La moyenne mobile comme filtre

Une série quotidienne, une moyenne sur M jours consécutifs, et l'effet de cette moyenne sur tous les cycles possibles de la série. Testez d'abord les relevés réels, puis décalez M d'un jour et regardez le motif hebdomadaire réapparaître.

Chargement de la simulation interactive...

Leçon

La théorie — La moyenne mobile comme filtre

Une moyenne mobile sur M points remplace chaque valeur d'une série par la moyenne de M valeurs consécutives. C'est une convolution avec une boîte de M poids valant 1/M. Ainsi, par le théorème de convolution, son effet sur un cycle de f cycles par échantillon est une multiplication par la transformée de Fourier de la boîte, le gain H(f) = sin(πfM)/(M sin πf). H vaut zéro à f = 1/M, 2/M, …, est négatif entre le premier et le deuxième zéro, et est réel lorsque chaque moyenne est placée au milieu de sa fenêtre ; placées à la fin de la fenêtre, ces mêmes valeurs portent un retard de (M − 1)/2 échantillons.

Ce que signifie chaque symbole

M
le nombre de jours dans chaque moyenne
f
la fréquence d'un cycle, en cycles par jour, de 0 à ½
H(f)
le gain : ce par quoi la moyenne multiplie un cycle de fréquence f ; une valeur négative signifie qu'il est inversé
Suppose
Une valeur par jour sans interruption, de sorte que la fenêtre couvre toujours M jours civils. L'annulation exige que les valeurs signalées elles-mêmes se répètent tous les 7 jours. Un retard de signalement toujours identique les maintient hebdomadaires et ne change rien ; un jour manquant, un jour férié ou un retard qui varie d'une semaine à l'autre brise cette régularité.

Une moyenne sur 7 jours efface le cycle hebdomadaire, quelle que soit sa forme 🖖

Cliquez sur Allemagne, 7 jours. Ces relevés fléchissent en début de semaine et s'accumulent ensuite : les lundis représentent en moyenne 60,1 % de la semaine environnante, les jeudis 130,7 %. Dans la moyenne sur 7 jours, la fluctuation hebdomadaire n'est plus que de 0,8 point. Chaque fenêtre de sept jours consécutifs contient exactement un lundi, un mardi, et ainsi de suite jusqu'au dimanche. Tout motif à répétition hebdomadaire ajoute donc le même montant à chaque fenêtre, peu importe sa forme. Sur le graphique inférieur, le gain sin(7πf)/(7 sin πf) vaut exactement zéro à 1/7, 2/7 et 3/7 de cycle par jour. Il s'agit du cycle hebdomadaire et des deux seuls harmoniques qu'une série de valeurs quotidiennes peut porter. Ce 0,8 n'est pas un zéro parce que le motif réel ne se répète pas à l'identique ; cliquez sur Le motif hebdomadaire seul et il devient 0,0. Les jours fériés brisent d'emblée la répétition. Le jour de Noël affiche 0 et le lendemain 39 988, le maximum de la série. Ainsi, le 22 décembre, la moyenne centrée chute à 21 025, car sa fenêtre se termine sur le zéro, et un jour plus tard, en incluant le 39 988, elle remonte à 22 266. Décalez maintenant M d'un jour. Huit jours comportent un jour de la semaine en double et conservent un huitième de la fluctuation, soit 8,8 points sur 70,7 dans la semaine synthétique. Six jours laissent un jour de la semaine de côté et en gardent un sixième, soit 11,8. Quatorze et vingt-et-un l'effacent à nouveau. Une moyenne retardée place les mêmes nombres à un jour ultérieur ; elle efface donc le cycle hebdomadaire tout aussi bien.

Certaines ondes ressortent de la moyenne à l'envers 🖖

Cliquez sur Une onde de 5 jours : un cosinus d'une période de 5 jours, à travers la même moyenne sur 7 jours. Le lissage est censé réduire une oscillation rapide. Le fantôme en pointillés représente cette attente : l'onde plus petite mais à l'endroit. La moyenne ressort à −0,2311 de l'onde : plus petite, et inversée, avec ses pics les jours où l'entrée présente des creux. L'explication tient dans une fenêtre. N'importe quels cinq jours consécutifs contiennent un cycle entier, dont la somme est zéro. Une fenêtre de 7 jours ne conserve donc que ses deux jours extrêmes, situés à 3 jours de part et d'autre du milieu. Trois jours représentent six dixièmes d'un cycle, et les deux jours éloignés d'autant de n'importe quel point totalisent 2 cos(6π/5) = −1,618 fois la valeur de l'onde à cet endroit. Divisé par 7, on obtient −0,2311. Sur le graphique inférieur, le gain est négatif pour toute période comprise entre 3,5 et 7 jours, atteignant son minimum à −0,2330 vers 4,86 jours, puis redevient positif entre 2,33 et 3,5. Cliquez sur Un jour sur deux : l'oscillation la plus rapide qu'une série quotidienne puisse porter passe à −0,1429, un septième de sa taille. Le manuel de traitement du signal de Steven W. Smith qualifie la moyenne mobile de « filtre de lissage exceptionnellement bon » et de « filtre passe-bas exceptionnellement mauvais » dans la même phrase, et ces lobes en sont la cause.

Une moyenne retardée est la moyenne centrée, avec trois jours de retard 🖖

Cliquez sur Retardée, selon l'usage. Un tableau de bord ne peut pas moyenner des jours qui n'ont pas encore eu lieu. Il place donc chaque moyenne sur 7 jours sur le dernier jour de sa fenêtre. Il s'agit des sept mêmes nombres et de la même moyenne, affichés 3 jours après le milieu de la fenêtre. La ligne en pointillés correspond à la moyenne centrée, et la ligne continue à cette même courbe glissée vers la droite. La moyenne sur 7 jours la plus haute de ces relevés, 25 851 par jour, appartient à la semaine du 18 au 24 décembre. Centrée, elle se situe le 21 décembre. Retardée, elle tombe le 24. Aucun des deux placements n'est gratuit. La moyenne centrée est à l'heure et s'arrête 3 jours avant les données, car ses dernières fenêtres ne sont pas encore complètes. La moyenne retardée va jusqu'à aujourd'hui et décrit une semaine dont le milieu se trouvait 3 jours plus tôt ; sur une tendance linéaire, elle accuse un retard correspondant exactement à 3 jours de changement. Le gain reste intact, le cycle hebdomadaire disparaît donc toujours : seule la synchronisation se déplace, des mêmes 3 jours à toutes les fréquences. Pour une fenêtre de M jours, le retard est de (M − 1)/2 jours ; ainsi, une moyenne retardée sur 14 jours accuse 6,5 jours de retard.

Problème entièrement résolu

  1. Moyenner la moyenne 4 étapes

    Une moyenne sur 7 jours inverse une oscillation de 5 jours. Un collègue suggère de prendre la moyenne sur 7 jours de la moyenne sur 7 jours. Qu'arrive-t-il maintenant à l'onde de 5 jours, au cycle hebdomadaire, et que coûte ce second passage ? Cliquez d'abord sur Une onde de 5 jours : la page donne le gain d'un seul passage.

    Ouvrez ce problème dans l'outil

    1. Un passage, d'après la page :

    2. Un second passage multiplie à nouveau l'onde par le même gain, et un nombre négatif multiplié par un nombre négatif donne un nombre positif :

    3. Les deux passages réunis constituent une moyenne sur 13 jours avec des pondérations triangulaires, la boîte convoluée avec elle-même :

    4. Son point de demi-puissance s'éloigne, passant de H² = ½ pour un passage à H⁴ = ½ pour deux :

    Réponse

    L'onde de 5 jours ressort à l'endroit, à 0,0534 de sa taille, et le cycle hebdomadaire est toujours effacé, puisque 0 × 0 = 0. Le prix à payer est un lisseur qui atténue également les cycles plus lents : la période dont la puissance est réduite de moitié passe de 15,66 jours à 21,74, et une version centrée requiert 6 jours de chaque côté au lieu de 3. Elle s'arrête donc 6 jours avant les données. Hyndman et Athanasopoulos appellent ce procédé une moyenne mobile d'une moyenne mobile, une 3×3-MA dans leur exemple ; ici, c'est une 7×7-MA.

Parcours

La transformée de Fourier en pratique

Références (3)