ANALYSE DESCRIPTIVE DES SERIES TEMPORELLES
Ibrahima TALL
Ingenieur Statisticien Economiste
25 Mars 2018
2
# Définition des paramètres de la fenêtre graphique
options([Link] = 6, [Link] = 6)
Chapter 1
GÉNÉRALITÉS SUR LES SÉRIES
TEMPORELLES
Les statisticiens sont souvent appelés à analyser des phénomènes passés et d'en déduire un
comportement futur aussi réaliste que possible. En quoi une telle prévision est-elle importante
?
La réponse à cette question se mesure par l'importance des domaines d'application des séries tem-
porelles, lesquels sont nombreux. En eet, en démographie, le suivi de l'évolution de la population
d'un pays est un exercice courant dans les Instituts nationaux de Statistique (INS), et la prévision
de l'évolution de la population est très déterminant dans les politiques publiques.
Aussi, en économie, il est possible de connaître la demande de consommation d'un bien dans le
futur, aux moyens des niveaux de consommation passés et présent. Celà est utile aux entreprises
pour ajuster leurs nouvelles productions.
De même, en suivant le potentiel écologique d'une forêt, d'une savane, etc., il est possible de
prévenir une désertication, et en temps utile, de recommander des politiques de reboisements.
Par ailleurs, le domaine du marketing ore de nombreux dés en ce qui concerne la prévision de
la clientèle, l'évolution des parts de marché etc.
Il y a aussi le domaine de la nance avec le suivi du cours d'une action au niveau des marchés
boursiers qui constitue un important champs d'application des séries temporelles.
1.1 Introduction
Une série temporelle est le résultat d'un phénomène aléatoire suivi dans le temps. Chaque valeur
du processus est identiée à un moment précis et par interval régulier.
1.1.1 Dénition d'une série temporelle
Par dénition, une série temporelle (ou série chronologique) est une suite réel à valeurs nies indéxée
par le temps (Xt )t∈N . Le temps t peut correspondre à la seconde, à la minute, à l'heure, au jour, à
la semaine, au mois, au trimestre, au semestre ou encore à l'année.
3
4 CHAPTER 1. GÉNÉRALITÉS SUR LES SÉRIES TEMPORELLES
1.1.2 Les objectifs de l'analyse des séries temporelles
Les séries temporelles sont étudiées principalement dans le but de comprendre un phénomène
au cours du temps (passé et présent) an de prédir son comportement dans le futur. La com-
prehension dudit procéssus consiste à trouver une struture expliquant le phénomène dans sa forme
maitrisable. Il sera question de déceler la présence d'une tendance et d'une saisonnalité pour
mener à bien la prévision.
1.1.3 Période et notation d'une série temporelle
Soit la série temporelle dénie par : (Xt1 , Xt2 , Xt3 , Xt4 , ..., Xtn )
τ = ti+1 − ti est la période de la série;
L = tn − t1 + 1 est la longueur de la série.
La représentation avec un seul indice est la plus courante (comme illustré précédemment). Une
notation à plusieurs indices est possible dans le cas des séries infra-annuelles. Par exemple,
(Xi,j ), i = années et j = trimestre (j = 1, 2, 3, 4).
La valeur de la série au troisième trimestre de la première année est X1,3 . Et celle au deuxième
trimestre de la cinquième année est X5,2 .
Une notation avec un seul indice peut se déduire de la double notation suivant la relation ci-après:
Xi,j = X4∗(i−1)+j (1)
avec i ∈ N*.
La notation à plusieurs indice peut devenir complexe et pas nécessairement utile pour l'analyse: par
exemple (Xi,j,k ), avec i = année, j = trimestre, k = jours.
1.2 Exemples de séries temporelles
Nous allons présenter des exemples de séries annuelle, trimestrielle, mensuelle etc.
1.2.1 Exemple de série temporelle annuelle
Notons par (Pn )n∈N∗ la série de la population du Sénégal de 2008 (P1 ) à 2020.
NB: Les données sont téléchargeable sur [Link] dans le dossier ENSAE-
Training-Courses et sur la feuille excel POPAN.
Tableau 1: Population totale du Senegal
Dates 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020
Population 12,0 12,3 12,6 13,0 13,4 13,7 14,1 14,5 14,9 15,4 15,8 16,2 16,7
1.2.2 Exemple de série temporelle trimestrielle
Soit (Yt )t∈N∗ le Produit Intérieur Brut (PIB) du Sénégal avec t correspondant au trimestre et Y1 le
PIB en premier trimestre de 2014.
Tableau 2: PIB trimestriel du Sénégal
1.3. REPRÉSENTATION D'UNE SÉRIE TEMPORELLE 5
Dates 2014Q1 2014Q2 2014Q3 2014Q4 2015Q1 2015Q2 2015Q3 2015Q4 2016Q1 2016Q2
PIB 1346,7 1333,9 1315,6 1603,1 1421,2 1395,0 1386,4 1761,7 1512,5 1473,9
1.2.3 Exemple de série temporelle mensuelle
On s'intéresse à l'indice des prix à la consommation (IPC) de janvier 2009 à décembre 2015:
(Xt )t∈N∗ , avec t représentant le mois.
Tableau 3: Indice des Prix à la Consommation (IPC)
Dates Janvier Février Mars Avril Mai Juin Juillet Août SeptembreOctobre NovembreDécembre
2009 98.5 98.4 98.4 97.8 96.8 96.1 96.6 97.8 98 99.1 98.3 97.1
2010 97.8 97.8 97.7 96.8 96.4 97.4 98.9 100 100.9 101.4 101.1 101.3
2011 101.8 101.4 100.8 100.9 101.2 101.6 102 102.7 103.6 104.1 103.8 104
2012 103.3 103.6 103.6 103 101.8 101.8 102.3 103.8 104.9 106.1 105.9 105.2
2013 104 103.9 103.4 103.3 103 102.5 103.4 105.1 106 107.5 106.8 105.1
2014 104.8 103.4 102.9 102.2 101.3 101.3 102 103.8 104.6 105.4 104.4 104.3
2015 102.3 102.1 101.6 101.6 101.9 102.1 103.3 103.9 105.4 107.4 106 104.7
1.3 Représentation d'une série temporelle
La représentation d'une série temporelle se fait sous la forme matricielle ou par la représen-
tation graphique.
1.3.1 Forme matricielle d'une série temporelle
Soit la série de l'Indice Humain de Développement du Sénégal. La représentation matricielle de
cette série est donnée par le tableau suivant:
Tableau 4: Indice de Développement Humain du Sénégal
Dates 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017
IDH 0.42 0.43 0.44 0.45 0.45 0.46 0.47 0.48 0.48 0.49 0.49 0.5 0.51
NB: Dans le cas d'une double indexation, il est d'usage de représenter la série sous forme de matrice
en mettant l'une des indices en ligne et l'autre en colonne (Cf Tableau 3 ). Par exemple, le PIB
trimestriel peut être représenté comme suit:
Tableau 5: PIB trimestriel du Senegal (sous forme de tableau)
Annees-Trimestres Trimestre1 Trimestre2 Trimestre3 Trimestre4
2014 1346,70 1333,90 1315,60 1603,10
2015 1421,20 1395,00 1386,40 1761,70
2016 1512,50 1473,90
6 CHAPTER 1. GÉNÉRALITÉS SUR LES SÉRIES TEMPORELLES
1.3.2 Représentation graphique d'une série temporelle
La représentation graphique d'une série temporelle (Xt )t∈N est la courbe représentative de la fonction
f dénie par:
f : T −→ R
t −→ f (t) = Xt
Où T est l'ensemble temps. La gure suivante illutre l'évolution de la série de l'IPC sur la periode
2009-2019.
Dans le cas d'une notation à double indexe, il est possible de faire une représentation par période
an de voir les variations sur une même période. Par exemple, la gure ci-desous, permet de voir
les variations du nombre de touristes arrivés à l'aéroport LSS sur la période de 2008 à 2012. Mais
ce type de représentation ne permet pas de voir l'évolution complète de la série.
1.4. CARACTÉRISTIQUES DES SÉRIES TEMPORELLES 7
1.4 Caractéristiques des séries temporelles
Une série est caractérisée par un ensemble d'indices descriptifs qui résument la série.
1.4.1 Moyenne empirique d'une série
La moyenne empirique d'une série temporelle est donnée par :
T
1X
X̄T = Xt (2)
T
t=1
1.4.2 Auto-covariance empirique d'une série
L'auto-covariance empirique d'une série temporelle est donnée par:
T −h
1 X
γ̂T (h) = (Xt − X̄T )(Xt+h − X̄T ) (3)
T
t=1
Le cas h = 0 correspondant à la variance empirique.
1.4.3 Auto-corrélation empirique d'une série
L'auto corrélation empirique d'une série est dénie par:
γ̂T (h)
ρ̂T (h) = (4)
γ̂T (0)
8 CHAPTER 1. GÉNÉRALITÉS SUR LES SÉRIES TEMPORELLES
1.5 Composantes (tendance, saisonnalité, résidus)
La composition d'une série temporelle peut être étudiée en suivant son évolution. Pour certaines
séries temporelles, il est constaté une stabilité autour de la moyenne, on dit alors que la série est
stationnaire (autour de sa moyenne). Par ailleurs, d'autres séries présentent une moyenne non
constante qui suit une tendance . La saisonnalité est la reproduction d'un phénomène à des
périodes régulières.
1.5.1 Tendance d'une série temporelle
Formellement, la tendance est la partie de la série qui, à une erreur ϵ près, s'écrit comme une
combinaison linéaire nie de fonctions prédénies (logarithme, polynômes, exponentiel, etc.):
K
X
Zt = αi fi (t) + ϵt (5)
i=1
Lorsque Zt = α + βt + ϵt , on dit que la tendance est linéaire. Une tendance logarithmique est
donnée par: Zt = α + log(t) + ϵt . Une tendance polynomiale est de la forme: Zt = α0 + α1 t +
α2 t2 + ... + αp tp + ϵt .
1.5.2 Saisonnalité d'une série temporelle
La composante saisonnière (ou composante périodique) est la partie de la série dénie par:
St = ϕ(t) + ϵt (6)
avec ϕ(t + T ) = ϕ(t).
T est alors la période de la série temporelle.
1.5.3 Composante aléatoire d'une série temporelle
La composante aléatoire (ou bruit) est la partie de la série qui reste après extraction de la tendance
et de la saisonnalité. C'est une variable aléatoire dont l'analyse fait appel à des modèles de type
SARIMA et qui ne sera pas étudiée dans ce cours.
1.6 Schémas d'une série temporelle
L'étude d'une série temporelle nécessite la détermination du schémas qui décrit le comportement
de ladite série. Il s'agit de modéliser la série à l'aide d'une fonction simple et avec une faible erreur
de modélisation.
1.6.1 Modèle additif et multiplicatif
En pratique, il se distingue deux schémas: les modèles additif et multiplicatif.
Le modèle additif se présente sous la forme suivante:
Xt = Zt + St + ϵt (7)
Le modèle multiplicatif se présente sous la forme suivante:
Xt = Zt St ϵt (8)
1.6. SCHÉMAS D'UNE SÉRIE TEMPORELLE 9
NB: Remarquez qu'il est possible de ramener un modèle multiplicatif en un schémas additif par
transformation logarithmique:
log(Xt ) = log(Zt ) + log(St ) + log(ϵt ) (9)
Et en posant:
Yt = log(Xt ), Wt = log(Zt ), Pt = log(St ) et ψt = log(ϵt )
alors la série obtenue devient:
Yt = Wt + Pt + ψt (10)
Remarque: Une série temporelle peut présenter une combinaison des deux modèles additif et
multiplicatif: on parle de modèle mixte. Le modele mixte peut se presenter sous les formes
suivantes:
Xt = Zt St + ϵt (11)
Xt = (Zt + St )ϵt (12)
1.6.2 Choix du type de modèle
Dans la recherche du schémas d'une série temporelle, il est question de savoir si la composante
saisonnière:
- s'ajoute simplement à la tendance (schémas additif);
- est proportionnelle à la tendance (schémas multiplication).
Il existe deux approches pour déterminer le schémas: graphique et analytique. Nous allons
illustrer ces deux techniques à travers des exemples sur le logiciel R téléchargeable sur https:
//[Link]/. Ce logiciel est en général utilisé via l'environnement de développement
Intégré Rstudio.
Pour comprendre la diérence entre R et Rstudio, considérons les deux images suivante:
Le moteur est une composante indispensable de la voiture et le tableau de board en facilite
l'utilisation. Rstudio est pour R ce le tableau de bord est pour le moteur de la voiture.
L'utilisation de R appelle à installer des packages et à inclure des librairies. Un package est
comparable à une application sur un Smartphone. Les packages (resp applications) sont, pour la
plupart, disponibles sur [Link] (resp PlaySore ). L'installation des packages
dans se fait via la fonction [Link]() et leurs utilisation se fait avec la fonction library().
installation: [Link](tseries, readxl, stats, tidyverse)
10 CHAPTER 1. GÉNÉRALITÉS SUR LES SÉRIES TEMPORELLES
utilisation des packages:
library(tseries);
library(readxl);
library(stats);
library(tidyverse).
Une série temporelle dans R est dénie à l'aide de la fonction ts(vect, start, end, frequency),
en indiquant les quatre principaux arguments.
Nom de l'argument Explication de l'utilité de l'argument Exemples de valeurs
vect les vecteurs de données x <- [Link]
start la date de début start = c(1960,1)
end la date de n end = c(2020,3)
frequency la fréquence de la série frequency = 1
1.7 Méthode graphique de détermination du schémas
La représentation graphique de la série temporelle peut nous orienter sur le choix du schémas. Deux
techniques sont utilisées: la méthode du prol et celle de la bande.
1.7.1 Description de la méthode du prol
La méthode du prol est applicable pour les séries infra-annuelles. Elle consiste à représenter la
série en diérentes courbes pour chaque année en superposant les saisons sur une même graphique.
Le modèle additif sera adopté si les courbes sont parallèles entre les périodes. Dans le cas contraire,
le modèle est multiplicatif.
Exemple
Considérons la série de l'IPC présentée plus haut. La représetation graphique
de la série de l'IPC par année et sur les douze mois est illustrée sur la gure
1.7. MÉTHODE GRAPHIQUE DE DÉTERMINATION DU SCHÉMAS 11
3. Il
apparait que des courbes se croisent entre certaines dates: le modèle est donc multiplicatif.
1.7.2 Description de la méthode de la bande
Le modèle est additif lorsque les droites des minima et des maxima sont parallèles.
Exemple: Considérons la série de l'IPC présentée sur la gure 1.
Les
droites de la bande ne sont pas parallèles: le modèle est multiplicatif.
12 CHAPTER 1. GÉNÉRALITÉS SUR LES SÉRIES TEMPORELLES
1.8 Méthode analytique de détermination du schémas
Les moyennes et les écarts-types sont calculés pour chacune des périodes considérées puis la droite
des moindres carrés déterminée:
σ = ax̄ + b (11)
Si a est nul, le modèle est additif, sinon il est multiplicatif.
Exemples pratique dans R
# Définir le fuseau horaire, nécessaire pour le bon chargement des packages
[Link](TZ = "UTC")
# Appel de librarie readxl pour importer des bases au format Excel
library(readxl)
# Lecteur de la base au moyen de la fonction read_xlsx().
base <- read_xlsx("[Link]", sheet = "IPCAN")
# head() ou tail() pour afficher les premières ou dernières observations
head(base, 5)
tail(base, 4)
# Calcul de a de la formule (11): C'est le coéfficient de corrélation en
model <- lm(ecat_types~moyennes, data = base)
# Description des résultats du modèle
summary(model)
Call:
lm(formula = ecat_types ~ moyennes, data = base)
Residuals:
Min 1Q Median 3Q Max
-1.00234 -0.14268 0.07287 0.29123 0.53819
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.64675 5.77854 0.631 0.544
moyennes -0.02159 0.05587 -0.386 0.708
Residual standard error: 0.5001 on 9 degrees of freedom
Multiple R-squared: 0.01631, Adjusted R-squared: -0.09298
F-statistic: 0.1493 on 1 and 9 DF, p-value: 0.7082
La valeur du coecient est $ a = -0.02159$. La valeur de la p − value nous indique de la nullité ou
non de a. Ainsi une marge d'erreur inférieur ou égal à 5% (0,05) est le seuil usuel. Cela signie que
dans mois de 5 cas sur 100 (donc dans plus de 95 cas sur 100) le coecient est nul (resp non nul).
Le résultat ci-haut ache une p-valeur de 0,7 soit 70 cas sur 100 d'avoir un coecient nul (ce qui
est énorme car il devrait y avoir seulement mois de 5 cas sur 100 d'avoir un coecient nul pour que
celui-ci soit statistiquement non nul): donc ce coecient est statistiquement nul (non signicatif).
Le modèle sera multiplicatif si le coecient a est signicatif (c'est-à-dire si p − value <
1.9. ÉTAPES D'ÉTUDE D'UNE SÉRIE TEMPORELLE 13
0.05).
1.9 Étapes d'étude d'une série temporelle
L'étude d'une série temporelle implique une démarche cohérente, dont les étapes sont:
- Correction des données (valeurs manquantes, découpage, centrage/réduction etc.);
- choix du schémas de la série;
- Analyse des composantes de la série (partie déterministe); - Prévision.
1.10 Exercice d'application: détermination du schémas d'une série
temporelle avec R
Dans cette partie, il sera utilisé deux bases de données disponibles dans R. La première, US-
AccDeaths, est une série mensuelle portant sur le nombre de morts par accident au Etats-Unis
d'Amérique de 1973 à 1978. La deuxième dase, AirPassengers , est aussi une série mensuelle et
elle indique le nombre de passagers dans les vols internationaux entre 1949 et 1960. Pour chacune
de ces bases:
1. Achez les cinq premières observations
2. Identiez le modèle de la série en utilisant le prol, la bande et l'analytique. 3. Déterminez le
modèle nal retenu pour chaque série.
Solution de l'exercice d'application
################# 0. CHARGEMENT DES PACKAGES #################################
# Chargement des packages: dplyr et tidyr et datasets
library(dplyr)
library(tidyr)
library(datasets)
Attaching package: 'dplyr'
The following objects are masked from 'package:stats':
filter, lag
The following objects are masked from 'package:base':
intersect, setdiff, setequal, union
1. Achez les cinq premières observations
################# 1. AFFICHEZ LES TROIS PREMIERES OBSERVATIONS ###########
head(AirPassengers, 3)
1. 112 2. 118 3. 132
2. Identiez le modèle de la série en utilisant le prol, la bande et l'analytique
14 CHAPTER 1. GÉNÉRALITÉS SUR LES SÉRIES TEMPORELLES
### 2. MODEL DE LA SERIE EN UTILISANT LE PROFIL, LA BANDE ET L'ANALYTIQUE ##
# Recupération de la série des données comme vecteur via la fonction [Link]()
passagers <- [Link](AirPassengers)
# Recuperation du temps comme vecteur via la fonction time()
temp <- [Link](time(AirPassengers))
head(temp)
1. 1949 2. 1949.08333333333 3. 1949.16666666667 4. 1949.25 5. 1949.33333333333
6. 1949.41666666667
Le temps apparait comme un vecteur de décimaux (le point indique le décimal en anglais). La
partie décimale marque le pas de temps: 12 1
pour le mois, 14 pour le trimestre etc. Par exemple,
janvier 1949 est representé par le décimal 1949 = 1949.000, février 1949 par 1949.083 où la partie
décimale est le pas mensuel: 12 1
= 0.083. Le mois de mars 1949 est représenté par 1949.167 où
la partie décimale reprsente deux fois le pas mensuel: 12 2
= 0.167. Ainsi, pour le mois i la partie
décimale est données par 12 pour i ∈ {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}. Et pour le trimestre ce sera:
i−1
4 pour i ∈ {0, 1, 2, 3} etc.
i−1
# Creation de la variable années
years = trunc(temp)
# Combinaison (via la fonction cbind()) du vecteur
# des donnees, du mois et de l'annees en [Link]
BaseAirPassengers <- [Link](cbind(years,
passagers))
# Affichage des premiers observations
head(BaseAirPassengers, 3)
years passagers
1949 112
1949 118
1949 132
# Creation de la variable mois: désignée ici par: mouth
# groupe d'annee
BaseAirPassengers <- BaseAirPassengers %>%
group_by(years) %>%
mutate(mouth = row_number())
# Regard sur la nouvelle base apres creation de
# l'indice des mois
head(BaseAirPassengers, 3)
years passagers mouth
1949 112 1
1949 118 2
1949 132 3
1.10. EXERCICE D'APPLICATION: DÉTERMINATION DU SCHÉMAS D'UNE SÉRIE TEMPORELLE AVEC
# Ecriture de la base sous forme de matrice: anneé en colonne mois en ligne
matrice <- BaseAirPassengers %>%
spread(years, passagers)
# Regard sur les donnees sous forme matricielle
head(matrice, 3)
mouth 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960
1 112 115 145 171 196 204 242 284 315 340 360 417
2 118 126 150 180 196 188 233 277 301 318 342 391
3 132 141 178 193 236 235 267 317 356 362 406 419
# Changement de nom des variables en mettant p (passagers) devant les annees
names(matrice) <- c("mouth", "p49", "p50", "p51", "p52", "p53", "p54", "p55",
"p56", "p57", "p58", "p59", "p60")
# Regard sur les donnees sous forme matricielle avec les changements de noms
head(matrice, 3)
mouth p49 p50 p51 p52 p53 p54 p55 p56 p57 p58 p59 p60
1 112 115 145 171 196 204 242 284 315 340 360 417
2 118 126 150 180 196 188 233 277 301 318 342 391
3 132 141 178 193 236 235 267 317 356 362 406 419
summary(BaseAirPassengers$passagers)
# Donc pour le graphique y sera limitée entre (min = 104, max = 622)
Min. 1st Qu. Median Mean 3rd Qu. Max.
104.0 180.0 265.5 280.3 360.5 622.0
16 CHAPTER 1. GÉNÉRALITÉS SUR LES SÉRIES TEMPORELLES
################################# Méthode du profil
# Afficher la série de chaque année sur les 12 mois (0 à 11)
plot(matrice$mouth, matrice$p49, type = "l", xlab = "Mois", ylab = "Passagers",
ylim = c(104, 622), col = "red")+
lines(matrice$mouth, matrice$p50, type = "l", col = "yellow")+
lines(matrice$mouth, matrice$p51, type = "l", col = "yellowgreen")+
lines(matrice$mouth, matrice$p52, type = "l", col = "blue")+
lines(matrice$mouth, matrice$p53, type = "l", col = "black")+
lines(matrice$mouth, matrice$p54, type = "l", col = "burlywood4")+
lines(matrice$mouth, matrice$p55, type = "l", col = "darkmagenta")+
lines(matrice$mouth, matrice$p56, type = "l", col = "darkslateblue")+
lines(matrice$mouth, matrice$p57, type = "l", col = "lightpink")+
lines(matrice$mouth, matrice$p58, type = "l", col = "yellow3")+
lines(matrice$mouth, matrice$p59, type = "l", col = "tan1")+
lines(matrice$mouth, matrice$p60, type = "l", col = "springgreen")
legend("topleft", c("1949","1950","1951","1952","1953","1954","1955",
"1956","1957","1958","1959","1960"), cex = 0.8,
[Link] = 1.5, col = c("red",
"yellow", "yellowgreen", "blue", "black", "burlywood4", "darkmagenta",
"darkslateblue", "lightpink", "yellow3", "tan1",
"springgreen"), ncol = 2, lty = c(1,1))
1.10. EXERCICE D'APPLICATION: DÉTERMINATION DU SCHÉMAS D'UNE SÉRIE TEMPORELLE AVEC
################################# Méthode de la bande
# Pour voir comment traçer les deux droites des minima et maxima
plot(AirPassengers)
18 CHAPTER 1. GÉNÉRALITÉS SUR LES SÉRIES TEMPORELLES
La droite des maxima peut être traçée en prenant le point maximum de 1949 et celui de
1960. La droite des minima peut être traçée en prenant le point minimum de 1950 et celui
de 1953. Les valeurs de ces points vont être calculées.
BaseAirPassengers %>%
group_by(years) %>%
summarise(min = min(passagers),
max = max(passagers))
1.10. EXERCICE D'APPLICATION: DÉTERMINATION DU SCHÉMAS D'UNE SÉRIE TEMPORELLE AVEC
years min max
1949 104 148
1950 114 170
1951 145 199
1952 171 242
1953 180 272
1954 188 302
1955 233 364
1956 271 413
1957 301 467
1958 310 505
1959 342 559
1960 390 622
# Le max en 1949 = 148; max en 1960 = 622
# et min en 1950 = 114 et min en
BaseAirPassengers %>%
subset(passagers %in% c(148, 622, 114, 180),
selected = c(years, mouth, passagers))
years passagers mouth
1949 148 7
1949 148 8
1950 114 11
1952 180 2
1953 180 11
1960 622 7
# Définition une fonction qui calcule l'ordonnée de x
ordonnee <- function(x, a = c(0, 0), b = c(1, 1)){
return(x*(a[2]-b[2])/(a[1]-b[1]) + (a[1]*b[2]-b[1]*a[2])/(a[1]-b[1]))
}
# Les ordonnées des droites minima et maxima
y_max = ordonnee(temp, c(1949+6/12, 148), c(1960+6/12, 622))
y_min = ordonnee(temp, c(1950+10/12, 114), c(1953+10/12, 180))
# Ici on affiche la série pour savoir traçer les droites minima et maxima
plot(AirPassengers) + lines(temp, y_max, col = "red") +
lines(temp, y_min, col = "red")
20 CHAPTER 1. GÉNÉRALITÉS SUR LES SÉRIES TEMPORELLES
################################# Méthode analytique
# Nouvelle base avec moyenne et ecart-type par annees
MinMaxBase <- BaseAirPassengers %>%
group_by(years) %>%
summarise(passagers_mean = mean(passagers),
passagers_sd = sd(passagers))
# Affichissage de la base constituee de la moyenne et de l'ecart-type par an
head(MinMaxBase, 3)
1.10. EXERCICE D'APPLICATION: DÉTERMINATION DU SCHÉMAS D'UNE SÉRIE TEMPORELLE AVEC
years passagers_mean passagers_sd
1949 126.6667 13.72015
1950 139.6667 19.07084
1951 170.1667 18.43827
# Description de la regression lineaire de l'ecart-type sur la moyenne
summary(lm(passagers_sd~passagers_mean, data = MinMaxBase))
Call:
lm(formula = passagers_sd ~ passagers_mean, data = MinMaxBase)
Residuals:
Min 1Q Median 3Q Max
-2.7872 -2.3326 -0.1083 1.2405 4.1311
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -11.403254 1.982789 -5.751 0.000185 ***
passagers_mean 0.188613 0.006577 28.676 6.19e-11 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 2.528 on 10 degrees of freedom
Multiple R-squared: 0.988, Adjusted R-squared: 0.9868
F-statistic: 822.3 on 1 and 10 DF, p-value: 6.192e-11
3. Déterminez le modèle nal retenu pour chaque série
La méthode du prol ache des courbes qui s'entre coupent: le modèle est donc multiplicatif
selon la méthode du prol. La méthode de la bande montre des droites de minima et maxima
qui sont sécantes : le modèle peut être considéré comme multiplicatif selon la méthode
de la bande. La méthode analytique ache un coecient $a = 0.188 $ et p-value = 6.192 x 10−11 :
donc a est signicatif à 95% : le modèle est donc multiplicatif selon la méthode analytique.
En dénitive, la série est donc multiplicatif.
22 CHAPTER 1. GÉNÉRALITÉS SUR LES SÉRIES TEMPORELLES
Chapter 2
MÉTHODES D'AJUSTEMENT DE LA
TENDANCE
Une série temporelle est le résultat d'un phénomène survenu dans le temps, dont le comportement
peut être simplié sous la forme suivante:
xt = f (t, ϵt ) (12)
Avec ϵt une variable aléatoire.
Il existe plusieurs méthodes d'estimation de f . Certaines d'entre elles font intervenir des procédures
qui donnent la même importance aux valeurs de la série sur toute la période (ajustement global) alors
que d'autres accordent plus d'importance aux valeurs proches de la période courantes (ajustement
local).
2.1 Ajustement global
Les méthodes d'ajustement globales sont nombreuses. Parmi elles: les moindres carrées, les points
médians, l'approche non linéaire et la méthodes non paramétrique.
2.1.1 Moindre carré ordinaire
La méthode des moindres carrés consiste à estimer la tendance sous une forme linéaire:
Zt = α + βt + ϵ (13)
Voyons en guise de rappel, la méthode d'estimation des moindres carré.
a) Principe des moindre carré ordinaire
L'expression de Z fournie en (13) peut être approchée par sa partie linéaire:
Z
bt = α + βt (14)
Cette approximation est faite de sorte que les écarts entre Z et Z
b soient faible. Plusieurs critères
d'optimisation
PT peuvent être envisagés:
1. M in t=1 |Zt − (α + βt)|(α,β)∈R
23
24 CHAPTER 2. MÉTHODES D'AJUSTEMENT DE LA TENDANCE
PT
2. M in t=1 (Zt − (α + βt))2(α,β)∈R
Le second critère d'optimisation des paramètres (α, β) est celui adopté par la méthode des moindres
carrés ordinaires.
Il s'agit de trouver le minimum de la fonction H dénie de la manière suivante:
T
X
H(α, β) = (Zt − (α + βt))2 = 0 (15)
t=1
Notons par $τ= (1, 2, . . . , t, . . . , T) $ le vecteur temps. Ainsi τt = t. La première condition
d'optimalité nécessaire est la nullité des dérivées premières:
T
∂H(α, β) X
= −2(Zt − (α + βt)) = 0 (16)
∂α
t=1
T
∂H(α, β) X
= −2t(Zt − (α + βt)) = 0 (17)
∂β
t=1
T
X T
X
(16) =⇒ Zt − αT − β t=0
t=1 t=1
T T
1X βX
=⇒ α= Zt − t
T T
t=1 t=1
=⇒ α = Z̄ − β τ̄
T
X T
X T
X
(17) =⇒ Zt t − α t−β t2 = 0
t=1 t=1 t=1
T
X T
X T
X
=⇒ Zt t − (Z̄ − β τ̄ ) t−β t2 = 0
t=1 t=1 t=1
XT T
X T
X T
X
=⇒ β( t2 − τ̄ t) = Zt t − Z̄ t
t=1 t=1 t=1 t=1
T
X T
X
=⇒ β( t2 − T τ̄ 2 ) = Zt t − T Z̄ τ̄
t=1 t=1
PT
(Zt t − Z̄ τ̄ )
=⇒ β = Pt=1
T 2 − τ̄ 2 )
t=1 (t
Une valeur simpliée de β est:
Cov(τ, Y )
β=
V ar(τ )
2.1. AJUSTEMENT GLOBAL 25
Et α en est déduit:
α = Z̄ − β τ̄
L'ajustement linéaire du nuage de points se justie par l'existance d'une relation linéaire entre la
série des données et le temps. Cette relation linéaire est appréciée par le coécient de corrélation
linéaire (encore appelé coecient de Bravais-Pearson) entre la série des données et la variable
temps.
Cov(τ, Z)
r(τ, Z) = p (18)
V ar(τ )V ar(Z)
Si r(τ, Z) = 0, alors la série des données Z et le vecteur temps τ sont linéairement indépendants.
Graphiquement, les points du nuage ont un éloignement maximal de la droite de régression.
Si |r(τ, Z)| est proche de 1, alors la série des données Z et le vecteur temps τ sont fortement
liés: la relation linéaire est parfaite. Les points du nuage sont alors alignés. Pour r(τ, Z) > 0 (resp
r(τ, Z) < 0) , la corrélation linéaire est dite croissante ou positive (resp décroissante ou négative).
En pratique, la corrélation linéaire sera dite faible lorsque 0 < |r(τ, Z)| < 0, 3, moyenne lorsque
0, 3 ≤ |r(τ, Z)| ≤ 0, 7 et forte lorsque |r(τ, Z)| > 0, 7.
b) Exemple graphique d'estimation de la tendance
# Simulation d'une serie temporelle y = z + s + e
t = 1:40 # vecteur temps de 1 a 40
# Creation de la tendance z
z = 2.5 + 0.08*t + rnorm(40, mean = 2, sd = 3)
# Saisonnalite: En ajoutant la partie aleatoire, la periode n'est plus pi
s = cos(t*pi) + rnorm(40, mean = 0.5, sd = 2)
# Definir la serie y = z + s + e
y = z + s + rnorm(40) # ie mean = 0, sd = 1
# Definir le type de serie
serie <- ts(y, start = c(2009, 1), frequency = 4)
print(serie)
Qtr1 Qtr2 Qtr3 Qtr4
2009 0.7964195 3.2810648 -3.8551594 5.2898481
2010 7.4440003 2.0253322 3.1308063 14.5325682
2011 3.9211108 1.8857441 9.1817814 6.9459089
2012 3.9888613 8.2978535 -0.7918511 6.8329090
2013 12.1744607 0.2969913 0.4117735 8.2014722
2014 8.0598985 11.0823840 4.7466332 11.5759869
2015 6.7258639 0.3637599 11.8375931 9.4768463
2016 9.1820626 7.4443712 0.8957905 8.4053550
26 CHAPTER 2. MÉTHODES D'AJUSTEMENT DE LA TENDANCE
2017 10.7507558 10.4684258 10.9540244 5.8710578
2018 9.7367481 14.1060262 -1.6064376 9.9192563
# Representation graphique
plot(serie, xlab = "Temps en trimestre", ylab = "Valeurs de serie",
main = "Graphique 1")
# Representation de la tendance en nuages de points
plot(t, z, type = "p", col = "red")
2.1. AJUSTEMENT GLOBAL 27
# Ajustement de la tendance par MCO:
# Nous avons changer l'expression de z: poinst du nuage vs droite d'ajustement
# 1. z = 2.5 + 0.08*t + rnorm(40, mean = 2, sd = 3)
# 2. z = 2.5 + 0.02*t + rnorm(40, mean = 2, sd = 3)
# 3. z = 2.5 - 0.9*t + rnorm(40, mean = 2, sd = 3)
plot(t, z, type = "p", col = "red") + abline(lm(z~t))
28 CHAPTER 2. MÉTHODES D'AJUSTEMENT DE LA TENDANCE
cor(z,t) # Coef correlation lineaire: r(z,t)
[Link](z,t) # Test de la nullite de r(z,t)
0.509862267252087
Pearson's product-moment correlation
data: z and t
t = 3.6536, df = 38, p-value = 0.0007775
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
0.2358051 0.7087958
sample estimates:
2.1. AJUSTEMENT GLOBAL 29
cor
0.5098623
2.1.2 Estimation par points médian (Méthode de Mayer)
L'ajustement par points médian n'utilise pas de critères d'optimisation. La série globale est scindée
en deux groupes de taille égale (à une observation près). La droite d'ajustement est contruite à
l'aide de deux points qui sont les points médians (ou moyens) des deux groupes. Le choix de la
médiane est utilise en présence de valeurs extrèmes dans la série.
Exemple
# Lecteur de la base au moyen de la fonction
# read_xlsx().
library(readxl)
# Nous utilisons les donnees disponibles
# sur: [Link]
ipc <- read_xlsx("[Link]", sheet = "IPC2")
# Définition de la série
basets <- ts(ipc, start = c(2009, 1), frequency=12)
mois <- [Link](time(basets))
ipc <- [Link](ipc)
base <- cbind(mois, ipc)
colnames(base) <- c("mois", "ipc")
# Définition des deux groupes de données
base$groupe <- ifelse(base$ipc<median(base$ipc),1,2)
# Calcul des moyennes et médianes des deux groupes
base %>%
group_by(groupe) %>%
summarise(ipc_med = median(ipc),
mois_med = median(mois))
groupe ipc_med mois_med
1 101.600 2011.500
2 105.455 2016.542
y_median <- ordonnee(base$mois, c(2011.5, 101.6), c(2016.542, 105.455))
plot(base$mois, base$ipc, ylab = "IPC du Senegal 2009-2019", xlab = "Temps") +
lines(base$mois, y_median, col = "blue") +
abline(lm(base$ipc~base$mois), col = "red")
# Ajout de la legend suivant position (x, y)
legend("bottomright", cex = 0.8, [Link] = 4.5,
c("Ajustement MCO", "Ajustement points Medians"), col = c("red", "blue"),
30 CHAPTER 2. MÉTHODES D'AJUSTEMENT DE LA TENDANCE
lty = c(1,1))
2.1.3 L'approche non linéaire
L'ajustement de la tendance peut le plus souvent se ramener sous une forme linéaire par transforma-
tion. Cependant, ces transformation ne sont pas applicables dans tous les cas. Il est alors possible
d'ajuster la tendance suivant une approche non linéaire: polynomiale, quadratique etc.
bt = α + βt2
Z (19)
2.1.4 Estimation non paramétrique
Dans certaines situations, les ajustements linéaire et non linéaire ne sont pas adéquates. D'autres
approches sont alors utilisées. Par exemples les moyennes mobiles d'ordre 2m + 1, permettent
2.2. AJUSTEMENT LOCAL (MOYENNES ET MÉDIANES MOBILES) 31
d'ajuster la tendance selon la formule suivante:
Zbt = M2m+1 (t) (20)
2.2 Ajustement local (moyennes et médianes mobiles)
Les moyennes mobiles visent à transformer la série an de trouver une estimation de la tendance et
la saisonnalité. La transformation vise d'abord à supprimer la saisonnalité, puis a reconstituer les
deux composantes de la série (tendance et saisonnalité).
2.2.1 Dénition des moyennes mobiles
Une moyenne mobile Mm1 +m2 +1 est une transformation qui, à toute série X = (Xt )t∈N∗ , associe
une nouvelle série Mm1 +m2 +1 X = (Mm1 +m2 +1 Xt )t∈N∗ dont la valeur à l'instant t s'écrit comme une
combinaison linéaire nie des valeurs de la série X = (Xt )t∈N∗ à des dates entourant l'instant t. La
valeur de la série transformée Mm1 +m2 +1 X à la date t s'écrit :
m2
X
Mm1 +m2 +1 Xt = θi Xt+i
i=−m1
= θ−m1 Xt−m1 + . . . + θ−1 Xt−1 + θ0 Xt + θ1 Xt+1 + ... + θm2 Xt+m2 (21)
Où θ{-m_1}, , + θ{m_2} sont des réels et (m_1, m_2) ∈ N∗ . Le nombre m_1 + m_2 + 1 est
l'ordre de la moyenne mobile. C'est le nombre de termes considérés dans la somme. Il est possible
de réécrire la série transformée au moyen d'un opérateur. En eet, soit $B $ une application (ou
simplement un operateur) dénie par:
BXt = Xt−1 (22)
B (= Backward ou parfois L = lag) est appelé operateur retard . L'opérateur B peut être
composé par lui même plusieurs fois:
p
| {z }=B
BBB...BB
p fois
B vérie alors les relations suivantes :
B 2 Xt = B(BXt ) = BXt−1 = Xt−2
B k Xt = Xt−k
L'opérateur retard est linéaire: ∀ (Xt , Yt ) les valeurs de deux series a l'instant t et ∀(α, β) ∈ R2
B k (αXt + βYt ) = αB k Xt + βB k Yt = αXt−k + βYt−k
32 CHAPTER 2. MÉTHODES D'AJUSTEMENT DE LA TENDANCE
En plus, B est inversible. Son inverse est note F (= forward):
B −1 Xt = F Xt = Xt+1
B −k Xt = F k Xt = Xt+k
F est appelé operateur avance. Et donc BF = F B = I (opérateur identité):
∀ t, BF Xt = F BXt = Xt
Ainsi la relation (21) devient :
m2
X m2
X
−i
Mm1 +m2 +1 Xt = θi B Xt = θi F i Xt
i=−m1 i=−m1
En posant j = m1 + i : i varie de −m1 à m2 =⇒ j varie de 0 à m1 + m2 :
mX
1 +m2 mX
1 +m2
m1 −j
Mm1 +m2 +1 Xt = θj−m1 B Xt = B m1
θj−m1 B −j Xt
j=0 j=0
| {z }
polynôme en B −1
Considérons le polynôme $P $ dénie par :
mX
1 +m2
P (x) = θi−m1 xi = θ−m1 + θ−m1 +1 x + . . . + θm2 xm1 +m2
i=0
Il est alors claire que :
Mm1 +m2 +1 Xt = B m1 P (B −1 )Xt
P est un polynôme de degré m1 + m2 : c'est le polynôme caractéristique de la moyenne mobile
Mm1 +m2 +1 . La moyenne mobile et son polynôme caractéristique ont les mêmes coécients θi , et la
moyenne mobile se dénie alors simplement :
Mm1 +m2 +1 = B m1 P (B −1 ) (23)
L'ordre de la moyenne mobile Mm1 +m2 +1 et le degré de son polynôme caractéristique P sont liés
par : m1 + m2 + 1 = degré(P ) + 1
La moyenne mobile Mm1 +m2 +1 est dite :
- centrée si m1 = m2 = m (24) - symétrique si elle est centrée et si
∀i ∈ 1, . . . , m : θ−i = θi (25) - arithmétique d'ordre impaire (2m + 1) si elle est centrée
et θi = 2m+1 1
, ∀i ∈ {−m, . . . , m} (26)
NB : la moyenne mobile $M_{m_1+m_2+1} $ ne s'applique à la série qu'aux instants t tels que :
m1 + 1 ≤ t ≤ T ˘m2
2.2. AJUSTEMENT LOCAL (MOYENNES ET MÉDIANES MOBILES) 33
Exemple : Considérons la série Xt dénie par : X1 = 7, X2 = 5, X3 = 4, X4 = 3, X5 = 8.
La moyenne mobile arithmétique d'ordre impaire 3, M3 transforme la série X en une nouvelle série
Y . D'après la relation (26) : ∀i, θi = 13 et 3 = 2 ∗ 1 + 1 donc m = 1 : i ∈ −1, 0, 1
Les valeurs de Y sont données par :
Yt = M3 Xt = θ−1 Xt−1 + θ0 Xt + θ1 Xt+1
1 1 1
Yt = Xt−1 + Xt + Xt+1
3 3 3
1
Yt = (Xt−1 + Xt + Xt+1 )
3
D'où donc : Y2 = 16
3 , Y3 = 4, Y4 = 5
La dénition d'une moyenne mobile centrée donnée ci-haut, implique que l'ordre de celle-ci soit
impair : m1 = m2 = m
Cependant, cette dénition peut être élargie aux moyennes mobiles d'ordre pair. Soit donc Mk une
moyenne mobile d'ordre k = 2m :
1 1
M2m = θ−m B m + θ−m+1 B m−1 + ... + θ−1 B + θ0 + θ1 B −1 + ... + θm−1 B −m+1 + θm B −m
2 2
L'expression de la moyenne mobile centrée d'ordre pair 2m peut être réécrite comme une moyenne
de deux moyennes mobiles.
En eet:
1 1
M2m = θ−m B m + θ−m+1 B m−1 + ... + θ−1 B + θ0 + θ1 B −1 + ... + θm−1 B −m+1 + θm B −m
2 2
1
M2m = [θ−m B m + θ−m+1 B m−1 + ... + θ−1 B + θ0 + θ1 B −1 + ... + θm−1 B −m+1 ]
2
1
+ [θ−m+1 B m−1 + ... + θ−1 B + θ0 + θ1 B −1 + ... + θm−1 B −m+1 + θm B −m ]
2
En notant par G2m et D2m les expressions dénies par:
G2m = θ−m B m + θ−m+1 B m−1 + ... + θ−1 B + θ0 + θ1 B −1 + ... + θm−1 B −m+1 moyenne mobile
avec m1 = m et m2 = m − 1
D2m = θ−m+1 B m−1 + ... + θ−1 B + θ0 + θ1 B −1 + ... + θm−1 B −m+1 + θm B −m moyenne mobile
avec m1 = m − 1 et m2 = m
Ainsi, la moyenne mobile centrée d'ordre 2m est dénie par:
1 1
M2m = G2m + D2m
2 2
34 CHAPTER 2. MÉTHODES D'AJUSTEMENT DE LA TENDANCE
Remarque
Une moyenne mobile symétrique est nécessairement centrée d'ordre impair.
Pour une moyenne mobile arithmétique d'ordre pair, les coécients θi restent constantes et égaux
à l'inverse de l'ordre de la moyenne mobile :
1
θi = , ∀i ∈ {−m, . . . , m}
2m
Exemple : Considérons la série Xt dénie par : X1 = 6, X2 = 5, X3 = 4, X4 = 3, X5 =
8, X6 = 9, X7 = 2, X8 = 11, X9 = 10, X10 = 12, X11 = 9, X12 = 8.
La moyenne mobile arithmétique d'ordre 4, M4 , appliquée à cette série donne une nouvelle série
Y = (Yt )t .
M4 Xt est déni pour t: 3 ≤ t ≤ 10 et ∀i θi = 1
4
Et pour t = 3 :
1 18 9
G4 X3 = (6 + 5 + 4 + 3) = =
4 4 2
1 20
D4 X3 = (5 + 4 + 3 + 8) = =5
4 4
D'où donc :
19 1 19
M4 X3 = + 5=
22 2 4
Dates t Xt G4 Xt D4 Xt M4 Xt
3 4 4.5 5 4.75
4 3 5 6 5.5
5 8 6 5.5 5.75
6 9 5.5 7.5 6.5
7 2 7.5 8 7.75
8 11 8 8.75 8.375
9 10 8.75 10.5 9.625
NB Le but des moyennes mobiles est :
d'absorber les composantes saisonnières en laissant invariantes les tendances ;
de réduire la variance des perturbations.
Ainsi, les moyennes mobiles agissent en tamis (d'où leur second nom de ltre) pour laisser passer
la tendance, supprimer la partie saisonnière et réduire fortement les eets des perturbations. Cette
fonction de ltre est justiable à travers les propriétés des moyennes mobiles présentées ci-après.
2.2.2 Opérations sur les moyennes mobiles
Soient MkM et NkN deux moyennes mobiles d'ordres respectifs kM et kN .
a) Dénitions et términologies
> > La moyenne mobile SkS somme de MkM et NkN est denie par:
SkS Xt = (MkM + NkN )Xt = MkM Xt + NkN Xt
Avec kS = max{kM , kN } >
2.2. AJUSTEMENT LOCAL (MOYENNES ET MÉDIANES MOBILES) 35
La moyenne mobile CkC composée (ou produit) de MkM et NkN est denie par:
CkC Xt = MkM NkN Xt = MkM (NkN Xt )
Avec kC = kM + kN − 1
Étant donné la formule (23) qui dénie une moyenne mobile comme une combinaison d'opérateurs,
une moyenne mobile est une application linéaire. Ainsi, l'ensemble des moyennes mobiles est un
espace vectoriel.
> > Le noyau d'une moyenne mobile Mk est l'ensemble noté Ker(Mk ) déni par:
Ker(Mk ) = {X = (Xt )t∈N∗ | ∀t : Mk Xt = 0}
>
Ainsi, Ker(Mk ) est l'ensemble des séries temporelles dont leur transformation par Mk conduit à
une série temporelle nulle en tout instant t où Mk est applicable.
Pour une moyenne mobile Mk d'ordre k , s'il existe un réel λ, et une série X =
(Xt )t∈N∗ tels que :
∀ t : Mk Xt = λXt
alors, λ est appelé valeur propre associée au vecteur propre X = (Xt )t∈N∗
En particulier, ∀ t :
- si λ = 0 : Mk Xt = 0, la série X = (Xt )t∈N∗ est dite absorbée par Mk . - si λ = 1 : Mk Xt = Xt ,
la série X = (Xt )t∈N∗ est dite invariante par Mk
La réduction de la variance de la partie aléatoire ϵ d'une série temporelle par une moyenne mobile
est plus évidente lors que ϵ présente une forme régulière. Une des formes les plus simples de suite
de variables aléatoires est le bruit blanc
Un bruit blanc est une suite de variables aléatoires ϵ = (ϵt )t∈N∗ , lorsque ∀ t : E(ϵt ) =
0, Var(ϵt ) = δ 2
Un bruit blanc est dit fort si ∀ (t, t ) : Cov(ϵt , ϵt′ ) = 0 ; ϵ = (ϵt )t∈N∗ est alors une suite
′
indépendante identiquement distribuée (iid).