Chap 2
Les Processus VAR
Multivariate time series
1
Le modèle VAR Vector Autoregression (VAR) est un
type de modèle statistique utilisé pour analyser les relations
dynamiques entre plusieurs variables dépendantes qui évoluent
dans le temps.
Il est particulièrement utile pour modéliser des séries temporelles
multivariées, c'est-à-dire des ensembles de données qui
comprennent plusieurs séries temporelles interdépendantes.
2
Voici les composants d'un modèle VAR :
A VAR model est une généralisation (of the univariate
autoregressive model for forecasting a vector of time
series):
A titre d’exemple voici un VAR de dimension 2 (vecteur à
deux variables)
3
Voici quelques exemples concrets de modèles VAR qui
pourraient être utilisés dans divers domaines :
Économie : pour modéliser les relations entre des
variables économiques telles que le PIB, l'inflation, le
taux de chômage et les taux d'intérêt.
Par exemple, un modèle VAR(2) pourrait être construit
pour analyser les interactions
entre ces variables
sur une période de
deux trimestres.
4
Finance : un modèle VAR pourrait être utilisé pour
modéliser les relations entre différentes variables
financières telles que les les rendements
boursiers, les taux de change, les taux d'intérêt et
les volumes de transactions.
5
Épidémiologie : Un modèle VAR pourrait être utilisé
pour étudier les interactions entre différentes
variables liées à la santé, telles que le nombre de cas
de maladie, les taux de vaccination, les politiques de
santé publique, etc.
Marketing : Dans le domaine du marketing, un
modèle VAR pourrait être utilisé pour modéliser les
interactions entre les dépenses publicitaires, les
ventes, les prix et d'autres variables marketing.
6
Principales caractéristiques et concepts associés
Variables Dépendantes : Dans un modèle VAR, il y a au
moins deux variables dépendantes qui sont observées
à différents moments dans le temps. Ces variables sont
interdépendantes, ce qui signifie que chacune peut être
influencée par les autres.
Ordre du Modèle : L'ordre d'un VAR (représenté
comme VAR(p)) détermine combien de périodes
passées sont utilisées pour prédire les valeurs futures
des variables dépendantes. p, fait référence au nombre de périodes de
retard pris en compte dans le modèle 7
Le choix de l'ordre p est crucial pour obtenir des
prévisions précises et pour bien comprendre les
relations entre les variables.
Un ordre trop faible pourrait ne pas saisir toutes les
dépendances temporelles importantes, tandis qu'un
ordre trop élevé pourrait conduire à un surajustement
(overfitting) du modèle.
8
Méthodes de sélection de l'ordre :
Plusieurs critères d'information, tels que l'AIC (Critère
d'Information d'Akaike), le BIC (Critère d'Information
Bayésien) et le HQIC (Critère d'Information de Hannan-
Quinn), sont souvent utilisés pour choisir le meilleur
ordre pour un modèle VAR.
Ces critères visent à trouver un équilibre entre la
complexité du modèle et sa capacité à bien ajuster les
données.
9
Choix de l'ordre :
Il peut être judicieux d'explorer différentes valeurs de
l'ordre p pour voir comment cela affecte la
performance du modèle.
Parfois, l'ordre optimal peut varier en fonction de la
période étudiée.
Le choix de l'ordre a un impact significatif sur la qualité
des prévisions du modèle VAR
10
Le choix de l'ordre peut être influencé par les résultats
de tests de causalité entre les variables.
Par exemple, si par la suite le test de Granger révèle
qu'une variable X Granger-cause une variable Y, cela
peut suggérer d'inclure des retards supplémentaires de
la variable X dans le modèle VAR.
11
Évaluation de la stabilité :
Il est important de s'assurer que le modèle VAR est stable
pour l'ordre choisi. Un modèle instable peut produire des
prévisions peu fiables.
L'ordre peut également être évalué en examinant les résidus
du modèle. Des résidus bien comportés suggèrent que l'ordre
est bien spécifié, tandis que des résidus non aléatoires ou
autocorrélés indiquent que le modèle doit être ajusté.
12
Des "résidus bien comportés" dans le contexte d'un modèle
VAR signifient que les résidus du modèle (c'est-à-dire les
erreurs de prédiction) suivent des propriétés statistiques
souhaitables.:
Homoscédasticité : Les résidus sont homoscédastiques, ce qui
signifie qu'ils ont une variance constante. En d'autres termes, la
dispersion des résidus reste constante à travers le temps.
Normalité : Les résidus suivent une distribution normale. Cela
signifie que la majorité des résidus sont proches de zéro, et que
les valeurs extrêmes sont rares.
13
Indépendance : Les résidus sont indépendants les uns des
autres. Cela signifie qu'il ne devrait pas y avoir de corrélation
systématique entre les résidus successifs.
Aucun Modèle Systématique Non-Capturé : Les résidus ne
devraient pas montrer de motifs systématiques ou de
tendances que le modèle n'a pas réussi à capturer. Par
exemple, il ne devrait pas y avoir de structure cyclique ou de
tendance claire dans les résidus.
.
14
Lorsque les résidus du modèle VAR présentent ces
caractéristiques, cela indique que le modèle a bien capturé la
structure sous-jacente des données.
En revanche, si les résidus ne suivent pas ces propriétés, cela
suggère que le modèle peut nécessiter des ajustements ou que
l'ordre choisi n'est peut-être pas approprié.
L'analyse des résidus est une étape cruciale dans la validation
d'un modèle VAR et dans la vérification de l'adéquation du
modèle aux données
15
Par exemple, dans un modèle VAR(2), les valeurs passées
jusqu'à deux périodes précédentes sont utilisées.
Formulation Matricielle :
Les équations VAR sont souvent
formulées sous forme matricielle.
Chaque équation inclut un ensemble
de coefficients (matrices) qui
Déterminent comment chaque
variable dépend de ses propres valeurs passées et des
valeurs passées des autres variables.
16
17
Le coefficient
capte l’influence du ℓth décalage de
la variable yi sur lui-même, tandis que
le coefficient capte l’influence du ℓth
lag
(le décalage) de la variable yj
sur yi.
Une autre façon de déterminer les
longueurs de décalage optimales
consiste à utiliser des critères
d'information tels que BIC (p) que nous
avons introduit pour les régressions de
séries chronologiques univariées 18
En ce qui concerne les modèles à décalage, il convient de réfléchir
attentivement aux variables à inclure dans un VAR, car l'ajout de
variables non liées réduit la précision des prévisions en augmentant
l'erreur d'estimation. Ceci est particulièrement important car le
nombre de paramètres à estimer augmente quadratiquement par
rapport au nombre de variables modélisées par le VAR.
19
Exemple 1: Modèle VAR pour Le taux de croissance du PIB et l'écart
de taux d'intérêt à long terme américains
Taux de croissance du PIB: GDPGR
Ecart du taux d’intérêt: TSpread
20
library(AER) AER (Christian Kleiber and Zeileis 2022)
library(readxl) dynlm (Zeileis 2019)
library(dynlm) fGarch (Wuertz et al. 2022)
quantmod (Ryan and Ulrich 2022)
library(vars)
readxl (Wickham and Bryan 2023)
library(quantmod) scales (Wickham and Seidel 2022)
library(scales) vars (Pfaff 2023)
library(fGarch)
21
Codes R
22
Finalement les modèles obtenus sont:
23
On peut également utiliser la fonction VAR pour trouver la
même solution:
# Modèle VAR avec utilisation de la fonction VAR:
VAR_data <- window(ts.union(GDPGrowth, TSpread), start =
c(1980, 3), end = c(2012, 4))
# Estimation du modèle avec VAR:
VAR_est <- VAR(y = VAR_data, p = 2)
VAR_est
24
VAR() retourne une liste de lm objets exploitables par exemple avec la
commande summary()
summary(VAR_est$varresult$GDPGrowth)
Coefficients:
Estimate Std. Error t value Pr(>|t|)
GDPGrowth.l1 0.28955 0.08365 3.462 0.000739
TSpread.l1 -0.90255 0.36965 -2.442 0.016043
GDPGrowth.l2 0.21639 0.08157 2.653 0.009037
TSpread.l2 1.32983 0.37164 3.578 0.000496
const 0.51634 0.47284 1.092 0.276966
25
summary(VAR_est$varresult$TSpread)$adj.r.squared
summary(VAR_est$varresult$GDPGrowth)$adj.r.squared
26
Nous pouvons utiliser les objets de modèle individuels pour effectuer
des tests de causalité de Granger:
linearHypothesis(VAR_EQ1,
hypothesis.matrix = c("TSpread_t-1", "TSpread_t-2"),
vcov. = sandwich)
Les deux tests de causalité de Granger rejettent au niveau de 5 %. Cela
constitue une preuve en faveur de l'hypothèse selon laquelle l'écart de
taux a un pouvoir explicatif sur la croissance du PIB et vice versa."
27
Prédictions dans le cas d’un VAR:
Le processus est itératif, c’est-à-dire il faut les calculer pas à pas
28
- Estimer le modèle AR(p) en utilisant les MCO (Méthodes des moindres carrés)
et calculer la prévision d'un pas en avant.
- Utilisez la prévision d'un pas en avant pour obtenir la prévision de deux pas en
avant.
- Poursuivez en itérant pour obtenir des prévisions plus lointaines dans le futur.
Une prévision VAR multipériode itérée se fait comme suit :
- Estimez le modèle VAR(p) en utilisant les MCO par équation et calculez la
prévision d'un pas en avant pour toutes les variables du VAR.
- Utilisez les prévisions d'un pas en avant pour obtenir les prévisions de deux
pas en avant.
- Poursuivez en itérant pour obtenir des prévisions de toutes les variables du
VAR plus loin dans le futur.
29
Exemple 1:
forecasts <- predict(VAR_est)
Forecasts
plot(forecasts)
30
Exemple 2:
# Générer des valeurs aléatoires
t <- 200 # Nombre d’observations pour les séries temp
k <- 2 # Nombre de variables endogènes
p <- 2 # Number of lags
# Générer les coefficients matriciels
A.1 <- matrix(c(-.3, .6, -.4, .5), k) # Coefficient matrix of lag 1
A.2 <- matrix(c(-.1, -.2, .1, .05), k) # Coefficient matrix of lag 2
A <- cbind(A.1, A.2) # joindre les 2 matrices
# Générer les séries aléatoires
series <- matrix(0, k, t + 2*p) # séries brutes initiales avec zéro
for (i in (p + 1):(t + 2*p)){ # Générer les séries avec e ~ N(0,0.5)
series[, i] <- A.1%*%series[, i-1] + A.2%*%series[, i-2] + rnorm(k, 0, .5)}
series <- ts(t(series[, -(1:p)])) # convertir en séries temporelles 31 format
names <- c("V1", "V2") # Rename variables
plot.ts(series) # Plot the series
31
Exemple: VAR model pour l’estimation de la série US consumption
library(fpp3)
data("us_change")
view(us_change)
fit <- us_change |>
model(aicc = VAR(vars(Consumption, Income)),
bic = VAR(vars(Consumption, Income), ic = "bic") )
#> # A tibble: 2 × 6
Fit
#> .model sigma2 log_lik AIC AICc
glance(fit) BIC
# A mable: 1 x 2 #> <chr> <list> <dbl> <dbl> <dbl>
aicc bic <dbl>
<model> <model> #> 1 aicc <dbl [2 × 2]> -373. 798. 806.
1 <VAR(5) w/ mean> <VAR(1) w/ mean> 883.
#> 2 bic <dbl [2 × 2]> -408. 836. 837.
869. 32