Économétrie — TD 5

Les tests d’hypothèses économiques

Pierre Beaucoral
Code
library(knitr)
knit_hooks$set(optipng = hook_optipng)

1 Introduction

  • Une question centrale à se poser avant de conclure quant à la validité des résultats est de savoir si le modèle spécifié est correcte:

    • La relation est-elle commune pour l’ensemble des individus de l’échantillon?

    • La forme fonctionnelle choisie est-elle la meilleure?

    • Une variable importante est-elle omise?

  • Dans ce TD, nous allons apporter quelques tests permettant d’avoir des “intuitions” quant à la validité du modèle choisi

2 La stabilité des coefficients

  • En économétrie, on fait l’hypothèse implicite de stabilité des coefficients i.e. constance dans le temps et l’espace des paramtres du modle (coefficients, carts-types,…)
  • Cela implique que la relation entre les variables est identique pour l’ensemble de l’échantillon (individus et période temporelle)
  • Exemples:
  • La relation croissance-chomage a-t-elle été modifiée à partir de 1974 dans les pays de l’OCDE?
  • Les facteurs expliquant le choix d’émigration sont-ils diffrents pour les pays en guerre et les autres pays?
  • L’objectif des tests de stabilité des coefficients est d’étudier si cette hypothèse est acceptable
  • Il existe deux grands familles de tests en fonction de la connaissance ou non du point de rupture
Code
set.seed(42)
suppressPackageStartupMessages({library(ggplot2); library(dplyr); library(tidyr)})

years <- 1960:1990
t0 <- min(years)
t   <- years - t0
n   <- length(years)
t_break <- 1974

## Trajectoire "stable"
y_stable <- 5 + 0.5 * t + rnorm(n, sd = 1.5)

## Trajectoire avec rupture (claire) : saut de niveau + pente plus forte
beta_pre  <- 0.20       # pente avant 1974
beta_post <- 1.10       # pente après 1974
level_jump <- 8         # saut de niveau à 1974
sd_pre  <- 1.2
sd_post <- 1.0

is_post <- years > t_break
# Formule segmentée (continue au point de rupture + saut de niveau explicite)
y_break <- 3 + beta_pre * t +
  is_post * ( level_jump + (beta_post - beta_pre) * (t - (t_break - t0)) ) +
  rnorm(n, sd = ifelse(is_post, sd_post, sd_pre))

df <- tibble(
  year = years,
  stable = y_stable,
  rupture = y_break
) |>
  pivot_longer(-year, names_to = "scenario", values_to = "y") |>
  mutate(segment = case_when(
    scenario == "stable" ~ "Stable (toutes années)",
    scenario == "rupture" & year <= t_break ~ "Avant 1974",
    scenario == "rupture" & year >  t_break ~ "Après 1974"
  ))

# Bandeau après 1974 pour guider l’œil
band <- data.frame(xmin = t_break, xmax = max(years), ymin = -Inf, ymax = Inf)

ggplot() +
  # Bandeau post-1974
  geom_rect(data = band, aes(xmin = xmin, xmax = xmax, ymin = ymin, ymax = ymax),
            inherit.aes = FALSE, fill = "grey90") +
  # Points
  geom_point(data = df, aes(year, y, color = scenario), alpha = 0.7) +
  # Deux droites pour le scénario "rupture" (avant / après)
  geom_smooth(data = df %>% filter(scenario == "rupture"),
              aes(year, y, linetype = segment), method = "lm", se = FALSE, linewidth = 1.1) +
  # Une seule droite pour le scénario "stable"
  geom_smooth(data = df %>% filter(scenario == "stable"),
              aes(year, y), method = "lm", se = FALSE, linewidth = 1.1) +
  # Marqueur de la date de rupture
  geom_vline(xintercept = t_break, linetype = 2) +
  annotate("label", x = t_break + 0.6, y = max(df$y, na.rm = TRUE),
           label = "Rupture 1974", size = 3) +
  labs(x = "Année", y = "Variable (simulée)",
       color = "Scénario", linetype = "Segment (rupture)") +
  theme_minimal(base_size = 13) +
  theme(legend.position = "top")

Figure 1: Rupture structurelle marquée en 1974 : saut de niveau + changement de pente.

Figure 2: Hétérogénéité des coefficients par groupe (pays en guerre vs autres).

Figure 3: Inverted-U dataset: linear fit misses curvature; quadratic and smoother capture it.

3 La stabilité des coefficients

Test de Chow

  • Ce test nécessite de connaître le point de rupture

    • Intuition: Le test cherche à étudier si les comportements différent dans les deux sous-échantillons (1 & 2)

    • En présence de stabilité des coefficients, la SCR de l’chantillon total devrait être égale à la somme des SCR des deux sous chantillons

    • \(SCR_{t} \equiv SCR_{1}+SCR_{2}\)

    • \(H_0\): Stabilité des coefficients

    Caution

    Attention: Il faut travailler avec des erreurs homoscédastiques (sinon forte probabilité de rejet de \(H_{0}\))

4 La stabilité des coefficients

Test de Chow

  • La statistique de Chow suit une loi de Fisher-Snedecor:

    • \(CH=\frac{SCR_{t}-(SCR_{1}+SCR_{2})}{SCR_{1}+SCR_{2}}\frac{N-2K}{K} \leadsto F(K,N-2K)\) avec K le nombre de coefficients estimer (donc constante incluse)

Note

On estime 3 régressions, la 1re sur le premier sous-échantillon avant la date de rupture, la 2nde sur le deuxime échantillon après la date de rupture, et la 3me sur l’échantillon complet.

  • KFaire: View \(\to\) Stability diagnostic \(\to\) Chow Breakpoint Test

  • Choisir le point de rupture

    Note

    Ce test peut être fait avec plus de deux sous-groupes

5 La stabilité des coefficients

Test de Chow

  • Sur petits échantillons, appliquer le test de Chow prédictif:

    • \(CH_{p}=\frac{SCR_{t}-SCR_{1}}{SCR_{1}}\frac{N_{1}-K}{N-N_{1}} \leadsto F(N-N_{1},N_{1}-K)\)
  • Sur EViews, choisir Chow Forecast Test

    • Rêgle de décision: Si \(CH < F_{table} =>\) On ne rejette pas \(H_{0}\)

6 La stabilité des coefficients

Test de Quandt-Andrews

  • Test basé sur le test de Chow mais utile si la date de rupture est inconnue

  • La procédure du test est la suivante:

    • Estimation de la statistique de Chow pour toutes les observations possibles

    • On retient la date la plus défavorable l’hypothèse nulle

    • On regarde en fonction de la table tabulée par Andrews si \(H_{0}\) est rejetée ou non

  • Ce test est enregisté sur EViews:

    • Stability Diagnostic \(\to\) Quandt-Andrews Breakpoint Test

    • Test Sample: Permet de connaître le point de rupture

7 La stabilité des coefficients

Important

Les tests de Chow et Quandt-Andrews sont programmés pour des séries temporelles

  • Avant de les mettre en oeuvre, il faut classer les données par ordre croissant en fonction de la modalité pouvant être l’origine de la rupture

    • Faire Proc \(\to\) Sort Current Page

    • Choisir la variable

8 La stabilité des coefficients

Solutions

  • En cas de non stabilité des coefficients, trois solutions sont envisageables:

  • Estimer sur des sous-chantillons

  • Inclure des variables muettes additives et multiplicatives selon la période de rupture

  • Exclure les points aberrants

Figure 4: Organigramme : familles de tests de stabilité (point connu vs inconnu).

9 Le Test du RESET

  • Il est important de savoir si le modle est bien spécifié

    • Prise en compte de toutes les variables pertinentes

    • Utilité de la forme linaire

  • Une solution simple serait d’inclure ces variables et de tester leur significativité. Cette solution pose problème:

    • Perte de degrés de liberté

    • Il faut connaître ces variables

    • Ne permet pas de traiter du problême de la linarité

    \(\to\) Le test du RESET permet de faire la même chose plus simplement

10 Le Test du RESET

  • Le test du RESET va comparer la spécification retenue à une spécification plus générale:

    • \(H_{0}: y_{i}=\beta_{0}+\beta_{1}x_{i}+\beta_{2}z_{i}+\epsilon_{i}\)

    • \(H_{1}: y_{i}=\beta_{0}+\beta_{1}x_{i}+\beta_{2}z_{i}+\delta_{1}\hat{y}_{i}^2+\delta_{2}\hat{y}_{i}^3+\delta_{3}\hat{y}_{i}^4+\epsilon_{i}\)

  • Il va consister à voir si les coefficients \(\delta_{j}\) sont conjointement diffrents de 0 grâce un F-test

  • Rejet de \(H_{0}\) \(\to\) Mauvaise spcification du modle

    • Forme linaire appropriée?

    • Variable(s) pertinente(s) non incluse(s)?

  • Sur EViews: Stability Diagnostic \(\to\) Ramsey RESET Test

    • Le polynme retenu est généralement d’ordre 3 ou 4

    • Il peut exister un problème de multicolinarité

11 Critères d’information

  • Il peut être parfois utile de comparer des modèles differents

    • Les critres d’information sont utiles pour sélectionner le meilleur modèle économique

    • Il existe également le J-test

  • Les trois principaux critères sont:

    • Critère d’Akaike (AIC)

    • Critère de Schwartz (SC)

    • Critère de Hannan-Quinn (HQC)

12 Critères d’information

  • Ces critères se calculent comme suit:

    • \(AIC=ln\left(\frac{SCR}{N}\right)+\frac{2K}{N}\)

    • \(SC=ln\left(\frac{SCR}{N}\right)+\frac{Kln(K)}{N}\)

    • \(HQC=Nln\left(\frac{SCR}{N}\right)+2Kln[ln(N)]\)

  • La valeur de ces critères est donnée dans le tableau de régression

  • On choisit le modèle qui minimise les critères d’information

    Caution

    Attention: Ces critres sont à manier avec prudence et le raisonnement économique doit toujours primer

13 Questions – Réponses (TD5)

13.0.1 Question :

Vous devez estimer les équations où la dépense qui porte sur un secteur dépend d’une constante, du revenu et du prix réel dans le secteur en question et tester la présence d’une autocorrélation à l’ordre un dans le terme d’erreurs à l’aide du test de Durbin et Watson. Qu’en concluez-vous ?

Afficher la réponse

Le test de Durbin-Watson est particulièrement utile pour détecter une autocorrélation d’ordre 1.
Hypothèses : - H₀ : pas d’autocorrélation d’ordre 1 dans les résidus. - H₁ : autocorrélation d’ordre 1 présente.

Résultats : - Dépenses habillement : DW = 1,679, compris entre DU = 1,55 et 2 → pas d’autocorrélation d’ordre 1. - Téléphone : DW = 0,901, inférieur à DL = 1,21 → présence d’autocorrélation d’ordre 1. - Transport aérien : DW = 1,462, entre DL et DU → zone d’incertitude, conclusion indéterminée.

13.0.2 Question :

Testez la présence d’une autocorrélation à l’ordre un dans le terme d’erreurs par le test de Breusch-Godfrey. Qu’en concluez-vous ?

Afficher la réponse

Hypothèses : - H₀ : pas d’autocorrélation des erreurs jusqu’au nombre de retards spécifié. - H₁ : autocorrélation présente.

Statistique : BG = T × R² → loi χ²(t) avec t = ordre du processus (ici 1).

Résultats : - Habillement : BG = 0,018 < 3,841 → on ne rejette pas H₀ → pas d’autocorrélation. - Téléphone : BG = 0,281 > 3,841 → on rejette H₀ → autocorrélation présente. - Transport aérien : BG = 0,051 < 3,841 → pas d’autocorrélation.

13.0.3 Question :

Corrigez l’autocorrélation éventuelle par la procédure automatique de Cochrane-Orcutt. Qu’en concluez-vous ?

Afficher la réponse

Pour corriger l’autocorrélation des erreurs, on applique la procédure Cochrane–Orcutt : inclure un terme AR(1) dans l’équation (sur EViews, ajouter AR(1) dans l’équation).

Conclusion : il n’y a pas de correction particulière à faire pour les dépenses téléphoniques après l’application de cette procédure.

13.0.4 Question :

Faites un test des facteurs communs (COMFAC) pour les dépenses en téléphone et dégagez la meilleure spécification de l’équation explicative pour ces dépenses.

Afficher la réponse

Aucun test spécifique n’a été effectué pour cette question (pas de résultat fourni dans la correction).