Économétrie des séries temporelles avec logiciel...
Post on 20-Feb-2020
11 Views
Preview:
TRANSCRIPT
Économétrie des séries temporelles aveclogiciel R
Sami Mestiri
mestirisami@gmail.com
Unité de recherche en Économie Appliquée et Simulation
Faculté des sciences économiques et gestion de Mahdia
Économétrie des séries temporelles avec logiciel R – p.1/22
Création d’une série tempo-relle
La fonction ts est utilisée pour la création d’un
objet time series dont la syntaxe est donnée par :
ts(x, start, freq).
x0<-ts(rnorm(60), start=c(2004,1), freq=12) ,
données mensuelle.
x1<-ts(rnorm(52), start=c(2004,1), freq=4) ,
données trimestrielle.
Visualisation : plot(x0)
Économétrie des séries temporelles avec logiciel R – p.2/22
Décompositions classiques
-Modèle additif :yt = Tt + St + et
-Modèle multiplicatif :yt = Tt ∗ St ∗ et
-Tt : tendance.
-St : composante saisonnière.
-et : composante irrégulière.
Économétrie des séries temporelles avec logiciel R – p.3/22
La méthode des moyennes mobile
data(co2)
co2
m <- decompose(co2,type="additive")
m
m !figure
plot(m)
Économétrie des séries temporelles avec logiciel R – p.4/22
320
340
360
obse
rved
320
340
360
tren
d
−3
−1
13
seas
onal
−0.
50.
5
1960 1970 1980 1990
rand
om
Time
Decomposition of additive time series
Économétrie des séries temporelles avec logiciel R – p.5/22
Processus aléatoire du second ordre
On appelle processus aléatoire du second ordre
à temps discret, toute suite Xt : Ω → R définie
sur un espace de probabilité (Ω, Q, P ) à valeurs
dans (R,B(R)) indexé par n ∈ N ou Z telle
que :E|Xt|2 < ∞.
Pour un tel processus on peut définir les
fonctions de moyenne et d’auto-covariance :
i) Moyenne : µ : Z → R,µ(t) = E(Xt),∀t ∈ Z.
ii) Auto-covariance : K : Z × Z → R, K(t, s) =
E((Xt − µ(t))(Xs − µ(s))),∀t, s ∈ Z.Économétrie des séries temporelles avec logiciel R – p.6/22
Processus stationnaire au second ordre
Un processus au second ordre est stationnaire
au second ordre si moyenne et auto-covariance
sont invariantes par translation dans le temps,
i.e. : E(Xt) = µ,∀t ∈ Z,
Alors pour un processus faiblement stationnaire,
on a :
var(Xt) = γ(0),∀t ∈ Z,
|γ(k)| ≤ γ(0),∀k ∈ Z, ( par l’inégalité de Shwartz)
γ(j) = γ(−j),∀k ∈ Z,
γ(j) = γ(j)γ(0)∀j ∈ Z,, fonction de corrélation.
Économétrie des séries temporelles avec logiciel R – p.7/22
Processus AR(p)
Ces processus a tout instant t peuvent être
extrapolés linéairement à partir de p valeurs
précédents Xt−1, ..., Xt−p à un bruit blanc près. X
est dit autorégressif d’ordre p, si :
p∑
k=0
akXt−k = εt(1)
La fonction d’autocorrélation partielle d’un pro-
cessus AR(p) vérifie rp(k) = 0∀k > p.
Économétrie des séries temporelles avec logiciel R – p.8/22
Simulation d’un AR(p)
Pour simuler un processus AR(1) :
yt = 0.7yt−1 + εt
ts.ar<- arima.sim(list(order = c(1,0,0), ar =0.7), n
= 200)
ts.plot(ts.ar,type="l")
acf(ts.ar,10)
pacf(ts.ar,10)
Économétrie des séries temporelles avec logiciel R – p.9/22
Simulation d’un AR(p)
Time
ts.a
r
0 50 100 150 200
−4
−2
02
4
0 2 4 6 8 10
0.0
0.2
0.4
0.6
0.8
1.0
Lag
AC
F
Series ts.ar
2 4 6 8 10
0.0
0.2
0.4
0.6
Lag
Par
tial A
CF
Series ts.ar
FIG. 2 –Économétrie des séries temporelles avec logiciel R – p.10/22
Estimation d’un AR(p)
Pour déterminer un choix optimal pour le retard
p.
Usage : ar(x, aic = TRUE, order.max = NULL,
method=c("yule-walker"))
fit4 <- ar(ts.ar,aic=TRUE
1
0.6872
Order selected 1 sigma^2 estimated as 1.030
Interprétation : Le modèle optimal sélectionné
est un AR(1) avec a1 = 0.6872.Économétrie des séries temporelles avec logiciel R – p.11/22
Analyse des résidus
Avec le code :
ts.plot(fit4$resid,type="l",col="blue")
abline(0,0,col="red")
acf(fit4$resid[2 :200],10,"correlation") on obtient
Avec la commande :Box.test(fit4$resid, lag = 10,
type = "Box-Pierce") on obtient :
Box-Pierce test
data : fit4$resid
X-squared = 11.9391, df = 10, p-value = 0.2892
Donc les résidus ne sont pas autocorrélés.Économétrie des séries temporelles avec logiciel R – p.12/22
Processus MA(q)
Ces processus a tout instant t peuvent être
extrapolés linéairement à partir de q résidus
précédents εt−1, ..., εt−p à un bruit blanc près. X
est dit moyenne mobile d’ordre q, si :
yt =
q∑
k=0
θkεt−k(2)
La fonction d’autocorrélation d’un processus
MA(q) vérifie rq(k) = 0∀k > q.
Économétrie des séries temporelles avec logiciel R – p.13/22
Simulation d’un MA(q)
Pour simuler un processus MA(1) :
yt = 0.7εt−1 + εt
ts.ma<- arima.sim(list(order = c(0,0,1), ar =0.7),
n = 200)
ts.plot(ts.ma,type="l")
acf(ts.ma,10)
pacf(ts.ma,10)
Économétrie des séries temporelles avec logiciel R – p.14/22
Time
ts.m
a
0 50 150
−2
02
4
2 4 6 8 10
−0.
3−
0.2
−0.
10.
00.
10.
20.
30.
4
Lag
Par
tial A
CF
Series ts.ma
2 4 6 8 10
−0.
3−
0.2
−0.
10.
00.
10.
20.
30.
4
Lag
Par
tial A
CF
Series ts.ma
Économétrie des séries temporelles avec logiciel R – p.15/22
Processus ARMA(p,q)
-La fonction diff différentie la série
-Les fonctions acf et la pacf calculent la
corrélation et la corrélation partiellle.
-La fonction arma () estime un ARMA : fit <-
arma(y, order = c(p,q))
-La table d’analyse de variance s’obtient alors
avec summary(fit), les graphiques de validation
avec plot(fit), et les résidus avec : r <-
residuals(fit)
-Pour le contrôle graphique de la normalité des
résidus : qqnorm et qqline. Économétrie des séries temporelles avec logiciel R – p.16/22
-Pour un test de normalité :ks.test (test de
Kolmogorov-Smirnov)
-La fonction predict() calcule les prévisions :
fitarima <- arima(x, order=c(p,d,q))
tsdiag(fitarima)
predict(fitarima, n.ahead = h)
tsdiag fournit des graphiques de validation com-
plémentaire.
Économétrie des séries temporelles avec logiciel R – p.17/22
Estimation d’un ARMA(p,q)
Simulation et estimation d’un ARMA(2,1).
library(fArma)
x<-armaSim(model = list(ar = c(0.5, -0.5), ma
=0.1), n = 1000)
fit5 <-armaFit( arma(2, 1), data = x)
print(fit5)
par(mfrow = c(2,2), cex = 0.7)
summary(fit5, which = "all")
Économétrie des séries temporelles avec logiciel R – p.18/22
0 200 400 600 800 1000
−3
−1
01
23
Standardized Residuals
Index
Res
idua
ls
0 5 10 15 20 25 30
0.0
0.4
0.8
Lag
AC
F
ACF of Residuals
−3 −2 −1 0 1 2 3
−3
−1
01
23
QQ−Plot of Residuals
Normal Quantiles
Res
idua
l Qua
ntile
s
2 4 6 8 10
0.0
0.2
0.4
0.6
0.8
1.0
Ljung−Box p−values
lag
p va
lue
Économétrie des séries temporelles avec logiciel R – p.19/22
Prévision d’un ARMA(p,q)
Algorithme de Durbin-Levinson pour le calcul
récursif de la prédiction.
predict(fit5, 10)
x<-armaSim(model = list(ar = c(0.5, -0.5), ma
=0.1), n = 1000)
fit5 <-armaFit( arma(2, 1), data = x)
print(fit5)
par(mfrow = c(2,2), cex = 0.7)
summary(fit5, which = "all")
Économétrie des séries temporelles avec logiciel R – p.20/22
Time
Ser
ies:
x
950 960 970 980 990 1000 1010
−3
−2
−1
01
2ARIMA(2,0,1) with method: CSS−ML
Économétrie des séries temporelles avec logiciel R – p.21/22
top related