Vous êtes sur la page 1sur 37

26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles

Projet Machine Learning pour la Prévision: séries


temporelles
Yannig Goude

Introduction

l’objectif principal de l’analyse d’une série temporelle est la prévision de ses futures
réalisations en se basant sur ses valeurs passées

Une série temporelle Yt est communément décomposée en tendance, saisonnalité,


bruit:

Y t = Tt + St + εt

la tendance Tt correspondant à une évolution à long terme de la série, par exemple:

tendance linéaire: Tt = a + bt

tendance quadratique: Tt = a + bt + ct2


tendance logarithmique: Tt = log(t)

la saisonnalité St correspondant à un phénoméne périodique de période identifiée

l’erreur εt qui est la partie aléatoire de la série

Le but cette décomposition est de se ramener à un bruit εt stationnaire. Cette décomposition


pouvant être additive, multiplicative Y t = Tt ∗ St ∗ εt ou des combinaisons des deux:

Y t = (Tt + St ) ∗ εt

Y t = (Tt ∗ St ) + εt . . .

https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 1/37
26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles

voir Hyndman et al. (2008) Forecasting with exponential smoothing: the


state space approach, Springer-Verlag.
http://www.exponentialsmoothing.net.

nous nous intéressons ici aux méthodes de base (modélisation de série chro. linéaires):

Projet Machine Learning pour la Prévision: séries


lissages exponentiels, modéles de régression (régression linéaire, modéles non-
paramétriques. . . ), modéles SARIMA

 
temporelles
Yannig Goude

https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 2/37
26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles

Stationnarité

dé nition soit un processus aléatoire (Y t )t∈Z , il est dit stationnaire au sens fort (ou
strictement) si pour toute fonction f mesurable et
Projet Machine Learning pour la Prévision: séries
f(Y 1 , Y 2 , . . . , Y t )

ont la
f(Y 1+h , Y 2+h , . . . , Y t+h ) même loi.

temporelles
Cette notion de stationnarité forte est très difficile à vérifier en pratique. On lui préfère
généralement la notion de stationnaritéYannig Goude
faible qui porte sur les moments d’ordre 1 et 2 du
processus.

dé nition la fonction d’auto-covariance d’un processus Y t∈Z

cov(Y t , Y t+h ) = γ(h)

dé nition la fonction d’auto-corrélation d’un processus Y t∈Z

ρ(h) = γ(h)/γ(0)

γ(h) et ρ(h) sont des fonctions symétriques, ρ(0) = 1 .

dé nition soit un processus aléatoire (Y t )t∈Z tel que E(Y


t
2
) < ∞ , il est dit stationnaire au
sens faible (ou d’ordre 2) si son espérance est constante et ses auto-covariances sont stables
dans le temps ie:

∀t E(Y t ) = μ

∀t , ∀h cov(Y t , Y t+h ) = γ(h)

On remarque que var(Y t ) = γ(0) et donc qu’un processus stationnaire faible à une
variance constante dans le temps.

En pratique, pour apprécier la stationnarité d’un processus, on commence d’abord par


vérifier que sa moyenne et sa variance sont constantes dans le temps.

exercice selon vous quel(s) processus ci-dessous est(sont) stationnaire(s)? Pourquoi?

https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 3/37
26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles

Projet Machine Learning pour la Prévision: séries


temporelles
Yannig Goude

Voilà quelques examples de processus stationnaires:

un bruit blanc εt vérifiant E(εt ) = μ et var(εt ) = σ


2

preuve on a par définition cov(εt , εt+h ) = 0

Le processus gaussien (Y t )t∈Z tel que E(Y t ) = μ et cov(Y t , Y t+h ) = α


|h|
(|α| < 1 )
est faiblement stationnaire. Tout processus gaussien stationnaire faible est stationnaire
fort.

le processus moyenne mobile Xt = εt + a 1 εt−1 + a 2 εt−2 +. . . +a q εt−q

preuve

2 2 2
γ(0) = σ (1 + a +. . . +a q )
1
2
γ(1) = σ (a 1 + a 1 a 2 +. . . +a q−1 a q )

...
2
γ(q) = σ (a q )

γ(q + h) = 0

processus autorégressif d’ordre 1:

Y t = aY t−1 + εt

en supposant que |a| < 1 on a bien E(Y t ) = 0 et

https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 4/37
26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles
2
σ
2 2
var(Y t ) = σ (1 + a + a +. . . ) =
2
1 − a

pour tout h > 0 :

2 h
σ a

Projet Machine Learning pour la Prévision: séries


2 h h+2
γ(h) = σ (a + a +. . . ) =
2
1 − a

comme de plus , temporelles


γ(h) = γ(−h)

Yannig Goude
2 |h|
σ a
γ(h) =
2
1 − a

on remarque que pour ce processus ρ(h) = a


|h|
, donc l’autocorrélation tend vers 0 à une
vitesse exponentielle.

En pratique, on ne connait pas explicitement les fonctions d’auto-covariance et d’auto-


corrélation. Il est donc nécessaire de les estimer en se basant sur des observations.

dé nition soit une série d’observations , notons , alors la


1 n
(y t )t∈(1,...,n) ȳ = ∑ yt
n t=1

fonction d’auto-covariance empirique vaut, pour tout h ∈ (0, . . . , n − 1)

n
1
γ̂ (h) = ∑ (y t − ȳ )(y t−h − ȳ )
n − h
t=h+1

dé nition soit une série d’observations , notons , alors la


1 n
(y t )t∈(1,...,n) ȳ = ∑ yt
n t=1

fonction d’auto-corrélation empirique vaut, pour tout h ∈ (0, . . . , n − 1)

1 n
∑ (y t − ȳ )(y t−h − ȳ )
n−h k=h+1
ρ̂ (h) =
1 n
2
∑ (y t − ȳ )
n t=1

Le graphique représentant la fonction d’auto-corrélation empirique est appelé l’auto-


corrélogramme.

exemple voilà un exemple de série et son auto-corrélogramme, à votre avis de quel type de
série s’agit-il?

https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 5/37
26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles

Projet Machine Learning pour la Prévision: séries


temporelles
Yannig Goude

Auto-corrélation partielle

Lorsque l’on s’intéresse à caractériser les dépendances d’au moins 3 variables aléatoires, il
est nécessaire d’introduire la notion de corrélation partielle. En effet, si l’on considère les
variables X1 , . . . , Xk , X1 peut être corrélée à X3 parce que X1 et X3 sont toutes deux
corrélées à X2 .

dé nition soit les variables aléatoires X1 , . . . , Xk , le coefficient de corrélation partielle


entre X1 et Xk conditionnellement à X2 , . . . , Xk−1 est définie par:

rX2 ,..,Xk−1 (X1 , Xk ) = ρ(X1 − PM(X , Xk − PM(X )


2 ,..,X k−1 ) 2 ,..,X k−1 )

projection PM(X
1 ,..,X k )
(Y ) = Xα la projection linéaire d’une variable Y sur
M (X1 , . . , Xk ) est telle que

2 2
E[(Y − Xα) ] ≤ E[(Y − Xβ) ], ∀β

c’est le vecteur de M (X1 , . . , Xk ) le plus proche de Y au sens de la distance d définie ci-


dessous.

distance on définie la distance entre X et Y deux variables aléatoires


−−−−−−−−−−
par 2
d(X, Y ) = √E[(X − Y ) ]

https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 6/37
26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles

espace engendré l’espace engendré par les variables aléatoires


X1 , X2 , . . . Xk , noté M (X1 , . . , Xk ) est l’ensemble des combinaisons
linéaires de ces variables
k
M (X1 , . . , Xk ) = {λ1 X1 +. . . +λk Xk , λ ∈ R }

Projet Machine Learning stationnaire


dé nition soit un processus aléatoire
pour lafaible
Prévision: séries
centré. La fonction d’auto-
(Y t )t∈Z

corrélation partielle est définie de la manière suivante:


temporelles
r(1) = ρ(1)
Yannig Goude
r(h) = rY2 ,...,Yh (Y 1 , Y h+1 ), ∀h ≥ 2

r(h) = r(−h)

on remarque que r(h) = rY2 ,...,Yh (Y 1 , Y h+1 ) = rYk+2 ,...,Yk+h (Y k+1 , Y k+h+1 ) car le processus
est stationnaire.

Pour obtenir l’auto-corrélation partielle d’un processus, voyons les propriétés suivantes.

propriété soit un processus stationnaire faible (Y t )t∈Z et


P
M
k (Y t ) = bk,1 Y t−1 +. . . +bk,k Y t−k sa projection sur son passé, alors on a son auto-
t−1

corrélation partielle d’ordre k vaut r(k) = bk,k .

algorithme de Durbin l’agorithme de Durbin permet d’obtenir les auto-corrélation partielles


r(k) = bk,k d’un processus processus stationnaire faible (Y t )t∈Z via la formule récursive
suivante:

bk,j = bk−1,j − bk,k bk−1,k−j , ∀j = 1, . . . , k − 1

k−1
γ(k) − ∑ γ(k − j)bk−1,j
j=1
bk,k =
k−1
γ(0) − ∑ γ(j)bk−1,j
j=1

Comment se ramener à un processus


stationnaire?

La tendance

Il existe différents procédés permettant d’anlyser puis/ou de corriger la tendance d’une série
temporelle.

Moyenne mobile
https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 7/37
26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles

La moyenne mobile est une méthode simple permettant d’extraire les composantes basses
fréquences d’une série temporelle autrement dit sa tendance. Elle est également connue
comme une méthode de lissage car elle agit comme un filtre passe bas et donc élimine le
bruit.

Le calcul de la moyenne mobile dépend d’un paramètre appelé la largeur de fenêtre. Ce


Projet Machine Learning pour
inclues la
dansPrévision: séries
l

paramètre correspond au nombre d’observations le calcul de la moyenne

constante égale à la moyenne).


temporelles
glissante éffectuée. Plus est grand plus le lissage est important (jusqu’à atteindre la fonction
l

Yannig Goude
La moyenne mobile se calcule ainsi:

t+l
1
y
ˆt = ∑ yt
2l + 1
i=t−l

Et en r, une des nombreuses alternatives est la fonction filter:

library(xts)
date1<- strptime("01/01/1900", "%m/%d/%Y")
date2<- strptime("01/01/2000", "%m/%d/%Y")
Date<-seq.POSIXt(date1,date2,by = "year")
n<-length(Date)
t<-c(1:n)
T<-t/20+1
w=2*pi/5
S<-cos(w*t)
eps<-rnorm(n,0,1)
X<-T*S*eps
X<-xts(X,order.by=Date)
T<-xts(T,order.by=Date)
S<-xts(S,order.by=Date)

X<-T+S+eps
MA<-filter(X, filter=array(1/10,dim=10), method = c("convolution"),
sides = 2, circular = FALSE)

https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 8/37
26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles

Projet Machine Learning pour la Prévision: séries


temporelles
Yannig Goude

Di érenciation

Pour nettoyer une série de sa tendance et/où de sa saisonnalité, nous pouvons procéder par
différenciation. Celà fonctionne pour des séries à tendance polynomiale.

Notons Δ l’opérateur de différenciation: Δy t = y t − y t−1 .

https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 9/37
26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles

L’opérateur de différenciation d’ordre k correspondant est: k


Δ y t = Δ(Δ
k−1
yt )

Proposition soit un processus y admettant une tendance polynomiale d’ordre k:

j
yt = ∑ a j t + εt

Projet Machine Learning pour la Prévision: séries j=0

alors le processus
temporelles
admet une tendance polyomiale d’ordre
Δy . k − 1

Yannig Goude
Estimation paramétrique de la tendance

Après avoir représenté la série, il est souvent possible d’inférer une représentation
paramétrique de sa tendance. Dans ce cas, on procède par régression linéaire pour estimer
cette tendance.

Par exemple, dans le cas d’un processus y admettant une tendance polynomiale d’ordre k:
, un estimateur de la tendance pourra être obtenu ainsi:
k j
yt = ∑ aj t + εt
j=0

ˆ = X â
T t

ou X est la matrice dont les colonnes sont les vecteurs (1, . . . , t )


j
et â = (X X )
′ −1 ′
X Y

avec Y = (y 1 , . . . , y t ) .

Estimation non-paramétique de la tendance

Dans certains cas, une représentation paramétrique de la tendance n’est pas satisfaisante. Le
modèle sous-jacent à ce type de données est:

y t = f(t) + εt

où f est une fonction régulière sur laquelle on ne fait pas d’hypothèse paramétrique,
t = 1, 2, . . , n . On ne fait pour l’instant pas d’hypothèses précises sur εt , considérés comme
stationnaires. On pourra dans ce cas considérer une estimation non-paramétrique de cette
tendance. Plusieurs approches sont possibles.

Estimateur à noyaux

définition on appelle noyau une fonction K : R


d
→ R telle que ∫ K
2
< ∞ et ∫ K = 1

définition soit un réel h > 0 (paramètre de fenêtre), soit un noyau K . On appelle estimateur
à noyau de f associé à la fenêtre h et au noyau K la fonction ˆ
f h définie par:

i
https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 10/37
26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles
n x−i
∑ y i K( )
i=1 h
ˆ
f h (x) =
n x−i
∑ K( )
i=1 h

est une estimation non-paramétrique de la tendance de la série. La régularité de cet


estimateur dépend de h la taille de fenêtre du noyau.

Projet Machine Learning pour la Prévision: séries


exemple de noyaux:

gaussien:
temporelles
K(x) = exp(−x /)/2pi
2

uniforme: K(x) = 1(|x| ≤ 1)/2 Yannig Goude


triangle: K(x) = (1 − |x|)1(|x| ≤ 1)
epanechnikov K(x)
3 2
= (1 − x )1(|x| ≤ 1)
4

modèles GAM cf cours sur GAM et mgcv

La Saisonnalité

Les traitements s’appliquant à la tendance s’appliquent également à la saisonnalité avec les


variantes suivantes.

Moyenne mobile

La moyenne mobile, en choisissant un paramètre de fenêtre l égal à la période de la série,


permet de désaisonnaliser une série. En effet, par définition, la composante périodique est
d’intégrale nulle sur la période.

En prenant l’exemple des données de conso. Irlandaises, si on choisit l = 48 , cela permet


d’extraire la composante périodique de période une journée:

https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 11/37
26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles

Projet Machine Learning pour la Prévision: séries


temporelles
Yannig Goude

Il subsiste ici une composante périodique de période 1 semaine qu’on peut ensuite éliminer
via un deuxième filtrage par moyenne mobile.

Di érenciation

https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 12/37
26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles

De même que pour nettoyer un processus de sa tendance, il est possible de le


désaisonnalisé par différentiation.

Proposition soit un processus yt admettant une saisonnalité additive de période τ , alors le


processus Δτ y t = y t − y t−τ est un processus désaisonnalisé.

Projet Machine
Preuve , alors
y t = St + εt Learning pour la Prévision:
car par définition
Δτ y t = εt − εt−τ . séries St = St−τ

remarque: le processus temporelles


est stationnaire, mais il peut être auto-
εt − εt−τ

corrélé. Par exemple si εt estYannig Goude


un bruit blanc de variance 1, εt − εt−τ a
une autocorrélation d’ordre τ de 1/2 . Voir exemple ci-dessous.

Estimation paramétrique de la saisonnalité

Un modèle paramétrique naturel pour modéliser un processus saisonnier est la


décomposition en série de Fourier. Soit un processus yt admettant une saisonnalité de
période τ alors le modèle suivant est généralement proposé:

y t = ∑ a j cos(ω j t) + bj sin(ω j t) + εt

j=1

où ω j = 2π/τ , q est à déterminer par une méthode de sélection de modèle sur les
données. Les coefficients aj et bj sont obtenus par moindre carrés sur les données.

https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 13/37
26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles

Estimation non-paramétrique de la saisonnalité

De même que pour la moyenne mobile, il est possible en choisissant la bonne valeur de
fenêtre d’estimer la composante saisonnière d’un processus par méthode à noyau et
polynômes locaux.

Projet Machine Learning pour la Prévision: séries


temporelles
Estimation semi-paramétrique de la saisonnalité
Yannig Goude
Il est possible de définir des bases de splines avec contraintes au bord du support, on parle
alors de splines cycliques.

Les processus ARMA

Théorème de représentation de Wold soit (Xt )t∈Z ) un processus centré et stationnaire du


second ordre, alors on a la décomposition suivante:

+∞

Xt = ∑ ψj εt−j + C t , t ∈ Z

j=0

et ∑j=0
+∞
ψ0 = 1 |ψj | < +∞

εt est le processus d’innovation de Xt


C t est un processus déterministe

les moyennes mobiles s’avèrent donc intéressantes pour modéliser des processus
stationnaires. La question reste alors l’estimation des coefficients ψ . Nous verrons par la
suite que certaines familles de modèles permettent une représentation parcimonieuse de
cette moyenne mobile.

dé nition on appelle opérateur retard L l’opérateur qui associe à un processus (Xt )t∈Z le
processus (Y t )t∈Z tel que Y t = LXt = Xt−1 . Cet opérateur est:

linéaire
inversible: son inverse est L−1 = F tel que F Xt = Xt+1 et est appelé l’opérateur
avance

De plus on a:

n
L Xt = Xt−n

https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 14/37
26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles

et

p p

i
(∑ a i L )Xt = ∑ a i Xt−i

i=1 i=1

séries en L on peut définir à l’aide de cet opérateur des séries en (ou ). Soit un
Projet Machine Learning pour la Prévision: séries
L F

processus stationnaire et une suite de nombres


(Xt )t∈Z réels absolument (a i )i∈Z

sommable ∑
i∈Z
|a i | < ∞
temporelles
, alors le processus défini par:

Yannig Goude
Y t = ∑ a i Xt−i = (∑ a i L )Xt
i

i∈Z i∈Z

est stationnaire.

Inversion de polynômes en L

Avec ces notations le processus AR(1) Y t = aY t−1 + εt , avec |a| < 1 s’écrit ainsi:

(1 − aL)Y t = εt

ainsi Y t = (1 − aL)
−1
εt et l’écriture moyenne mobile de ce processus peut-être vue comme
un problème d’inversion du polynôme x → 1 − ax .

1 − aL est une application de l’ensemble des processus stationnaires dans lui même. La
série étant absolument sommable, la série est définie (|a| ) et nous
∞ i ∞ i i
∑ a ∑ a L < 1
i=0 i=0

avons:

∞ ∞

i i i i i+1 i+1 0
(∑ a L )(1 − aL) = ∑ a L − a L = L = 1

i=0 i=0

est donc inversible et son inverse vaut . Remarquons que


−1 ∞ i i
1 − aL (1 − aL) = ∑ a L
i=0

le processus est l’unique processus stationnaire satisfaisant


∞ i
Xt = ∑ a Y t−i
i=0

(1 − aL)Xt = Y t mais pas le seul processus. En effet, si Z est une v.a. quelconque, Za
t
est
solution (non-stationnaire!) de (1 − aL)Xt = 0 .

Plus généralement, si l’on considère un polynôme:

2 p
Φ(z) = 1 + ϕ1 z + ϕ2 z +. . . +ϕp z

de racines zj = 1/a j de modules supérieurs à 1. Alors on sait qu’il existe une série entière
Ψ(z) = ∑
i∈Z
ψi z
i
telle que

https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 15/37
26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles

∑ |ψi | < ∞ et Φ(z)Ψ(z) = 1

i=0

En appliquant ce résultat aux séries en ,


L Φ(L) = 1 + ϕ1 L + ϕ2 L +. . . +ϕp L
2 p
est
inversible et son inverse est Ψ(L) .

Projet Machine Learning pour la Prévision: séries


temporelles
Processus auto-régressif (AR)
Yannig Goude
dé nition on appelle processus autorégressif d’ordre p, usuellement noté AR(p), un
processus stationnaire (Xt )t∈Z vérifiant une relation du type:

Xt + ∑ ϕi Xt−i = εt , ∀t ∈ Z

i=1

avec ϕi ∈ R et εt un bruit blanc de variance σ


2
.

Cette relation s’écrit également:

Φ(L)Xt = εt

où Φ(L) = 1 + ϕ1 L+. . . +ϕp L


p

Ecriture moyenne mobile in nie la définition du processsus AR(p) proposée n’implique pas
forcément que cette équation a une solution unique stationnaire. Pour celà, il faut relier ce
problème à la question de l’inversion du polynôme Φ(L) vue précédemment.

si Φ a toutes ses racines de module différent de 1 on peut inverser Φ(L) et l’équation a


une unique solution avec une écriture moyenne mobile infinie:

+∞ +∞

−1
Xt = Φ(L) εt = ∑ h j εt−j , ∑ |h j | < +∞

j=−∞ j=−∞

on voit que dans ce cas la valeur de Xt peut dépendre des valeurs passées, présentes et
futures de εt . Dans le cas ou les racines de Φ sont de module strictement supérieur à 1,
Φ

1(L) ayant un développement ne contenant que des puissances positives de L , la valeur
de Xt ne dépend que des valeurs passées de εt :

+∞ +∞

Xt = ∑ h j εt−j , ∑ |h j | < +∞, h0 = 1

j=0 j=0

on voit donc que Xt−1 ne dépend (linéairement) que de εt−1 , εt−2 … Comme ε est un bruit
blanc, Xt−1 est donc non corrélée à εt . La projection linéaire de Xt sur son passé s’écrit

https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 16/37
26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles

donc:

P −∞ (Xt ) = − ∑ ϕi Xt−i
M
t−1

i=1

et
Projet Machine Learning pour la Prévision: séries
temporelles
Xt − PM −∞ (Xt ) = εt
t−1

Le bruit blanc εt est appelé le processusYannig Goude associé à


des innovations X . Lorsque εt est un bruit
blanc fort, l’indépendance des innovations implique que PM −∞ (Xt ) est non-seulement la
t−1

régression linéaire de Xt sur son passé mais aussi son espérance conditionnelle.

Fonction d’autocorrélation d’un AR(p) soit un processus stationnaire AR(p) défini par

Φ(L)Xt = Xt + ∑ ϕi Xt−i = εt

i=1

dont les racines sont de modules > 1 .

Alors la fonction d’autocorrélation:

ρ(h) + ∑ ϕj ρ(h − j) = 0, h = 1, 2...

j=1

est donc définie comme la solution d’une suite récurrente d’ordre p, donc racines non-nulles
de l’équation:

p p−j
λ + ∑ ϕj λ = 0

j=1

soit:

−j
1 + ∑ ϕj λ = 0

j=1

c’est à dire que est racine de donc . On sait donc que est une combinaison
1
Φ |λ| < 1 ρ(h)
λ

de différentes composantes: exponentielles décroissantes pour les racines réelles, sinusoïdes


amorties pour les racines complexes, exponentielles décroissantes et termes polynomiaux
pour les racines multiples. Par conséquent, ρ(h) tend en valeur absolue exponentiellement
vers 0 avec h .

Remarquons également qu’on a la relation matricielle (équation de Yule-Walker):

https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 17/37
26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles

ϕ1 ρ(1)
⎛ ⎞ ⎛ ⎞
−1
⎜ ⎟ = [ρ(i − j)] ⎜ ⎟
⎜ ⋮ ⎟ ⎜ ⋮ ⎟

⎝ ⎠ ⎝ ⎠
ϕp ρ(p)

Ce qui donne un algorithme d’estimation des coefficients d’un processus AR(p) en remplaçant
Projet
ρ(h)
Machineempirique.
par leur autocorrélation Learning pourégalement
Remarquons la Prévision: séries
que la variance de ce
processus vaut:
temporelles p 2

γ(0) = Yannig
− ∑ ϕj γ(j) Goude
+ σ
2
=
σ
p
1 + ∑ ϕj ρ(j)
j=1 j=1

Fonction d’autocorrélation partielle d’un AR(p) soit un processus stationnaire AR(p)

défini par

Φ(L)Xt = Xt + ∑ ϕi Xt−i = εt

i=1

dont les racines sont à l’extérieur du disque unité.

On a que l’autocorrélation partielle r(h) = 0 si h ≥ p + 1 car la projection de Xt sur


est et le coefficient associé à est nul.
p
M (Xt−1 , . . . , Xt−h ) ∑ ϕj Xt−j Xt−h
j=1

Cette propriété est très utile en pratique lorsque l’on cherche à identifier l’ordre d’un
processus AR. On peut ainsi calculer les autocorrélation partielles empiriques et regarder
quand celles-ci sont négligeables (non-significativement différentes de 0). Notons également
que r(p) = ϕp .

Processus moyennes mobiles (MA)

dé nition on appelle processus moyenne mobile d’ordre q , usuellement noté MA(q) (moving
average), un processus (Xt )t∈Z défini par:

Xt = εt + θ1 εt−1 +. . . +θq εt−q , ∀t ∈ Z

où les θi sont des réels et εt est un bruit blanc de variance σ


2
.

De même que pour les processus autorégressifs cette relation s’écrit:

q
Xt = (1 + θ1 L+. . . +θq L )εt = Θ(L)εt

Contrairement à l’AR(p) la définition du MA(q) est explicite et le processus Xt est stationnaire.

https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 18/37
26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles

la variance d’un MA(q) vaut:

2 2 2
var(Xt ) = σ (1 + θ +. . . +θq )
1

Fonction d’autocorrélation d’un MA(q) la fonction d’autocovariance est:

Projet Machine Learning pour la Prévision: séries γ(h) = E(Xt Xt−h )

temporelles
= E[(εt + θ1 εt−1 +. . . +θq εt−q )(εt−h + θ1 εt−h−1 +. . . +θq εt−h−q )]

Yannig Goude
et donc

2
γ(h) = (θh + θh+1 θ1 +. . . +θq θq−h )σ , si 1 ≤ h ≤ q
{
= 0 sinon

et la fonction d’autocorrélation s’écrit:

θh +θh+1 θ1 +...+θq θq−h


ρ(h) = 2 2
, si 1 ≤ h ≤ q
1+θ +...+θ
{ 1 q

= 0 sinon

ce résultat est important en pratique car ρ(h) s’annule pour h ≥ q et


2
ρ(q) = θq /(1 + θ +. . . +θq )
1
2
est non nul si θq est non nul ie que Xt est un MA(q). Pour
déterminer l’ordre d’un MA(q) en pratique, on calcule donc ses autocorrélations empiriques
et on regarde quand celles-ci sont négligeables (non-significativement différentes de 0).
L’autocorrélation pour les MA(q) est donc l’analogue de l’autocorrélation partielle pour les
AR(p).

Processus autorégressifs moyennes mobiles


(ARMA)

Les processus ARMA(p,q) généralise les modèles autorégressifs et moyennes mobiles. Ces
modèles sot très utiles en pratique pour modéliser des séries réelles en nécessitant moins de
paramètres que les modèles AR ou MA simples.

dé nition un processus stationnaire Xt admet une représentation ARMA(p,q) minimale s’il


satisfait

p q

Xt + ∑ ϕi Xt−i = εt + ∑ θj εt−j , ∀t ∈ Z

i=1 j=1

soit, avec les notations précédentes

https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 19/37
26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles

Φ(L)Xt = Θ(L)εt , ∀t ∈ Z

avec les conditions suivantes:

1. ϕp ≠ 0 et θq ≠ 0

2. Φ et Θ n’ont pas de racines communes et leurs racines sont de modules > 1

Projet Machine Learning pour la Prévision: séries


3. εt est un BB de variance σ 2

propriété si temporelles
est un processus stationnaire
Xt de représentation ARMA(p,q) minimale:

Yannig Goude
Φ(L)Xt = Θ(L)εt , ∀t ∈ Z

alors:

1. X admet la repésentation M A(∞):

+∞
Θ(L)
Xt = εt = ∑ h j εt−j , h0 = 1
Φ(L)
j=0

2. X admet la repésentation AR(∞) :

+∞
Φ(L)
Xt = ∑ πj Xt−j = εt , π0 = 1
Θ(L)
j=0

3. l’innovation de X est ε

détermination des ordres

l’intérêt des modèles ARMA tient dans leur parcimonie. En effet, pour un ajustement aux
données de la même qualité, un ARMA nécessite moins de paramètres qu’un AR ou un MA
pur (on le comprend en regardant la décomposition AR ou MA infinie). En revanche, le choix
des ordre est plus complexe que pour les modèles AR ou MA purs.

Identi cation et estimation de modèles ARMA

En pratique, lorsque l’on doit ajuster un modèle AR, MA ou ARMA à des données réelles la
première question qui se pose est celle du choix des ordres p et q du modèle ARMA (on
considère que les AR et MA sont un cas particulier d’ARMA avec respectivement q = 0 et
p = 0 ). Pour choisir ces ordres, nous pouvons exploiter les résultats suivants:

Type de
Dé nition autocorrélations autocorrélations partielles
processus

https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 20/37
26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles

Type de
Dé nition autocorrélations autocorrélations partielles
processus

AR(p) Φ(L)Xt = εt ρ(h) ↘ 0 r(h) = 0 pour h ≥ p + 1

pour
Projet Machine Learning pour la Prévision: séries
ρ(h) = 0
MA(q) Xt = Θ(L)εt rien de particulier r(h)
h ≥ q + 1

ARMA(p,q) temporelles
Φ(L)Xt = Θ(L)εt ρ(h) ↘ 0, h ≥ q + 1 r(h) ↘ 0, h ≥ max(q + 1, p)

Yannig Goude
Ses résultats sont facilement exploitables dans le cas dun AR ou MA pur. Dans le cas d’un
ARMA il existe un moyen de déterminer les ordres p et q à l’aide de la méthode du coin
basée sur certains déterminant de matrices de corrélations que nous ne développons pas ici.
Une autre approche est de considérer un ensemble crédible de modèles ARMA(p,q) puis par
de sélectionner un candidat par une méthode de sélection de modèle basée sur des critères
d’information de type BIC ou AIC.

Une fois l’ordre et le type de modèle choisis, pour estimer les coefficients des modèles
plusieurs approches sont possibles.

1. Equations de Yule-Walker. Nous avons obtenus précédemment que dans le cas d’un
processus AR, les coefficients vérifient:

2. Moindre carrés conditionnels. si εt est gaussien, le vecteur des observations


(X1 , . . . , Xn ) est gaussien et on peut alors calculer sa vraisemblance. Une approche
simplifiée est de calculer la densité de (Xp+1 , . . . , Xn ) conditionnellement à
(X1 , . . . , Xp ) qui est gaussienne. Sachant que Xt /Xt−1 , . . . , Xt−p est une
gaussienne d’espérance et de variance on a, en utilisant la formule
p 2
∑ ϕj Xt−j σ
j=1

des conditionnements successifs:

f(Xp+1 , . . . , Xn /X1 , . . . , Xp ) = ∏ f(Xt /Xt−1 , . . . , Xt−p )

t=p+1

n p 2
1 ∑ (Xt − ∑ ϕj Xt−j )
t=p+1 j=1
= exp(− )
n−p
2σ 2
(2πσ 2 ) 2

maximiser cette vraisemblance conditionnelle en ϕ revient à, en passant au log, minimiser:

n p 2
∑ (Xt − ∑ ϕj Xt−j )
t=p+1 j=1
2 2
(ϕ1 , . . . , ϕp , σ ) → + (n − p) ln(σ )
2
σ

à σ
2
fiwé cela correspond au critère des moindres carrés.

https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 21/37
26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles

Revenons sur le choix de l’ordre d’un ARMA(p,q). Nous avons vu précédemment que l’étude
des autocorrélations et autocorrélations partielles peuvent permettre de préselectionner un
certains nombre de modèles plausibles. On peut ensuite, une fois les paramètres de ces
modèles estimés sélectionner celui qui minimise les critères suivants:

AIC Akaike Information Criterion, adapté au problème de la prévision, défini par:


Projet Machine Learning pour la Prévision: séries
2 2

temporelles
AIC(ϕ, θ, σ ) = −2 log(L(θ, ϕ, σ )) + 2k

où L est la vraisemblance, k est le ombre de paramètres


Yannig Goude dans le modèle donc p + q ou
p + q + 1 si la constante est dans le modèle.

BIC Bayesian Information Criterion, adapté au problème de la prévision, défini par:

2 2
BIC(ϕ, θ, σ ) = −2 log(L(θ, ϕ, σ )) + nk

Voilà ci-dessous un exemple obtenu pour un processus AR(p) simulé ainsi:

library(polynom)
n<-500
sigma<-1
set.seed(100)
eps<-rnorm(n,0,sd=sigma)
pol<-poly.calc(x=c(1.5,2,1.6))
pol<--pol/pol[1]
pol

## -1 + 1.791667*x - 1.0625*x^2 + 0.2083333*x^3

x1<-arima.sim(n = n, list(ar = pol[2:length(pol)],innov=eps))


plot(x1)

https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 22/37
26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles

Projet Machine Learning pour la Prévision: séries


temporelles
Yannig Goude

par(mfrow=c(1,2))
acf(x1)
pacf(x1)

https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 23/37
26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles

L’estimation d’un modèle AR(p) par maximum de vraisemblance sur cette série se fait via la
commande:

x1.model<-arima(x1, order = c(p,0,0), method = c("ML"), SSinit = c("Rossignol2011"),


optim.method = "BFGS", include.mean = F)

Projet Machine Learning pour la Prévision: séries


On effectue ce calcule pour
temporelles
et on obtient:
p = 1, . . . , 20

Yannig Goude

Les processus ARIMA

Nous avons vu dans un chapitre antérieur comment corriger une série non-stationnaire de
composantes déterministes telles qu’une tendance ou une saisonnalité. Entre autre, nous
avons étudié l’opérateur de différenciation (rappel):

Notons Δ l’opérateur de différenciation: ΔXt = Xt − Xt−1 . L’opérateur de différenciation


d’ordre k correspondant est: k
Δ Xt = Δ(Δ
k−1
Xt )

Propriété soit un processus y admettant une tendance polynomiale d’ordre k:

j
yt = ∑ a j t + εt

j=0

https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 24/37
26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles

alors le processus Δy admet une tendance polynomiale d’ordre k − 1 .

Avec les notations des modèles ARMA, on peut remarquer que ΔXt = (1 − L)Xt et plus
généralement d
Δ Xt = (1 − L) Xt
d
. Ainsi un processus ARIMA est défini ainsi:

dé nition un processus stationnaire Xt admet une représentation ARIMA(p,d,q) minimale s’il


Projet Machine Learning pour la Prévision: séries
satisfait

temporelles
d
Φ(L)(1 − L) Xt = Θ(L)εt , ∀t ∈ Z

Yannig Goude
avec les conditions suivantes:

1. ϕp ≠ 0 et θq ≠ 0

2. Φ et Θ, polynômes de degrés resp. p et q , n’ont pas de racines communes et leurs


racines sont de modules > 1
3. εt est un BB de variance σ 2

Un processus ARIMA(p,d,q) convient pour modéliser une série temporelle comprenant une
tendance polynômiale de degrés d, l’opérateur (1 − L)
d
permettant de transformer un
polynôme de degré d en une constante.

Pour estimer les paramètres d’un modèle ARIMA, on procède de même que pour un ARMA
sur le processus différencié (1 − L) Xt
d
.

Les processus SARIMA

Certaines série chronologiques présentent des saisonnalités. Nous avons déjà abordé le cas
de séries dont les composantes saisonnières sont déterministes et nous avons procédé par
des méthodes de régressions (paramétriques, non-paramétriques) ou par différenciation
pour les désaisonnaliser et ensuite leur appliquer une modélisation ARMA. Une autre
démarche consiste à intégrer, dans un modèle ARIMA, des décalages multiples de la
saisonnalité (par exemple retard de 12 pour des séries mensuelles possédant une
saisonnalité annuelle). En théorie, si on choisit des ordres p et q suffisamment important, ces
retards sont naturellement intégrés au modèle ARIMA(p,d,q), l’inconvénient étant qu’on
rajoute un grand nombre de retards intermédiaires potentiellement non-significatifs.

Par exemple, la série suivante:

set.seed(100)
n<-500
sigma<-1
eps<-rnorm(n,0,sd=sigma)
x1<-arima.sim(n = n, list(ar =c(.6,rep(0,10),.5,-.30),innov=eps))

https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 25/37
26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles

Projet Machine Learning pour la Prévision: séries


temporelles
Yannig Goude

Où les lag 12 et 13 sont significatifs alors que les lag intermédaires ne sont pas
significativement différents de 0. L’autocorrélogramme indiquant clairement une saisonnalité
(pas immédiat en se basant sur la trajectoire).

Box et Jenkins propose des modèles multiplicatifs SARIMA définis ainsi.

https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 26/37
26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles

dé nition un processus stationnaire Xt admet une représentation SARIMA[(p,d,q);(P,D,Q);s]


minimale s’il satisfait

d s D s s
(1 − L) Φp (L)(1 − L ) ΦP (L )Xt = Θq (L)ΘQ (L )εt , ∀t ∈ Z

avec des conditions similaires que pour les ARIMA.


Projet Machine Learning pour la Prévision: séries
s correspond à la période du processus SARIMA qu’on peut identifier en regardant
temporelles
l’autocorrélogramme (cf exemple précédant) ou la densité spectrale. Les entiers et sont d D

choisis de sorte que la série différenciée:


Yannig Goude
(1 − L) (1 − L
d s
)
D
soit stationnaire (en pratique
regarder la trajectoire, les autocorrélations). Les ordres p et q s’obtiennent comme pour les
modèles ARMA(p,q) classiques (autocorrélation partielle et simple), les ordres P et Q en
regardant les ordre multiples de s de l’autocorrélogramme. En pratique, on commencera par
différencier en 1 − B
s
(choisir D ) avant de choisir d car
1 − B
s
= (1 − B)(1 + B + B +. . . +B
2 k−1
) .

L’approche de Box-Jenkins

L’approche de box jenkins, du nom des statisticiens George Box et Gwilym Jenkins, est une
méthode empirique de choix et construction de modèle SARIMA mise au point dans les
années 1970. Pour simplifier les choses nous nous intéressons ci-dessous aux processus
ARIMA.

le premier paramètre à choisir est le degré de différentiation d. Plusieurs moyens sont


possibles pour détecter une non-stationnarité. La représentation temporelle de la série
peut faire apparaitre des tendances polynomiale. On peut aussi calculer les
autocorrélation empiriques et analyser la vitesse de décroissance vers 0 de cette fonction,
si cette décroissance est lente (plus lente qu’exponentiel) on peut suspecter une non-
stationnarité. Notons qu’en pratique le cas d > 2 est rarement rencontré. En effet, il est
dangereux de sur-différencier un processus, cela peut conduire à une non-inversibilité
des ARMA associés.

Par exemple dans le cas du processus Xt suivant:

https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 27/37
26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles

Projet Machine Learning pour la Prévision: séries


temporelles
Yannig Goude

les ordres p et q des modèles AR et MA sont ensuites obtenus en regardant les


autocorrélations et autocorrélations partielles. Bien souvent, ces ordres n’apparaissent
pas de manière évidente. On peut dans ce cas obtenir des bornes supérieures pour p et
q puis sélectionner un modèle en minimisant un critère pénalisé de type AIC ou BIC.

l’estimation des paramètres se fait ensuite par les méthodes précédemment citées
(maximum de vraisemblance, moindres carrés conditionnels).
https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 28/37
26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles

d’autres approches que la différenciation sont possibles pour “stationnariser” un


processus. Par exemple, il est clair que si un processus possède une tendance non-
polynomiale, par exemple exponentielle ou logarithmique, l’opérateur (1 − L)
d
ne
suffira pas à le rendre stationnaire. On peut alors soit modéliser par régression la partie
déterministe du processus soit appliquer des transformations à la série. Une

Projet Machine Learning pour la Prévision: séries


transformation courante est le passage au log de la série (pour gérer des phénomènes
de variance multiplicative par exemple).
temporelles
Yannig Goude
Diagnostics et tests

Une fois le modèle estimé, il est important de valider ou non nos choix de modélisation. Pour
cela différents tests et diagnostics existent.

Analyse des résidus

Une fois un modèle ARIMA estimé, on peut obtenir une estimation de εt par:

ˆ −1 d
ε̂ t = Θ(L) Φ̂(L)(1 − B) Xt

On commence par estimer la fonction d’autocorrélation des résidus (ACF empirique):

n−h
∑ ε̂ t ε̂ t+h
t=1
ρ̂ ε (h) =
n 2
∑ ε̂ t
t=1

idéalement, on aimerait obtenir la fonction d’autocorrélation d’un bruit blanc:


ρ̂ ε (h > 0) = 0 . Si ce n’est pas le cas, il faut remettre en cause le choix des ordres ou la
correction de la tendance (dans ce cas visualiser la trajectoire de ε peut s’avérer instructif).

Tests du portemanteau

Il existe 2 variantes du test du portemanteau (signifie fourre tout en anglais), test de


blancheur d’une série (ici les résidus d’une modélisation SARIMA).

Test de Box-Pierce il permet de tester l’hypothèse que les résidus d’une série Xt suivant une
modélisation ARMA(p,q) sont un bruit blanc ie, pour une série Xt et ses résidus associés
ˆ
ε̂ t = Θ(L)
−1 d
Φ̂(L)(1 − B) Xt de fonction d’autocorrélation ρε (h) et son estimateur
empirique asssocié:

https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 29/37
26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles

H0 (h) : ρε (1) = ρε (2) =. . . = ρε (h) = 0

H1 (h) : ∃k ∈ (1, . . . , h) t.q ρε (k) ≠ 0

Il se base sur la statistique de Box-Pierce:

Projet Machine Learning pour la Prévision: séries


QBP (h) = n ∑ ρ̂ ε (j)
h

2
−−−
L

−→ χ (h − k)
2

temporelles
n→+∞
j=1

où k Yannigqu’on
est le nombre de paramètre du modèle Goudeconsidère et vaut p + q ou p + q + 1

pour un ARMA(p,q) (avec constante ou non).

Test de Ljung-Box Il s’agit d’une variante du test précédant préconisée dans le cas ou la taille
n de la trajectoire est petite.

h 2
ρ̂ ε (j) L
2
QLB (h) = n(n + 2) ∑ −−−−→ χ (h − k)
n − j n→+∞
j=1

Lissage exponentiel simple

Un algorithme de base pour la prévision de séries temporelles univariées est le lissage


exponentiel. On peut voir le lissage exponentiel comme une méthode de prévision mais
également, comme son nom l’indique, comme une technique de lissage de données.

dé nition soit une série temporelle yt . On appelle lissage exponentiel simple de paramètre
α ∈ [0, 1] de cette série le processus ŷ t définie ainsi:

ŷ t+1/t = αy t + (1 − α)ŷ t/t−1

on a donc:

t−1

i
ŷ t+1/t = ∑ α(1 − α) y t−i

i=0

la prévision de l’instant t + 1 est donc une somme pondérée des valeurs passées de la série,
les poids décroissant exponentiellement dans le passé. La mémoire de la prévision dépend
de α . Plus α est proche de 1 plus les observations récentes influent sur la prévision, à
l’inverse un α proche de 0 conduit à une prévision très stable prenant en compte un passé
lointain.

Une autre façon d’écrire le lissage exponentiel (error correction form):

https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 30/37
26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles

ŷ t+1/t = ŷ t/t−1 + α(y t − ŷ t/t−1 )

ŷ t+1/t est une prévision à horizon 1. Il est parfois nécessaire d’effectuer


une prévision à un horizon h quelconque. On notera par la suite ŷ t+h/t

la prévision de yt+h conditionellement à (y1 , . . . , yt ) . Pour le lissage


Projet Machine
exponentiel Learning
simple cette pour
prévision est la Prévision: séries
tout simplement: ŷ t+h/t = ŷ t+1

car on approxime le futur de la série à une constante.


temporelles
Yannig
le prédicteur obtenu par lissage Goude simple peut être vu comme
exponentiel
celui qui minimise un problème de moindres carrés pondérés.

En effet, si on note:

t−1

i 2
â = argmina ∑ (1 − α) (y t−i − a)

i=0

on a ,
t−1 i t−1 i
â = ∑ (1 − α) y t−i / ∑ (1 − α)
i=0 i=0

soit α t−1 i
â = ∑ (1 − α) y t−i
t i=0
1−(1−α)

ce qui, si t est suffisamment grand tend vers l’estimateur de lissage exponentiel simple
définie précédemment.

Si on défnie yt comme (0, . . . , 0, y 1 , . . . , y t ) ie valant 0 pour les indices temporelles


inférieurs à 1 alors

i 2
ŷ t+1 = argmina ∑ (1 − α) (y t−i − a)

i=0

Voilà un exemple de lissage exponentiel simple sur des données simulées de la façon
suivante:

set.seed(150)
n<-100
t<-c(1:n)
eps<-rnorm(n,0,1/2)
T<-log(t)+pmax(t-50,0)/10-pmax(t-70,0)/5
X<-T+eps

https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 31/37
26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles

Projet Machine Learning pour la Prévision: séries


temporelles
Yannig Goude

Lissage exponentiel double (ou de Holt)

Holt (1957) a étendu le lissage exponentiel simple au cas du lissage exponentielle linéaire.
L’idée est d’ajuster une droite au lieu d’une constante dans l’approximation locale de la série.

dé nition soit une série temporelle yt . On appelle lissage exponentiel double (ou de Holt) de
paramètre α ∈ [0, 1] de cette série le processus ŷ t définie ainsi:

ŷ t+h/t = l t + bt h

avec:

2
lt l t−1 + bt−1 + (1 − (1 − α) )(y t − ŷ t/t−1 )
{
2
bt bt−1 + α (y t − ŷ t/t−1 )

lt et bt minimise à chaque instant:

ˆ ˆ i 2
( l , b ) = argminl,b ∑ (1 − α) (y t−i − (l + bi))

i=0

https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 32/37
26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles

Projet Machine Learning pour la Prévision: séries


temporelles
Yannig Goude

un exemple de prévisions à horizon 1, 2, . . . , 20 :

Lissage exponentiel de Holt-Winters

https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 33/37
26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles

Cette approche est une généralisation du lissage double, qui permet entre autre de proposer
les modèles suivants:

tendance linéaire locale


tendance linéaire locale + saisonnalité (modèle additif)
tendance linéaire locale * saisonnalité (modèle multiplicatif)
Projet Machine Learning pour la Prévision: séries
Dans ce cas 2 paramètres de lissage entrent en jeu et on ajuste au voisinage de t un fonction
linéaire l t + hbt , h temporelles
étant l’horizon de prévision.
Yannig Goude
dé nition soit une série temporelle yt . On appelle lissage exponentiel double de Holt-
Winters de paramètres α ∈ [0, 1] et β ∈ [0, 1] de cette série le processus ŷ t définie ainsi:

ŷ t+h = l t + hbt

avec

lt αy t + (1 − α)(l t−1 + bt−1 )


{
bt β(l t − l t−1 ) + (1 − β)bt−1

la encore lt est une estimation du niveau de la série, bt de sa pente (localement en temps).

Pour ajuster une composante saisonnière, on considère le modèle (localement au voisinage


de t):

ŷ t+h = l t + hbt + st

ou st est une composante périodique de période T .

dé nition soit une série temporelle yt . On appelle lissage exponentiel double de Holt-
Winters saisonnier de paramètres ,
α ∈ [0, 1] β ∈ [0, 1] δ ∈ [0, 1] , de cette série le
processus ŷ t définie ainsi:

ŷ t+h = l t + hbt + st

avec

⎧ l α(y t − st−T ) + (1 − α)(l t−1 + bt−1 )


⎪ t

⎨ bt β(l t − l t−1 ) + (1 − β)bt−1




st δ(y t − l t ) + (1 − δ)st−T

Reprenons les données simulées précédamment en ajoutant une composante périodique de


période T = 10 .

n<-100
t<-c(1:n)

https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 34/37
26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles

eps<-rnorm(n,0,1/2)
w<-2*pi/10
S<-cos(w*t)
T<-log(t)+pmax(t-50,0)/10-pmax(t-70,0)/5
X<-T+S+eps

Projet Machine Learning pour la Prévision: séries


Voilà ce qu’on obtient en appliquant un lissage exponentiel saisonnier de paramètres
,
α = 0.2 β = 0.2 δ = 0.2 , :
temporelles
Yannig Goude

https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 35/37
26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles

Projet Machine Learning pour la Prévision: séries


temporelles
Yannig Goude

Il existe une variante multiplicative de ce lissage saisonnier.

dé nition soit une série temporelle yt . On appelle lissage exponentiel double de Holt-
Winters saisonnier multiplicatif de paramètres , ,
α ∈ [0, 1] β ∈ [0, 1] δ ∈ [0, 1] de cette série
le processus ŷ t définie ainsi:

ŷ t+h = (l t + hbt )st

y
t

⎪ lt α + (1 − α)(l t−1 + bt−1 )
⎪ st−T

⎨ bt β(l t − l t−1 ) + (1 − β)bt−1



⎩ y
⎪ t
st δ + (1 − δ)st−T
lt

Implémentation en R

Les méthodes de lissage exponentiel sont implémentés en r dans la fonction:

HoltWinters(x, alpha = NULL, beta = NULL, gamma = NULL,


seasonal = c("additive", "multiplicative"),
start.periods = 2, l.start = NULL, b.start = NULL,
s.start = NULL,
optim.start = c(alpha = 0.3, beta = 0.1, gamma = 0.1),
optim.control = list())

https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 36/37
26/05/2020 Projet Machine Learning pour la Prévision: séries temporelles

Il est possible avec cette fonction de fixer les paramètres de lissage, ou (par défaut) de les
laisser estimer par la méthode. Dans le cas saisonnier, la période correspond à celle de la
série temporelle x (objet ts).

Projet Machine Learning pour la Prévision: séries


temporelles
Yannig Goude

https://www.imo.universite-paris-saclay.fr/~goude/Materials/ProjetMLF/time_series.html 37/37

Vous aimerez peut-être aussi