La corba de Kuznets

Branko Milanovic i Simon Kuznets són dos dels acadèmics més coneguts en els estudis de la desigualtat. A cada un d’ells se’l coneix per identificar una determinada trajectòria de la desigualtat en un període de temps determinat:

  • L’elefant de Milanovic: La diferencia en percentatge de guany entre la distribució per nivell d’ingressos l’any 2008 i l’any 1988 fa forma d’elefant.
  • La corba de Kuznets: A mesura que la riquesa d’un país creix amb el procés d’industrialització, en una primera fase les desigualtats creixen i en una segona fase decreixen, de manera que la relació entre creixement econòmic i desigualtats té forma de U invertida.

En aquesta pràctica observarem la trajectòria que descriu la corba de Kuznets. Aquest economista nordamericà va teoritzar el 1955 que a mesura que la riquesa d’un país creix amb el procés d’industrialització, en una primera fase les desigualtats creixen i en una segona fase decreixen, de manera que la relació entre creixement econòmic i desigualtats té forma de U invertida.1. En primer lloc, carregarem els paquets que necessitem.

#recordeu que els paquets han d'estar prèviament instal·lats 
library(readxl)
library(haven)
library(tidyr)
library(dplyr)
library(ggplot2)
library(wbstats)

La corba de Kuznets

Simon Kuznets va formular el 1955 la teoria que la relació entre el progrés d’un país i la desigualtat tindria forma de U invertida. En una fase inicial de desenvolupament econòmic, els països són pobres i hi ha poques diferències en nivell d’ingressos entre la seva població. La industrialització porta a una segona fase de desenvolupament, en què només una petita minoria pot treure’n profit dels seus beneficis, de manera que les desigualtats creixerien en aquest segon període. Amb el progrés i el pas del temps s’arribaria a una tercera fase, en què cada vegada més persones podrien participar dels beneficis de la industrialització, de manera que les desigualtats es veurien reduïdes.

Aquestes són les conclusions que va treure Kuznets a partir d’observar la relació entre ingrés i desigualtats a Estats Units durant el període 1913-1948 en la seva obra Shares of Upper Income Groups in Income and Savings (Kuznets 1953). El seu estudi ha estat replicat desenes de vegades amb resultats dispars. En aquest exercici intentarem fer una nova rèplica de la corba de Kuznets.

Exercici 1: En primer lloc, indaga sobre l’obra de Kuznets a partir dels textos La Desigualdad entre Personas (Milanovic 2011) i El Capital del Siglo XXI (Piketty 2014) i respon a les següents preguntes:

  1. Per què l’obra de Kuznets és revolucionària des d’un punt de vista empíric?
  2. Kuznets utilitza una font d’informació principal per elaborar el seu estudi. De quin tipus de font es tracta? Aquest tipus de font és incompleta per saber les desigualtats a la població. Quina altra font va necessitar? Per què?
  3. En la relació de causalitat que estudia Kuznets, quina és la variable dependent i quina és la variable independent?
  4. Descriu breument què és l’índex de Gini.

Per replicar l’estudi de Kuznets, necessitarem estudiar la relació entre dues variables numèriques:

Dades de desigualtat

Una de les sèries temporals més llargues que conté informació sobre l’índex de Gini la trobem al All the Ginis Dataset del Banc Mundial.

Exercici 2: Accedeix a la pàgina web All the Ginis Dataset i busca a la pestanya Data & Resources el document que conté la descripció de la base de dades:

  1. De quantes bases de dades diferents s’han obtingut els índexs de Gini per crear All the Ginis Dataset?
  2. Quantes observacions Gini recull en total la base de dades?
  3. Quin és el nom de la variable que engloba tots els ginis de les altres bases de dades?
  4. Algunes variables que ens trobarem a la base de dades porten els prefixos Dhh, Dinc o Dgross. Aquestes variables poden prendre el valor 1 o el valor 0. Explica el significat d’aquestes variables a partir de la Digressió 1 de Desigualdad Global (Milanovic 2016: 26-31). Per què és rellevant aquesta distinció?
  5. Suposa que tenim dos hipotètics països que tenen el mateix Gini però que un té el valor 1 a la variable Dinc i l’altre el valor 0. Tindrien la mateixa desigualtat? Raona la teva resposta.
  6. Quina és la dècada on tenim més observacions?
  7. De quina regió (segons la nomenclatura utilitzada) tenim més observacions en relació al nombre de països?

Ara que ja tenim una orientació general sobre les dades que hem de tractar, ja podem descarregar la base de dades i netejar-la de variables que no ens interessin i de dades perdudes. En el següent codi hem realitzat les següents operacions: hem descarregat la base de dades, hem seleccionat algunes de les variables i hem eliminat tots els NA. El resultat és el marc de dades ginis, on podem observar les seves primeres files a la següent Taula 1.

download.file("https://development-data-hub-s3-public.s3.amazonaws.com/ddhfiles/94536/allginis_2013.xls",
              "allginis.xls")
ginis <- read_xls("allginis.xls", sheet = 2) %>%
  select(country:year, Giniall) %>% #seleccionem algunes variables
  filter(!is.na(Giniall)) #eliminem dades perdudes
Table 1: All Ginis Dataset
countrycontcodregionyearGiniall
AlbaniaALBEastern Europe199728.6
AlbaniaALBEastern Europe200229.4
AlbaniaALBEastern Europe200431.1
AlbaniaALBEastern Europe200531.7
AlbaniaALBEastern Europe200830.4
AlgeriaDZAAfrica198838.8
AlgeriaDZAAfrica199534.6
AngolaAGOAfrica199540.2
AngolaAGOAfrica200058.1
ArgentinaARGLatin America197434.5

Una ullada ràpida al marc de dades amb head(ginis, 10) o glimpse(ginis) ens permet comprovar que tenim molt pocs casos d’alguns països. Ja només al principi de la llista veiem que tenim dades d’Albània en només cinc anys, per dos d’Algèria i dos d’Angola. Ja d’entrada, sabem que serà difícil observar l’evolució de la desigualtat en alguns països si tenim tant pocs punts en el temps.

Si utilitzem range(ginis$year) veiem que tenim dades des de 1950 fins a 2012, encara que no tenim la mateixa quantitat d’observacions de tots els països. Podem investigar de quants anys tenim registre a cada país amb count(). Aquesta funció ens fa un recompte de casos per cada variable categòrica que indiquem. Sempre que posem al final d’un codi %>% View() podem veure els resultats en una finestra nova amb format de full de càlcul. A la Taula 2 observem els resultats.

ginis %>%
  count(country, sort = TRUE) %>% #demanem un recompte i que ens ordeni els resultats
  head(30) %>% View() #demanem les primeres 30 observacions i visualitzar la taula en una finestra a part
Table 2: Recompte d’observacions
countryn
United States62
United Kingdom50
Bulgaria42
India42
Brazil36
Taiwan, China34
Italy33
Poland33
China32
Japan31
Costa Rica30
Mexico30
Argentina28
Venezuela, Rep28
Denmark27
Iran,IslamicRep.27
Netherlands27
Colombia26
Sweden26
Canada25
Germany25
Hungary25
Chile24
Honduras23
Norway23
Peru23
Pakistan22
El Salvador21
Panama21
Spain21

Exercici 3: Com podeu comprovar, tenim més dades d’alguns països que no pas d’altres. Per algun motiu, doncs, des de 1950 fins a 2012 moltes dades estan perdudes.

  1. Sabries dir quines característiques tenen en comú, en general, els països dels que tenim més dades? I els països dels que tenim menys dades? Posa alguns exemples d’acord amb els resultats que has obtingut en la Taula 2.
  2. Amb el següent codi hem demanat l’any més antic (min()) i l’any recent (max()) de què tenim dades a cada país, així com el recompte de casos (n()). Selecciona un país que tingui menys de 25 casos i, a partir de les dades generades pel codi, intenta explicar des d’un punt de vista històric per quin motiu aquest país concret té més/menys dades en relació als altres països.
ginis %>%
  group_by(country) %>%
  summarize(min = min(year),
            max = max(year),
            n = n()) %>%
  arrange(desc(n))

Dades de desenvolupament

Tal com va fer Kuznets en el seu estudi, utilitzarem el PIB per càpita com a mesura de desenvolupament econòmic. Encara que el PIB per càpita ha tingut i està tenint cada vegada més crítiques com a mesura de desenvolupament (Stiglitz, Sen, and Fitoussi 2010), també és cert que continua sent una mesura senzilla, fiable, disponible i prou acceptada per acadèmics i decisors públics.

Per obtenir les dades del PIB per càpita, utilitzarem el paquet wbstats que ens proporciona dades del Banc Mundial. Amb la funció wb_search() busquem indicadors que continguin les paraules gdp, capita i ppp. Veiem que obtenim cinc resultats.

wb_search("gdp.*capita.*ppp")
## # A tibble: 4 x 3
##   indicator_id    indicator                indicator_desc                       
##   <chr>           <chr>                    <chr>                                
## 1 6.0.GDPpc_cons… GDP per capita, PPP (co… GDP per capita based on purchasing p…
## 2 NY.GDP.PCAP.PP… GDP per capita, PPP (cu… This indicator provides per capita v…
## 3 NY.GDP.PCAP.PP… GDP per capita, PPP (co… GDP per capita based on purchasing p…
## 4 NY.GDP.PCAP.PP… GDP per capita, PPP ann… Annual percentage growth rate of GDP…

Ens interessen les dades de PIB per càpita a preus constants, però com podeu observar en el resultat tenim tres variables que sembla que ens ofereixin exactament el mateix. Com que no estem segurs de quina variable escollir, descarregarem tots cinc resultats i els compararem entre ells per tenir més clara la nostra elecció. En el següent codi fem els següents procediments:

  • Guardem els codis dels indicadors a l’objecte gdpcap. Teclegeu el nom del nou objecte per comprovar que efectivament conté els codis dels indicadors.
  • Amb la funció wb() descarreguem el marc de dades que anomenarem income. A dins de la funció hi especifiquem el nom del vector on hem guardat els indicadors.
  • A continuació separem (pivot_wider()) els indicadors per tal que cada variable estigui en una columna diferent i demanem un sumari.

Us sortirà un missatge d’error, que ens descarta automàticament una variable, i ens crearà l’arxiu amb una variable menys de les que havíem demanat.

gdpcap <- wb_search("gdp.*capita.*ppp") %>% pull(indicator_id)
income <- wb_data(indicator = gdpcap, return_wide = F) %>%
  mutate(date = as.numeric(date)) %>%
  as_tibble()
income %>%
  pivot_wider(names_from = indicator_id, values_from = value) %>%
  summary()
##   indicator            iso2c              iso3c             country         
##  Length:29606       Length:29606       Length:29606       Length:29606      
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##                                                                             
##       date          unit            obs_status          footnote        
##  Min.   :1960   Length:29606       Length:29606       Length:29606      
##  1st Qu.:1975   Class :character   Class :character   Class :character  
##  Median :1990   Mode  :character   Mode  :character   Mode  :character  
##  Mean   :1990                                                           
##  3rd Qu.:2005                                                           
##  Max.   :2020                                                           
##                                                                         
##   last_updated        6.0.GDPpc_constant NY.GDP.PCAP.PP.CD  NY.GDP.PCAP.PP.KD 
##  Min.   :2013-02-22   Min.   : 3475      Min.   :   285.6   Min.   :   436.7  
##  1st Qu.:2021-07-21   1st Qu.: 6451      1st Qu.:  2723.4   1st Qu.:  3496.6  
##  Median :2021-07-21   Median : 9254      Median :  7707.2   Median : 10201.3  
##  Mean   :2020-09-09   Mean   : 9909      Mean   : 14950.4   Mean   : 17877.8  
##  3rd Qu.:2021-07-21   3rd Qu.:12900      3rd Qu.: 20266.7   3rd Qu.: 25759.3  
##  Max.   :2021-07-21   Max.   :21980      Max.   :154095.2   Max.   :162915.8  
##                       NA's   :29366      NA's   :24004      NA's   :23917     
##  NY.GDP.PCAP.PP.KD.ZG
##  Min.   :-50.290     
##  1st Qu.: -1.453     
##  Median :  1.504     
##  Mean   :  1.405     
##  3rd Qu.:  4.037     
##  Max.   : 92.586     
##  NA's   :27433

Exercici 4: Investigueu el marc de dades income amb les funcions head() i glimpse(), així com els estadístics descriptius dels indicadors per separat que hem obtingut amb summary().

  1. Quin és l’indicador que ens ha eliminat? Quina informació contenia?
  2. Si us hi fixeu, en el marc de dades original income no tenim les variables del PIB per càpita separades, cada una en una columna diferent. Totes ens han vingut agrupades en una columna que hem hagut de separar per tal de tenir cada variable en una columna diferent. Quin és el nom la variable que contenia el codi dels indicadors que hem hagut de separar?
  3. Tenim dues variables amb codis de països. Quines són?
  4. Per què és preferible utilitzar dades a preus constants enlloc de preus corrents a l’hora d’estudiar el desenvolupament econòmic?
  5. Quantes dades perdudes (NA) té cada variable?
  6. Tenint en compte tota aquesta informació, amb quina variable et quedaries de les quatre que tenim disponibles? Indica el codi de l’indicador i justifica la resposta.
  7. Amb el que has après en aquest exercici, utilitza el següent codi per remenar la base de dades del Banc Mundial amb wb_search() i buscar un indicador que trobis interessant. Descriu el marc de dades resultant amb les funcions head(), glimpse() i summary().
wb_search("?????????") #escull els termes a cercar i identifica el codi de l'indicador que t'interessi
# limita la cerca tant com necessitis amb .* entre paraules: "paraula1.*paraula2.*paraula3"
prova <- wb_data(indicator = "????????") %>% #introdueix el codi de l'indicador
  as_tibble()
head(prova)
glimpse(prova)
summary(prova)

La corba

Fins ara, en aquesta activitat ens hem dedicat a recollir les dades que necessitàvem per crear la corba de Kuznets. En el primer apartat hem obtingut les dades de desigualtat i en el segon apartat hem recollit dades de desenvolupament. Amb això ja podem crear una corba de Kuznets:

  • a nivell mundial, que ens expliqui quina relació han mantingut desenvolupament i desigualtat amb totes les dades que tenim disponibles.
  • en un país, que ens expliqui la relació entre desenvolupament i desigualtat en un cas concret.

Per això haurem d’unir els dos marcs de dades creats anteriorment en el nou marc de dades incgini, que veiem a la Taula 3.

incgini <- income %>%
  filter(indicator_id == "NY.GDP.PCAP.PP.KD") %>%
  transmute(iso3c, year = date, gdpcap = value) %>%
  inner_join(ginis, by = c("iso3c" = "contcod", "year"))
Table 3: Desenvolupament i desigualtat mundial (1950-2012)
iso3cyeargdpcapcountryregionGiniall
ALB20089912.577AlbaniaEastern Europe30.4
ALB20058040.879AlbaniaEastern Europe31.7
ALB20047580.629AlbaniaEastern Europe31.1
ALB20026754.536AlbaniaEastern Europe29.4
ALB19974400.578AlbaniaEastern Europe28.6
DZA19957935.179AlgeriaAfrica34.6
DZA1988NAAlgeriaAfrica38.8
AGO20004727.966AngolaAfrica58.1
AGO19954139.641AngolaAfrica40.2
ARG201224118.868ArgentinaLatin America42.6

Exercici 5: Respon a les següents preguntes utilitzant les funcions que s’indiquen segons si l’objecte a explorar en cada cas és el marc de dades incgini o bé una variable concreta del marc de dades (incgini$nom_variable):

  1. Quantes observacions tenim en aquest nou marc de dades? glimpse() o dim()
  2. Quantes observacions tenim a cada regió? table()
  3. Quants països diferents tenim? n_distinct()
  4. Quin és l’any màxim i mínim? range()
  5. Quin és el PIB per càpita màxim i mínim? range()
  6. Quina és la observació amb major PIB per càpita? I amb menor? Hauràs d’aplicar min() i max() a la funció següent:
incgini[which(incgini$gdpcap == ???(incgini$gdpcap)),]

En l’exercici anterior ens hem adonat que el marc de dades incgini té poques observacions en relació als marcs de dades d’orígen. Això es deu, principalment, perquè en alguns casos teníem informació del desenvolupament del país però no de la seva desigualtat i en altres casos teníem informació de la desigualtat el país però no del seu desenvolupament. Això ens ha reduït dràsticament les observacions quan hem agrupat les dades.

No obstant, podem intentar crear la corba de Kuznets amb les dades disponibles amb un diagrama de dispersió que trobem a la Figura 1.

  • Ubicarem gdpcap a l’eix de les x.
  • Giniall a l’eix de les y.
  • A més, aprofitarem la columna region per assenyalar la regió en el color dels punts.
  • La corba la crearem mitjançant geom_smooth().
  • Aplicarem l’escala logarítmica a l’eix de les x per representar millor els valors de la distribució (té una asimetria negativa) i per representar millor la diferència en els efectes que té una unitat addicional en termes de PIB per càpita en els valors baixos i els valors alts de la distribució.
incgini %>%
  ggplot(aes(x = gdpcap, y = Giniall)) + #eixos x i y
  geom_point(aes(col = region), alpha = .5) + #els punts
  geom_smooth(se = FALSE) + #la corba
  scale_x_log10() + #escala logarítmica
  theme_light() +
  theme(legend.position = "bottom",
        legend.title = element_blank())
Relació entre desenvolupament i desigualtat mundial (1990-2012)

Figure 1: Relació entre desenvolupament i desigualtat mundial (1990-2012)

La corba de Kuznets es distingeix molt tímidament en el gràfic. Sembla que les desigualtats arriben al seu pic als 10.000 dòlars per càpita i a partir de llavors es redueixen conforme el desenvolupament augmenta.

Exercici 6: Observa la Figura 1 i respon a les següents preguntes?

  1. Tenint en compte els criteris de causalitat, per què diries que hem ubicat gdpcap a l’eix de les x i Giniall a l’eix de les y?
  2. Interpreta l’escala logarítmica de l’eix de les x. Què vol dir 1e+03, 1e+04 i 1e+05? Intenta trobar-hi la lògica associada i explica-la.
  3. Sembla que hi ha un patró molt clar de les desigualtats per regió geogràfica. Explica, per cada regió, on estan ubicades la majoria de les observacions segons els dos eixos del gràfic?
  4. Afegeix la següent línia de codi entre la primera i la segona línia del codi que hem utilitzat per crear el gràfic. Escull una regió i reprodueix el gràfic de nou. Comenta el gràfic. S’observa la corba de Kuznets en la regió escollida?
filter(region = "???????") %>%
  1. Com milloraries la validesa de la relació? Pensa en algun indicador més vàlid que el PIB per càpita (bé sigui un indicador dins de la família del PIB o un altre tipus d’indicador).

Cas d’estudi

Per fer l’exercici final utilitzarem una altra font d’informació molt emprada en estudis de desenvolupament econòmic: les Penn World Tables v9.1 (PWT) (Feenstra, Inklaar, and Timmer 2015), que conté una sèrie temporal més llarga que la que hem utilitzat fins ara del Banc Mundial. Això ens permetrà tenir dades anteriors a 1990 en alguns països.

En el següent codi descarreguem l’arxiu de la web de PWT i unim les dades amb les del marc de dades ginis per crear el marc de dades pwtgini. Apliqueu-hi el codi que hem fet servir a l’Exercici 3 per veure l’any mínim, l’any màxim i el nombre d’observacions per a cada país. Trobareu el resultat a la Taula 4.

download.file("https://www.rug.nl/ggdc/docs/pwt91.dta",
              "pwt91.dta")
pwt <- read_dta("pwt91.dta") %>%
  mutate(gdpcap = rgdpo / pop) %>% #dividim PIB per població per obtenir el PIB per càpita
  select(countrycode, year, gdpcap) %>%
  filter(!is.na(gdpcap))

pwtgini <- pwt %>%
  inner_join(ginis, by = c("countrycode" = "contcod", "year"))
Table 4: Interval d’anys i nombre d’observacions de les Penn World Tables
countryminmaxn
United States1950201162
United Kingdom1961201050
India1951200942
Bulgaria1970200837
Brazil1960201136
Taiwan, China1964200834
Italy1967201033
Poland1976200933
China1953200732
Japan1962200831
Costa Rica1961201030
Mexico1950201030
Argentina1974201228
Venezuela, Rep1962201128
Denmark1963200827
Iran,IslamicRep.1969200827
Netherlands1962200827
Colombia1964201126
Sweden1963200826
Canada1965200825
Germany1950200825
Chile1968201124
Honduras1968201123
Hungary1972200823
Norway1962200823
Peru1961201123
Pakistan1963200822
El Salvador1965201021
Panama1969201221
Spain1965201021

El país de què disposem més observacions és els Estats Units. En la Figura 2 hem filtrat les dades pel país en qüestió i hem demanat un diagrama de línies (geom_path()) que ens mostra el recorregut que ha seguit, any rera any, la relació entre PIB per càpita i l’índex de Gini. Segons les dades que podem aportar observem que les desigualtats als Estats Units no s’han reduït conforme ha anat avançant el desenvolupament econòmic del país, sinó que han augmentat. Aquestes conclusions disten molt de les dades observades per Kuznets en el període 1913-1948, que van originar la teoria coneguda com la corba de Kuznets.

pwtgini %>%
  filter(country == "United States") %>%
  ggplot(aes(x = gdpcap, y = Giniall)) +
  geom_path(alpha = 0.2, size = 2, lineend = "round", aes(col = year), show.legend = FALSE) +
  geom_text(aes(label = year), size = 3, position = position_jitter(width=0.5,height=0.5)) +
  labs(title = "Evolució de l'índex de Gini als Estats Units segons PIB per càpita (1950-2011)",
       x = "PIB per capita", y = "Índex de Gini") +
  theme_bw()
Exercici final: els Estats Units

Figure 2: Exercici final: els Estats Units

EXERCICI FINAL: A partir del codi que hem utilitzat per crear la Figura 2, elabora un gràfic amb un altre país que tingui un mínim de 20 observacions.

  1. Canvia la transparència (alpha pot variar entre 0 i 1) i el gruix (size ha de ser superior a 0) de la línia.
  2. Canvia la mida del text (size ha de ser superior a 0).
  3. Canvia el títol del gràfic.
  4. Comenta el gràfic: de quins anys tenim dades? quina trajectòria es dibuixa? hi ha canvis sobtats? quedaria validada la teoria de Kuznets en el cas del país que has escollit?

Referències

Feenstra, Robert C., Robert Inklaar, and Marcel P. Timmer. 2015. The Next Generation of the Penn World Table.” American Economic Review 105 (10): 3150–82. www.ggdc.net/pwt.
Kuznets, Simon. 1953. Shares of Upper Income Groups in Income and Savings. New York: NBER.
Milanovic, Branko. 2011. The Haves and the Have-Nots: A Brief and Idiosyncratic History of Global Inequality. New York: Basic Books.
———. 2016. Global Inequality: A New Approach for the Age of. Globalization. Cambridge, MA: Harvard University Press.
Piketty, Thomas. 2014. Capital in the Twenty-First Century. Cambridge, MA: Harvard University Press.
Stiglitz, Joseph E., Amartya Sen, and Jean-Paul Fitoussi. 2010. Mismeasuring our lives: why GDP doesn’t add up: the report. New York: New Press.

  1. Aquesta activitat està elaborada amb propòsits estrictament docents. Les operacions que es realitzen no pretenen tenir cap validesa des d’un punt de vista acadèmic↩︎

Previous
Next