# Moyenne mobile

La moyenne mobile, ou moyenne glissante, est un type de moyenne statistique utilisée pour analyser des séries ordonnées de données, le plus souvent des séries temporelles, en supprimant les fluctuations transitoires de façon à en souligner les tendances à plus long terme. Cette moyenne est dite mobile parce qu'elle est recalculée de façon continue, en utilisant à chaque calcul un sous-ensemble d'éléments dans lequel un nouvel élément remplace le plus ancien ou s'ajoute au sous-ensemble.
Ce type de moyenne est utilisé généralement comme méthode de lissage de valeurs, en particulier dans le domaine industriel, commercial et plusieurs autres secteurs de l'économie, par exemple pour établir des prévisions de la demande d’un produit ou service, pour déterminer les prévisions de ventes, pour examiner des séries chronologiques macroéconomiques (produit intérieur brut, emploi ou d'autres).
Mathématiquement, toute moyenne mobile est un exemple de convolution. Physiquement, une moyenne mobile est un filtre passe-bas et possède ainsi un lien profond avec le traitement du signal. En particulier, la moyenne mobile exponentielle, que nous allons aborder plus loin, est un filtre linéaire passe-bas du premier ordre tout à fait classique.

## Moyenne mobile arithmétique
### Point de vue classique

C'est une moyenne qui au lieu d'être calculée sur l'ensemble des n valeurs d'un échantillonnage, est calculée tour à tour sur chaque sous-ensemble de N valeurs consécutives (N ≤ n). Le sous-ensemble utilisé pour calculer chaque moyenne, parfois appelé « fenêtre », « glisse » sur l'ensemble des données.
Par exemple, le tableau suivant montre les moyennes mobiles simples sur 3 valeurs, pour une série de 9 mesures.
| Mesures | 2 | 3 | 5 | 8 | 8 | 7 | 8 | 5 | 2 |
| Moyenne glissante | néant | (2 + 3 + 5)/3 3,3333 | (3 + 5 + 8)/3 5,3333 | (5 + 8 + 8)/3 7 | (8 + 8 + 7)/3 7,6666 | (8 +7 + 8)/3 7,6666 | (7 + 8 + 5)/3 6,6666 | (8 + 5 + 2)/3 5 | néant |
Autre exemple : dans le cas particulier du domaine de la pollution atmosphérique, est utilisée une « moyenne glissante sur 8 heures » de la concentration d'un polluant (c'est en l'occurrence le cas de l'ozone, en objectif de qualité pour la protection de la santé humaine) ; cette moyenne pourra être calculée de 0h00 à 8h00, de 1h00 à 9h00, de 2h00 à 10h00, etc. On recherchera, sur une journée, la valeur maximale de la moyenne glissante, qui devra être inférieure à une concentration donnée. L'intérêt d'une moyenne glissante est de lisser les éventuels écarts accidentels.
Le calcul successif de moyennes mobiles pour une même suite de nombres exige de conserver toutes les valeurs utilisées par les moyennes précédentes, afin de remplacer le terme le plus ancien par le plus récent.
Une formule permettant de calculer une moyenne mobile simple est
    ${\bar {x}}_{n}={\frac {1}{N}}\ \sum _{k=0}^{N-1}\;{x_{n-k}}\ {\text{, ou bien }}\ {\bar {x}}_{n}={\bar {x}}_{n-1}+{\frac {x_{n}-x_{n-N}}{N}}$

### Nature du filtre constitué par la moyenne mobile arithmétique

L'expression de gauche, ci-dessus, n'est autre qu'un produit de convolution discret entre un signal $x_{n}$ et une fonction porte de hauteur ${\frac {1}{N}}$. La transformée de Fourier de cette fonction est un sinus cardinal. Par conséquent, cette moyenne possède une réponse en fréquence potentiellement dérangeante, certaines variations de $x_{n}$ étant reportées négativement dans ${\bar {x}}_{n}$ et d'autres positivement. Cela est interprétable comme un déphasage passant brusquement d'un extrême à l'autre en fonction de la vitesse de variation des données.

## Moyenne mobile pondérée

Une moyenne mobile pondérée est une moyenne mobile qui utilise des coefficients pour donner un poids distinct à chaque valeur utilisée dans le calcul. Dans le cas d'une moyenne mobile pondérée, les poids de chaque terme décroissent linéairement, le plus récent $x_{M}$ ayant un poids de $n$ et le plus ancien (le ne en partant de la fin, soit $x_{M-n+1}$) ayant un poids unitaire.
    ${\bar {x}}_{M}={n\;x_{M}+(n-1)\;x_{M-1}+\cdots +2\;x_{M-n+2}+x_{M-n+1} \over n+(n-1)+\cdots +2+1}$
Le dénominateur est un nombre triangulaire, et peut être directement calculé comme ${\frac {n\;(n+1)}{2}}.$
Comme la moyenne mobile simple, le calcul successif de moyennes mobiles pondérées pour une même suite exige de conserver toutes les valeurs utilisées par les moyennes précédentes.

## Moyenne mobile exponentielle
### Point de vue classique

Une moyenne mobile exponentielle utilise une pondération des termes qui décroît exponentiellement. Le poids de chaque valeur participant à la moyenne (souvent désignée par le terme observation en statistiques) est d'un facteur plus grand que la valeur qui le précède dans la série, ce qui donne plus d'importance aux observations les plus récentes, sans toutefois jamais supprimer complètement l'effet des valeurs les plus anciennes.
Une constante de lissage contrôle le degré de décroissance des poids applicables à chaque observation participant à la moyenne. Cette constante, α, est un nombre compris entre 0 et 1 ; elle peut être exprimée :
* par sa valeur numérique : α = 0,1 ;
* en pourcentage : α = 10 % équivaut à α = 0,1 ;
* en nombre de périodes : N = 19, où α=2/(N+1) {\textstyle \alpha =\textstyle {\frac {2}{N+1}}} approximativement, équivaut également à α = 0,1.
Contrairement aux autres types de moyennes glissantes, le nombre de périodes N ne représente pas le nombre de valeurs participant à la moyenne ; il ne sert qu'à spécifier la constante de lissage α. En effet, chaque nouveau calcul de la moyenne mobile exponentielle ajoute l'effet de la plus récente observation sans en abandonner une plus ancienne. Le poids total des N plus récentes observations utilisées par une moyenne mobile exponentielle constitue environ 86 % du poids total avec la formule α=2/(N+1) {\textstyle \alpha =\textstyle {\frac {2}{N+1}}} (la précision de cette formule augmente avec N). Pour que N périodes pèsent précisément 86 % dans la moyenne (surtout requis lorsque N est petit), la formule exacte est α = 1 – (1 – 0,86)$^{1/N}$.
Dans sa forme la plus simple, la moyenne pondérée exponentielle s'exprime en fonction de cette même moyenne calculée lors de la précédente période. Il en existe deux formulations:
    Roberts (1959) : ${\bar {x}}_{t}=\alpha x_{t}+(1-\alpha ){\bar {x}}_{t-1}$ —— Hunter (1986) : ${\bar {x}}_{t}=\alpha \;x_{t-1}+(1-\alpha )\;{\bar {x}}_{t-1}$
On peut écrire différemment ces expressions pour souligner que la moyenne mobile exponentielle tend à conserver sa valeur précédente, n'en différant que par une fraction de sa différence avec la plus récente observation:
    Roberts (1959) : ${\bar {x}}_{t}={\bar {x}}_{t-1}+\alpha (x_{t}-{\bar {x}}_{t-1})$ —— Hunter (1986) : ${\bar {x}}_{t}={\bar {x}}_{t-1}+\alpha (x_{t-1}-{\bar {x}}_{t-1})$
Une moyenne mobile exponentielle doit être initialisée; le plus souvent, on impose ${\bar {x}}_{1}=x_{1}$ mais on peut également, par exemple, lui assigner une moyenne simple des 4 ou 5 premières observations. L'effet de l'initialisation de ${\bar {x}}_{1}$ sur les moyennes mobiles ultérieures dépend de α ; de plus grandes valeurs de la constante de lissage tendent à atténuer plus rapidement l'impact des observations plus anciennes. En effet, l'expansion de la forme de Roberts en y substituant récursivement les moyennes mobiles exponentielles des calculs précédents donne une somme infinie, mais puisque l'expression 1−α{\textstyle 1-\alpha } est inférieure à 1, les termes anciens sont de plus en plus petits et peuvent éventuellement être ignorés.
    ${\bar {x}}_{t}=\alpha \left(x_{t}+(1-\alpha )x_{t-1}+(1-\alpha )^{2}x_{t-2}+(1-\alpha )^{3}x_{t-3}+\cdots \right)$
    ${\bar {x}}_{t}=\displaystyle \sum _{n=0}^{\infty }\alpha (1-\alpha )^{n}x_{t-n}$
En posant β = (1 – α), β ∈ [0, 1] et en remarquant que 1/α=1/1−β=1+β+β$^2$+…+β$^n$+…{\textstyle {\frac {1}{\alpha }}={\frac {1}{1-\beta }}=1+\beta +\beta ^{2}+\ldots +\beta ^{n}+\ldots }, on a :
    ${\bar {x}}_{t}=\lim _{n\to \infty }{\frac {x_{t}+\beta \ x_{t-1}+\beta ^{2}\ x_{t-2}\ +\ldots +\ \beta ^{n}\ x_{t-n}}{1+\beta +\beta ^{2}+\ldots +\beta ^{n}}}$
L'expression ci-dessus est pratique lorsque l'on veut trouver n coefficients d'un FIR approximant un filtre passe bas du premier ordre de constante de temps τ=Δt/−ln⁡(β) {\textstyle \tau ={\frac {\Delta t}{-\ln(\beta )}}} où $\Delta t$ est la période d'échantillonnage.

### Nature du filtre constitué par la moyenne mobile exponentielle

L'expression ∑$_{n=0}$$^∞$α(1−α)$^n$x$_{t−n}${\textstyle \sum _{n=0}^{\infty }\alpha (1-\alpha )^{n}x_{t-n}}, ci-avant, n'est autre qu'un produit de convolution discret entre un signal x$_t${\textstyle x_{t}} et un filtre passe-bas du premier ordre. En effet, en écrivant α(1−α)$^n${\textstyle \alpha (1-\alpha )^{n}} sous la forme α/ln⁡ 1/1−α ln⁡ 1/1−α e$^{−nln⁡1/1−α}${\textstyle {\frac {\alpha }{\ln {\frac {1}{1-\alpha }}}}\ln {\frac {1}{1-\alpha }}e^{-n\ln {\frac {1}{1-\alpha }}}}, on identifie la réponse impulsionnelle d'un filtre passe bas du premier ordre d'amplification −α/ln⁡(1−α) {\textstyle -{\frac {\alpha }{\ln(1-\alpha )}}} et dont la pulsation de coupure est −ln⁡(1−α){\textstyle -\ln(1-\alpha )}, exprimée en radians/échantillon. ln⁡(1−α){\textstyle \ln(1-\alpha )} est négatif, les paramètres du filtre sont donc bien positifs.
Pour considérer des formes plus adaptées au contexte, notons que la fréquence de coupure est de −ln⁡(1−α)/2π {\textstyle -{\frac {\ln(1-\alpha )}{2\pi }}} cycles/échantillon, soit une période de coupure de −2π/ln⁡(1−α) {\textstyle -{\frac {2\pi }{\ln(1-\alpha )}}} échantillons. Concrètement, lorsque x$_t${\textstyle x_{t}} varie assez rapidement, lorsque x$_t${\textstyle x_{t}} fluctue en moins de −2π/ln⁡(1−α) {\textstyle -{\frac {2\pi }{\ln(1-\alpha )}}} échantillons, la fluctuation se retrouve dans x$^¯$$_t${\textstyle {\bar {x}}_{t}} mais est d'autant plus affaiblie qu'elle est rapide. Plus précisément, l'atténuation est de 20 dB/décade.
Par conséquent, la moyenne mobile exponentielle souffre du principal défaut des filtres passe bas classiques, à savoir un déphasage des données. Cela se traduit par un retard entre l'évolution de x$^¯$$_t${\textstyle {\bar {x}}_{t}} et l'évolution des données x$_t${\textstyle x_{t}}, et ce retard dépend de la rapidité de l'évolution.

## Autres types de moyennes

Tout comme il existe une infinité de filtres dans le domaine du traitement du signal, il existe une infinité de moyennes glissantes. Dans cet article, seules les plus courantes ont été évoquées avec leurs particularités dans l'espace de Fourier, et il apparait qu'elles entraînent des déphasages qui nuisent à la qualité des résultats, ou posent des problèmes spectraux soulevées par l'échantillonnage sous-jacent aux produits de convolution discrets.
Une moyenne moins commune possède de meilleures caractéristiques. Elle se réalise par un filtre gaussien récursif. Bien qu'un filtre gaussien récursif parfait n'existe pas, il existe d'excellentes approximations d'ordre 4 grâce auxquelles seuls les défauts liés à l'échantillonnage subsistent (voir, par exemple, Deriche 1993). En effet, la transformée de Fourier d'une gaussienne est une gaussienne. Par conséquent, elle ne présente aucun déphasage, au contraire de la moyenne mobile exponentielle, et aucune oscillation, au contraire de la moyenne mobile arithmétique. Mais les calculs sont plus lourds (un filtre quasi-gaussien d'ordre 4 nécessite environ 16 opérations par valeur) et ces caractéristiques idéales ne sont rencontrées que si la moyenne est réalisée sur des données connues d'avance (un déphasage apparaît si seule la partie causale du filtre est utilisée).
Enfin, au lieu d'utiliser une moyenne, on peut utiliser un autre critère de position, typiquement la médiane.

## Généralisation

On peut voir la moyenne comme une régression par une droite horizontale. On peut à la place utiliser une régression polynomiale : sur la fenêtre glissante, on effectue une régression polynomiale, et la valeur au centre de la fenêtre est remplacée par la valeur du polynôme trouvé (valeur lissée). Ce type de filtre est « moins brutal » et permet également de déterminer la dérivée de la courbe lissée. Si l'espacement entre les échantillons est constant, la valeur lissée est simplement une combinaison linéaire des valeurs contenues dans la fenêtre, c'est-à-dire finalement une moyenne pondérée, les coefficients de pondération n'étant ni linéaires, ni exponentiels mais formant une « courbe en cloche » symétrique par rapport au centre de la fenêtre.

## Réponses impulsionnelles

On peut voir sur le graphique ci-contre la réponse impulsionnelle pour deux types de moyennes. On peut y lire les valeurs de la pondération utilisée, à une symétrie près (résultat Metastock v10).