8  Migrations durée de vie

8.1 Définition générale

Nous proposons dans ce chapitre une analyse des migrations durée de vie c’est-à-dire des différences entre le lieu de naissance et le lieu de résidence déclarés au moment du recensement. Il s’agit évidemment d’une mesure assez grossière puisqu’elle conduit à ignorer toutes les étapes suivies par le migrant au cours de sa vie et dépend étroitement de l’âge de l’individu. La mesure peut de plus s’avérer trompeuse puisqu’une personne née en un lieu A peut avoir vécu dans les lieux B, C, D avant de revenir en A au moment du recensement qui concluera à l’absence de mobilité…

Exemple théorique de parcours migratoire

Dans l’exemple théorique présenté ci-dessus, l’individu concerné qui est né dans la commune de Malanville (département Alibori) sera réputé avoir effectué une migration durée de vie lors des recensements de 1979 où il est recensé à Parakou (département de Borgou), en 1992 où il est recensé à Abomey-Calavi (département Atlantique) et en 2002 où iest recensé à Grand-Popo (département du Mono). En revanche il ne sera pas considéré comme migrant en 2013 puisqu’il réside à nouveau dans la commune et le département de son lieu de naissance.

8.2 Variables IPUMS

Le site IPUMS permet d’analyser en détail la disponibilité des variables utiles à l’analyse ainsi que leurs éventuels changements au cours du temps. Il est donc recommandé d’utiliser les métadonnées nombreuses offertes par IPUMS avant de se lancer dans ses propres analyses

8.2.1 Département de naissance (BPLBJ1)

La page de description de la variable BPLBJ1 nous fournit d’abord une description de sa disponibilité et des effectifs correspondant à chacune des dates de recensement.

Disponibilité de la variable département de naissance

Comme on peut le voir dans l’image ci-dessous, il n’y a pas de difficultés particulières concernant les mouvements internes au pays mais il y a une absence d’information sur les personnes nées à l’étranger lors des recensements de 1979 et 1992. Ils sont rangés à cette date dans la catégorie inconnue dont on voit en 2002 qu’elle ne concerne pas forcément les étrangers.

Les onglets suivants précisent la définition de la variable en anglais (BPLBJ1 indicates the person’s department of birth within Benin.) et indiquent le degré de comparabilité entre les dates (There have not been any changes in boundaries for all sample years in BPLBJ1 and is comparable across all available sample years.). Ils fournissent ensuite un document précisant les questions exactes qui ont été posées dans le questionnaire de recnsement et les instructions données aux agents recenseurs.

Questionnaire de la variable département de naissance au RP 1979 Mieux encore, on peut accéder à un fac similé du document papier de recensemet qui a permis d’établir les statistiques de lieu de résidence (en vert), de lieu de naissance (en rouge) et de lieu de résidence antérieure (en bleu)

Formulaire ménage du RP1979 au Bénin - Recto Formulaire ménage du RP 1979 au Bénin - Verso

8.2.2 Commune de naissance (BPLBJ2)

Cette variable permet une localisation plus précise des lieux de naissance mais elle comporte un certain degré d’incertitude puisque pour certains individus on ne connaît que le département de naissance mais pas la commune à l’intérieur de ceux-ci. Ces cas de localisation du leiu de naissance uniquement au niveau du département ne se présentent qu’en 2002 et 2013 et concernent un effectif limité. Dans le cas des recensements de 1979 et 1992, ils sont comptabilisés dans la catégorie “Inconnu” dont nous avons vu précédemment qu’elle concernait aussi les personnes nées à l’étranger.

Questionnaire de la variable département de naissance au RP 1979

Au final, et dans la perspective comparative que nous suivons, il semble préférable de travailler sur un échantillon limité aux individus dont on connait la commune de naissance en éliminant ceux qui sont nés à l’étranger.

8.3 Création d’indicateurs

Nous allons maintenant compléter la base de donnée en y ajoutant deux indicateurs relatifs aux migrations durée de vie entre départments et communes. Nous allons dans le même temps éliminer du fichier les observations manquantes ou non disponibles aux deux niveaux.

8.3.1 Nouvelles variables

Le programme qui suit est un peu compliqué car les variables relatives aux lieux de naissance ne sont pas codés de la même façon que les variables de résidence. Il faut donc reconstituer les codes avant de pouvoir tester leur égalité …

### Load data
rp<-readRDS("ipums/rp/rp_benin_4dates_samp10pct.RDS")

### Recode and filter


### Level I : Create new variables and filter
code1<-readRDS("ipums/geom/geo1_bj2013.RDS") %>% st_drop_geometry()
recode1<-code1$DEPT2013
names(recode1)<-paste0(code1$CNTRY_CODE,code1$IPUM2013)
test<-as_factor(as.numeric(rp$BPLBJ1))
test<-fct_recode(test,!!!recode1)
rp$LEV1_NAI<-as.character(test)
table(rp$LEV1_NAI)

code2<-readRDS("ipums/geom/geo2_bj2013.RDS") %>% st_drop_geometry()
recode2<-code2$COMN2013
names(recode2)<-paste0(code2$CNTRY_CODE,code2$IPUM2013)
test<-as_factor(as.numeric(rp$BPLBJ2))
test<-fct_recode(test,!!!recode2)
rp$LEV2_NAI<-as.character(test)


rp<-rp %>% mutate(LEV1_RES = as.character(as_factor(GEOLEV1))) %>%
             filter(nchar(LEV1_NAI) ==6) %>%
             mutate(MIG_DV_1 = as.numeric(LEV1_RES!=LEV1_NAI))

### Level II Create new variables and filter 
rp<-rp %>% mutate(LEV2_RES = as.character(as_factor(GEOLEV2))) %>%
             filter(nchar(LEV2_NAI) ==9) %>%
             mutate(MIG_DV_2 = as.numeric(LEV2_RES!=LEV2_NAI))

saveRDS(rp,"ipums/rp/mobil_benin_4dates_samp10pct.RDS" )

8.3.2 Indicateurs globaux

Pour vérifier la fiabilité de nos résultats, on calcule pour chaque date le nombre de personnes qui résident dans un autre département ou une autre commune qu’au moment de leur naissance.

rp <- readRDS("ipums/rp/mobil_benin_4dates_samp10pct.RDS" )

### Check results
tab <- rp %>% group_by(YEAR, MIG_DV_1) %>%
              summarise(N = sum(PERWT)) %>%
              reshape2::dcast(formula = YEAR~MIG_DV_1, value.var="N") %>%
              select(Recensement = YEAR,
                     Immobile = 2,
                     Mobile = 3) %>%
              mutate(Total = Immobile+Mobile,
                     TxMobil = round(100*Mobile/Total,2))
kable(tab, caption = "Mobilité durée de vie au Bénin / Départements"  ) 
Mobilité durée de vie au Bénin / Départements
Recensement Immobile Mobile Total TxMobil
1979 2854050 362340 3216390 11.27
1992 4227630 604460 4832090 12.51
2002 5681660 842960 6524620 12.92
2013 8492480 1239330 9731810 12.73
### Check results
tab <- rp %>% group_by(YEAR, MIG_DV_2) %>%
              summarise(N = sum(PERWT)) %>%
              reshape2::dcast(formula = YEAR~MIG_DV_2, value.var="N") %>%
              select(Recensement = YEAR,
                     Immobile = 2,
                     Mobile = 3) %>%
              mutate(Total = Immobile+Mobile,
                     TxMobil = round(100*Mobile/Total,2))
kable(tab, caption = "Mobilité durée de vie au Bénin / Communes"  )  
Mobilité durée de vie au Bénin / Communes
Recensement Immobile Mobile Total TxMobil
1979 2695300 521090 3216390 16.20
1992 4006900 825190 4832090 17.08
2002 5344080 1180540 6524620 18.09
2013 7979390 1752420 9731810 18.01
  • Commentaire : A chaque date on trouve environ 12% de personnes nées dans un autre département.

8.3.3 Indicateurs départementaux

On calcule pour chaque département les trois variables de stock suivantes :

  • STA : le nombre de personnes recensées dans un département qui y sont né
  • EMI : le nombre de personnes nées dans un département qui ont té recensées dans un autre
  • IMM : le nombre de personnes recensées dans un département qui sont nées dans un autre.

On en déduit trois autres variables de stock :

  • VOL = EMI+IMM : le volume de personnes qui sont nées ou résident dans un département.
  • SOL = IMM-EMI : le solde des arrivées et des départs d’un département parmi les survivants à la date du recensement
  • POMOY = STA + (EMI+IMM)/2 : Une estimation (très imparfaite) de la population moyenne du département entre la date du recensement et la date de naissance de personnes.

Ce qui permet finalement d’établir les indicateurs de taux suivants :

  • txEMI = 100 x EMI/POPMOY : taux d’émigration (en %)
  • txIMM = 100 x IMM/POPMOY : taux d’immigration (en %)
  • txMOB = 100 x VOL/POPMOY : taux de mobilité (en %)
  • txACM = 100 x SOL/POPMOY : taux d’ac. migratoire (en %)
  • txASY = SOL/VOL : indicateur d’asymétrie des flux (compris entre -1 et +1)
# Load code and name of units
map1<-st_read("mobil/geom/map_lev1_bj2013.shp",quiet=T)
tab1<-map1 %>% st_drop_geometry() %>% select(code,nom)

# Non migrant
STA <-  rp %>% filter(MIG_DV_1 ==0) %>%
              group_by(YEAR,LEV1_NAI) %>% 
              summarize(N=sum(PERWT)) %>%
              select(date = YEAR,
                     code = LEV1_NAI,
                     STA = N)


# Departures
EMI <- rp %>% filter(MIG_DV_1 ==1) %>%
              group_by(YEAR,LEV1_NAI) %>% 
              summarize(N=sum(PERWT)) %>%
              select(date = YEAR,
                     code = LEV1_NAI,
                     EMI = N)
# Arrivals
IMM <- rp %>% filter(MIG_DV_1 ==1) %>%
              group_by(YEAR,LEV1_RES) %>% 
              summarize(N=sum(PERWT)) %>%
              select(date = YEAR,
                     code = LEV1_RES,
                     IMM = N)

# Put together
tab1 <- tab1 %>% right_join(STA) %>% 
               left_join(EMI) %>%
               left_join(IMM) %>%
                mutate(VOL=EMI+IMM,
                       SOL=IMM-EMI,
                       POPMOY= STA+(EMI+IMM)/2,
                       txEMI = 100*EMI/POPMOY,
                       txIMM = 100*IMM/POPMOY,
                       txMOB = 100*VOL/POPMOY,
                       txACM = 100*SOL/POPMOY,
                       txASY = SOL/VOL)
# Sauvegarde
saveRDS(tab1, "mobil/all/mob_dv_lev1.RDS")

kable(head(tab1),
      digits = c(0,0,0,0,0,0,0,0,0,1,1,1,1,2),
      caption = "Indicateurs départementaux de migration durée de vie au Bénin (1979, 1992, 2002, 2013)")
Indicateurs départementaux de migration durée de vie au Bénin (1979, 1992, 2002, 2013)
code nom date STA EMI IMM VOL SOL POPMOY txEMI txIMM txMOB txACM txASY
204001 Alibori 1979 192050 10650 7580 18230 -3070 201165 5.3 3.8 9.1 -1.5 -0.17
204001 Alibori 1992 330010 19570 12550 32120 -7020 346070 5.7 3.6 9.3 -2.0 -0.22
204001 Alibori 2002 478180 19200 14200 33400 -5000 494880 3.9 2.9 6.7 -1.0 -0.15
204001 Alibori 2013 819840 32520 19610 52130 -12910 845905 3.8 2.3 6.2 -1.5 -0.25
204002 Atacora 1979 277370 18470 8370 26840 -10100 290790 6.4 2.9 9.2 -3.5 -0.38
204002 Atacora 1992 387050 43130 14260 57390 -28870 415745 10.4 3.4 13.8 -6.9 -0.50

il est ensuite facile d’établir une cartographie des indicateurs de son choix pour comparer l’évolution à chacune des quatre dates de recensement :

Solde des migrations durée de vie par département au Bénin

  • Commentaire : A première vue la série de carte proposée semble cohérente avec les conaissances empiriques. On voit notamment bien comment la capitale Cotonou (département du Littoral) commence par attirer les populations des départements voisins en 1979 avant d’arriver à saturation et de resdistribuer la population vers les départements voisins d’Atlantique et de Ouémé pour aboutir à une inversion du solde en 2013. On note par ailleurs le solde positif permanent du département de Borgou et à un moindre degré du departement des Collines.

Asymétrie des migrations durée de vie par département au Bénin

  • Commentaire : L’indice d’asymétrie (rapport entre le solde et le volume des echanges) est un bon indicateur d’attractivité migratoire. Il est normalisé entre -1 (uniquement des départs) et +1 (uniquement des arrivées) avec une valeur de référence 0 (égalité entre les départs et les arrivées). Appliqué aux migrations durée de vie, il montre bien l’attractivité permanente de certains départements comme le Borgou et la répulsivité permanente d’autres comme Atacora. Mais il souligne également des évolution de ces niveaux voire des retrournements de situation notamment dans le sud entre Cotonou et sa périphérie.

8.3.4 Indicateurs communaux

On peut répliquer la même procédure sur les données communales afin d’obtenir des informations de résolution spatiale plus fine. On doit toutefois faire attention à l’incertitude statistique plus grande des calculs puisque les analyses ne concernent qu’un échantillon de 10%. Il peut donc y avoir une marge d’erreur élevé, d’autant plus importante pour les recensements anciens que la population (et donc l’échantillon) était moins importante.

A ce niveau d’analyse, il devent difficile de visualiser les résultats sur une carte géographique normale et il peut être intéressant de proposer conjointement une représentation sous forme de cartogramme dont la surface est proportionnelle à la population de la commune à la date du recensement. On peut illustrer cette solution à l’aide du RP 2013 pour lequel nous disposons d’un tel cartogramme (il serait évidemment incorrect de l’utiliser pour les autres dates, la population ayant changé).

Solde des migrations durée de vie par département au Bénin

  • Commentaire : Le passage au niveau communal permet de mettre à jour des inégalités considérables entre les communes d’un même département. La représentation sous forme de cartogramme permet de mieux visualiser les dynamiques à l’oeuvre dans la région métropolitaine côtière et l’intense redistribution qui s’opère de Cotonou vers Abomey-Calavi ou Porto-Novo

8.4 Matrices Origine-Destination

Au delà des indicateurs simples décrits dans la section précédente, on peut procéder à une analyse spatiale des déplacements en construisant des matrices origine-destination qui mesurent le flux de personnes entre leurs lieux de naissance et leurs lieux de résidence. Cela ouvre une vaste gamme de possibilités de traitements que nous allons illustrer par l’exemple du recensement de 2013 mais que l’on pourrait évidemment reproduire aux autres dates.

8.4.1 Flux entre départements

L’établissement de la matrice de flux est très facile. Elle suppose d’établir d’abord un tableau d’interactions au format “long”

# Load individual data
rp <- readRDS("ipums/rp/mobil_benin_4dates_samp10pct.RDS" )

# Load map and extract name of units
map<-st_read("mobil/geom/cartog_lev1_bj2013.shp", quiet=T)
codei <- map %>% st_drop_geometry() %>% select(i=code,name_i=nom)
codej <- map %>% st_drop_geometry() %>% select(j=code,name_j=nom)

# Compute interactions
int <- rp %>% filter(YEAR == 2013) %>% 
                   group_by(i = LEV1_NAI,
                            j = LEV1_RES) %>%
                   summarize(Fij = sum(PERWT)) %>%
                   left_join(codei) %>%
                   left_join(codej) %>%
                   select(i,j,name_i,name_j, Fij)
# Visualize
kable(head(int), caption = "Migrations durée de vie au Bénin en 2013 (format long)")
Migrations durée de vie au Bénin en 2013 (format long)
i j name_i name_j Fij
204001 204001 Alibori Alibori 819840
204001 204002 Alibori Atacora 4650
204001 204003 Alibori Atlantique 2880
204001 204004 Alibori Borgou 16910
204001 204005 Alibori Collines 1940
204001 204006 Alibori Couffo 100

On peut ensuite transformer le tableau d’interaction en format large en utilisant au choix la fonction dcast() (des packages reshape2 et data.table ) ou la procédure pivot_wider() du package tidyr qui fait partie de l’univers tidyverse.

int2<- reshape2::dcast(int, formula = name_i~name_j, values.var=Fij)
kable(int2, caption ="Migrations durée de vie au Bénin en 2013 (format large)")
Migrations durée de vie au Bénin en 2013 (format large)
name_i Alibori Atacora Atlantique Borgou Collines Couffo Donga Littoral Mono Oueme Plateau Zou
Alibori 819840 4650 2880 16910 1940 100 1130 2070 370 1010 180 1280
Atacora 2110 742110 5900 45210 7920 230 8100 3290 640 1950 530 1550
Atlantique 490 1450 931460 3230 2370 1920 690 48590 7720 17730 2110 7100
Borgou 5320 6640 12050 1045670 7640 900 5380 9250 1080 4090 430 3520
Collines 2700 2820 31610 23890 611770 1130 3900 11290 1450 4580 1570 11010
Couffo 320 630 31080 3590 5190 718560 920 10300 12210 4850 1470 8910
Donga 1820 4460 5800 21080 8160 160 500830 10030 220 2660 440 800
Littoral 4170 2580 203580 11210 5570 2910 2250 399480 10620 66160 4370 11780
Mono 380 570 47510 1900 1500 5250 310 21900 442180 7280 1060 3210
Oueme 740 1270 27530 4800 1880 1360 590 47700 2460 917830 19500 4680
Plateau 380 350 6200 1110 1780 300 150 11390 800 25680 577800 3610
Zou 1180 1410 62460 9300 32970 4380 840 32790 2480 12230 8260 784950

On peut enfin transformer le tableau en un objet de type matrice ce qui suppose de transformer la variable name_i en nom des lignes :

int3 <- as.matrix(int2[,-1])
row.names(int3)<-int2[[1]]
kable(int3, caption ="Migrations durée de vie au Bénin en 2013 (matrice)")
Migrations durée de vie au Bénin en 2013 (matrice)
Alibori Atacora Atlantique Borgou Collines Couffo Donga Littoral Mono Oueme Plateau Zou
Alibori 819840 4650 2880 16910 1940 100 1130 2070 370 1010 180 1280
Atacora 2110 742110 5900 45210 7920 230 8100 3290 640 1950 530 1550
Atlantique 490 1450 931460 3230 2370 1920 690 48590 7720 17730 2110 7100
Borgou 5320 6640 12050 1045670 7640 900 5380 9250 1080 4090 430 3520
Collines 2700 2820 31610 23890 611770 1130 3900 11290 1450 4580 1570 11010
Couffo 320 630 31080 3590 5190 718560 920 10300 12210 4850 1470 8910
Donga 1820 4460 5800 21080 8160 160 500830 10030 220 2660 440 800
Littoral 4170 2580 203580 11210 5570 2910 2250 399480 10620 66160 4370 11780
Mono 380 570 47510 1900 1500 5250 310 21900 442180 7280 1060 3210
Oueme 740 1270 27530 4800 1880 1360 590 47700 2460 917830 19500 4680
Plateau 380 350 6200 1110 1780 300 150 11390 800 25680 577800 3610
Zou 1180 1410 62460 9300 32970 4380 840 32790 2480 12230 8260 784950

L’intérêt du format matriciel est de faciliter des opérations mathématiques telles que le calcul de pourcentage en ligne ou le pourcentage en colonnes qui vont indiquer respectivement des probabilités de destination ou des probabilités d’origines.On va illustrer ces possibilités sur une matrice dont on a retiré la diagonale

int4<-int3
diag(int4)<-NA
int4 <- 100*int4/apply(int4,1,sum, na.rm=T)
kable(int4, digits=1, caption = "Probabilité de destination des migrants durée de vie en 2013 (en %)")
Probabilité de destination des migrants durée de vie en 2013 (en %)
Alibori Atacora Atlantique Borgou Collines Couffo Donga Littoral Mono Oueme Plateau Zou
Alibori NA 14.3 8.9 52.0 6.0 0.3 3.5 6.4 1.1 3.1 0.6 3.9
Atacora 2.7 NA 7.6 58.4 10.2 0.3 10.5 4.2 0.8 2.5 0.7 2.0
Atlantique 0.5 1.6 NA 3.5 2.5 2.1 0.7 52.0 8.3 19.0 2.3 7.6
Borgou 9.4 11.8 21.4 NA 13.6 1.6 9.6 16.4 1.9 7.3 0.8 6.3
Collines 2.8 2.9 32.9 24.9 NA 1.2 4.1 11.8 1.5 4.8 1.6 11.5
Couffo 0.4 0.8 39.1 4.5 6.5 NA 1.2 13.0 15.4 6.1 1.8 11.2
Donga 3.3 8.0 10.4 37.9 14.7 0.3 NA 18.0 0.4 4.8 0.8 1.4
Littoral 1.3 0.8 62.6 3.4 1.7 0.9 0.7 NA 3.3 20.3 1.3 3.6
Mono 0.4 0.6 52.3 2.1 1.7 5.8 0.3 24.1 NA 8.0 1.2 3.5
Oueme 0.7 1.1 24.5 4.3 1.7 1.2 0.5 42.4 2.2 NA 17.3 4.2
Plateau 0.7 0.7 12.0 2.1 3.4 0.6 0.3 22.0 1.5 49.6 NA 7.0
Zou 0.7 0.8 37.1 5.5 19.6 2.6 0.5 19.5 1.5 7.3 4.9 NA
  • Commentaire : Si l’on prend l’exemple des personnes nées à Alibori qui résident dans un autre département en 2013, on constate que plus de la moitié d’entre elles (52%) on été recensés dans le département de Borgou, 14.3% dans le département voisin d’Atacora et seulement 8.9 % vers Cotonou (département de l’Atlantique). Inversement, les personnes nées dans le département du Mono qui résident dans un autre département en 2013 ont choisi majoritairement la capitale Cotonou (52.3%) et sa périphérie proche du département du Littoral (24.1%). On voit donc bien apparaître des clivages liés à la distance aux métropoles principales du pays qui polarisent chacune un espace migratoire distinct.

Procédons à l’opération inverse de calcul des origines mais en ne retirant pas cette fois-ci la diagonale afin de voir la part des populations autchtones

int5<-t(int3)
int5 <- 100*int5/apply(int5,1,sum, na.rm=T)
int5<-t(int5)
kable(int5, digits=1, caption = "Département de naissance des individus en 2013 (en %)")
Département de naissance des individus en 2013 (en %)
Alibori Atacora Atlantique Borgou Collines Couffo Donga Littoral Mono Oueme Plateau Zou
Alibori 97.7 0.6 0.2 1.4 0.3 0.0 0.2 0.3 0.1 0.1 0.0 0.2
Atacora 0.3 96.5 0.4 3.8 1.2 0.0 1.5 0.5 0.1 0.2 0.1 0.2
Atlantique 0.1 0.2 68.1 0.3 0.3 0.3 0.1 8.0 1.6 1.7 0.3 0.8
Borgou 0.6 0.9 0.9 88.0 1.1 0.1 1.0 1.5 0.2 0.4 0.1 0.4
Collines 0.3 0.4 2.3 2.0 88.8 0.2 0.7 1.9 0.3 0.4 0.3 1.3
Couffo 0.0 0.1 2.3 0.3 0.8 97.5 0.2 1.7 2.5 0.5 0.2 1.1
Donga 0.2 0.6 0.4 1.8 1.2 0.0 95.4 1.6 0.0 0.2 0.1 0.1
Littoral 0.5 0.3 14.9 0.9 0.8 0.4 0.4 65.7 2.2 6.2 0.7 1.4
Mono 0.0 0.1 3.5 0.2 0.2 0.7 0.1 3.6 91.7 0.7 0.2 0.4
Oueme 0.1 0.2 2.0 0.4 0.3 0.2 0.1 7.8 0.5 86.1 3.2 0.6
Plateau 0.0 0.0 0.5 0.1 0.3 0.0 0.0 1.9 0.2 2.4 93.5 0.4
Zou 0.1 0.2 4.6 0.8 4.8 0.6 0.2 5.4 0.5 1.1 1.3 93.2
  • Commentaire : La diagonale de cette matrice montre le degré de diversité des origines départementales des population qui résident dans chaque département en 2013. Les départements isolés et peu attractifs ont des taux très élevés de populations nées dans le même département, ce que l’on peut voir avec les départements d’Alibori (97.7%), de Couffo (97.5%)ou d’Atacora (96.5%). Inversement les départements métropolitains qui ont attiré des migrants de tous le pays affichent des taux plus faibles de populations nées dans le même département ce que l’on peut voir pour les départements de l’Atlantique (68.1%), du Littoral (65.7%), des Collines (88.8%) ou de Borgou (88.0%).

8.4.2 Flux entre communes

Les flux entre départements sont intéressants d’un point de vue pédagogique puisqu’ils permettent de montrer facilement les tableaux de format 10 x 10 aux étudiants et de leur expliquer les différentes transformations que l’on peut faire subir à une matrice de flux. Mais ils constituent une grille d’analyse assez grossière qui masque notamment tous les flux de proximité. Il est donc plus intéressant, dans un deuxième temps d’attaquer des données plus précises en commençant par étudier les flux vers une seule destinations mais à plusieurs dates.

A titre d’exemple, nous allons essayer ici de reconstituer l’évolution de l’aire d’attraction de la commune de Parakou au cours du temps.

# Load individual data
rp <- readRDS("ipums/rp/mobil_benin_4dates_samp10pct.RDS" )

# Load map and extract name of units
map<-st_read("mobil/geom/cartog_lev2_bj2013.shp", quiet=T)
codename <- map %>% st_drop_geometry() %>% select(code,nom)

# Compute total departure
dep_tot <- rp %>% filter(MIG_DV_2==1) %>% 
                   group_by(i = LEV2_NAI,
                            t = YEAR) %>%
                   summarize(Fij = sum(PERWT)) %>%
                   reshape2::dcast(formula = i~t,value.var="Fij",fill = 0)
names(dep_tot)<-c("code","tot79","tot92","tot02","tot13")


# Compute departure to Parakou
dep_par <- rp %>% filter(MIG_DV_2==1,
                     LEV2_RES =="204004005") %>% 
                   group_by(i = LEV2_NAI,
                            t = YEAR) %>%
                   summarize(Fij = sum(PERWT)) %>%
                   reshape2::dcast(formula = i~t,value.var="Fij",fill = 0)
names(dep_par)<-c("code","par79","par92","par02","par13")

# Merge tables
tab<-left_join(codename,dep_tot) %>% left_join(dep_par)
  
# Add probabilities
tab <- tab %>% mutate(pct79 = 100*par79/tot79,
                      pct92 = 100*par92/tot92,
                      pct02 = 100*par02/tot02,
                      pct13 = 100*par13/tot13)


kable(head(tab), digits=c(0,0,0,0,0,0,0,0,0,0,1,1,1,1),
      caption = "Migrations durée de vie vers Parakou en 1979, 1992, 2002 et 2013")
Migrations durée de vie vers Parakou en 1979, 1992, 2002 et 2013
code nom tot79 tot92 tot02 tot13 par79 par92 par02 par13 pct79 pct92 pct02 pct13
204001001 Banikorara 3460 5820 5150 10340 420 610 1020 1800 12.1 10.5 19.8 17.4
204001002 Gogounou 2920 6570 3380 6510 110 440 500 1070 3.8 6.7 14.8 16.4
204001003 Kandi 6910 9140 9210 11350 910 1530 1760 2750 13.2 16.7 19.1 24.2
204001004 Karimama 430 1080 1920 3090 0 50 280 340 0.0 4.6 14.6 11.0
204001005 Malanville 1250 3930 3360 7660 100 310 250 950 8.0 7.9 7.4 12.4
204001006 Segbana 760 1750 2770 3310 100 130 310 710 13.2 7.4 11.2 21.5
saveRDS(tab,"mobil/all/mob_dv_parakou_lev2.RDS")
  • Exemple de lecture : Au recensement de 1979, 3460 personnes natives de la commune de Banikorara résidaient dans une autre commune du Bénin. Parmi ces émigrants, on en trouvait 420 qui résidaient dans la commune de Parakou soit 12.1% des personnes ayant quitté la commune de Banikorara. Au recensement de 2013, on constatait la présence de 10340 personnes natives de la commune de Banikorara qui résidaient dans une autre commune, dont 1800 (17.4%) à Parakou. Il y a donc eu un renforcement de l’attraction de Parakou sur Banikorara, lié soit à de nouvelles migrations, soit à un cumul progressif du nombre d’arrivants qui ne sont pas repartis vers d’autres destinations et ont survécu. Les chiffres doivent toutefois être considérés avec précaution lorsqu’ils concernent de petits effectifs comme dans le cas de la commune de Karimama où le chiffre affiché de 90 migrants vers Parakou en 1992 ne correspond en réalité qu’à 9 cas de l’échantillon de recensement à 10%.

A partir de ce tableau, on peut réaliser tout d’abord une cartographie des communes d’origine des personne qui résident à Parakou mais sont nés dans une autre commune pour chacune des dates de recensement

Commune d’origine des personnes recensées à Parakou mais nées ailleurs

  • Commentaire: Les personnes qui résident à Parakou mais sont originaires d’un autre département viennent principalement des cinq départements du nord, de quelques communes du Couffo et de l’agglomération constituée par Cotonou, Abomey-Calavi et Porto-Novo. Cette géographie est apparemment assez stable au cours du temps, ce qui s’expique en partie par le choix de la variable de mobilité durée de vie qui produit des effets cumulatifs. Ces cartes ne permettent cependant pas de bien visualiser les effets de polarisation puisqu’elles subissent un effet de taille : plus une commune est peuplée, plus elle a de chance d’avoir envoyé des migrants vers Parakou.

Probabilité de résider à Parakou pour les individus ayant quitté leur commune de naissance

  • Commentaire : Cette seconde visualisation montre de façon beaucoup plus nette l’existence d’une coupure entre les cinq départements du nord du pays qui envoient une proportion élevée de leurs migrants vers Parakou et le reste du pays. La tendance générale est au renforcement et à l’homogénéisation spatiale de l’attraction de la ville de Parakou sur la partie nord du pays. Si cette attraction est évidemment liée à la distance (ce que pourra confirmer le modèle gravitaire), elle semble aussi révéler un effet de barrière au vu de la netteté de la coupure qui appraît brutalement au sud du département des Collines. Il s’agit en bref d’un excellent exemple pédagogique pour construire des modules d’analyse de l’interaction spatiale.

8.5 Prolongements possibles

Les exemples présentés ci-dessus concernent les migration durée de vie mais ils pourront être reproduit sur d’autres matrices de migration concernant les mobilités effectuées au cours des années antérieures. Ils pourront également être appliqués facilement à d’autres pays, les migrations durée de vie étant presque toujours disponibles dans le recensement (ce qui n’est pas le cas des autres mesures de mobilité).

Un point important est la possibilité d’étudier les mobilités de sous-populations plutôt que de populations entières comme nous l’avons fait ici. Il est en effet évident que la probabilité d’avoir effectué une migration durée de vie dépend de l’âge de la personne et augmente globalement avec celui-ci (même si un effet de génération peut entraîner une baisse aux âges plus élevés). On peut donc imaginer d’étudier par exemple la matrice de migrations des femmes de 15 à 30 ans célibataires ou celle des hommes chef de ménage de plus de 50 ans, ou celle des étudiants disposant d’un diplôme de l’enseignement supérieur, etc. La seule limite à ce type d’analyse réside dans la taille des échantillons obtenus et du niveau de découpage territorial retenu. Une sous-population de taille trop réduite ne pourra vraismeblablement pas être analysée valablement au niveau communal et il faudra dans ce cas retenir plutôt le niveau départemental.