Vous êtes sur la page 1sur 35

Master MAD2 PRO

2005-2006



















Ralis par :

MANSARE Iracy








Sous la Direction de : Madame Sophie JACQUOT



Rapport de Stage

Utilisation du Logiciel R dans
les Sries Chronologiques

Ddicace


Je ddie ce rapport de stage toute ma famille pour leur soutien, les conseils et les soucis
partags.





Remerciements


Jaimerais adresser mes remerciements les plus chaleureux ma tutrice de stage Madame
Sophie JACQUOT pour sa disponibilit, sa gnrosit, son encouragement et son soutien.
Cest avec un rel plaisir que jai effectu ce stage sous sa direction.
Quelle trouve ici lexpression de ma reconnaissance et de ma profonde gratitude.


Mes remerciements sadressent aussi tous les professeurs du MAD2 plus particulirement
Monsieur Jean Pierre LAMARCHE le responsable de la formation pour son accueil
chaleureux et sa bonne humeur permanente.
Quil trouve ici lexpression de mon profond respect et de ma gratitude.


Enfin, je tiens remercier tous les amis du Master.

























Table des Matires

Ddicace

Introduction

Premire Partie : Saisie de la Srie

Deuxime Partie : Rgression Linaire

Troisime Partie : Lissage Exponentiel
Lissage Exponentiel Simple
Lissage Exponentiel Double

Quatrime Partie :Lissage de Holt-Winters
Mthode non saisonnire
Mthode Saisonnire Additive
Mthode Saisonnire Multiplicative

Cinquime Partie :Lissage Par Moyenne Mobile

Sixime Partie :Priodogramme

Septime Partie : Statistique de Box-Pierce, ou Test de Portemanteau

Huitime Partie:Bruit Blanc
Auto corrlation
Fonction dAuto corrlation Partielle

Neuvime Partie : Les Processus ARMA
Processus MA(q)
Processus AR(q)

Simulation de la srie chronologique arima avec la fonction arima.sim

BIBLIOGRAPHIE


Introduction

R est un logiciel pour l'analyse statistique des donnes initi par Robert Gentleman et Ross Ihaka
(Universit d'Auckland, Nouvelle-Zlande), auxquels sont venus s'ajouter un noyau de chercheurs du
monde entier en 1997, il constitue aujourd'hui un langage et un environnement de programmation
intgr d'analyse statistique. Il fournit les procdures usuelles (t-tests, anova, tests non
paramtriques...) et possde des possibilits graphiques pour explorer les donnes, illustrer quelques
concepts fondamentaux de la statistique infrentielle. Pouvant tre utilis aussi bien en mode interactif
qu'en mode batch, R est un logiciel libre, dont le code source est disponible et qui peut tre recopi et
diffus gratuitement. Des versions compiles de R sont disponibles pour Linux, Windows et Mac OS
X. Il rpond tous les calculs et reprsentations ncessaires dans l'exercice professionnel de
l'enseignant de mathmatique ou de sciences.

Ltude des sries temporelles, ou sries chronologiques, correspond lanalyse statistique
dobservations rgulirement espaces dans le temps. Leur domaine dapplication est trs vaste et
stend de lastronomie lconomie en passant par la biologie ou la thorie du signal.

Lobjectif de ce stage est la prvision des sries chronologiques dans le logiciel R, et la premire
partie se consacre sur la saisie des donnes dans un fichier excel format txt en important ces
donnes avec la commande read.table qui a pour effet de crer un tableau de donnes et transformer
ces donnes sous forme de tableau en srie temporelle avec utilisation de la commande ts.
La deuxime partie est consacre sur la rgression linaire dont le but sera prcisment destimer
lerreur et pour la raliser avec la mthode des moindres carrs, on utilise la commande lm .
La troisime partie est ltude de la procdure lissage.exponentiel dans R ;cest la procdure la
plus simple mettre en uvre pour faire de la prvision, elle est base sur les mthodes de lissage.
La quatrime partie est consacre Holt et Winters qui ont propos une approche un peu diffrente
au problme de lissage exponentiel avec lajustement et lapproximation de la srie au voisinage de T
et approximation de X
t
par une tendance.
La cinquime partie est consacre la moyenne mobile qui a pour objectif de dsaisonnaliser une
srie; la srie doit avoir une composante saisonnire mensuelle ou trimestrielle (additive ou
multiplicative).
La sixime partie est lutilisation du priodogramme qui permet de reprer la composante saisonnire
qui est souvent difficile dtecter et il est considr comme transforme de fourrier discrte pour
trouver la priode.
La septime partie est la statistique de Box-Pierce qui permet didentifier les processus de bruit
blanc (i.e. les processus alatoires de moyenne nulle,de variance constante et non auto corrls).
La huitime partie nous parle du bruit blanc qui est un processus stationnaire au sens faible dont :
Les esprances (des variables alatoires constitutives du processus) sont gales 0,
les variances sont gales
2
, une constante (donc la mme pour toutes les variables)
La neuvime partie est ltude et simulation dun processus ARMA qui est compos dun processus
autorgressif et dun processus de type moyenne mobile.
La dernire partie sera consacre au processus ARIMA pour la simulation de la srie chronologique
arima avec la fonction arima.sim.




















Premire Partie : Saisie de la srie


Nombre de nuites mensuelles dans les hotels et "guest houses" de Victoria (Australie) entre janvier
80 juin 95.
Je saisie les donnes dans un fichier excel format txt
Pour importer les donnes, jutilise la commande read.table qui a pour effet de crer un tableau de
donnes et est donc le moyen principal pour lire des fichiers de donnes au format texte.

> table=read.table("C://Documents and Settings/Utilisateur/Mes
documents/chronique3/Victoriahotels.txt",header=TRUE)
> table

Victoriahotel
1 276986
2 260633
3 291551
4 275383
5 275302
6 231693
7 238829
8 274215
9 277808
10 299060
11 286629
12 232313
13 294053
14 267510
15 309739
16 280733
17 287298
18 235672
19 256449
20 288997
21 290789
22 321898
23 291834
24 241380
25 295469
26 258200
27 306102
28 281480
29 283101
30 237414
31 274834
32 299340
33 300383
34 340862
35 318794
36 265740
37 322656
38 281563
39 323461
40 312579
41 310784
42 262785
43 273754
44 320036
45 310336
46 342206
47 320052
48 265582
49 326988
50 300713
51 346414
52 317325
53 326208
54 270657
55 278158
56 324584
57 321801
58 343542
59 354040
60 278179
61 330246
62 307344
63 375874
64 335309
65 339271
66 280264
67 293689
68 341161
69 345097
70 368712
71 369403
72 288384
73 340981
74 319072
75 374214
76 344529
77 337271
78 281016
79 282224
80 320984
81 325426
82 366276
83 380296
84 300727
85 359326
86 327610
87 383563
88 352405
89 329351
90 294486
91 333454
92 334339
93 358000
94 396057
95 386976
96 307155
97 363909
98 344700
99 397561
100 376791
101 337085
102 299252
103 323136
104 329091
105 346991
106 461999
107 436533
108 360372
109 415467
110 382110
111 432197
112 424254
113 386728
114 354508
115 375765
116 367986
117 402378
118 426516
119 433313
120 338461
121 416834
122 381099
123 445673
124 412408
125 393997
126 348241
127 380134
128 373688
129 393588
130 434192
131 430731
132 344468
133 411891
134 370497
135 437305
136 411270
137 385495
138 341273
139 384217
140 373223
141 415771
142 448634
143 454341
144 350297
145 419104
146 398027
147 456059
148 430052
149 399757
150 362731
151 384896
152 385349
153 432289
154 468891
155 442702
156 370178
157 439400
158 393900
159 468700
160 438800
161 430100
162 366300
163 391000
164 380900
165 431400
166 465400
167 471500
168 387500
169 446400
170 421500
171 504800
172 492071
173 421253
174 396682
175 428000
176 421900
177 465600
178 525793
179 499855
180 435287
181 479499
182 473027
183 554410
184 489574
185 462157
186 420331

Je transforme les donnes sous forme de tableau en srie temporelle et pour cela, jutilise la
commande ts qui va crer un objet de classe ts partir dun vecteur (srie temporelle simple) ou
dune matrice (srie temporelle multiple), et des options qui caractrisent la srie.

> serie=ts(table,frequency=12,start=c(1980),end=c(1995,6))
> serie

Jan Feb Mar Apr May Jun Jul Aug Sep Oct
1980 276986 260633 291551 275383 275302 231693 238829 274215 277808 299060
1981 294053 267510 309739 280733 287298 235672 256449 288997 290789 321898
1982 295469 258200 306102 281480 283101 237414 274834 299340 300383 340862
1983 322656 281563 323461 312579 310784 262785 273754 320036 310336 342206
1984 326988 300713 346414 317325 326208 270657 278158 324584 321801 343542
1985 330246 307344 375874 335309 339271 280264 293689 341161 345097 368712
1986 340981 319072 374214 344529 337271 281016 282224 320984 325426 366276
1987 359326 327610 383563 352405 329351 294486 333454 334339 358000 396057
1988 363909 344700 397561 376791 337085 299252 323136 329091 346991 461999
1989 415467 382110 432197 424254 386728 354508 375765 367986 402378 426516
1990 416834 381099 445673 412408 393997 348241 380134 373688 393588 434192
1991 411891 370497 437305 411270 385495 341273 384217 373223 415771 448634
1992 419104 398027 456059 430052 399757 362731 384896 385349 432289 468891
1993 439400 393900 468700 438800 430100 366300 391000 380900 431400 465400
1994 446400 421500 504800 492071 421253 396682 428000 421900 465600 525793
1995 479499 473027 554410 489574 462157 420331
Nov Dec
1980 286629 232313
1981 291834 241380
1982 318794 265740
1983 320052 265582
1984 354040 278179
1985 369403 288384
1986 380296 300727
1987 386976 307155
1988 436533 360372
1989 433313 338461
1990 430731 344468
1991 454341 350297
1992 442702 370178
1993 471500 387500
1994 499855 435287
1995

> Plot(serie

Ce schema nous donne lvolution du nombre de nuits mensuelles dans les hotels et "guest houses"
de Victoria (Australie) entre janvier 80 juin 95.


Avant danalyser cette srie, on regarde son volution par rapport au temps, recherche de
changement brusques, valeurs atypiques. Nous dirons que le modle est lgrement multiplicatif mais
additif prsentant une tendance hyperbolique.
La srie originale tant additive, lapplication du logarithme nest pas ncessaire car la srie nest pas
explosive mais on constate une rupture entre 1988 et 1989. Pour ce fait :

1- Test de Rupture

Perron a propos dintroduire, ds 1989, dans la rgression de Dickey & Fuller une variable
indicatrice spcifiant lexistence dune rupture. La date de rupture peut dailleurs tre connue ou
inconnue. Dans le cas o elle est inconnue, une procdure squentielle permet de le localiser. Ce lien
entre les tests de racine unit et les changements de structure ont donn lieu de nombreuses
publications depuis une dizaine dannes. Diffrentes formes de changement de structure ont
dailleurs t tudies : changement de niveau, changement du coefficient de tendance linaire,
changement sur les coefficients des variables de la modlisationetc.

Les tests de racine unit

Plusieurs tests ont t implments afin de tester lhypothse nulle que la srie stationnaire
) (
t
Y possde une racine unit et une constante, ventuellement nulle, avec une rupture au
temps T o < < 1 , contre lhypothse alternative que la srie soit stationnaire autour
dune tendance linaire avec rupture en sur cette tendance. Une distinction est alors
gnralement apporte entre deux cas :
.AO- additive outliers - effet instantan
.IO- innovational outliser - effet avec transition
Pour chacun des effets, trois modles sont alors considrs : dans la version AO

= + + + + =
= + + + =
= + + + =
T t pour Y DT DU t X
T t pour Y DT t X
T t pour Y DU t X
t t t t
t t t
t t t
,...., 1 ) ( ) ( ) 3 (
. ,...., 1 ) ( ) 2 (
. ,...., 1 ) ( ) 1 (
*
*




O ) (
t
Y est la srie ) (
t
X laquelle on a retir la tendance dterministe, avec
( ) on et t si DU
t
sin 0 1 > =
( ) [ ] )). ( . ) ( ( sin 0 , ) ( ) ( )) ( (
* *
> = > = > = t II t DT on t si t DT et t II DU
t t t
La mise en uvre du test se fait en deux tapes ;
(i) estimation (par une mthode de types moindres carrs) de la tendance avec les modles de
rgression (1), (2) et (3), et calcul de la srie rsiduelle obtenue en retranchant la srie
observe la tendance estime.
(ii) pour les modles (1) et (3), le test est bas sur la valeur de la t-statistique relative
) ( , 0

t not = et correspond au test de racine unit dans la rgression ADF

= =

+ = = + + + =
k
j
k
i
j t t i t i j t j t t
t II DTB o Y DTB d Y Y
0 1
1
). 1 ( ) ( ) (
Pour le modle (2), la seconde tape consiste effectuer la rgression

=

+ + =
k
i
t i t i t t
Y Y Y
1
1
, et utiliser la t-statistique pour effectuer les tests
classiques ADF.
Dans la version IO, les quations de rgression scrivent :

+ + + + + + + =
=

+ + + + + =
=

+ + + + + + =


=

=

=

T t pour X c X DT DTB DU t X
T t pour X c X DT t X
T t pour X c X DTB DU t X
k
i
t i t i t t t t t
k
i
t i t i t t t
k
i
t i t i t t t t
,...., 1 ) ( ) ( ) ( ) 3 (
. ,...., 1 ) ( ) 2 (
. ,...., 1 ) ( ) ( ) 1 (
1
1
*
1
1
*
1
1





o, encore une fois, ( ) ). 1 ( + = = t II DTB
t
Les tests de Zivot et Andrews (1992) considre
seulement les modles de type IO, sans introduire ( )
j t
DTB

(la justification tant que ce
coefficient est asymptotiquement ngligeable).
Toutefois dans le cas gnral, la date de rupture est inconnue, ainsi que le paramtre k.
Deuxime Partie : Rgression Linaire
On cherche exprimer la relation entre deux variables x et y :
x est la variable indpendante ou explicative. Les valeurs de x sont fixes par l'exprimentateur et
sont supposes connues sans erreur (exemple : concentrations d'un produit doser).
y est la variable dpendante ou explique (exemple : rponse de l'analyseur). Les valeurs de y sont
entaches d'une erreur de mesure. L'un des buts de la rgression sera prcisment d'estimer cette
erreur.
On va chercher une relation de la forme : y = ax + b. C'est l'quation d'une droite, d'o le terme de
rgression linaire. Pour raliser une rgression linaire,par la mthode des moindres carrs, on
utilise la fonction lm. Le modle plus simple o est une suite de
variables alatoires non corrls.
a<-rnorm(186)
b<-2*a+rnorm(186)
plot(b~a)
r<-lm(b~a)
abline(r)
-3 -2 -1 0 1 2
-
6
-
4
-
2
0
2
4
a
b

Ce graphique nous donne simplement la rgression linaire pour les 186 observations de notre srie.

> regression=lm(formula=serie~time(serie))
> regression

Call:
lm(formula = serie ~ time(serie))
Coefficients:
(Intercept) time(serie)
-25463553 12991
la fonction lm produit une liste dont les diffrents lments de lanalyse correspondent aux
rsultats de lanalyse.
La rgression permet plus facilement de se dbarrasser de la tendance.

> confint(regression)
2.5 % 97.5 %
(Intercept) -27614647.18 -23312458.52
time(serie) 11908.46 14072.85
La fonction confint calcule les intervalles de confiance des paramtres de la rgression.

> summary(regression)
Call:
lm(formula = serie ~ time(serie))

Residuals:
Min 1Q Median 3Q Max
-68029 -23777 5781 23700 99442

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -2.546e+07 1.090e+06 -23.36 <2e-16 ***
time(serie) 1.299e+04 5.485e+02 23.68 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 33470 on 184 degrees of freedom
Multiple R-Squared: 0.753, Adjusted R-squared: 0.7516
F-statistic: 560.9 on 1 and 184 DF, p-value: < 2.2e-16
Nous avons les valeurs principales de la rgression effectue.

Rsultats

Modle : s(i)= a*time(srie)+b+e(i)
Ce modle nous donne le nombre de nuites en fonction de laffluence des clients dans les hotels et
guest houses de victoria
Commentaires
- Ce modle un R
2
de 0,753 c'est--dire que la variation du nombre de nuites mensuelles est
explique 75,3% par le temps de passage des clients dans les htels , cest donc un bon ajustement
des donnes.
-Les erreurs standards sont grandes, montrant quil ya lincertitude pour lestimation des paramtres.
-La droite de rgression obtenue pour ce modle est :s(i) -2.546e+07 + 1.299e+04*time(srie)
-La P-value du test sur le coefficient correspondant au time(srie) tant infrieur 5%, il est possible
de dire que les time(srie) ont un effet significatif sur le nombre de nuites .

La fonction gnrique summary prsente les informations ci-dessus de manire facile consulter.
Plus prcisment, le sommaire de la rgression contient, outre le modle utilis et les estimateurs des
coefficients de la rgression : les rsultats des tests t, la valeur du coefficient de dtermination

et, dans R seulement, du coefficient de dtermination ajust

ainsi que le rsultat du test F global.

Utilisons les mthodes statistiques classiques de la rgression ; nous estimons les donnes par la
somme dune fonction affine et dune fonction sinusodale.
Lobjectif est de mettre en vidence la prdiction de la rgression par rapport la srie originale.
Lobjet r contient le rsultat de la rgression

>plot(serie)
>y=as.vector(serie)
>x=as.vector(time(serie))
> plot(y~x,type='l')
> r=lm(y~poly(x,2)+cos(2*pi*x)+sin(2*pi*x)+cos(4*pi*x)+sin(4*pi*x))
> lines(predict(r)~x,lty=3, col='blue',lwd=3)
1980 1985 1990 1995
2
5
0
0
0
0
3
5
0
0
0
0
4
5
0
0
0
0
5
5
0
0
0
0
x
y

Sur ce graphe, nous voyons quen introduisant la somme dune fonction affine et dune fonction
sinusodale, la rgression samliore sensiblement et on obtient un R-Squared gale 0.8803 comme le
montre dans summary(r). Ceci est confirm par laffichage du model et de la srie chantillon sur le
mme graphe. En effet les supports des deux se superposent et traduisent les mmes fluctuations.
> summary(r)
Call:
lm(formula = y ~ poly(x, 2) + cos(2 * pi * x) + sin(2 * pi * x) + cos(4 * pi * x) + sin(4 * pi * x))

Residuals:
Min 1Q Median 3Q Max
-53032.9 -15911.7 -473.1 18055.9 65583.9

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 358096 1707 209.772 < 2e-16 ***
poly(x, 2)1 791964 23279 34.020 < 2e-16 ***
poly(x, 2)2 44283 23322 1.899 0.0592 .
cos(2 * pi * x) 14837 2415 6.145 5.05e-09 ***
sin(2 * pi * x) -4791 2419 -1.980 0.0492 *
cos(4 * pi * x) -27804 2414 -11.519 < 2e-16 ***
sin(4 * pi * x) 11900 2415 4.929 1.88e-06 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 23270 on 179 degrees of freedom
Multiple R-Squared: 0.8838, Adjusted R-squared: 0.88
F-statistic: 227 on 6 and 179 DF, p-value: < 2.2e-16

Commentaires

Ce modle un R
2
de 0,8838 c'est--dire que la variation du nombre de nuites mensuelles
est explique 88,38% par le temps de passage des clients dans les htels, cest donc un bon
ajustement des donnes par rapport la premire rgression. Les erreurs standards sont
grandes, montrant quil y a incertitude pour lestimation des paramtres.
-La droite de rgression obtenue pour ce modle est :

s(i) = 358096 + 791964*poly(x,2)1+44283*poly(x,2)2+14837*cos(2*pi*x)-4791*sin(2*pi*x)-
27804*cos(4*pi*x)+11900*sin(4*pi*x).

La P-value du test sur les coefficients correspondant tant infrieur 5%, il est possible de dire que
ces coefficients ont un effet significatif sur le nombre de nuites.

> Plot(r)


Ce graphe nous donne les rsidus par rapport aux valeurs ajustes.Nous remarquons que les points
sont repartis de faons ingales alignes autour de la premire bissectrice. Ce qui veut dire que les
prvisions sont moins bonnes, elles doivent normalement tre aligns sur la droite de rgression
srie = predict(rgression) donc doivent tre gales aux valeurs observes.


Dans notre cas, tous les points ne sont pas proches de la droite de rgression.



Ce graphe nous donne les rsidus standardiss par rapport aux quantiles thoriques. Les plots
quantile-quantile sont utilises pour comparer graphiquement la distribution dun chantillon avec une
distribution thorique attendue (fonction qqnorm() pour la loi normale) et pour valuer la distribution de
rsidus dune analyse statistique afin de vrifier sil se conforme aux hypothses du modle.











Ces graphes nous donnent les rsidus standardiss par rapport aux valeurs ajustes.
Lobservation du graphe des rsidus nous montre que la composante priodique existe toujours et
permet de vrifier si la tendance et la saisonnalit disparaissent au fur et mesure de la construction
du modle.

La distance de Cooks donne pour chacun des points de mesure la distance entre les paramtres
estims par la rgression avec et sans ce point. Si limportance du rle de chaque point est concentr
sur quelques valeurs, la rgression nest pas bonne (prise en compte de points aberrants).


Troisime Partie : Lissage Exponentiel

Le but est l'tude de la procdure lissage.exponentiel dans R. C'est la procdure la plus simple
mettre en oeuvre pour faire de la prvision, elle est base sur les mthodes de lissage. On peut leur
proposer des sries supplmentaires tudier tout seul.
On suppose que lon observe la ralisation dun processus sur un intervalle .
Le but est de donner une estimation pour note (prvision lhorizon _ ).


3-a Lissage exponentiel simple
On dispose dune srie X
1
,, X
T
et on dsire prdire ) 1 (
+
h X
h T
. Dnotons la prvision par


Dfinition :
La valeur fournie par la mthode du lissage exponentiel simple avec la constante de lissage
( ) 1 0 < < est :


est une moyenne des observations passes ou le poids de chaque observation dcrot de
faon exponentielle avec la distance.
Notons que ne dpend pas de h : .
En rcrivant autrement la formule de calcul de on a :

do lerreur de prvision :

Par consquent,

est une moyenne pondre de et On peut aussi crire sous une forme
adaptive :

Le paramtre ' est appel la constante de lissage. Si ' est proche de 0, la prvision
est plus sensible aux dernires observations et rpercute fortement toutes les fluctuations
rcentes (tant au niveau de la tendance que celui du bruit).
Si est proche de 1, la prvision prend davantage en compte tout le pass et les fluctuations
sont prises en compte plus tardivement. Dans ce cas, on parle de prvision rigide.
Le choix du paramtre apparat comme un compromis entre stabilit et sensibilit.
Empiriquement, on choisit ] 3 . 0 ; 05 . 0 [ . Si la srie est bruite, on choisira plutt une
valeur faible pour .
Pour faire du lissage exponentiel sous R, il faut utiliser le lissage.exponentiel .

3-b Lissage exponentiel double

Le lissage exponentiel simple est bien adapt au cas o la srie a une moyenne approximativement
constante au voisinage de T. A la place, supposons que la srie peut tre approxime par une droite
au voisinage de T :

Ceci suggre une prvision de la forme :

o
1
(T) et
2
(T) sont choisis de faon minimiser :

En diffrenciant Q, on obtient


do :

Remplaons
, ,
( limites lorsque ) , on obtient alors:

Dfinissons


O on voit que S
2
(t) correspond un double lissage. Substituant S
1
(t) et S
2
(t) on obtient :

do :



Commande pour lissage exponentiel

>lissage.exponentiel=function(serie,a){
m=serie
for(i in 2:n) {
#Dfinition du lissage exponentiel:
m[i]=a*serie[i]+(1-a)*m[i-1]
}
m=ts(m,start=start(serie),frequency=frequency(serie))
m
}
>plot.lissage.exponentiel=function(serie,a=.9) {
plot(lissage.exponentiel(serie,a))
par(usr=c(0,1,0,1))
text(.02,.9,a,adj=c(0,1),cex=3)
}
>par(mfrow=c(3,1))
>plot(serie,main="Lissages exponentiels")
>plot.lissage.exponentiel(serie)
>plot.lissage.exponentiel(serie,.1)

Lissages exponentiels
Time
V
ic
t
o
r
i
a
h
o
t
e
l
1980 1985 1990 1995
2
5
0
0
0
0
5
0
0
0
0
0
Time
V
ic
t
o
r
ia
h
o
t
e
l
1980 1985 1990 1995
2
5
0
0
0
0
4
5
0
0
0
0
0.9
Time
V
ic
t
o
r
ia
h
o
t
e
l
1980 1985 1990 1995
3
0
0
0
0
0
4
5
0
0
0
0
0.1


Sur ces graphes, nous remarquons quen donnant les valeurs plus petites, notre courbe sera
transform en une droite.


>r=serie-lissage.exponentiel(serie,.1)
>plot(r,main="Rsidus du lissage exponentiel")

Rsidus du lissage exponentiel
Time
s
e
r
i
e
1980 1985 1990 1995
-
5
0
0
0
0
0
5
0
0
0
0
1
0
0
0
0
0

A travers ce graphe, nous voyons que le rsidu du lissage exponentiel nest pas un bruit blanc.
Quatrime Partie : Lissage de Holt-Winters

Holt et Winters ont propos une approche un peu diffrente au problme de lissage exponentiel.

4-a Mthode non saisonnire

Holt et Winters ajustent aussi une droite au voisinage de T (comme dans le lissage exponentiel
double).Les formules de mise jour des coefficients sont toutes diffrentes :




Ces deux formules sont de moyenne pondre.
Les prvisions associes sont :

On prend habituellement :

Les formules de mise jour du lissage exponentiel double peuvent scrire :

,

Les deux mthodes sont identiques si on prend :


4-b Mthode Saisonnire Additive

On suppose que la srie peut tre approxime au voisinage de T par : o S
t

est un facteur saisonnier. On propose les formules de mise jour :



O , 1 0 < < , 1 0 < < et , 1 0 < < do la prvision :


4-c Mthode Saisonnire Multiplicative

On cherche approximer X
t
par une tendance de la forme ( ) [ ]
t
S a T t a
2 1
+ + , les formules de mise
jour sont :

Do la prvision :



>m=HoltWinters(serie) pour le lissage
>p=predict(m,100,prediction.interval=TRUE) pour la prvision
>plot(m,p)



A partir du mois de juin 1995, on remarque que notre horizon de prvision commence, cest ce que
montre la fin de ma srie originale en noir. On voit la prvision donne par la courbe rouge (srie
lisse) avec un intervalle de confiance donn par les deux autres courbes en bleu.

Cinquime Partie : Lissage par moyenne mobile

Pour trouver la tendance dune srie temporelle, on peut simplement la lisser . La fonction filter
permet deffectuer ce lissage plus simplement.
Le filtrage dune srie consiste remplacer chaque valeur de cette srie par une combinaison de ses
diverses valeurs.

La moyenne mobile a pour objectif de dsaisonnaliser une srie; la srie doit avoir une composante
saisonnire mensuelle ou trimestrielle (additive ou multiplicative). Les composantes qui peuvent
apparatre un moment ou un autre de la dcomposition sont :
La tendance de la srie qui reprsente lvolution de long terme de la srie ;
Le cycle, mouvement lisse, quasi priodique, autour de la tendance et met en vidence une
succession de phases de croissance et de rcession.

Les sries tudies sont en gnral trop courtes pour que lestimation des deux composantes puisse
se faire aisment. On parlera donc dans la suite de composante tendance-cycle, note TC
t
.
La composante saisonnire, note S
t
, reprsentant des fluctuations infra annuelles, mensuelles ou
trimestrielles, qui se rptent plus ou moins rgulirement danne en anne ; La moyenne mobile,
qui constitue loutil de base de la mthode de dsaisonnalisation ,est utilise pour estimer les
principales composantes de la srie, tendance et saisonnalit. Ce sont avant tout des outils de
lissage conus pour liminer une composante indsirable de la srie.

Prenons lexemple simple dune srie constitue dune tendance et dune composante irrgulire : si
la tendance est lisse, alors les valeurs de la srie autour de la date t doivent contenir de linformation
sur la valeur de cette tendance linstant t et il doit tre possible dutiliser une moyenne de ces
valeurs comme estimation. La mthode de dsaisonnalisation utilise la moyenne mobile pour estimer
les principales composantes de la srie, tendance et saisonnalit. Ces filtres, qui n'impliquent pas a
priori l'utilisation de concepts ou de modles sophistiqus, sont trs simples de principe et se rvlent
d'application particulirement souple : il est possible de construire une moyenne mobile possdant de
bonnes proprits en termes de conservation de tendance, d'limination de la saisonnalit, de
rduction du bruit etc
Une moyenne mobile de coefficients se dfinit donc comme
tout le problme est alors de trouver le bon ensemble de coefficients

> plot(serie)
> k=12
> lines(filter(serie,rep(1/k,k)),col='blue')
T i m e
V
i
c
t
o
r
i
a
h
o
t
e
l
1 9 8 0 1 9 8 5 1 9 9 0 1 9 9 5
2
5
0
0
0
0
3
5
0
0
0
0
4
5
0
0
0
0
5
5
0
0
0
0

Nous remarquons que la tendance tend tre linaire et nous pouvons extraire les facteurs
irrgularits et saisonniers.

Tendance
La composante fondamentale ou tendance (trend) traduit lvolution moyen terme du phnomne.
On parle aussi de mouvement conjoncturel ou mouvement extra-saisonnier. La chronique
correspondante, note f
t
, t=1,,T, est une fonction variation lente supose dterministe dans cette
approche. Elle sera estime sous forme paramtrique (polynme, exponentielle,) ou comme le
rsultat dune opration de lissage.

La composante Saisonnire

La composante saisonnire ou mouvement saisonnier reprsente des effets priodiques de priode
connue p qui se reproduisent de faon plus ou mois identique dune priode sur lautre. La chronique
correspondante, galement dterministe, est note S
t
, t=1,,T. Elle est gnralement suppose
rigoureusement priodique : S
t+p
=S
t
et les valeurs S
j
=S
ij
, j=1,p dune priode sont appeles
coefficients saisonniers. Le bilan de leffet saisonnier sur une priode doit tre nul car il est pris en
compte dans la tendance. La composante saisonnire permet simplement de distinguer lintrieur
dune mme priode une rpartition stable dans le temps deffets positifs ou ngatifs qui se
composent sur lensemble de la priode.

La composante rsiduelle

La composante rsiduelle ou variations accidentelles est la partie non structure du phnomne. Elle
est modlise par une suite de variables alatoires t, t=1,.. ,T, centres, non corrles et de mme
variance, on parle de bruit blanc.
On suppose gnralement que la partie rsiduelle a un ordre de grandeur trs infrieur celui des
parties explicatives f
t
et S
t
. En fait il sera toujours possible de dceler la prsence dune partie
dterministe, mme de faible importance, condition que la srie observe soit suffisamment longue.
Nous utilisons les commandes matrix pour crer des matrices, cbind pour la concatnation par
colonnes pour construire une matrice et nous tiendrons compte que la longueur des donnes soit un
diviseur ou un multiple du nombre de lignes dans la matrice et parmi les valeurs de k = 2, 6, 31,93
cest la valeur de k=6 qui nous permet de donner la meilleure rgression.

> k=6
> m=matrix(as.vector(diag(k)),nr=length(serie),nc=k,byrow=T)
> m1=cbind(m,poly(as.vector(time(serie)),2))
> r=lm(serie~m1-1)
> summary(r)
Call:
lm(formula = serie ~ m1 - 1)
Residuals:
Min 1Q Median 3Q Max
-51018.1 -16175.1 -799.2 15415.9 68831.3

Coefficients:
Estimate Std. Error t value Pr(>|t|)
m1 352315 3876 90.904 <2e-16 ***
m1 344317 3875 88.850 <2e-16 ***
m1 382007 3875 98.582 <2e-16 ***
m1 386073 3875 99.631 <2e-16 ***
m1 371990 3875 95.991 <2e-16 ***
m1 311776 3876 80.444 <2e-16 ***
m11 795172 21586 36.837 <2e-16 ***
m12 43784 21575 2.029 0.0439 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 21580 on 178 degrees of freedom
Multiple R-Squared: 0.9966, Adjusted R-squared: 0.9965
F-statistic: 6606 on 8 and 178 DF, p-value: < 2.2e-16

Commentaires

Ce modle un R
2
de 0,9966 c'est--dire que la variation du nombre de nuites mensuelles est
explique 99,66% par le temps de passage des clients dans les htels, cest donc un trs bon
ajustement des donnes. abline trace la droite de rgression. Lty contrle le type de lignes traces en
pointill plein.

> b=r$coef
> y1=m1[,1:k]%*% b[1:k] // %*% Oprateur de multiplication de matrice.
> y1=ts(y1,start=start(serie),frequency=frequency(serie)) // start: point de dpart des itrations
> y2=m1[,k+1:2]%*% b[k+1:2]
> y2=ts(y2,start=start(serie),frequency=frequency(serie))
> res=serie-y1-y2
> plot(serie)
> lines(y2+mean(b[1:k])~as.vector(time(serie)),col='blue')
> abline(h=0,v=1980:1995,lty=3)



Time
V
i
c
t
o
r
i
a
h
o
t
e
l
1980 1985 1990 1995
2
5
0
0
0
0
3
5
0
0
0
0
4
5
0
0
0
0
5
5
0
0
0
0

Dans ce graphe, nous remarquons que la tendance est presque linaire.

>plot(res)
> abline(h=0,v=1980:1995,lty=3)

Les irrgularits en fonction du temps sont reprsents dans le graphe suivant. Il sert la dtection
des valeurs atypiques et cela se traduit par des rsidus et on remarque que ce nest pas un bruit
blanc. La composante rsiduelle ou bruit ou rsidu (e
t
) : ce sont des fluctuations irrgulires, en
gnral de faible intensit mais de nature alatoire. On parle aussi des alas (e
t
).

Time
s
e
r
i
e

-

y
1
1980 1985 1990 1995
-
4
0
0
0
0
0
2
0
0
0
0
4
0
0
0
0
6
0
0
0
0


Notons que les moyennes mobiles utilises dans les oprations de dessaisonalisation sont
symtriques et dordre fini :

Les coefficients cependant peuvent tre ngatifs (filtre) et ltude est trs lie la notion dquations
de rcurrence linaires. Pour les moyennes mobiles dordre infini, on a :

>plot(diff(res))
>abline(h=0,v=1980 :1995,lty=3)

Sur ce graphique, nous enlevons la tendance. Pour ce fait , nous appliquons diff( ) qui calcule la
diffrence entre une srie et elle-mme dcale dans le temps de k observations

Time
s
e
r
i
e

-

y
1
1980 1985 1990 1995
-
5
0
0
0
0
0
5
0
0
0
0
1
0
0
0
0
0


>plot(y1)
> abline(h=0,v=1980:1995,lty=3)

La composante Tendance cycle est enleve de la srie analyse, selon le schma de composition
adopt, pour obtenir une premire estimation de la composante saisonnire. On reprsente la
composante saisonnire en fonction du temps : Le graphe met bien en vidence lexistence dune
saisonnalit annuelle.
La composante saisonnire ou saisonnalit correspond un phnomne qui se rpte
intervalles de temps rguliers (priodique). En gnral, cest un phnomne saisonnier do le terme
de variations saisonnires. La composante saisonnire est donc priodique de priode d et il suffit de
connatre ses d premires valeurs s
1
, s
2
,,s
d
(par priodicit, on a s
t
= s
t+d
pour tout t). On supposera
galement que s
t
ne contient pas de tendance, ce quon crira :

=
+
=
d
j
j t
S
1
0

Time
S
e
r
i
e
s

1
1980 1985 1990 1995
3
2
0
0
0
0
3
4
0
0
0
0
3
6
0
0
0
0
3
8
0
0
0
0



Sixime Partie : Priodogramme

Dans le cas dune dcomposition de Fourier, on choisit le systme de fonctions orthogonales :
{ } [ ] , , ,...., 0 ; cos ; sin =
j j j
j t t
Dcomposer x
t
en srie de Fourier consiste alors trouver les cfficients a
j
et b
j
tels que :


( )

=
+ =
0
sin cos
j
j j j j t
t b t a x

Ds lors, la dcomposition en srie de Fourier de x
t
sera :

=
|

\
|
+ =
) (
0
2
sin
2
cos
T L
j
j j t
t
T
j
b t
T
j
a x


O L(T) = T/2 si T est pair, et L(T)=(T-1)/2 si T est impair. Les coefficients a
j
et b
j
sont appels
coefficients de Fourier, et le but est de les estimer. Comme on a exactement T observations et T
inconnues (i.e. les coefficients { a
0
,, a
L(T)
; b
0
,, b
L(T)
}), le systme une solution unique, qui peut
tre trouve en utilisant, par exemple, une rgression linaire. Le calcul de ces coefficients est
explicite en estimant les coefficients de Fourier a
j
et b
j
par utilisation dune rgression par
moindres carrs on a :



Notons que pour j = 0, le cosinus vaut 1, et le coefficient de Fourier associ cette frquence, a
0
, est
simplement la moyenne du processus. Si T est pair, les rsultats ne sont pas fondamentalement
diffrents. Simplement, les frquences v
j
sont dfinis pour j=0,(T/2) pour les termes en cosinus, et j
= 1,[(T/2)-1] pour les termes en sinus. La valeur des ne change donc pas, tandis quil faudra
rajouter un qui vaudra
Dans une analyse de rgression classique, ltape suivante consiste effectuer une analyse de la
variance. Par exemple, si on veut expliquer x
t
par les K variables mutuellement orthogonales r
1t
,, r
Kt

dans le modle linaire :

On donne les rsultat ici sans dmonstration que la portion de explique par vaut
De mme, ici, la part de explique par vaut la part de
explique par vaut par et la part globale de explique par les cycles la
frquence v
j
vaudra Ces rsultats justifient la construction et la reprsentation dune
fonction periodogramme, dfinie par :

La dcouverte des pics dans cette fonction indique alors que les frquences pour lesquelles ces pics
apparaissent sont les frquences qui expliquent le mieux la dynamique de x
t
. A titre dexemple, on a
reprsent sur la figure ci-dessus le periodogramme du nombre de nuites mensuels dans les htels
Victoria sur la priode de 1980-1995. On voit apparatre quatre pics dont un pic significatif pour de trs
hautes frquences.
En remplaant les coefficients de Fourier par leur valeur on a :

Lutilisation du periodogramme permet de reprer la composante saisonnire qui est souvent difficile
dtecter et il est considr comme transforme de fourrier discrte pour trouver la priode.
Lanalyse Spectrale sert dterminer les saisonnalits et les cycles : Si la srie possde une
saisonnalit s, alors la densit spectrale a un pic la frquence s / 2 = .
Pour estimer la densit spectrale on calcule lestimateur en excutant le programme :

>periodogram=function(tab)
{
n=length(tab)
freq=1:(n%/%2)/(n)
periodogram=Mod(fft(tab))[2:(n%/%2+1)]^2/(2*pi*n)
plot(freq, periodogram,type="l")
}
>periodogram(serie)

0.0 0.1 0.2 0.3 0.4 0.5
0
.
0

e
+
0
0
1
.
0

e
+
1
0
2
.
0

e
+
1
0
3
.
0

e
+
1
0
freq
p
e
r
i
o
d
o
g
r
a
m


La figure comporte en abscisses, les frquences et, en ordonnes, le spectre cest dire les poids
correspondants aux frquences.
Sur ce graphe, on ne peut donner qune valeur approximative de la priode 2*3,14/0.18 = 34,88.
Ds lors en posant :

il vient :

Et donc :


De mme, les coefficients correspondant aux diffrentes frquences voulues peuvent tre obtenus
facilement, puisque :


Utilit du Priodogramme

Les coefficients de Fourier associ aux sinus et cosinus la frquence v
j
valent donc respectivement
la moiti de la partie imaginaire et de la partie relle de la grandeur c
j
.
On peut se servir du periodogramme pour reprer des priodicits dans les donnes, comme on a
montr ci-dessus, mais aussi pour purer ces donnes dun certain bruit. Par exemple, on peut
liminer toutes les frquences pour lesquelles la valeur du periodogramme natteint pas un certain
pourcentage de la valeur maximale du periodogramme. Pour effectuer la transformation inverse,
repasser du periodogramme une srie chronologique, il suffit de reconstruire la somme en annulant
les coefficients de Fourier pour les frquences parasites , et de garder les coefficients de Fourier
correspondant aux frquences significatives . Alternativement, on peut vouloir ne garder que les m
frquences pour lesquelles le periodogramme est le plus lev : la procdure est exactement la mme


Septime Partie : Statistique de Box-Pierce, ou Test du Portemanteau
Le test de Box-Pierce permet didentifier les processus de bruit blanc (i.e. les processus alatoires de
moyenne nulle,de variance constante et non auto corrls).Cette statistique permet de tester cov(
t,

t-h
) = 0 pour tout h, soit (h) = 0 pour tout h. Ce test scrit :

Pour effectuer ce test, on utilise la statistique de Box et Pierce (1970) Q, donne par

o h est le nombre de retards, T est le nombre dobservations et lauto corrlation empirique.
Asymptotiquement, sous H0, Qh suit un 2 h degrs de libert. Nous rejetons lhypothse de bruit
blanc au seuil h si Q est suprieure au quantile dordre (1-) de la loi du 2 h degrs de libert.
Une statistique ayant de meilleures proprits asymptotiques peut tre utilise :

qui suit asymptotiquement, sous H0 suit une loi du 2 h degrs de libert. Une modification de cette
formule est la statistique de Box-Pierce-Ljung :

Souvent on sintresse la blancheur non dune srie directement observe mais la blancheur
dune srie rsidu dun ajustement. Dans ce cas, on diminue les degrs de libert de la statistique du
nombre de paramtres estims dans le modle.

Pour tester ladquation dun modle ARMA(p,q). En suivant un raisonnement similaire au test de bruit
blanc, mais tenant compte du fait que lon construit une statistique de test base sur des rsidus, Box
et Pierce, ainsi que Ljung et Box ont montr que ):
( ) ( )

=

=
K
k
q p K
L
BP
k r n K Q
1
2 2



( ) ( )

=

|

\
|
+
+ =
K
k
q p K
L
LB
k r
n
n
n K Q
1
2 2
2
) 2 (

La logique des tests est la mme: on rejette pour de grandes valeurs. Ex: avec Ljung-Box, on rejette
ladquation si
( )
2
q p K LB
K Q

>

Test de Student

Le test de Student (test t), permet de dterminer si deux moyennes de deux populations sont
significativement diffrentes (au moins dun point de vue statistique)

Pour obtenir un rsultat numrique (une p-valeur), nous utilisons les tests de Box-Pierce ou Ljung-
Box (on parle de portmanteau statistics) : il sagit de considrer des sommes (pondres) de
premiers coefficients dauto-corrlation.
Ces sommes suivent asymptotiquement, une distribution du Chi^2 (le test de Ljung-Box est une
variante de celui de Box-Pierce, qui ressemble un peu plus une distribution du Chi^2 pour de petits
chantillons).

> Box.test(serie)

Box-Pierce test

data: serie
X-squared = 116.3224, df = 1, p-value < 2.2e-16

> Box.test(serie, type='Ljung-Box')

Box-Ljung test

data: serie
X-squared = 118.2087, df = 1, p-value < 2.2e-16

> t.test(serie)

One Sample t-test
data: serie

t = 72.7097, df = 185, p-value < 2.2e-16

alternative hypothesis: true mean is not equal to 0 95 percent confidence interval:
348363.7 367795.6

sample estimates:mean of x : 358079.6

On remarque que la p-value donne par les tests de Box-Pierce , test de student et Box-Ljung est
la mme et cela se vrifie aussi au niveau du rsultat donn par le coefficient de dispersion

Huitime Partie : Bruit Blanc

Dfinition:
un bruit blanc est un processus stationnaire au sens faible dont :
Les esprances (des variables alatoires constitutives du processus) sont gales 0,
Les variances sont gales
2
, une constante (donc la mme pour toutes les variables)
La fonction dauto covariance est ) (h avec :

0 0 ) (
0 ) (
2
=
= =
h si h
h si h



(ceci veut dire que les variables sont non corrles)

> bruit =ts(rnorm(10000),frequency=12, start=c(1980), end=c(1995,6))
> plot(bruit)

Time
b
r
u
i
t
1980 1985 1990 1995
-
3
-
2
-
1
0
1
2
3

En faisant la simulation du bruit, nous constatons que ce nest pas un bruit blanc.

> bruit.blanc=c(bruit) rcupre les observations dans le vecteur bruit.blanc
>plot(bruit.blanc)
0 50 100 150
-
3
-
2
-
1
0
1
2
3
Index
b
r
u
i
t
.
b
l
a
n
c

Ce graphique nous indique la faon dont les points se dispersent dans le plan. Le nuage de points
reprsente les observations simultanes de deux variables quantitatives et voyons leurs auto-
corrlations si les 5% des valeurs sont bien entre les pointills.
8-a Auto corrlation
Comme les observations d'une srie temporelle ne sont gnralement pas indpendantes, on peut
regarder leur corrlation : la fonction d'auto-corrlation ou ACF (on parle de fonction d'auto-corrlation
de l'chantillon, SACF (Sample AutoCorrelation Function), si elle est estime partir d'un chantillon)
est la corrlation entre l'observation numro n et l'observation n-k. Considerons une srie (faiblement
stationnaire {Y
t
}.
On est souvent intress par dcrire la dpendance de {Y
t
} par rapport son pass, notamment pour
expliquer le niveau actuel de la srie par le niveau une date prcdente. On sait que si une
dpendance est linaire, elle est bien dcrite par le coefficient dautocorrlation. Par dfinition, le
coefficient dautocorrlation dordre l est :

Mais var(Y
t-l
) = var(Y
t
) =
0
donc :

Enfin en terme desprance mathmatique et notant que par la stationnarit : E(Y
t
) = m indpendant
de t, on a :


l


est une mesure de la dpendance de la valeur Y en une date par rapport sa valeur une date
dcale de lintervalle de temps.
Dfinition :
La fonction
,....... 2 , 1 , 0 , = l l
l

est appele fonction dauto corrlation de la srie {Yt}. De la


dfinition, on voit que :
. 1 1 , 1
0
=
l

Etant donn un chantillon yt , t=1 , 2, ,T, de {Yt}
stationnaire, notons la moyenne empirique, . Le coefficient dauto corrlation
empirique dordre
1 l
est :

Sous des conditions gnrales, voir par exemple Brockwell et Davis, est un estimateur convergent
de
l
.
>acf (bruit.blanc)

La fonction dauto corrlation du bruit blanc et nous remarquons que les 5% des valeurs sont bien
entre les pointills.

0 5 10 15 20
0
.0
0
.2
0
.4
0
.6
0
.8
1
.0
Lag
A
C
F
Series bruit.blanc


8-b La Fonction dauto corrlation Partielle

Lauto corrlation partielle au dcalage l (PACF(l) ) est dfinie comme tant la corrlation entre :
-
le rsidu de la rgression de la srie X
t+l
par les sries X
t+1
, X
t+2
, , X
t+l -1
et
- le rsidu de la rgression de la srie X
t
par les sries X
t+1
, X
t+2
, , X
t+l -1 .

En dautres termes :
V X b X b X b X
U X a X a X a X
k t k t t t
k t k t t l t
+ + + + =
+ + + + =
+ + +
+ + + +
1 1 2 2 1 1
1 1 2 2 1 1
....
....

et PACF( l ) = Corr(U,V) .
Il faut comprendre que lauto corrlation partielle est la corrlation entre X
t+l
et X
t
, une fois quon a
expliqu ceux-ci par les valeurs entre eux deux, X
t+1
, X
t+2
, , X
t+l -1 .

>Pacf(serie)

Nous remarquons quau niveau du corrlogramme partiel, aucun pic nest en dehors des pointills,
ce qui prouve quon a bien du bruit blanc.
La fonction dauto corrlation partielle est un estimateur des cfficients dun modle AR (infini).


5 10 15 20
-
0
.1
5
-
0
.1
0
-
0
.0
5
0
.0
0
0
.0
5
0
.1
0
0
.1
5
Lag
P
a
r
tia
l A
C
F
Series bruit.blanc





Neuvime Partie : Les Processus ARMA

Que veut dire ? AR veut dire autoregressive, MA veut dire moving average.
Un processus ARMA est ainsi compos dun processus autorgressif et dun processus de type
moyenne mobile. Il nous reste donc dfinir ce que sont ces processus. Commenons par le MA de
ARMA.

9-a Processus MA (q)
t
X est un processus MA dordre q sil se prsente sous la forme :
+ + + =

t X
q t q t t t
, .......
1 1

Avec
t
, bruit desprance 0 et de variance
2
et les
i
, des paramtres.
En rsum, X
t
est une somme de bruit ; cest un processus stationnaire.
Cette relation peut encore scrire :
( )
t
q
q t
L L X + + + = ... 1
1
, ou ( )
t t
L X = .
Forme autorgressive infinie
Si ( ) z na pas de racine de module gal 1, ce quon supposera dans la suite, on peut crire :

=
i
t i t i
X , avec + <

=1 i
i
,
En outre, si les racines de ( ) z sont toutes de module suprieur 1, on a 0 , 0 < = i
i
et
t

sinterprte comme linnovation du processus.
Prenons le cas particulier du processus MA(1) :
1
=
t t t
X .
Le coefficient dauto corrlation a pour valeur :

Le coefficient dauto corrlation partielle est gal :

( )
( ) 1 2
2
1
1


=
i
i
i



Le corrlogramme partiel peut ainsi prendre diffrentes formes selon la valeur de .


9-b Processus AR(q)
t
X est un processus AR dordre q sil se prsente sous la forme :

t p t p t t t
X X X X + + + + =

.......
2 2 1 1

t
est un bruit blanc.
Sous certaines conditions, le processus AR peut scrire comme une somme infinie de bruits blancs :

+
=

=
j
j t j t
h X
Cas particulier du processus AR(1) :
t t t
X X + =
1

De plus AR(1) stationnaire scrit 1 <
Le coefficient dauto corrlation du processus AR(1) est :
j
j
= .
Son coefficient dauto corrlation partielle est :

{
1
1 0
=
>
=
j si
j si j


Le corrlogramme peut prendre diffrentes formes selon la valeur de .

=
=
+

>
1
1
1 0
2
i si
i si i



9-c Processus ARMA(p,q)
La notion de processus ARMA runit celles de processus autorgressif et de processus
moyenne mobile . Dans les modles ARMA, la valeur prise au temps t par la variable tudie est une
fonction linaire de ses valeurs passes et des valeurs prsentes ou passes dun bruit blanc.
La forme gnrale dun modle ARMA(p,q) se prsente de la faon suivante :

q t q t t p t p t t
X X X

+ + + = + + + .... ....
1 1 1 1

t
est un bruit blanc.
Le processus ARMA(p,q) peut tre reprsent aussi par la symbolique suivante (quivalente de
lcriture prcdente) : ( ) ( )
t q t p
B X B =
B est loprateur retard, c'est--dire quil transforme
t
X en
1 t
X :
1
=
t t
X BX
( ) B
p
est le polynme
p
p
B B B .... 1
2
2 1

( ) B
q
est le polynme
q
q
B B B .... 1
2
2 1


9-d Identification du modle

ARMA(0,1):ACF: un seul pic ; PACF: dcroissance exponentielle

op <- par(mfrow=c(4,2))
n <- 186
for (i in 1:4) {
serie <- NULL
while(is.null(serie)) {
model <- list(ma=rnorm(1))
try( serie <- arima.sim(model, n),silent=TRUE )
}
acf(serie, main=paste("ARMA(0,1)","MA:",round(model$ma,digits=1)))
points(0:93, ARMAacf(ma=model$ma, lag.max=93), col='red')
pacf(serie)
points(1:93, ARMAacf(ma=model$ma, lag.max=93, pacf=T), col='red')
}
par(op)


0 5 10 15 20
0
.
0
Lag
A
C
F
ARMA(0,1) MA: 0.1
5 10 15 20
-
0
.
1
5
Lag
P
a
r
t
ia
l
A
C
F
Series serie
0 5 10 15 20
0
.
0
Lag
A
C
F
ARMA(0,1) MA: 0.4
5 10 15 20
-
0
.
2
Lag
P
a
r
t
ia
l
A
C
F
Series serie
0 5 10 15 20
0
.
0
Lag
A
C
F
ARMA(0,1) MA: 0.4
5 10 15 20
-
0
.
2
Lag
P
a
r
t
ia
l
A
C
F
Series serie
0 5 10 15 20
-
0
.
2
Lag
A
C
F
ARMA(0,1) MA: 0.2
5 10 15 20
-
0
.
1
Lag
P
a
r
t
ia
l
A
C
F
Series serie


ARMA(1,0) : ACF : dcroissance exponentielle ; PACF : un seul pic.

op <- par(mfrow=c(4,2))
n <- 186
for (i in 1:4) {
serie <- NULL
while(is.null(serie)) {
model <- list(ar=rnorm(1))
try( serie <- arima.sim(model, n),silent=TRUE )
}
acf(serie, main=paste("ARMA(1,0)","AR:",round(model$ar,digits=1)))
points(0:93, ARMAacf(ar=model$ar, lag.max=93), col='red')
pacf(serie)
points(1:93, ARMAacf(ar=model$ar, lag.max=93, pacf=T), col='red')
}
par(op)

0 5 10 15 20
-
0
.
2
Lag
A
C
F
ARMA(1,0) AR: 0.2
5 10 15 20
-
0
.
1
Lag
P
a
r
t
ia
l
A
C
F
Series serie
0 5 10 15 20
0
.
0
Lag
A
C
F
ARMA(1,0) AR: 0.8
5 10 15 20
0
.
0
Lag
P
a
r
t
ia
l
A
C
F
Series serie
0 5 10 15 20
0
.
0
Lag
A
C
F
ARMA(1,0) AR: 1
5 10 15 20
0
.
0
Lag
P
a
r
t
ia
l
A
C
F
Series serie
0 5 10 15 20
-
0
.
5
Lag
A
C
F
ARMA(1,0) AR: -0.7
5 10 15 20
-
0
.
6
Lag
P
a
r
t
ia
l
A
C
F
Series serie


ARMA(1,1) :ACF$PACF : dcroissance exponentielle

op <- par(mfrow=c(4,2))
n <- 186
for (i in 1:4) {
serie <- NULL
while(is.null(serie)) {
model <- list(ma=rnorm(1),ar=rnorm(1))
try( serie <- arima.sim(model, n),silent=TRUE )
}
acf(serie,
main=paste("ARMA(1,1)","AR:",round(model$ar,digits=1),"MA:",round(model$ma,
digits=1)))
points(0:93, ARMAacf(ar=model$ar,ma=model$ma, lag.max=93), col='red')
pacf(serie)
points(1:93, ARMAacf(ar=model$ar,ma=model$ma, lag.max=93, pacf=T),
col='red')
}
par(op)

0 5 10 15 20
-
0
.
4
Lag
A
C
F
ARMA(1,1) AR: -0.6 MA: 0.3
5 10 15 20
-
0
.
3
Lag
P
a
r
t
ia
l
A
C
F
Series serie
0 5 10 15 20
-
0
.
2
Lag
A
C
F
ARMA(1,1) AR: 0.3 MA: 1.2
5 10 15 20
-
0
.
4
Lag
P
a
r
t
ia
l
A
C
F
Series serie
0 5 10 15 20
-
0
.
5
Lag
A
C
F
ARMA(1,1) AR: -0.7 MA: -1.1
5 10 15 20
-
0
.
8
Lag
P
a
r
t
ia
l
A
C
F
Series serie
0 5 10 15 20
0
.
0
Lag
A
C
F
ARMA(1,1) AR: -0.8 MA: 1
5 10 15 20
-
0
.
1
Lag
P
a
r
t
ia
l
A
C
F
Series serie



ARIMA

Arima est un acronyme pour Autorgressive Integrated Moving Average. Les modles arima avec
intervention permettent de dcrire et de prvoir les sries chronologiques. On peut utiliser les
prvisions ARIMA comme substituts des donnes prliminaires..
Pour les modles ARMA dordre (p,q) , on utilise la fonction arima, la syntaxe est:
out = arima(serie,order=c(p,0,q))

> out = arima(serie,order=c(1,0,1))
> out
Call:
arima(x = serie, order = c(1, 0, 1))
Coefficients:
ar1 .ma1 intercept
0.9981 -0.8435 367628.97
s.e. 0.0028 0.0344 82813.79
sigma^2 estimated as 1.259e+09: log likelihood = -2214.19, aic = 4436.38

> out = arima(serie,order=c(1,1,1))
> out
Call:
arima(x = serie, order = c(1, 1, 1))
Coefficients:
ar1 ma1
0.1841 -0.8749
s.e. 0.0805 0.0299

sigma^2 estimated as 1.225e+09: log likelihood = -2198.78, aic = 4403.56

> out$coef
Cette sortie nous donne une estimation des coefficients
ar1 ma1 intercept
9.98065e-01 -8.43486e-01 3.67629e+05
> out$resid
Cette sortie nous donne une estimation des rsidus


Simulation de la srie chronologique arima avec la fonction arima.sim

Pour simuler un processus ARIMA , on a besoin dau moins trois lments : un modle, un nombre
de ralisations et un processus dinnovation.
Nous faisons la simulation de 186 observations entre janvier 1980 et juin 1995.
Lobjectif de cette simulation, est de voir si la dcroissance est exponentielle et lordre du processus
arima est de le driver jusqu ce que son ACF dcroisse rapidement.

> Serie = arima.sim(186,model=list(ar =0.6, ma = 0.2, order = c(1,0,1),sd=100))
> plot(Serie)

T i m e
S
e
r
i
e
0 5 0 1 0 0 1 5 0
-
3
-
2
-
1
0
1
2
3
4

> acf(Serie)

Nous remarquons sur ce graphe, une lgre dcroissance



0 5 1 0 1 5 2 0
0
.
0
0
.
2
0
.
4
0
.
6
0
.
8
1
.
0
L a g
A
C
F
S e r i e s S e r i e



> acf(diff(Serie))

En applique loprateur diffrence serie. Lobjet retourn est de type ts et possde une observation
de moins que srie.
Diff( ) calcule la diffrence entre une srie et elle-mme dcale dans le temps de k observations. Ici,
on voit une dcroissance de la srie

0 5 1 0 1 5 2 0
0
.
0
0
.
2
0
.
4
0
.
6
0
.
8
1
.
0
L a g
A
C
F
S e r i e s d i f f ( S e r i e )

Prvision dun processus SARIMA

Plus gnralement, la fonction arima permet destimer les paramtres dun modle SARIMA
A
p
(L)
P
(L
s
)Y[t]=
Q
(L
s
)B
q
(L)e[t] avec Y[t]=(I-L)
d
(I-L
s
)
D
X[t]
La syntaxe est la suivante :
Out=arima(x,order=c(p,d,q),seasonal=list(order=c(P,D,Q),period=s))
Pour prvoir lhorizon h, on utilise la fonction predict
P$pred contient les prvisions
P$se erreurs de prvision (cart type)

> out=arima(serie,order=c(1,1,1), seasonal=list(order=c(0,1,1),period=12))
> p1=predict(out
,n.ahead=100)
> plot(serie, xlim=c(1980,2000),ylim=range(c(serie,p$pred)))
> lines(p1$pred, col='blue')
> lines(p$pred+1.96*p$se,col="red")
> lines(p$pred-1.96*p$se,col="red")
> abline(h=0,v=1980:2000)


Time
V
i
c
t
o
r
i
a
h
o
t
e
l
1980 1985 1990 1995 2000
2
5
0
0
0
0
3
5
0
0
0
0
4
5
0
0
0
0
5
5
0
0
0
0


A travers ce graphe que notre horizon de prvision commence (blue), cest ce que montre la fin de ma
srie originale en noir et le rouge indique les erreurs de prvision entre juin 95 et avril 96.


Bibliographie

[1] Christian GOURIEROUX , Alain MONFORT
Sries temporelles et Modles dynamiques
[2] Brockwell P.J., Davis R. A .(1991) Time Series: Theory and Methods, Springer.

[3] Mlard G. (1990) Mthodes de prvision cour terme. Ed. Ellipses

[4] Emmanuel Paradis (12 Septembre 2005) , R pour les dbutants

[5] Yves ARAGON (Septembre 2004), Introduction aux sries temporelles

[6] D.Chessel & J. Thioulouse, Modle Linaire gnralis / Logiciel R

[7] Anne PHILIPPE (octobre 2004) , Notes de cours sur le logiciel R

[8] Jrme HUILLET (Septembre 2002), Initiation lEnvironnement R

[9] Philippe Grosjean, Frdric Ibanez : Manuel de lutilisateur de la librairie de
Fonctions pour R et pour S+

[10] Rainer von Sachs & Sbastien Van Bellegem (4
me
Edition, Septembre 2005)

[11] Faouzi LYAZRHI , Une Introduction au langage R