• Aucun résultat trouvé

Lissage exponentiel simple

5.4 Significativité illusoire en régression

6.1.1 Lissage exponentiel simple

Supposons une série y1, y2,· · · , sans saisonnalité et montrant une tendance loca-lement constante, c’est-à-dire que son niveau reste à peu près constant pour des

 Présentation classique - approche descriptive . Il est naturel de prédire

yt+1par une moyenne pondérée des valeurs passées y1, y2,· · · , yt:

μt= c0yt+ c1yt−1+ c2yt−2+· · · .

Les ci sont des poids positifs à définir. Comme la série évolue peu d’une date sur l’autre, on choisit de la prédire à un horizon h, pas trop élevé, par

yt+h|t= μt, ∀h ≥ 1. (6.1)

Comme la série évolue au cours du temps, il est logique d’affecter un poids plus important aux valeurs récentes qu’à celles du début de la série, on choisit des poids géométriques :

ci= α(1− α)i, i = 0, 1,· · ·

où α est une constante, 0 < α < 1. Ainsi, dans cette méthode de prévision, on choisit de prédire yt+1par :

μt= αyt+ α(1− α)yt−1+ α(1− α)2y

t−2+· · · . (6.2)

On peut voir une récurrence dans (6.2) :

μt= αyt+ (1− α)(αyt−1+ α(1− α)1y

t−2+· · · )

= αyt+ (1− α)μt−1. (6.3)

La deuxième ligne de (6.3) est la formule de mise à jour de la prédiction quand arrive une nouvelle observation. Posons :

et= yt− μt−1, (6.4)

c’est l’erreur sur yt quand on le prédit à partir de la série jusqu’en t− 1. On a

encore

μt= μt−1+ αet. (6.5)

Vu (6.1), la prévision ne dépend pas de l’horizon et μt−1 est aussi la prévision de yt+1, connaissant la série jusqu’en t− 1. La nouvelle prévision à l’horizon 1

est ainsi une combinaison convexe de l’ancienne prévision à l’horizon 2 et de la dernière valeur observée. L’écriture (6.5) est la forme dite à correction d’erreur. Ce modèle est aussi appelé modèle à moyenne localement constante et la prévision

μtest le niveau local noté également lt. L’équation (6.3) s’écrit donc

lt= αyt+ (1− α)lt−1

ou

lt= lt−1+ αet. (6.6)

C’est une équation de mise à jour de la prévision quand arrive une nouvelle obser-vation. Plus α est proche de 1,

– plus les poids décroissent rapidement et moins les valeurs anciennes interviennent dans la moyenne pondérée ;

– plus le passé récent est important par rapport au passé éloigné ;

– plus la correction de la prévision est importante quand arrive une nouvelle ob-servation.

Bien qu’il y ait un nombre fini d’observations, on peut raisonner et calculer sur cette expression infinie sans perdre beaucoup de précision (voir la vignette Anx6). Si on pose μ1 = y1, α étant choisi, on dispose d’une formule complète de mise à jour de la prédiction à l’horizon 1 quand arrive une nouvelle observation. C’est une formule très simple. La procédure décrite par (6.3) s’appelle lissage exponentiel

simple (SES) pour Simple Exponential Smoothing : exponentiel parce que les poids

(qui forment une suite géométrique) décroissent exponentiellement. Notons enfin qu’on a parlé de « modèle » : il s’agit d’un modèle descriptif et non probabiliste. On prend souvent α entre 0.1 et 0.3, les observations anciennes ont donc un poids élevé. On peut également l’estimer sur la série disponible : pour une valeur de α, on calcule la suite des erreurs e1, e2,· · · , eN puis on forme

e2i. On retient la valeur de α qui minimise cette somme. Habituellement la courbe de la somme des carrés des erreurs en fonction de α est assez plate près de l’optimum et le choix n’a pas à être très précis. Si cette valeur optimale se trouve au bord de l’intervalle (0, 1), il faut envisager une autre méthode de prévision.

 Approche inférentielle du SES. Considérons (6.4), etest l’erreur de prévi-sion à l’horizon 1. Dans le cadre des séries linéaires et causales, et s’appellerait

innovation (cf. section 4.4.3). et intervient également dans (6.6) pour mettre à

jour la prévision à l’horizon 1 quand yt est disponible. Cette lecture du lissage exponentiel simple amène à introduire un modèle probabiliste.

Définition 6.1 (Modèle de lissage exponentiel simple)

La série ytobéit à un modèle de lissage exponentiel simple si elle vérifie :

lt= lt−1+ αt

yt= lt−1+ t, (6.7)

où tbruit blanc gaussien est l’innovation, ltest l’état.

Ce modèle est décrit par deux équations :

– l’équation qui relie l’état à une date, à l’état à la date précédente, est l’équation d’état ou de transition ;

– l’équation qui donne la série observée en fonction de l’état lt−1 (ici unidimen-sionnel) non observé est l’équation d’observation.

C’est un exemple de modèle à représentation espace-état. Une représentation es-pace état est l’écriture d’un modèle de série temporelle à l’aide de deux équations : l’une, l’équation de transition, donne l’évolution de l’état, vecteur auxiliaire dont

certaines composantes peuvent présenter un intérêt, l’autre, l’équation d’observa-tion, exprime la série observée en fonction de l’état et de l’innovation. Ce découpage est particulièrement commode pour la prévision et permet de construire un modèle en associant différents mécanismes (pour la tendance, la saisonnalité...).

On peut observer que les erreurs dans les deux équations de la représentation (6.7) dépendent du même bruit blanc, d’où le nom de modèle à une seule source d’erreur ou SSOE (Single Source Of Error ).

Remarques

1. L’interprétation donnée à α dans l’approche descriptive demeure valable : plus il est élevé, plus le niveau lt peut changer au cours du temps.

2. Il n’y a généralement pas une unique représentation espace-état pour un modèle donné.

3. Si l’on peut donner à un modèle une représentation espace-état, on retrouve une écriture standard et il est alors assez facile d’écrire la maximisation de vraisem-blance. Sans le recours à une telle représentation, les moindres variations dans la définition du modèle peuvent donner lieu à des complications importantes dans l’écriture de l’estimation.

4. Il existe des modèles à représentation espace-état à plusieurs sources d’erreur ou MSOE (Multiple Source Of Error ), le modèle BSM estimé dans R par StructTS()en est un exemple. Ils s’estiment par le filtre de Kalman.

5. On devrait rejeter (6.7) comme modèle de yt si la série des résidus obtenus t n’est pas un bruit blanc. Toutefois on se contente dans ces modèles d’un examen sommaire de la blancheur du résidu. C’est l’examen de la série qui a priori oriente vers le choix d’un tel modèle.

De l’équation (6.7) nous pouvons déduire une forme réduite du modèle de yt. Par différenciation, nous voyons que ytsuit un ARIMA(0,1,1) :

(1− B)yt= t− (1 − α)t−1. (6.8)

Si la série suit effectivement un modèle ARIMA(0,1,1), la prévision par SES est optimale. Notons que α = 1 correspond à une marche aléatoire.

En résumé, on est parti d’une idée assez intuitive de mécanisme de prédiction. Or on voit que ce mécanisme décrit également une représentation espace-état d’un ARIMA(0,1,1), d’où l’optimalité de ce mécanisme pour des séries de ce type. L’approche traditionnelle du lissage exponentiel peut se faire par HoltWinters() de stats. Nous utilisons la fonction ets() de forecast, basée sur l’approche par représentation espace-état et qui donne des estimations des paramètres par maxi-mum de vraisemblance. Le lissage exponentiel simple d’une série y est obtenu par ets(y,model="ANN")dont la syntaxe est expliquée après l’exemple qui suit. Exemple 6.1 (fmsales) La série fmsales de expsmooth donne les ventes d’un produit sur 62 semaines à partir du début de 2003. On veut en faire la prévision à l’horizon 4 par SES. Le code nécessaire est :

> require(expsmooth)

> ets0=ets(fmsales,model="ANN") > summary(ets0)

ETS(A,N,N) Call:

ets(y = fmsales, model = "ANN") Smoothing parameters:

alpha = 0.7312 Initial states:

l = 23.4673

sigma: 3.5496

AIC AICc BIC

416.9693 417.1727 421.2236 In-sample error measures:

ME RMSE MAE MPE MAPE

0.20127166 3.54958451 2.35036107 0.09804668 6.94976638 MASE

0.94658312

La première lettre A de model="ANN" signifie que l’erreur est additive, la deuxième lettre concerne la tendance, N indique qu’il n’y en a pas, la troisième lettre concerne la saisonnalité, N indique qu’il n’y en a pas. Le modèle de lissage exponentiel est estimé par maximum de vraisemblance, par l’intermédiaire de la représentation espace-état. On obtient notamment :

– l’estimation de α ;

– l’estimation de l1, état initial. On peut voir qu’il est de l’ordre de grandeur des premières valeurs de la série ;

– l’écart type du bruit tdans (6.7) ; – des critères d’information ;

– des mesures d’erreur intra-échantillon, voir la remarque ci-dessous. La fonction predict() donne les prédictions à l’horizon qu’on choisit.

> (aaa=predict(ets0,4)) Point Forecast Lo 80 Hi 80 Lo 95 Hi 95 63 32.59211 28.04314 37.14109 25.63506 39.54917 64 32.59211 26.95672 38.22751 23.97352 41.21070 65 32.59211 26.04825 39.13597 22.58414 42.60008 66 32.59211 25.25136 39.93286 21.36541 43.81882

On observe que la prédiction est bien constante. La valeur 32.592 n’est autre que la prévision à l’horizon 1 à partir de la dernière observation (6.5). Elle est obtenue par

> e_t=fmsales[62]-ets0$fitted[62] > ets0$fitted[62]+ets0$par[1]*e_t

alpha 32.59211

Pour avoir l’ensemble des sorties de predict(), on examine str(aaa). Les gra-phiques (fig. 6.1 et 6.2) de la série et de sa prévision avec, par défaut, des intervalles de prévision à 80 et 95%, s’obtiennent par :

> plot(fmsales,xlab='temps',ylab='Ventes',

+ main=expression(paste("S´erie",plain(fmsales))))

> plot(aaa,xlab='temps',ylab='Ventes',

+ main=expression(paste("Pr´ediction de ",plain(fmsales),"`a l'horizon 4")))

0 10 20 30 40 50 60 25 30 35 40 45 50

Fig. 6.1 – Série fmsales.

0 10 20 30 40 50 60 25 30 35 40 45 50

Fig. 6.2 – Prédiction par lissage expo-nentiel simple de fmsales.

Hyndman & Khandakar (2008) ou Hyndman et al. (2008) développent les questions théoriques et pratiques de cette approche, seulement esquissée ici.

Exercice 6.1 (Compléments sur fmsales) Examiner la sortie ets0 puis :

1. Rep´erer l’´etat initial, v´erifier (6.7) sur quelques observations. 2. Expliquer pourquoi ets0$mse = ets0$sigma2 (cf. section 4.4). 3. Donner les param`etres de ce mod`ele en plus de la variance du bruit. 4. Tester la blancheur du r´esidu.

Exercice 6.2 (Lissage exponentiel simple par la méthode de Holt-Winters) 1. Faire la pr´evision de fmsale `a l’horizon 4 `a l’aide de la fonction HoltWinters(). 2. Comparer dans les deux approches les valeurs du param`etreα, les vecteurs donnant le

Remarque (Mesures d’erreur intra-échantillon)

La fonction summary() appliquée à une sortie de ets() ou de Arima() fournit un certain nombre de mesures d’erreur intra-échantillon décrites par Hyndman

et al. (2008). Ces mesures sont basées sur l’erreur de prévision à l’horizon 1 dans

l’échantillon, c’est-à-dire sur yt− yt|t−1, l’innovation, notée et ou zt, estimée par zt.

Ainsi nous avons les mesures suivantes, exprimées dans les unités de y : – ME = (1/n)

et, Mean Error ; – RMSE =

(1/n)

e2t, Root Mean Square Error qui est évidemment la racine carrée de l’erreur quadratique moyenne, MSE ;

– MAE = (1/n)

|et|, Mean Absolute Error.

Les autres mesures sont données en pourcentage. Si nous notons l’erreur en pour-centage pt= 100et/yt, alors les autres mesures proposées s’écrivent :

– MPE = (1/n)

pt, Mean Percentage Error ; – MAPE = (1/n)

|pt|, Mean Absolute Percentage Error.

Ces erreurs relatives sont utiles pour comparer des ajustements sur des données différentes, mais si ytest proche de 0, l’erreur pt se trouve amplifiée. La dernière mesure, le MASE, corrige ce problème. Posons

qt= 1 et

n−1 n

i=2|yi− yi−1|

le dénominateur de qtest, en quelque sorte, l’erreur moyenne absolue si on prédit une observation par l’observation précédente, alors,

– MASE = (1/n)

qt.