Package R: ineqQuantile

Un package R a été mis en ligne sur Github afin de pouvoir mettre en place la méthodologie pour estimer une courbe de Lorenz présentée dans mon article « Estimating Inequality Measures from Quantile Data ».

L’Institut National de la Statistique et des Études Économiques (INSEE) fournit des données sur les revenus à une échelle très fine appelée iris (https://www.insee.fr/fr/statistiques/3288151). Les déciles et les quartiles de revenu dans ces zones sont disponibles. Les classes de revenus sont déterminées à partir des quantiles. L’objectif est de modéliser une courbe de Lorenz et des mesures d’inégalités à partir de ces quantiles.

Chargement du package

library(devtools)
devtools::install_github("EnoraBelz/Inequality")
library(inequalityQuantile)

library(tidyverse)
library(binequality)

Chargement des données

data("tabulated_income")

tabulated_BelAir5 = tabulated_income %>% filter(iris== "Bel Air 5")

Parts des revenus

La première étape consiste à déterminer les paramètres de la distribution GB2 par maximum de vraisemblance. Ces paramètres sont utilisés pour identifier la densité et la distribution des revenus dans la région. Les moyennes conditionnelles de classes de revenus peuvent ensuite être calculées. Ces moyennes sont utilisées pour calculer les parts cumulées des revenus et les parts cumulées de population (qui sont les niveaux de déciles). Par exemple, pour l’iris Bel Air 5 :

LC_BelAir5 = compute_LC(ID=tabulated_BelAir5$iris,
                        p=tabulated_BelAir5$prop_cum_population,
                        bound_min = tabulated_BelAir5$bound_min,
                        bound_max = tabulated_BelAir5$bound_max,
                        nb = tabulated_BelAir5$prop_population,
                        method = "CondExp")
Classe
(min)
Classe
(max)
Revenu
moyen (€)
Part cumulée
des revenus
Part cumulée
de la population
0105707403.640.020.10
105701869614947.500.060.20
186962155820135.630.080.25
215582434422948.680.120.30
243442829826296.940.180.40
282983262630412.820.260.50
326263778235113.380.360.60
377824344440488.390.460.70
434444608844737.590.520.75
460885092648410.770.580.80
509266192055936.680.730.90
61920/102703.301.001.00

Optimisation des formes fonctionnelles

Pour estimer la courbe de Lorenz empirique, toutes les formes fonctionnelles possibles peuvent être appliquées sur les parts cumulées du revenu et de la population.

Les paramètres sont optimisés par l’estimateur NLS. Une fonction est définie pour optimiser les paramètres de la forme fonctionnelle et tenir compte des différentes contraintes sur les paramètres. Pour chaque forme fonctionnelle, on obtient les paramètres optimaux de la courbe de Lorenz. Les différentes formes peuvent également être comparées les unes aux autres à l’aide de mesures d’ajustement.

Il est ensuite possible de l’appliquer aux parts calculées pour l’iris de Bel Air 5.

optim_BelAir5 = run_optim_LC(ID=unique(LC_BelAir5$ID),
           income_cum = LC_BelAir5$income_cum,
           population_cum = LC_BelAir5$population_cum,
           function_form=c("KP", "RGKO", "ARNOLD", "CHOTIKAPANICH", "SARABIA", "ORTEGA", "ROHDE")) 
Forme
fonctionnelle
Parameter 1Parameter 2Parameter 3Parameter 4NLSStatistique du
Chi-Deux
KP1.0001.426//0.003760.0103
RGKO0.7261.446//0.000200.0015
ARNOLD1.2792.219//0.002380.0149
CHOTIKAPANICH2.227///0.003190.0110
SARABIA0.0000.6921.7610.3010.000030.0004
ORTEGA0.4700.649//0.000140.0011
ROHDE1.532///0.002600.0215

Mesures d’inégalités

La courbe de Lorenz est utilisée pour calculer les indices d’inégalité (indices de Gini, Pietra, Theil, topshares).

Les coefficients de Gini peuvent être dérivés des formes fonctionnelles en fonction de paramètres.

optim_BelAir5 %>% ungroup() %>% rowwise() %>% 
  dplyr::mutate(Gini_est = compute_Gini(function_form=function_form,
                                        par1=par1,
                                        par2=par2,
                                        par3=par3,
                                        par4=par4))

L’indice de Pietra est défini en fonction de la courbe de Lorenz, il correspond à l’écart maximal entre L(p) et p.

optim_BelAir5 %>% ungroup() %>% rowwise() %>% 
  dplyr::mutate(Pietra_est = compute_Pietra(function_form=function_form,
                                            par1=par1,
                                            par2=par2,
                                            par3=par3,
                                            par4=par4))

Les indices de Theil et les topshares peuvent aussi être défini en fonction de la courbe de Lorenz.

optim_BelAir5 %>% ungroup() %>% rowwise() %>% 
  dplyr::mutate(TL_est = compute_TL(function_form=function_form,
                                    par1=par1,
                                    par2=par2,
                                    par3=par3,
                                    par4=par4))

optim_BelAir5 %>% ungroup() %>% rowwise() %>% 
  dplyr::mutate(TH_est = compute_TH(function_form=function_form,
                                    par1=par1,
                                    par2=par2,
                                    par3=par3,
                                    par4=par4))

optim_BelAir5 %>% ungroup() %>% rowwise() %>% 
  dplyr::mutate(topshare95 = compute_topshare(p=0.95,
                                              function_form=function_form,
                                              par1=par1,
                                              par2=par2,
                                              par3=par3,
                                              par4=par4))

Il est alors possible de cartographier Paris selon les mesures d’inégalités calculés dans chacunes des iris de la capitale.

Indice de Gini
Indice de Pietra
Indice de Theil H
Indice de Theil L

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s