# Lissage exponentiel

Le lissage exponentiel est une méthode empirique de lissage et de prévision de données chronologiques affectées d'aléas. Comme dans la méthode des moyennes mobiles, chaque donnée est lissée successivement en partant de la valeur initiale. Le lissage exponentiel donne aux observations passées un poids décroissant exponentiellement avec leur ancienneté. Le lissage exponentiel est une des méthodes de fenêtrage utilisées en traitement du signal. Elle agit comme un filtre passe-bas en supprimant les fréquences élevées du signal initial.
La série de données brutes est notée $\{y_{t}\}$, commençant à $t=0$. Le résultat du lissage exponentiel est noté $\{s_{t}\}$ ; celui-ci peut être vu comme une estimation ${\hat {y}}_{t}$ de $y_{t}$, débarrassé des aléas (en traitement du signal, on dit du bruit) en fonction du passé. Le résultat dépend cependant de la pratique de l'utilisateur (choix du facteur de lissage).
Le lissage exponentiel n'a vraiment d'intérêt que pour des données à peu près stationnaires (c'est-à-dire qui ne sont pas affectées de fortes croissances ou décroissances ou de variations saisonnières). Lorsqu'il existe une tendance, on doit compliquer la méthode (lissage exponentiel double). Elle n'apporte aucune aide pour le traitement des données saisonnalisées. De caractère empirique, la méthode ne fournit pas d'indications sur les propriétés statistiques des résultats.
Pour une série commençant à $t=0$, le résultat du lissage exponentiel simple est donné par les formules suivantes :
       $s_{0}=y_{0}$
       pour $t>0$ :
       $s_{t}=\alpha y_{t}+(1-\alpha )s_{t-1}$
       où $\alpha$ est le facteur de lissage, avec $0<\alpha <1$

## Lissage exponentiel simple

Le fenêtrage exponentiel ou lissage exponentiel simple est attribué à Poisson qui aurait généralisé des méthodes utilisées dès le xviie siècle ; cette méthode fut adoptée par les spécialistes de traitement du signal dans les années 1940.
L'expression la plus élémentaire du lissage exponentiel simple est donnée par l'expression :
       $s_{t}=\alpha \cdot y_{t}+(1-\alpha )\cdot s_{t-1}$
La méthode est applicable quand on dispose de deux valeurs brutes ou plus.
Le paramètre α est un facteur de lissage compris entre 0 et 1. En d'autres termes, s$_t$ peut être vu comme une moyenne pondérée entre la valeur actuelle y$_t$ et la valeur lissée précédente s$_{t–1}$. Le nom « facteur de lissage » donné à α est trompeur dans la mesure où le lissage diminue quand α augmente et que, dans le cas limite où α = 1, la série lissée est identique à la série brute.
Les valeurs de α proches de 1 réduisent l'incidence du passé et donnent plus de poids aux valeurs récentes ; inversement, les valeurs proches de 0 augmentent le lissage et réduisent l'incidence des valeurs récentes. Il n'y a pas de méthode générale pour déterminer la « bonne valeur » de α. Celle-ci résulte de l'expérience de l'analyste. On peut, dans certains cas, choisir la valeur de α qui minimise la quantité (s$_t$ – y$_t$)$^2$ (minimisation des carrés de l'erreur de prévision).
Contrairement à d'autres méthodes, le lissage exponentiel ne nécessite pas un nombre minimum de données pour être appliqué (la méthode fonctionne dès la seconde donnée disponible). Toutefois, un « bon » lissage ne sera obtenu qu'après qu'un certain nombre de données aient été lissées ; par exemple, il faudra environ 3/α données bruitées d'un signal constant pour que celui-ci soit approché à 95 %. Contrairement à la moyenne mobile, le lissage exponentiel ne supporte pas les données manquantes.
Techniquement, le lissage exponentiel est un processus ARIMA (en) de classe (0, 1, 1) sans constante.

### Constante de temps

La constante de temps d'un lissage exponentiel est le temps nécessaire pour que la réponse lissée d'un signal constant atteigne 1 – 1/e ≃ 63% du signal. Cette constante de temps τ est liée au facteur de lissage α par la relation :
    $\alpha =1-\mathrm {e} ^{\frac {-\Delta \mathrm {T} }{\tau }}$
où ΔT est la durée de l'intervalle d'échantillonnage des données discrètes. Si cette durée est petite par rapport à la constante de temps, cette expression se simplifie en :
    $\alpha \simeq {\frac {\Delta \mathrm {T} }{\tau }}$.

### Choix de la valeur initiale

Le lissage exponentiel démarre en posant que s$_0$ = x$_0$. On suppose donc que la première valeur lissée est égale à la première valeur brute observée. Si α est petit, les valeurs lissées dépendent fortement du passé ; la valeur initiale s$_0$ peut donc influer fortement sur les valeurs suivantes. Le choix de la valeur de démarrage du processus de lissage est donc important. On peut, par exemple, retenir comme valeur initiale du lissage la moyenne des dix valeurs précédentes (ou plus ou moins selon la nature des données brutes). Plus $\alpha$ est petit, plus les résultats obtenus dépendent des valeurs initiales.

### Optimisation

Les résultats du lissage exponentiel dépendent du choix du paramètres de lissage α. Le lissage exponentiel est une méthode empirique et le choix de ce paramètre dépend souvent de l'expérience et des connaissances de l'analyste. On peut toutefois se fonder sur des considérations plus objectives, liées aux données, pour déterminer le « meilleur α » :
    Chaque nouvelle valeur lissée s$_t$ est une « prévision » ${\hat {y}}_{t}$ de y$_t$.
On obtient la meilleure prévision (au sens des moindres carrés) en recherchant la valeur de $\alpha$ qui minimise la somme des carrés des écarts (SCE):
    $\mathrm {SCE} =\sum _{t=1}^{\mathrm {T} }(y_{t}-{\hat {y}}_{t|t-1})^{2}=\sum _{t=1}^{\mathrm {T} }e_{t}^{2}$
Toutefois, contrairement à la régression linéaire où les paramètres minimisant SCE sont obtenus en résolvant des équations linéaires, les équations à résoudre ici ne sont pas linéaires : on doit donc estimer α avec un algorithme de minimisation.

### Pourquoi ce lissage est-il « exponentiel » ?

Le terme « exponentiel » décrit les poids qui sont affectés aux valeurs passées dans l'évaluation de la valeur actuelle : comme
    $s_{t}=\alpha y_{t}+(1-\alpha )s_{t-1}$
on obtient, en substituant s$_{t–1}$ par sa valeur :
    $s_{t}=\alpha y_{t}+\alpha (1-\alpha )y_{t-1}+(1-\alpha )^{2}s_{t-2}$
et en continuant les substitutions :
    $s_{t}=\alpha \left[y_{t}+(1-\alpha )y_{t-1}+(1-\alpha )^{2}y_{t-2}+(1-\alpha )^{3}y_{t-3}+\cdots +(1-\alpha )^{t-1}y_{1}\right]+(1-\alpha )^{t}y_{0}$
Le poids des données dans l'évaluation de la valeur actuelle décroit en raison géométrique de leur ancienneté par rapport à la valeur actuelle, c'est-à-dire selon une fonction exponentiellement décroissante.

### Comparaison avec la moyenne mobile

Comme le lissage par moyenne mobile, le lissage exponentiel introduit dans les résultats un délai qui dépend de la période d’échantillonnage des données. Dans le lissage par moyenne mobile, on peut compenser cet effet en décalant les valeurs lissées d'une valeur égale à la moitié de la largeur de la fenêtre de lissage (pour une fenêtre de lissage symétrique). Ceci n'est pas possible avec le lissage exponentiel. Du point de vue du calcul, une moyenne mobile exige de conserver en mémoire les k dernières valeurs (pour un fenêtrage de largeur k) alors que le lissage exponentiel ne nécessite de conserver que la dernière valeur passée.

## Lissage exponentiel double

Le lissage exponentiel simple ne donne pas de bons résultats lorsque les données brutes présentent une tendance ou des tendances. Les valeurs lissées présentent une sous-estimation ou une sur-estimation systématique selon le sens de la tendance. Les méthodes de lissage exponentiel double ont pour objet de lisser le niveau des données (c'est-à-dire d'éliminer les variations aléatoires) et de lisser la tendance, c'est-à-dire d'éliminer l'effet de la tendance sur les valeurs lissées.
Il existe deux méthodes de lissage exponentiel double, la méthode de Holt (en) étendue par Winters et la méthode de Brown (en)

### Méthode de Holt-Winters

Les données commencent au temps t = 0 ; de nouveau {y$_t$} est la série des données brutes. On dispose au moins des données y$_0$ et y$_1$. Le terme s$_t$ est la série des valeurs lissées et {σ$_t$} les estimations de la tendance.
    $s_{1}=y_{1}$
    $\sigma _{1}=y_{1}-y_{0}$
pour t > 1 :
    $s_{t}=\alpha y_{t}+(1-\alpha )(s_{t-1}+\sigma _{t-1})$
    $\sigma _{t}=\beta (s_{t}-s_{t-1})+(1-\beta )\sigma _{t-1}$
Le choix de la valeur initiale y$_0$ est une question de pratique ; on peut prendre comme point de départ une moyenne d'un certain nombre de valeurs passées précédentes.
À partir de la période t, une prévision à la période t + m est donnée par :
    $\mathrm {P} _{t+m}=s_{t}+m\sigma _{t}$

### Méthode de Brown

À partir des données initiales y$_0$ et y$_1$, on calcule :
    $s'_{0}=y_{0}$
    $s''_{0}=y_{0}$
    $s'_{t}=\alpha y_{t}+(1-\alpha )s'_{t-1}$
    $s''_{t}=\alpha s'_{t}+(1-\alpha )s''_{t-1}$
la valeur lissée pour t ≥ 1 est :
    $a_{t}=2s'_{t}-s''_{t}$
et l'estimation de la tendance :
    $b_{t}={\frac {\alpha }{1-\alpha }}(s'_{t}-s''_{t})$

## Application du lissage exponentiel

Le lissage exponentiel simple, double ou même triple a été beaucoup utilisé en traitement analogique du signal. Cette méthode est aussi beaucoup utilisée, de façon empirique pour les prévisions de ventes, la gestion des stocks, etc. Aussi bien pour le traitement du signal numérique qu'en matière de modélisation et de prévision, des méthodes moins empiriques, mais exigeant plus de calcul sont apparues depuis les années 1970. Pour la modélisation et la prévision, les modèles ARIMA (en), plus généraux et mieux fondés théoriquement incluent implicitement le lissage exponentiel.

### Mise en œuvre logicielle

* Langage R : Méthode de Holt-Winters dans la bibliothèque stats et la fonction ets dans la bibliothèque forecast (mise en œuvre complète conduisant à de meilleurs résultats).
* IBM SPSS comporte : les lissages simple et saisonnalisé, la méthode à tendance de Holt, la tendance amortie, la méthode de Winters pour les tendances additive et multiplicative dans l'extension Modeler statistical/Time-Series modeling procedure.
* Python : associé à NumPy, la bibliothèque statsmodels propose des lissages multiples, dont la méthode de Holt-Winters
* Stata : commande tssmooth
* LibreOffice 5.2
* Microsoft Excel 2016