Sie sind auf Seite 1von 11

Techniques d’analyse et de prévision de la conjoncture

6-837-77
Lissage exponentiel

Alvaro Leal et Jeroen V.K. Rombouts


H.E.C. - Montréal
9 janvier 2006

Contenu
1. Lissage exponentiel simple page 2
1.1.Définition
1.2. Choix de la constante de lissage page 3

2. Application page 4
3. Références page 11
1. Lissage exponentiel simple
1.1.Définition
Soit une série chronologique X 1 , X 2 , X 3 , . . . , X T − 2 , X T − 1 , X T . Nous sommes à la période T.
Nous voulons prédire X T + h où h est l’horizon de prévision. Pour ce faire, on fera appel à une
méthode qu’on appelle le lissage exponentiel simple.
Cette méthode se base sur le fait que plus les observations sont éloignées de la période T, plus
leur influence sur la prévision sera faible. On considère que cette influence décroît de façon
exponentielle. La formule va comme suit :
T −1
X T + h = ( 1 − α ) ∑ α j X T − j (1)
j=0

Selon la formule (1), X T + h ne dépend pas de l’horizon de prévision, et donc X T + h ≡ X T . La


formule (1) tient donc seulement pour les périodes 1 à T. Elle nous indique également que
X T est une moyenne des observations passées où le poids de chaque observation décroît de
façon exponentielle avec la distance1. Le coefficient α (0<α<1) se nomme la constante de
lissage. L’inclusion de la constante (1-α) fait en sorte que la somme des poids est inférieure
ou égale à 1. Plus α tend vers 1, plus la prévision sera influencée par les observations
éloignées dans le temps. D’ailleurs, on dit que la prévision est plus rigide à mesure que α
tend vers 1 dans la mesure où la prévision n’est pas sensible aux fluctuations à court terme.
Plus α tend vers 0, plus la prévision est influencée par les observations récentes. Soit α = 0.10
et T=3.

X 3 = 0.90 X 3 + 0.90*0.10 X 2 + 0.90*0.102 X 1

X 3 = 0.90 X 3 + 0.09 X 2 + 0.009 X 1

Dans l’exemple où l’on estime X 3 , on remarque que lorsque α est petit (0.10), l’observation
la plus récente étant X3 aura beaucoup d’influence (un poids de 0.90) sur X 3 .
On peut également réécrire (1) sous une forme adaptative, ce qui permet d’interpréter (1)
d’une autre manière. Voici la manière de procéder :

T −1
X T − 1 = ( 1 − α ) ∑ α j−1
X T − j−1 (2)
j=0

X T − 1 = ( 1 − α ) ( α − 1 X T − 1 + X T -2 + αX T −3 + ...) (3)
α X T − 1 = ( 1 − α ) ( X T − 1 + α X T -2 + α X 2
T −3 + ...) (4)
T −1
α X T − 1 = ( 1 − α ) ∑ α j X T − j (5)
j=1

 T −1 j T −1 
T − j = (1 − α )  ∑ α ∑
X − α X X T−j − α jX  (6)
T T − j
 j=0 j=1 
X T − α X T − 1 = ( 1 − α ) X T (7)
X T = α X T − 1 + ( 1 − α ) X T (8)
1
Dufour, Jean-Marie. Lissage exponentiel. Université de Montréal. Première version : mars 1987, Dernière
révision : 17 février 2003. 13 pages

2
X T = X T − 1 + ( 1 − α ) ( X T − X T − 1 ) (9)

À partir de (8), on peut interpréter X T comme étant une moyenne pondérée entre la valeur
estimée X T − 1 faite en (T-1) et la dernière observation de la série2. On pose X 1 = X 1 et on
initialise le processus de lissage à t=1. L’avantage de (8) est qu’on n’a pas à lisser tout le
processus de nouveau lorsqu’une nouvelle observation s’ajoute à la série. La formule (9) est
écrite sous forme adaptative où X T est équivalent à la valeur estimée X T − 1 faite en (T-1) plus
un terme de correction proportionnel à la différence entre la valeur réalisée en (T) et la valeur
estimée en (T-1).

1.2.Choix de la constante de lissage

Pour choisir la constante de lissage, il s’agit de minimiser le critère suivant, qui correspond à
la somme au carré de l’erreur de prévision :
T −ho

∑t=1
(X t+ho − X t )

Pour ho=1, le critère à minimiser est le suivant :

T −1  t−1 
∑ X t+1 − (1 − α ) ∑ α j X t− j 
t=1  j=0 

Pour voir la solution analytique du problème qui permettra de trouver une constante de
lissage, consultez Gourieroux et Monfort3 (1983). RATS 6.10 calcule le α pour nous (voir
application).

2. Application
2
Gourieroux C. et A. Monfort, Cours de séries temporelles. Collection économie et statistiques avancées.
Economica. 1983. Chapitre 4.
3
Idem

3
*Simulation de la série X1
seed 4
allocate 300
compute nbeg=1, nend=300, nlead=24
zero X1
equation 1 X1
# constant X1{1}
associate(variance=1) 1
# 0.5 0.5
simulate 1 nend 2
# 1 X1
*Lissage exponentiel simple lorsque la constante de lissage est proche de 1
esmooth(alpha=0.95,smoothed=x1_a1) X1 nbeg nend foreX1_a1 nlead
*
*Lissage exponentiel simple lorsque la constante de lissage est proche de 0
esmooth(alpha=0.05,smoothed=X1_a2) X1 nbeg nend foreX1_a2 nlead
*
spgraph(vfields=3)
graph(header='Série X1 en niveau') 1
# X1 nbeg nend
graph(header='Lissage exponentiel simple de la série X1 avec un alpha élevé') 1
# X1_a1 nbeg nend
graph(max=4.0,min=-2.0,header='Lissage exponentiel simple de la série X1 avec un
alpha faible') 1
# X1_a2 nbeg nend
spgraph(done)

Série X1 en niveau
4
3
2
1
0
­1
­2
20 40 60 80 100 120 140 160 180 200 220 240 260 280 300

Lissage exponentiel simple de la série X1 avec un alpha élevé
4
3
2
1
0
­1
­2
20 40 60 80 100 120 140 160 180 200 220 240 260 280 300

Lissage exponentiel simple de la série X1 avec un alpha faible
4
3
2
1
0
­1
­2
20 40 60 80 100 120 140 160 180 200 220 240 260 280 300

La figure 1 représente la série en niveau et les séries avec lissage exponentiel simple

*
*Calcul des poids
*Alpha de 0.95
set trend nbeg nend = t

4
set temps nbeg nend = -(t-300)
set poids_a1 nbeg nend = (1-0.95)*0.95**(temps)
print nend-80 nend poids_a1

ENTRY POIDS_A1
220 0.000825768719
221 0.000869230231
222 0.000914979190
223 0.000963135990
224 0.001013827358
225 0.001067186692
226 0.001123354413
227 0.001182478329
228 0.001244714031
229 0.001310225296
230 0.001379184522
231 0.001451773181
232 0.001528182296
233 0.001608612943
234 0.001693276782
235 0.001782396613
236 0.001876206961
237 0.001974954695
238 0.002078899679
239 0.002188315452
240 0.002303489949
241 0.002424726262
242 0.002552343434
243 0.002686677299
244 0.002828081368
245 0.002976927755
246 0.003133608163
247 0.003298534909
248 0.003472142009
249 0.003654886326
250 0.003847248764
251 0.004049735541
252 0.004262879517
253 0.004487241597
254 0.004723412207
255 0.004972012849
256 0.005233697736
257 0.005509155512
258 0.005799111065
259 0.006104327437
260 0.006425607828
261 0.006763797714
262 0.007119787067
263 0.007494512702
264 0.007888960739
265 0.008304169199
266 0.008741230736
267 0.009201295512
268 0.009685574223
269 0.010195341287
270 0.010731938197
271 0.011296777050
272 0.011891344263
273 0.012517204487
274 0.013176004723
275 0.013869478656
276 0.014599451217
277 0.015367843386
278 0.016176677249
279 0.017028081314
280 0.017924296120
281 0.018867680127

5
282 0.019860715923
283 0.020906016761
284 0.022006333433
285 0.023164561508
286 0.024383748956
287 0.025667104164
288 0.027018004383
289 0.028440004614
290 0.029936846962
291 0.031512470486
292 0.033171021564
293 0.034916864805
294 0.036754594531
295 0.038689046875
296 0.040725312500
297 0.042868750000
298 0.045125000000
299 0.047500000000
300 0.050000000000

spgraph(vfield=3)
graph(header='Série X1 en niveau') 1
# X1 nbeg nend
graph(header='Lissage exponentiel simple de la série X1 avec un alpha élevé') 1
# X1_a1 nbeg nend
graph(header='Poids pour série lissée avec alpha élevé') 1
# poids_a1 nbeg nend
spgraph(done)

Série X1 en niveau
4
3
2
1
0
­1
­2
20 40 60 80 100 120 140 160 180 200 220 240 260 280 300

Lissage exponentiel simple de la série X1 avec un alpha élevé
4
3
2
1
0
­1
­2
20 40 60 80 100 120 140 160 180 200 220 240 260 280 300

Poids pour série lissée avec alpha élevé
0.056
0.048
0.040
0.032
0.024
0.016
0.008
0.000
20 40 60 80 100 120 140 160 180 200 220 240 260 280 300

La figure 2 représente la série en niveau, la série lissée et les poids lorsque alpha=0.95

*Alpha de 0.05
set poids_a2 nbeg nend = (1-0.05)*0.05**(temps)
print nend-10 nend poids_a2

6
ENTRY POIDS_A2
290 0.000000000000
291 0.000000000002
292 0.000000000037
293 0.000000000742
294 0.000000014844
295 0.000000296875
296 0.000005937500
297 0.000118750000
298 0.002375000000
299 0.047500000000
300 0.950000000000

spgraph(vfield=3)
graph(header='Série X1 en niveau') 1
# X1 nbeg nend
graph(max=4,min=-2,header='Lissage exponentiel simple de la série X1 avec un alpha
faible') 1
# X1_a2 nbeg nend
graph(header='Poids pour série lissée avec alpha faible') 1
# poids_a2 nbeg nend
spgraph(done)

Série X1 en niveau
4
3
2
1
0
­1
­2
20 40 60 80 100 120 140 160 180 200 220 240 260 280 300

Lissage exponentiel simple de la série X1 avec un alpha faible
4
3
2
1
0
­1
­2
20 40 60 80 100 120 140 160 180 200 220 240 260 280 300

Poids pour série lissée avec alpha faible
1.0
0.8
0.6
0.4
0.2
0.0
20 40 60 80 100 120 140 160 180 200 220 240 260 280 300

La figure 3 représente la série en niveau, la série lissée et les poids lorsque alpha=0.05

graph(pattern,header='Prévisions avec le lissage exponentiel simple',key=upleft) 3


# X1 nend-80 nend
# foreX1_a1 nend+1 nend+nlead

7
# foreX1_a2 nend+1 nend+nlead

Prévisions avec le lissage exponentiel simple
4.0
X1
FOREX1_A1
3.2 FOREX1_A2

2.4

1.6

0.8

0.0

­0.8

­1.6
220 230 240 250 260 270 280 290 300 310 320

La figure 4 représente les prévisions effectuées avec le lissage exponentiel simple.


La série X1 représente la série originale, la série FOREX1_A1 représente la prévision avec un alpha
élevé, la série FOREX1_A2 représente la prévision avec un alpha faible.

*
*
*
*RATS estime pour nous la constante de lissage
esmooth(smoothed=alpha_optimal,constraint,estimate,print) X1 nbeg nend fore_optimal
nlead

Exponential Smoothing for Series X1


Model with TREND=None , SEASONAL=None
Alpha (level) 0.489143
*
*
*Calul des poids pour solution optimal
set poids_optimal nbeg nend = (1-0.489143)*0.489143**(temps)
print nend-40 nend poids_optimal

ENTRY POIDS_OPTIMAL
260 0.000000000000
261 0.000000000000
262 0.000000000001
263 0.000000000002
264 0.000000000003
265 0.000000000007
266 0.000000000014
267 0.000000000029
268 0.000000000059
269 0.000000000120
270 0.000000000246
271 0.000000000503
272 0.000000001029
273 0.000000002104
274 0.000000004302
275 0.000000008794
276 0.000000017979

8
277 0.000000036756
278 0.000000075143
279 0.000000153622
280 0.000000314063
281 0.000000642067
282 0.000001312637
283 0.000002683544
284 0.000005486215
285 0.000011215974
286 0.000022929847
287 0.000046877593
288 0.000095836173
289 0.000195926698
290 0.000400550960
291 0.000818883149
292 0.001674118098
293 0.003422553523
294 0.006997040789
295 0.014304693697
296 0.029244400303
297 0.059787015869
298 0.122228092538
299 0.249882125551
300 0.510857000000

*
*Graphique de la solution optimale
spgraph(header='Solution optimale calculée par RATS',vfield=3)
graph(header='série x1') 1
# x1 nbeg nend
graph(max=4,min=-2,header='série lissée optimale') 1
# alpha_optimal nbeg nend
graph(header='poids optimaux pour série lissée')
# poids_optimal nbeg nend
spgraph(done)

Solution optimale calculée par RATS
série x1
4
3
2
1
0
­1
­2
20 40 60 80 100 120 140 160 180 200 220 240 260 280 300

série lissée optimale
4
3
2
1
0
­1
­2
20 40 60 80 100 120 140 160 180 200 220 240 260 280 300

poids optimaux pour série lissée
0.56
0.48
0.40
0.32
0.24
0.16
0.08
0.00
20 40 60 80 100 120 140 160 180 200 220 240 260 280 300

La figure 5 représente la solution optimale calculée par RATS

graph(patterns,header='Prévisions avec solution optimal, alpha faible et alpha


élevé',key=loleft) 4
# x1 nend-80 nend

9
# fore_optimal nend+1 nend+nlead
# forex1_a1
# forex1_a2

Prévisions avec solution optimale, alpha faible et alpha élevé
4.0

3.2

2.4

1.6

0.8

0.0
X1
FORE_OPTIMAL
­0.8
FOREX1_A1
FOREX1_A2
­1.6
220 230 240 250 260 270 280 290 300 310 320

La figure 6 représente les prévisions avec la solution optimale selon RATS.


La série X1 est la série originale, la série FOREX1_A1 représente la prévision avec un alpha élevé
(0.95), la série FOREX1_A2 représente la prévision avec un alpha faible (0.05) et la série
FORE_OPTIMAL est la prévision avec l’alpha optimal (0.4891)

10
3. Références
Diebold, Francis (2004), Elements of forecasting, Third Edition, Thomson South-Western,
Pages 362-366.

Dufour, Jean-Marie (2003), Lissage exponentiel, Université de Montréal, 13 pages.

Gourieroux C. et A. Monfort (1983), Cours de séries temporelles, Collection économie et


statistiques avancées, Economica, Chapitre 4.

11

Das könnte Ihnen auch gefallen