Tutoriel séance 4 : Market access, développement et équation de gravité
Objectifs du tutoriel
Construire une mesure de market access simple (Harris, 1954).
Tester la international trade wage equation, c’està-dire, estimer l’effet du market access sur un proxy des salaires (PIB par habitant).
Comprendre l’idée d’une stratégie instrumentale géographique.
Estimer une équation de gravité naïve pour expliquer les flux de commerce entre pays.
Comparer les résultats de l’équation de gravité entre les modèles estimé avec log-OLS et PPML.
Estimer une gravité structurelle avec effets fixes exportateur/importateur.
Extraire et interpréter les effets fixes et construire des indices de market access structurels.
Estimer l’effet de cette nouvelle variable de market access sur le PIB par habitant.
Les librairies
library(dplyr)
library(data.table)
library(fixest)
library(tidyr)
library(rnaturalearth)
library(sf)
library(ggplot2)Données CEPII Gravity
Nous utiliserons la base Gravity du CEPII (Centre d'Études Prospectives et d'Informations Internationales), un centre français spécialisé dans l'analyse de l'économie internationale. Cette base rassemble des données sur les échanges bilatéraux entre pays ainsi que leurs principaux déterminants géographiques et économiques.
Téléchargez les données au format .csv :
Les données sont volumineuses, et zippées. Pour les ouvrir rapidement dans RStudio, utilisez la commande ci-dessous :
path_gravity_data <- "G:/Mon Drive/TEACHING/MCF_Nantes/cours/M2_eco_spatiale/data/Gravity_csv_V202211.zip"
tmp <- tempfile()
dir.create(tmp)
unzip(path_gravity_data, exdir = tmp)
csv_files <- list.files(
tmp,
pattern = "\\.csv$",
full.names = TRUE,
recursive = TRUE
)
gravity_data_list <- lapply(csv_files, fread)
names(gravity_data_list) <- basename(csv_files)
gravity_data <- gravity_data_list$Gravity_V202211.csvExplorez la base gravity_data : dimensions, années disponibles, identifiants des pays et variables de commerce, PIB et distance. Identifiez ce que signifient les suffixes _o et _d.
EXERCICE 1 - Accès aux marchés et développement
1.1 Construire le market access de Harris
Une intuition centrale de l’économie spatiale est qu’un territoire bénéficie de la proximité aux marchés.
Une mesure classique est le potentiel de marché de Harris (1954) :
\(MA_o = \sum_{d}\frac{Y_d}{d_{od}}\)
Un pays bénéficie d'un meilleur accès aux marchés lorsqu'il est proche de pays économiquement importants, c'est-à-dire lorsque la distance \(d_{od}\) est faible et la taille (capacité) de la demande \(Y_d\) est élevée. Le PIB peut constituer un proxy de la taille de la demande, tandis que la distance \(d_{od}\) approxime les coûts de transport entre les pays i et j.
- Créez une base ne contenant que l’année 2017, contenant les variables importantes pour construire la mesure d’accès aux marchés : les identifiants des pays à l’origine et à la destination, le PIB PPP (Purchasing Power Parity) de destination et la distance entre le pays d’origine et de destination.
- Construisez ensuite \(MA_o\) pour chaque pays d’origine.
- Quelles sont les unités de votre indicateur ? Son niveau absolu est-il facilement interprétable ?
1.2 Estimer l’effet de l’accès aux marché sur le développement des pays
- Créez une base de données au niveau pays, qui réunissent le code identifiant de chaque pays, et son PIB PPP par habitant et la population.
- Fusionnez vos deux bases de données.
- Estimer la international trade wage équation avec la régression suivante : \(\log(y_i) = \alpha + \beta \log(MA_i) + \varepsilon_i\) où \(y_i\) est le PIB par habitant du pays \(i\). Utiliser la fonction
feols()pour l’estimation. - Interprétez le coefficient estimé.
- La relation est-elle causale ? Citez au moins deux sources possibles d’endogénéité et de variables omises.
1.3 Vers une estimation causale
Construisez différents instruments que l’on peut supposer bien corrélés à la mesure d’accès aux marchés, mais décorrélées des résidus de la régression principale.
- Redding & Venables (2004) utilisent notamment comme instruments les distances aux trois principaux pôles économiques mondiaux : les États-Unis, la Belgique (identifié comme le centre de l'Europe) et le Japon.
- Une mesure de centralité, qui ressemble à la mesure d’accès aux marchés sans la composante endogène \(Y_j\), c’est-à-dire \(\sum_j 1/d_{ij}\) .
Réestimez la régression par la méthode des moindres carrés en deux étapes (2SLS), en instrumentant l'accès au marché par les différentes variables de distance.
L'estimation 2SLS procède en deux étapes :
Première étape : on explique la variable endogène $\log(MA_i)$ à l'aide des instruments (centralité et distances aux États-Unis, à la Belgique et au Japon). Cette étape permet d'isoler la composante de l'accès au marché expliquée par ces variables géographiques.
Deuxième étape : cette variation prédite de l'accès au marché est utilisée pour estimer son effet sur le PIB par habitant.
Avec
fixest, la partie IV de la formule s'écrit sous la formevariable endogène ~ instruments:model_iv <- feols( log(gdpcap_ppp_o) ~ 1 | log(market_access) ~ log(centrality) + log(dist_USA) + log(dist_BEL) + log(dist_JPN), data = data_ma ) # Afficher les résultats etable(model_ols, model_iv) # Afficher les résultats de la première étape. summary(model_iv, stage = 1)Comparez OLS et IV. Examinez la première étape. Que faudrait-il regarder pour juger si les instruments sont faibles ? Les conditions de pertinence et d’exclusion vous paraissent-elles respectées ?
EXERCICE 2 - L’équation de gravité
L’équation de gravité prédit que les échanges augmentent avec la taille économique des partenaires et diminuent avec les coûts commerciaux. Sa forme naïve s’écrit :
\(X_{ij} = A Y_i^{\beta_1}Y_j^{\beta_2}D_{ij}^{\gamma}\)
2.1 Gravité naïve : log-OLS et PPML
- Pour l'année 2017, excluez les observations pour lesquelles le pays d'origine et le pays de destination sont identiques ($i=j$). Les données sur le commerce intra-national étant très incomplètes, nous nous concentrons uniquement sur le commerce international.
- Créez ensuite une variable
tradeégale àtradeflow_bacilorsque cette variable est renseignée, et à 0 lorsqu'elle est manquante. - Estimez par OLS une équation de gravité expliquant \(\log(trade_{ij})\). Réfléchissez à la manière dont le PIB des pays d'origine et de destination ainsi que la distance bilatérale doivent entrer dans la spécification. Quels signes attendez-vous pour leurs coefficients ? Que devient une observation lorsque $trade_{ij}=0$ et que l'on prend son logarithme ? Quelles conséquences cela peut-il avoir pour l'estimation ?
- Estimez la même équation de gravité avec un modèle de Poisson, en conservant cette fois
tradeen niveau. Vous pouvez utiliserfepois()oufeglm(..., family = "poisson"). Que se passe-t-il cette fois-ci avec les flux commerciaux nuls ? Comparez les signes et l'ordre de grandeur des coefficients obtenus avec ceux de l'estimation OLS.
2.2 Gravité structurelle
Une spécification plus proche de la gravité structurelle absorbe les déterminants propres à l’exportateur et à l’importateur par des effets fixes.
Ajoutez maintenant des effets fixes pour les pays d’origine et de destination au modèle de gravité, comme suit en remplaçant y et x par les bonnes variables :
struct_gravity <- fepois( y ~ x | country_id_o + country_id_d, data = your_data, cluster = ~ country_id_o + country_id_d )Comparez le coefficient de distance à celui de la gravité naïve. Pourquoi les PIB origine et destination n’apparaissent-ils plus explicitement ? Que capturent les effets fixes exportateur et importateur ?
Expliquez pourquoi on clusterise les erreurs ici par exportateur et importateur.
Extraire le coefficient associé à la distance estimé, ainsi que les effets fixes, en utilisant la commande suivante :
coef_dist <- as.numeric(coef(struct_gravity)["log(dist)"]) fe <- fixef(struct_gravity) fe_exporter <- data.frame( country_id = names(fe$country_id_o), fe_exporter = as.numeric(fe$country_id_o) ) fe_importer <- data.frame( country_id = names(fe$country_id_d), fe_importer = as.numeric(fe$country_id_d) ) country_fe <- full_join(fe_importer, fe_exporter, by = "country_id")Joignez
country_feà une base de données géographiques des pays du monde. Produisez une carte des effets fixes exportateur puis importateur avecgeom_sf().
Une base géographique des pays du monde peut être directement importée grâce au packagernaturalearthet la commande :world <- ne_countries(scale = "medium", returnclass = "sf")Ajoutez le PIB PPP 2017 à
country_fe. Représentez un graphique montrant la relation entrefe_exporteret le log PIB, puis entrefe_importeret le log PIB.- Que remarquez vous ? Quels pays apparaissent comme particulièrement ouverts vers l’extérieur ou attractifs à l’importation relativement à leur taille ?
- Pourquoi utiliser le log du PIB et pas le log de
fe_exporter et fe_importer?
2.3 Développement, et market et supplier access issus de la gravité
Nous pouvons utiliser les paramètres estimés de la gravité pour construire des indices qui pondèrent les partenaires par les coûts commerciaux estimés, comme le font Redding & Venables (2004) :
\(MA_i^{FE}=\sum_j \exp(\widehat\gamma_j)d_{ij}^{\widehat\beta}, \qquad SA_j^{FE}=\sum_i \exp(\widehat\alpha_i)d_{ij}^{\widehat\beta}\)
- Construisez ces deux indicateurs.
- Estimez la international trade wage equation avec ces deux indicateurs séparés, puis ensemble, et comparer les résultats avec ceux du tout premier modèle qui utilisait la mesure simplifiée d’accès aux marchées (à la Harris, 1954).
EXERCICE 3 – Bonus
3.1 Death of distance
La mondialisation, la baisse des coûts de transport et le développement des technologies de communication ont-ils progressivement réduit l'importance de la distance dans les échanges internationaux ? Autrement dit, observe-t-on une « mort de la distance » ?
Pour étudier cette question, nous allons autoriser l'élasticité du commerce à la distance à varier au cours du temps. Nous introduisons pour cela une interaction entre
log(dist)et les années, en prenant une année de référence. Nous absorbons également les effets fixes exportateur × année et importateur × année, afin de contrôler pour tous les facteurs propres à chaque pays qui varient au cours du temps.gravity_dist_evol <- fepois( trade ~ log(dist) + i(year, log(dist), ref = 1996) | country_id_o^year + country_id_d^year, data = gravity_data ) etable(gravity_dist_evol)Interprétez le coefficient associé à
log(dist). À quelle année correspond-il ?Interprétez le coefficient de l'interaction entre
log(dist)et l'année 2017. Attention : ce coefficient mesure un écart d’élasticité par rapport à l’année de référence, et non l'élasticité de la distance en 2017.Calculez l'effet total de la distance en 2017 : \(\beta_{2017} = \beta_{\text{réf}} + \Delta\beta_{2017}\)
Comparez l'élasticité obtenue pour l’année de référence et pour 2017. La distance semble-t-elle être devenue plus ou moins importante pour expliquer les échanges internationaux ? Vos résultats sont-ils compatibles avec l'hypothèse d'une death of distance ?
Pour aller plus loin, utilisez la fonction
iplot()du packagefixestpour représenter graphiquement l'évolution des coefficients d'interaction :iplot(gravity_dist_evol)Attention :
iplot()représente les écarts d'élasticité par rapport à l’année de référence, et non l'élasticité totale de la distance pour chaque année.
3.2 Au-delà de la distance géographique
La distance physique n'est qu'une composante des coûts du commerce. La base Gravity contient d'autres variables permettant de mesurer les coûts et les frictions entre pays : frontière commune, langue commune, liens coloniaux, proximité culturelle ou encore accords commerciaux.
- Parmi ces variables, lesquelles pourraient également expliquer l'intensité des échanges bilatéraux ?
- Quels signes attendez-vous pour leurs coefficients ?
- Estimez.