Fiche de Travaux Pratiques : Modélisation des Séries
Temporelles sous R
Dr Mintodê Nicodème Atchadé
April 15, 2025
Objectifs Pédagogiques
Appliquer les modèles ARIMA, MCE, ARDL, VAR et VECM en R.
Interpréter les résultats issus de ces modèles et tester les hypothèses sous-jacentes.
Utiliser des données économiques pour les analyses.
Préparation de l’Environnement
Installer les packages nécessaires :
[Link](c("forecast", "dynlm", "urca", "vars", "ARDL", "tseries", "lmtest")
Charger les packages :
library(forecast)
library(dynlm)
library(urca)
library(vars)
library(ARDL)
library(tseries)
library(lmtest)
Données utilisées
Exemple de la série temporelle AirPassengers :
data("AirPassengers")
ts_data <- log(AirPassengers) # Transformation logarithmique
1
Modèle ARIMA
Objectif : modéliser et prédire une série temporelle univariée.
# Ajustement automatique ARIMA
fit_arima <- [Link](ts_data)
summary(fit_arima)
# Prévisions
forecast(fit_arima, h = 12) %>% autoplot()
# Vérification des résidus
checkresiduals(fit_arima)
Interprétation :
Le modèle ARIMA trouvé est par exemple ARIMA(0,1,1)(0,1,1)[12], ce qui signifie
:
– Il y a une différenciation non saisonnière (d = 1) et saisonnière (D = 1).
– Les composantes MA(1) et SMA(1) sont présentes.
Le test de Ljung-Box est utilisé pour vérifier si les résidus sont du bruit blanc. Si
la p-value est supérieure à 0.05, le modèle est bien spécifié.
Modèle MCE (Moindres Carrés Élagués)
Exemple : Relation entre consommation et revenu (données UKgas).
# Exemple fictif
[Link](123)
conso <- ts(rnorm(100, 50, 10), start = c(2000, 1), frequency = 4)
revenu <- ts(0.5 * conso + rnorm(100), start = c(2000, 1), frequency = 4)
# MCE : y = conso, x = revenu
model_mce <- dynlm(conso ~ L(revenu, 0:2)) # avec décalages de revenu
summary(model_mce)
# Test de significativité
coeftest(model_mce)
Interprétation :
Le modèle estime l’effet du revenu passé (décalages) sur la consommation.
Si les p-values des coefficients sont inférieures à 0.05, les variables sont significatives.
Le R2 indique la proportion de la variance expliquée par les variables.
2
Modèle ARDL (Autoregressive Distributed Lag)
Exemple : Modélisation avec deux séries simulées.
[Link](123)
y <- ts(rnorm(100), start = 2000)
x <- ts(0.7 * y + rnorm(100), start = 2000)
# Sélection automatique de l’ordre optimal
model_ardl <- auto_ardl(y ~ x, data = [Link](y, x), max_order = 5)
summary(model_ardl)
# Test de cointégration de Bounds (si besoin)
bounds_f_test(model_ardl)
Interprétation :
L’ARDL permet de modéliser à la fois les effets de court terme et de long terme.
Si la statistique F dépasse la borne supérieure dans le test de cointégration, cela
indique qu’il existe une relation stable à long terme.
Modèle VAR (Vector Autoregression)
Exemple : Analyse conjointe du PIB et du taux de chômage.
data_var <- cbind(gdp, unemp)
colnames(data_var) <- c("GDP", "Unemployment")
# Sélection du lag optimal
lagselect <- VARselect(data_var, [Link] = 10)
lagselect$selection
# Ajustement VAR
model_var <- VAR(data_var, p = lagselect$selection[1], type = "const")
summary(model_var)
# Réponses impulsionnelles
irf(model_var, impulse = "GDP", response = "Unemployment", [Link] = 10) %>% plot()
Interprétation :
Le VAR modélise la dynamique conjointe de deux variables.
Les résultats montrent comment chaque variable réagit aux variations passées de
l’autre.
Les fonctions de réponse impulsionnelle (IRF) permettent d’observer la réaction de
‘Unemployment‘ à un choc de ‘GDP‘.
3
Modèle VECM (Vector Error Correction Model)
Exemple : Analyse de la cointégration entre deux séries.
cajo_test <- [Link](data_var, type = "trace", K = 2, ecdet = "const", spec = "transit
summary(cajo_test)
# Ajustement VECM
vecm_model <- cajorls(cajo_test, r = 1)
summary(vecm_model$rlm)
Interprétation :
Le test de Johansen est utilisé pour détecter la cointégration entre les séries.
Si la statistique trace est supérieure à la valeur critique, une relation de cointégration
est présente.
Le terme d’erreur de correction (ECM) mesure la vitesse d’ajustement vers l’équilibre
de long terme.
Réponses aux Questions de Compréhension
1. Quelle est l’hypothèse du test de Ljung-Box dans le modèle
ARIMA ?
Réponse : L’hypothèse nulle du test de Ljung-Box est que les résidus sont du bruit blanc,
c’est-à-dire qu’il n’y a pas d’autocorrélation significative. Si la p-value est supérieure à
0.05, cela suggère que le modèle est bien spécifié.
2. Quelle est la différence entre un modèle VAR et un ARDL ?
Réponse : - Le **VAR** est un modèle multivarié qui capture les relations dynamiques
entre plusieurs séries temporelles. Il est adapté pour les séries stationnaires. - L’**ARDL**
est utilisé pour modéliser les relations entre des séries qui peuvent être stationnaires ou
non stationnaires, tout en incluant des effets de court et de long terme.
3. Interprétez les coefficients d’erreur de correction dans le
VECM.
Réponse : Le coefficient d’erreur de correction (ECM) indique la vitesse à laquelle la
série revient à son équilibre de long terme après un déséquilibre. Si le coefficient est
négatif et significatif, cela suggère un retour rapide à l’équilibre.
4
4. Pourquoi fait-on une transformation logarithmique dans cer-
taines séries ?
Réponse : La transformation logarithmique est utilisée pour stabiliser la variance,
linéariser les relations exponentielles et faciliter l’interprétation des coefficients (en termes
de pourcentages).
5. En quoi les tests de racine unitaire sont-ils cruciaux ?
Réponse : Les tests de racine unitaire permettent de vérifier si une série est stationnaire.
La stationnarité est une hypothèse clé dans la modélisation des séries temporelles. Si
la série n’est pas stationnaire, elle doit être différenciée ou analysée par un modèle de
cointégration (VECM).