Economía del Desarrollo I

Grupo teórico 03

Ejercicio de medición de pobreza y desigualdad con el enfoque de ingresos

Responsable:

Claros Ruiz, Jacqueline Vanessa - CR19014

14 de mayo de 2024



Ejercicio

Para la economía de los primigenios, en la ciudad de R’lyeh, el vector de rentas es (100,200,300,400,700), (en unidades monetarias: u.m.) el cual es ponderado por el siguiente vector de población (50,35,55,35,10) (en numero de personas).

  1. Calcule el coeficiente de Gini de la ciudad de R’lyeh.

  2. El alcalde de R’lyeh el “Gran Primigenio Cthulhu” ha propuesto una transferencia del gobierno de 15% sobre el monto de las rentas de hasta 200 u.m. y un impuesto sobre la renta del 5% para las rentas superiores a las 200 u.m. ¿La desigualdad en R’lyeh aumenta o disminuye? argumente su respuesta con el nuevo coeficiente de Gini, para la distribución de la renta derivada de las políticas del primigenio alcalde, descritas en el literal b).

  3. La severidad de la pobreza (FGT2) aumenta o disminuye con la política del primigenio alcalde, descrita en el literal b), argumente su respuesta.

  4. De acuerdo a al indicador de Kuznet, hay cambios evidentes entre el 10% más rico y el 40% más pobre de la ciudad de R’lyeh, con la implementación de la política del primigenio alcalde, ya descrita con anterioridad. Argumente su respuesta.



Literal a)

Cálculo del coeficiente de Gini de la ciudad de R’lyeh:

Renta media

y <- c(100, 200, 300, 400,700)
n <- c(50, 35, 55, 35,10)

#Cálculo de la renta media
renta_media <- function(vector_renta, vector_poblacion) {
  as.vector(crossprod(vector_renta, 
                      vector_poblacion)/sum(vector_poblacion))
}
renta_media(vector_renta = y, vector_poblacion = n)
## [1] 267.5676

Lo que significa que cada persona en esta economía debería recibir 267.57 unidades monetarias.

Coeficiente de Gini (Debraj Ray)

options(scipen = 999999)
gini_debraj_ray <- function(vector_renta, vector_poblacion) {

  # Generación del Dataframe para el cálculo
  library(dplyr)
  df_y <- expand.grid(vector_renta, vector_renta)
  names(df_y) <- c("Yj", "Yk")
  df_n <- expand.grid(vector_poblacion, vector_poblacion)
  names(df_n) <- c("Nj", "Nk")
  gini_data <- bind_cols(df_n, df_y)

  # Cálculo del doble sumatorio
  renta_media(vector_renta = vector_renta,
              vector_poblacion=vector_poblacion)->mu
   N<-sum(vector_poblacion)
  gini_data %>% mutate(doble_sum = Nj * Nk * abs(Yj - Yk)) -> gini_data
  gini_data %>% summarise(Gini=(1/(2*mu*N^2))*sum(doble_sum)) %>% select(Gini)-> Gini
  list(gini_data=gini_data,mu=mu,N=N,Gini=Gini[,1])
}

# Data original
g1 <- gini_debraj_ray(vector_renta = y, vector_poblacion = n)
print(g1)
## $gini_data
##    Nj Nk  Yj  Yk doble_sum
## 1  50 50 100 100         0
## 2  35 50 200 100    175000
## 3  55 50 300 100    550000
## 4  35 50 400 100    525000
## 5  10 50 700 100    300000
## 6  50 35 100 200    175000
## 7  35 35 200 200         0
## 8  55 35 300 200    192500
## 9  35 35 400 200    245000
## 10 10 35 700 200    175000
## 11 50 55 100 300    550000
## 12 35 55 200 300    192500
## 13 55 55 300 300         0
## 14 35 55 400 300    192500
## 15 10 55 700 300    220000
## 16 50 35 100 400    525000
## 17 35 35 200 400    245000
## 18 55 35 300 400    192500
## 19 35 35 400 400         0
## 20 10 35 700 400    105000
## 21 50 10 100 700    300000
## 22 35 10 200 700    175000
## 23 55 10 300 700    220000
## 24 35 10 400 700    105000
## 25 10 10 700 700         0
## 
## $mu
## [1] 267.5676
## 
## $N
## [1] 185
## 
## $Gini
## [1] 0.2926563

Coeficiente de Gini (libreria “ineq”)

library(ineq)
library(purrr)
map2(y,n,.f = rep) %>% unlist() %>% Gini()
## [1] 0.2926563

La gráfica:

library(ineq)
library(purrr)
map2(y,n,.f = rep) %>% unlist() %>% ineq::Lc() %>% plot()



Literal b)

El alcalde de R’lyeh el “Gran Primigenio Cthulhu” ha propuesto una transferencia del gobierno de 15% sobre el monto de las rentas de hasta 200 u.m. y un impuesto sobre la renta del 5% para las rentas superiores a las 200 u.m. ¿La desigualdad en R’lyeh aumenta o disminuye?

Renta media

sv <- 15/100
impuesto <- 5/100

library(dplyr)
y %>% as.data.frame() %>% 
  mutate(renta_transferencia=ifelse(y <= 200,
                                    y * (1+sv),
                                    y)) |> 
  mutate(rentas_finales=ifelse(renta_transferencia > 200,
                               renta_transferencia * (1-impuesto),
                               renta_transferencia))-> y_b
names(y_b)<-c("renta_original","renta_antes_impuestos","renta_final")
y_b |> select("renta_original","renta_final") |> mutate(variacion=(renta_final/renta_original-1)*100)
##   renta_original renta_final variacion
## 1            100       115.0     15.00
## 2            200       218.5      9.25
## 3            300       285.0     -5.00
## 4            400       380.0     -5.00
## 5            700       665.0     -5.00
renta_media <- function(vector_renta, vector_poblacion) {
  as.vector(crossprod(vector_renta, vector_poblacion) / sum(vector_poblacion))
}
renta_media(vector_renta = y_b$renta_final, vector_poblacion = n)
## [1] 264.9865

Lo que significa que cada persona en esta economía debería recibir 264.98 unidades monetarias.

Coeficiente de Gini (Debraj Ray)

options(scipen = 999999)
gini_debraj_ray <- function(vector_renta, vector_poblacion) {

  # Generación del Dataframe para el cálculo
  library(dplyr)
  df_y <- expand.grid(vector_renta, vector_renta)
  names(df_y) <- c("Yj", "Yk")
  df_n <- expand.grid(vector_poblacion, vector_poblacion)
  names(df_n) <- c("Nj", "Nk")
  gini_data <- bind_cols(df_n, df_y)

  # Cálculo del doble sumatorio
  renta_media(vector_renta = vector_renta,
              vector_poblacion = vector_poblacion)-> mu
   N<-sum(vector_poblacion)
  gini_data %>% mutate(doble_sum = Nj * Nk * abs(Yj - Yk)) -> gini_data
  gini_data %>% summarise(Gini=(1/(2*mu*N^2))*sum(doble_sum)) %>% select(Gini)->Gini
  list(gini_data=gini_data,mu=mu,N=N,Gini=Gini[,1])
}

# Data original
g1_b<-gini_debraj_ray(vector_renta = y_b$renta_final,vector_poblacion = n)
print(g1_b)
## $gini_data
##    Nj Nk    Yj    Yk doble_sum
## 1  50 50 115.0 115.0       0.0
## 2  35 50 218.5 115.0  181125.0
## 3  55 50 285.0 115.0  467500.0
## 4  35 50 380.0 115.0  463750.0
## 5  10 50 665.0 115.0  275000.0
## 6  50 35 115.0 218.5  181125.0
## 7  35 35 218.5 218.5       0.0
## 8  55 35 285.0 218.5  128012.5
## 9  35 35 380.0 218.5  197837.5
## 10 10 35 665.0 218.5  156275.0
## 11 50 55 115.0 285.0  467500.0
## 12 35 55 218.5 285.0  128012.5
## 13 55 55 285.0 285.0       0.0
## 14 35 55 380.0 285.0  182875.0
## 15 10 55 665.0 285.0  209000.0
## 16 50 35 115.0 380.0  463750.0
## 17 35 35 218.5 380.0  197837.5
## 18 55 35 285.0 380.0  182875.0
## 19 35 35 380.0 380.0       0.0
## 20 10 35 665.0 380.0   99750.0
## 21 50 10 115.0 665.0  275000.0
## 22 35 10 218.5 665.0  156275.0
## 23 55 10 285.0 665.0  209000.0
## 24 35 10 380.0 665.0   99750.0
## 25 10 10 665.0 665.0       0.0
## 
## $mu
## [1] 264.9865
## 
## $N
## [1] 185
## 
## $Gini
## [1] 0.2603465

Coeficiente de Gini (libreria “ineq”)

map2(y_b$renta_final,n,.f = rep) %>% unlist() %>% Gini()
## [1] 0.2603465
map2(y_b$renta_final,n,.f = rep) %>% unlist() %>% ineq::Lc() %>% plot()

En este caso hay una reducción (0.2926563 - 0.2603465 = 0.0323098) del 3.23% que provoca que la distribución de la renta se vuelva equitativa.



Literal c)

¿La severidad de la pobreza (FGT2) aumenta o disminuye con la política del primigenio alcalde, descrita en el literal b)?

pobreza_FGT_alpha <- function(vector_ingreso, 
                              linea_pobreza,alpha=0) {
   PG_vector <-
    (linea_pobreza - vector_ingreso[vector_ingreso <
                     linea_pobreza]) / linea_pobreza
  n <- length(vector_ingreso)
  FGT <- (1 / n) * sum(PG_vector ^ alpha)
  FGT
}
# FGT2 de literal a)
map2(y,n,.f = rep) %>% unlist() %>% 
  pobreza_FGT_alpha(linea_pobreza = 200,alpha = 2)
## [1] 0.06756757
# FGT2 de literal b)
map2(y_b$renta_final,n,.f = rep) %>% unlist() %>% 
  pobreza_FGT_alpha(linea_pobreza = 200,alpha = 2)
## [1] 0.04881757

El índice de serivdad demuestra una disminución del 0.01875, significando que las personas que están por debajo de la línea de pobreza se encuentran más próximas entre ellas y más cercanas al umbral.



Literal d)

De acuerdo al indicador de Kuznet, ¿hay cambios evidentes entre el 10% más rico y el 40% más pobre de la ciudad de R’lyeh, con la implementación de la política del primigenio alcalde, ya descrita con anterioridad?

Kuznets.X.Y <- function(vector_renta,
                        vector_poblacion = 1,
                        cuantil_x,
                        cuantil_y) {
  map2(vector_renta, vector_poblacion, .f = rep) %>%
    unlist() %>% quantile(probs = c(cuantil_x)) -> Pob.X
  map2(vector_renta, vector_poblacion, .f = rep) %>% 
    unlist() %>% quantile(probs = c(1-cuantil_y)) -> Pob.Y
  list(Kuznets.indice=unname(Pob.Y/Pob.X),Pob.X=Pob.X,Pob.Y=Pob.Y)
}
# Kuznets de literal a)
Kuznets.X.Y(vector_renta = y, vector_poblacion = n,cuantil_x = 0.4,cuantil_y =0.1)
## $Kuznets.indice
## [1] 2
## 
## $Pob.X
## 40% 
## 200 
## 
## $Pob.Y
## 90% 
## 400
# Kuznets de literal b)
Kuznets.X.Y(vector_renta = y_b$renta_final, vector_poblacion = n,cuantil_x = 0.4,cuantil_y =0.1)
## $Kuznets.indice
## [1] 1.73913
## 
## $Pob.X
##   40% 
## 218.5 
## 
## $Pob.Y
## 90% 
## 380

Se puede observar que hay un aumento de 18.5 u.m. en el 40% más pobre de la población y una disminución de 20 u.m. al 10% más rico de la población, esto quiere decir que antes por una unidad monetaria que se le daba al 40% más pobre, el 10% más rico recibía 2 u.m, pero esto disminuye con la implementación de la política, ahora el 10% más rico pasó de recibir 2 u.m. a 1.73 u.m., haciendo que la distribución del ingreso se vaya volviendo más equitativa.