1. ` ´
Arthur CHARPENTIER - Modeles de previsions (ACT6420 - Automne 2012)
Mod`les de pr´vision
e e
Partie 2 - s´ries temporelles
e
Arthur Charpentier
charpentier.arthur@uqam.ca
http ://freakonometrics.blog.free.fr/
Automne 2012
2. ` ´
Arthur CHARPENTIER - Modeles de previsions (ACT6420 - Automne 2012)
Plan du cours
• Motivation et introduction aux s´ries temporelles
e
• M´thodes de lissage
e
◦ Mod`les de r´gression (Buys-Ballot)
e e
◦ Lissage(s) exponentiel(s) (Holt-Winters)
• Notions g´n´rales sur les processus stationnaires
e e
• Les processus SARIM A
◦ Les mod`les autor´gressifs, AR(p), Φ(L)Xt = εt
e e
◦ Les mod`les moyennes mobiles, M A(q) (moving average), Xt = Θ(L)εt
e
◦ Les mod`les autor´gtressifs et moyenne mobiles, ARM A(p, q),
e e
Φ(L)Xt = Θ(L)εt
◦ Les mod`les autor´gtressifs, ARIM A(p, d, q), (1 − L)d Φ(L)Xt = Θ(L)εt
e e
◦ Les mod`les autor´gtressifs, SARIM A(p, d, q),
e e
(1 − L)d (1 − Ls )Φ(L)Xt = Θ(L)εt
◦ Pr´vision avec un SARIM A, T XT +h
e
3. ` ´
Arthur CHARPENTIER - Modeles de previsions (ACT6420 - Automne 2012)
M´thode de Buys Balot - la tendance
e
Notons (Xt ) une s´rie temporelle, observ´e jusqu’` la date T .
e e a
Si on a une tendance lin´aire, on cherche ` r´soudre
e a e
T
β = (β0 , β1 ) ∈ argmin (Xt − (β0 + β1 · t))2
t=1
> autoroute=read.table(
+ "http://freakonometrics.blog.free.fr/public/data/autoroute.csv",
+ header=TRUE,sep=";")
> a7=autoroute$a007
> X=ts(a7,start = c(1989, 9), frequency = 12)
> T=time(X)
> S=cycle(X)
> B=data.frame(x=as.vector(X),T=as.vector(T),S=as.vector(S))
> regT=lm(x~T,data=B)
> plot(X)
> abline(regT,col="red")
4. ` ´
Arthur CHARPENTIER - Modeles de previsions (ACT6420 - Automne 2012)
M´thode de Buys Balot - la tendance
e
70000
60000
50000
X
40000
30000
20000
1990 1991 1992 1993 1994 1995 1996
Time
5. ` ´
Arthur CHARPENTIER - Modeles de previsions (ACT6420 - Automne 2012)
M´thode de Buys Balot - la tendance
e
Posons Yt = Xt − (β0 + β1 t)
> X1=predict(regT)
> B$X1=X1
> Y=B$X1
> plot(X,xlab="",ylab="")
> YU=apply(cbind(X,Y),1,max)
> YL=apply(cbind(X,Y),1,min)
> i=which(is.na(Y)==FALSE)
> polygon(c(T[i],rev(T[i])),c(Y[i],rev(YU[i])),col="blue")
> polygon(c(T[i],rev(T[i])),c(Y[i],rev(YL[i])),col="red")
> lines(B$T,Y,lwd=3)
6. ` ´
Arthur CHARPENTIER - Modeles de previsions (ACT6420 - Automne 2012)
M´thode de Buys Balot - la tendance
e
70000
60000
50000
40000
30000
20000
1990 1991 1992 1993 1994 1995 1996
7. ` ´
Arthur CHARPENTIER - Modeles de previsions (ACT6420 - Automne 2012)
M´thode de Buys Balot - le cycle
e
On cherche un cycle mensuel (de p´riode s = 12). Supposons
e
s−1
Yt = γk 1(t = k mod. s) + Zt
k=0
> B$res1=X-X1
> regS=lm(res1~0+as.factor(S),data=B)
> B$X2=predict(regS)
> plot(B$S,B$res1,xlab="saisonnalit’e")
> lines(B$S[1:4],B$X2[1:4],col="red",lwd=2)
> lines(B$S[5:13],B$X2[5:13],col="red",lwd=2)
Remarque mod. est l’op´rateur de calcul du reste de la division euclidienne, ex :
e
27 mod. 12 = 27 − (12 × 2) = 3
9. ` ´
Arthur CHARPENTIER - Modeles de previsions (ACT6420 - Automne 2012)
M´thode de Buys Balot - le cycle
e
Alors
s−1
Xt = β0 + β1 t + γk 1(t = k mod. s) +Zt
k=0
tendance lin´aire
e
cycle
> plot(X,xlab="",ylab="")
> YU=apply(cbind(X,Y),1,max)
> YL=apply(cbind(X,Y),1,min)
> i=which(is.na(Y)==FALSE)
> polygon(c(T[i],rev(T[i])),c(Y[i],rev(YU[i])),col="blue")
> polygon(c(T[i],rev(T[i])),c(Y[i],rev(YL[i])),col="red")
> lines(B$T,Y,lwd=3)
10. ` ´
Arthur CHARPENTIER - Modeles de previsions (ACT6420 - Automne 2012)
M´thode de Buys Balot - tendance et cycle
e
70000
60000
50000
40000
30000
20000
1990 1991 1992 1993 1994 1995 1996
11. ` ´
Arthur CHARPENTIER - Modeles de previsions (ACT6420 - Automne 2012)
M´thode de Buys Balot - pr´vision
e e
On peut alors faire de la pr´vision, en supposant le bruit Zt i.i.d., i.e.
e
s−1
T XT +h = E(XT +h |X1 · · · , XT ) = β0 + β1 [T + h] + γk 1(T + h = k mod. s)
k=0
> n=length(T)
> T0=T[(n-23):n]+2
> plot(X,xlim=range(c(T,T0)))
> X1p=predict(regT,newdata=data.frame(T=T0))
> Yp=X1p+B$X2[(n-23):n]
> se=sd(X-Y)
> YpU=Yp+1.96*se
> YpL=Yp-1.96*se
> polygon(c(T0,rev(T0)),c(YpU,rev(YpL)),col="yellow",border=NA)
> lines(T0,Yp,col="red",lwd=3)
> lines(B$T,Y,lwd=3,col="red")
12. ` ´
Arthur CHARPENTIER - Modeles de previsions (ACT6420 - Automne 2012)
M´thode de Buys Balot - pr´vision
e e
70000
60000
50000
X
40000
30000
20000
1990 1992 1994 1996 1998
Time
13. ` ´
Arthur CHARPENTIER - Modeles de previsions (ACT6420 - Automne 2012)
Formalisation de Buys-Ballot (1847)
> sncf=read.table(
+ "http://freakonometrics.blog.free.fr/public/data/sncf.csv",
+ header=TRUE,sep=";")
> SNCF=ts(as.vector(t(as.matrix(sncf[,2:13]))),
+ ,start = c(1963, 1), frequency = 12)
> plot(SNCF,lwd=2,col="purple")
14. ` ´
Arthur CHARPENTIER - Modeles de previsions (ACT6420 - Automne 2012)
Formalisation de Buys-Ballot (1847)
La s´rie Xt est la somme de 2 composantes d´terministes : une tendance Zt ,
e e
d’une saisonnalit´ St et d’une composante al´atoire εt
e e
Xt = Zt + St + εt .
On suppose que Zt et St sont des combinaisons lin´aires de fonctions connues
e
i j
dans le temps, Zt et St , i.e.
Z = β + Z 1 β + Z 2 β + ... + Z m β
t 0 t 1 t 2 t m (ex : β0 + β1 · t)
St = S 1 γ1 + S 2 γ2 + ... + S s γn .
t t t
Le but est d’estimer les β1 , ..., βm et γ1 , ..., γn ` partir des T observations.
a
m s
i j
Xt = Z t βi + St γj + εt pour t = 1, ..., T.
i=1 j=1
15. ` ´
Arthur CHARPENTIER - Modeles de previsions (ACT6420 - Automne 2012)
Formalisation de Buys-Ballot (1847)
La forme de St d´pend du type de donn´es, et de la forme de la saisonnalit´. On
e e e
i
consid`rera ici des fonctions St indicatrices,
e
0 si t = mois i 0 si t = 0 [modulo i]
i i
St = ou St =
1 si t = mois i 1 si t = 0 [modulo i] .
Example : Consid´rons des donn´es trimestrielles,
e e
1 2 3 4
Xt = α + β · t + γ1 St + γ2 St + γ3 St + γ4 St + εt ,
Zt St
17. ` ´
Arthur CHARPENTIER - Modeles de previsions (ACT6420 - Automne 2012)
Formalisation de Buys-Ballot (1847)
Remark : pour transformer les donn´es en donn´es trimestrielles (et non plus
e e
mensuelles)
> SNCFQ= ts(apply(matrix(as.numeric(SNCF),3,length(SNCF)/3),2,sum),
+ start = c(1963, 1), frequency = 4)
> plot(SNCFQ,col="red")
> SNCFQ
Qtr1 Qtr2 Qtr3 Qtr4
1963 5130 6410 8080 5900
1964 5110 6680 8350 5910
1965 5080 6820 8190 5990
1966 5310 6600 8090 6020
... etc.
18. ` ´
Arthur CHARPENTIER - Modeles de previsions (ACT6420 - Automne 2012)
Formalisation de Buys-Ballot (1847)
Le graphique des donn´es trimestrielles est le suivant
e
19. ` ´
Arthur CHARPENTIER - Modeles de previsions (ACT6420 - Automne 2012)
Formalisation de Buys-Ballot (1847)
On consid`re un mod`le de la forme
e e
m s
i j
Xt = Z t βi + St γj + εt pour t = 1, ..., T.
i=1 j=1
La m´thode des moindres carr´s ordinaires consiste ` choisir les βi et γj de fa¸on
e e a c
a
` minimiser le carr´ des erreurs
e
T
βi , γ j = arg min ε2
t
t=1
2
T
m s
Xt − i j
= arg min Zt β i + St γj .
t=1
i=1 j=1
20. ` ´
Arthur CHARPENTIER - Modeles de previsions (ACT6420 - Automne 2012)
Formalisation de Buys-Ballot (1847)
> T = seq(from=1963,to=1980.75,by=.25)
> Q = rep(1:4,18)
> reg=lm(SNCFQ~0+T+as.factor(Q))
> summary(reg)
Coefficients:
Estimate Std. Error t value Pr(>|t|)
T 231.87 12.55 18.47 <2e-16 ***
as.factor(Q)1 -450526.26 24752.39 -18.20 <2e-16 ***
as.factor(Q)2 -449257.44 24755.53 -18.15 <2e-16 ***
as.factor(Q)3 -448644.19 24758.67 -18.12 <2e-16 ***
as.factor(Q)4 -449880.94 24761.81 -18.17 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 552.7 on 67 degrees of freedom
Multiple R-squared: 0.9953, Adjusted R-squared: 0.995
F-statistic: 2846 on 5 and 67 DF, p-value: < 2.2e-16
> plot(T,residuals(reg),type="l")
21. ` ´
Arthur CHARPENTIER - Modeles de previsions (ACT6420 - Automne 2012)
22. ` ´
Arthur CHARPENTIER - Modeles de previsions (ACT6420 - Automne 2012)
Formalisation de Buys-Ballot (1847) : pr´vision
e
Soit h ≥ 1. On suppose que le mod`le reste valide en T + h c’est ` dire que
e a
m s
i j
XT +h = ZT +h βi + ST +h γj + εT +h ,
i=1 j=1
avec E (εT +h ) = 0, V (εT +h ) = σ 2 et cov (εt , εT +h ) = 0 pour t = 1, ..., T . La
variable XT +h peut ˆtre approch´e par
e e
m n
i j
T XT +h = ZT +h βi + ST +h γj .
i=1 j=1
Cette pr´vision est la meilleur (au sens de l’erreur quadratique moyenne)
e
pr´vision, lin´aire en X1 , ..., XT et sans biais.
e e
23. ` ´
Arthur CHARPENTIER - Modeles de previsions (ACT6420 - Automne 2012)
Formalisation de Buys-Ballot (1847) : pr´vision
e
Un intervalle de confiance de cette pr´vision est de la forme
e
XT (h) − φ1−α/2 eh ; XT (h) + φ1−α/2 eh ,
o` φ1−α/2 est le quantile d’ordre α de la loi de Student ` T − m − n degr´s de
u a e
libert´, et o`
e u
2 m n
i j
eh = E XT (h) − XT +h =V ZT +h βi + ST +h γj − εT +h
i=1 j=1
β
= β |γ V β + s2 .
γ γ
24. ` ´
Arthur CHARPENTIER - Modeles de previsions (ACT6420 - Automne 2012)
M´thode de Buys Balot et temp´rature
e e
On peut le faire sur la mod´lisation de la temp´rature
e e
> TEMP=read.table("http://freakonometrics.blog.free.fr/public
/data/TN_STAID000038.txt",header=TRUE,sep=",")
> D=as.Date(as.character(TEMP$DATE),"%Y%m%d")
> T=TEMP$TN/10
> plot(D,T,col="light blue",xlab="Temp’erature minimale
journali‘ere Paris",ylab="",cex=.5)
1. Estimer la tendance lin´aire Xt = [β0 + β1 · t] + Yt
e
> abline(h=0,lty=2,col="grey")
> abline(lm(T~D),lwd=2,col="red")