Codes/Figures                        Données                         Compléments                     Erratum





Comp1. Démarche de base en séries temporelles



# packages utilisés dans le chapitre
require("caschrono")
require("zoo")


# 1.1 Exemples de séries temporelles
# Exemple 1.2 (Morts par accident)
# charger le jeu de données
data(m30)
fit <- stl(m30, s.window = 20, t.window = 20)
op <- par(mfrow = c(2,2))
monthplot(m30, ylab = "données", cex.axis = 0.8)
monthplot(fit, choice = "seasonal", ylab= "c. saisonnière", cex.axis = 0.8)
monthplot(fit, choice = "trend", ylab="tendance", cex.axis = 0.8)
monthplot(fit, choice = "remainder", ylab="résidu", type = "h", cex.axis = 0.8)
par(op)

1.2bis

op = par(mfrow = c(2,1))
monthplot(m30, ylab = "nombre de morts", cex.axis = 0.8)
title("Morts à 30 jours : monthplot et série lissée")
plot(fit$time.series[,2],  ylab="tendance", cex.axis = 0.8)
par(op)

1.1bis

# Exemple 1.4 (Danone)
data(csdl)
danone = csdl[,3]
require("timseSeries")
rdt0 = returns( danone, percentage = TRUE)
aa= cbind(danone,rdt0, rdt0^2 )
ytr= aa[complete.cases(aa) == TRUE,]
colnames(ytr)= c("cours", "rendement","rdt carré")
# repérage des 1er jours des années
ab = index(ytr)
op = par(oma=rep(0,4),mgp=c(2.5,.7,0),mar=c(4.5,3,2,2),
 cex.main=.7,cex.axis=.9,cex=.9,cex.lab=1.2)
plot(ytr, xlab= paste("temps, du",ab[1],"au",ab[length(ab)]),ylab= c("cours", "rendement", expression("rendement"^2)),main="")
par(op)

1.3bis

require(pastecs)
r2 = ytr[,3]
r2.dec = decaverage(as(r2,"timeSeries"), type="additive", order=15, times=1, ends="fill")
plot(r2.dec, col=c(1, 4, 2), xlab=  "moyenne glissante sur 31 jours")

1.4b


# 1.2 Graphiques pour les séries temporelles
# 1.2.1 Chronogramme
# 1.2.2 Lag plot
# lagplot décalé de 3 avec labels pour la température
require("Hmisc")
x = Lag(nottem,3)
y = nottem
date.not = seq(as.Date("1920/1/1"), as.Date("1939/12/1"),  "months")
d.y = date.not ; d.x= Lag(date.not,3)
lab3 = as.character(1:240)
m.x = months(d.x)
m.y = months(d.y)

lab3[(m.x == "janvier") & (m.y == "avril")] = "1"
lab3[(m.x == "février") & (m.y == "mai")] = "2"
lab3[(m.x == "mars") & (m.y == "juin")] = "3"
lab3[(m.x == "avril") & (m.y == "juillet")] = "4"
lab3[(m.x == "mai") & (m.y == "août")] = "5"
lab3[(m.x == "juin") & (m.y == "septembre")] = "6"
lab3[(m.x == "juillet") & (m.y == "octobre")] = "7"
lab3[(m.x == "août") & (m.y == "novembre")] = "8"
lab3[(m.x == "septembre") & (m.y == "décembre")] = "9"
lab3[(m.x == "octobre") & (m.y == "janvier")] = "10"
lab3[(m.x == "novembre") & (m.y == "février")] = "11"
lab3[(m.x == "décembre") & (m.y == "mars")] = "12"   
plot(x,y, type= "n")
text(x,y,lab3, cex=.6)
lines(x=c(30,65), y= c(30,65))

1.5b

# 1.2.3 Month plot

# 1.3 Tendance, saisonnalité, résidus
# 1.4 Etapes et objectifs de l'analyse d'une série temporelle
# 1.5 Opérateur retard