Indicadores de Pobreza, enfoque de lineas de pobreza.
Datos para ejemplo:
ingreso<-c(58, 79, 376, 403, 121, 284, 299, 385, 537, 545, 569, 577, 584, 723, 729,737,746)Indicadores de la Familia Foster Greer & Thorbecke
Familia de indicadores FGT.
\[FGT_\alpha=\frac{1}{n}\sum_{i=1}^{q}(\frac{z-y_i}{z})^{\alpha}\] Donde: \(q\) es la cantidad de personas con una renta inferior al umbral de pobreza[\(z\)], \(y_i\) es la renta de las personas que están por debajo de \(z\), \(n\) es la cantidad total de personas con un nivel de ingresos & \(\alpha\) modifica el indicador de pobreza a obtener:
\(\alpha=0\), es decir a la tasa de recuento.
\(\alpha=1\), es decir a la brecha de pobreza.
\(\alpha=2\), es decir al indice de severidad de pobreza.
# Construcción de una función personalizada.
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
}Tasa de Pobreza (Head Count):
\[FGT_0=\frac{1}{n}\sum_{i=1}^{q}(\frac{z-y_i}{z})^{0}\equiv H=\frac{q}{n}\] Donde: \(H\) es la tasa de pobreza, \(q\) es la cantidad de personas con una renta inferior al umbral de pobreza[\(z\)], & \(n\) es la cantidad total de personas con un nivel de ingresos.
#Tasa de recuento H:
pobreza_FGT_alpha(ingreso, linea_pobreza = 300,alpha = 0)## [1] 0.2941176
También se puede obtener así:
#Recuento:H Head Count
pobreza_H <- function(vector_ingreso, linea_pobreza) {
q <- length(vector_ingreso[vector_ingreso < linea_pobreza])
n <- length(vector_ingreso)
H <- q / n
H_data <- list(q = q, n = n, H = H)
}
pobreza_H(ingreso, linea_pobreza = 300)$H## [1] 0.2941176
Indice de Brecha de Pobreza (Poverty Gap) PG
\[PG=\frac{1}{n}\sum_{i=1}^{q}(\frac{z-y_i}{z})\] Donde: \(q\) es la cantidad de personas con una renta inferior al umbral de pobreza[\(z\)], \(y_i\) es la renta de las personas que están por debajo de \(z\), & \(n\) es la cantidad total de personas con un nivel de ingresos.
#Brecha de pobreza PG:
pobreza_FGT_alpha(ingreso, linea_pobreza = 300,alpha = 1)## [1] 0.1292157
También se puede obtener así:
pobreza_PG <- function(vector_ingreso, linea_pobreza) {
PG_vector <-
(linea_pobreza - vector_ingreso[vector_ingreso < linea_pobreza]) / linea_pobreza
n <- length(vector_ingreso)
PG <- (1 / n) * sum(PG_vector)
list(PG_vector = PG_vector, PG = PG)
}
pobreza_PG(ingreso, linea_pobreza = 300)$PG## [1] 0.1292157
Indice de Severidad de la Pobreza FGT2
\[FGT_2=\frac{1}{n}\sum_{i=1}^{q}(\frac{z-y_i}{z})^2\] Donde: \(q\) es la cantidad de personas con una renta inferior al umbral de pobreza[\(z\)], \(y_i\) es la renta de las personas que están por debajo de \(z\), & \(n\) es la cantidad total de personas con un nivel de ingresos.
#Indice de severidad de pobreza FGT2:
pobreza_FGT_alpha(ingreso, linea_pobreza = 300,alpha = 2)## [1] 0.09130915
También se puede obtener así:
pobreza_FGT2 <- function(vector_ingreso, linea_pobreza) {
PG_vector <-
(linea_pobreza - vector_ingreso[vector_ingreso < linea_pobreza]) / linea_pobreza
n <- length(vector_ingreso)
FGT2 <- (1 / n) * sum(PG_vector ^ 2)
list(PG_vector = PG_vector, FGT2 = FGT2)
}
pobreza_FGT2(ingreso, linea_pobreza = 300)$FGT2## [1] 0.09130915
Brecha de Media de ingresos I
\[I=\frac{z-\bar{y}}{z}\] Donde: \(z\) es el umbral de pobreza, \(\bar{y}\) es la renta media de las personas con un ingreso inferior a \(z\).
pobreza_I <- function(vector_ingreso, linea_pobreza) {
ybar <- mean(vector_ingreso[vector_ingreso < linea_pobreza])
I <- (linea_pobreza - ybar) / linea_pobreza
I_data <- list(ybar = ybar, I = I)
}
pobreza_I(ingreso, linea_pobreza = 300)$I #prueba## [1] 0.4393333
Mismos resultados usando libreria “ineq”
En la libreria ineq, el argumento parameter, de la función Foster, tiene una interpretación diferente a la del \(\alpha\), del indicador FTG general: \[FGT_\alpha=\frac{1}{n}\sum_{i=1}^{q}(\frac{z-y_i}{z})^{\alpha}\] parameter=1 equivale a \(\alpha=0\), es decir a la tasa de recuento.
parameter=2 equivale a \(\alpha=1\), es decir a la brecha de pobreza.
parameter=3 equivale a \(\alpha=2\), es decir al indice de severidad de pobreza.
Tasa de brecha de pobreza PG
library(ineq)
ineq::Foster(x = ingreso,k = 300,parameter = 2)## [1] 0.1292157
Indice de severidad de pobreza FGT2
library(ineq)
ineq::Foster(x = ingreso,k = 300,parameter = 3)## [1] 0.09130915
I
library(ineq)
ineq::Foster(x = ingreso,k = 300,parameter = 2) / ineq::Foster(x = ingreso,k = 300,parameter = 1) ## [1] 0.4393333
Ejemplo con datos en formato tabular.
Datos y carga de librerias:
y <- c(100, 200, 300, 400)
n <- c(50, 25, 75, 25)
library(ineq)
library(purrr)Cálculos:
H
#H
map2(y,n,.f = rep) %>% unlist() %>%
pobreza_FGT_alpha(linea_pobreza = 300,alpha = 0)## [1] 0.4285714
map2(y,n,.f = rep) %>% unlist() %>%
Foster(k = 300,parameter = 1)## [1] 0.4285714
PG
#PG
map2(y,n,.f = rep) %>% unlist() %>%
pobreza_FGT_alpha(linea_pobreza = 300,alpha = 1)## [1] 0.2380952
map2(y,n,.f = rep) %>% unlist() %>%
Foster(k = 300,parameter = 2)## [1] 0.2380952
FGT2
#FGT2
map2(y,n,.f = rep) %>% unlist() %>%
pobreza_FGT_alpha(linea_pobreza = 300,alpha = 2)## [1] 0.1428571
#------------
map2(y,n,.f = rep) %>% unlist() %>%
Foster(k = 300,parameter = 3)## [1] 0.1428571
Brecha de Media de ingresos I
#I
(map2(y,n,.f = rep) %>% unlist() %>%
pobreza_FGT_alpha(linea_pobreza = 300,alpha = 1))/(map2(y,n,.f = rep) %>% unlist() %>%
pobreza_FGT_alpha(linea_pobreza = 300,alpha = 0))## [1] 0.5555556
#---------
(map2(y,n,.f = rep) %>% unlist() %>%
Foster(k = 300,parameter = 2)) / (map2(y,n,.f = rep) %>% unlist() %>%
Foster(k = 300,parameter = 1))## [1] 0.5555556
Ejemplo con una base de datos:
Se conoce la información de ingresos por municipio y zona rural & urbana para “Lovercraft Country”, se le solicita que:
Calcule los indicadores de FGT, si el umbral de pobreza \(z\) es:
a) 300 u.m., y presente los resultados totales por municipio.
b) 350 u.m., y presente los resultados totales por municipio y por zona.
importante: la información se encuentra disponible en el archivo “info_FGT.xlsx”, zona, indica si la persona es de zona rural o urbana, ingreso es la renta en unidades monetarias para cada hogar (un hogar por fila del dataframe), municipio indica si el hogar es del municipio “A”, “B” ó “C”, & num_hogares contiene la cantidad de hogares que perciben el mismo nivel de ingresos indicado en ingreso
library(readxl)
library(dplyr)
info_FGT <- read_excel("G:/info_FGT.xlsx")
glimpse(info_FGT)## Rows: 45
## Columns: 4
## $ zona <chr> "Rural", "Rural", "Rural", "Rural", "Urbano", "Urbano", "U~
## $ ingreso <dbl> 58, 79, 376, 403, 121, 284, 299, 385, 537, 545, 569, 577, ~
## $ municipio <chr> "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A"~
## $ num_hogares <dbl> 55, 25, 60, 104, 22, 65, 18, 76, 23, 124, 97, 11, 28, 10, ~
Literal a)
library(dplyr)
library(kableExtra)
library(purrr)
z <- 300
info_FGT %>%
group_by(municipio) %>%
summarise(
H = pobreza_H(map2(ingreso, num_hogares, .f = rep) %>% unlist(), linea_pobreza = z)$H,
I = pobreza_I(map2(ingreso, num_hogares, .f = rep) %>% unlist(), linea_pobreza = z)$I,
PG = pobreza_PG(map2(ingreso, num_hogares, .f = rep) %>% unlist(), linea_pobreza = z)$PG,
FGT2 = pobreza_FGT2(map2(ingreso, num_hogares, .f = rep) %>% unlist(), linea_pobreza = z)$FGT2
) %>% kable(caption = "Indicadores familia FGT", digits = 4) %>%
kable_classic()| municipio | H | I | PG | FGT2 |
|---|---|---|---|---|
| A | 0.1867 | 0.4294 | 0.0802 | 0.0579 |
| B | 0.5721 | 0.3152 | 0.1803 | 0.0760 |
| C | 0.4013 | 0.2645 | 0.1061 | 0.0396 |
Literal b)
library(dplyr)
library(purrr)
library(ineq)
z<-350
info_FGT %>%
group_by(municipio,zona) %>%
summarise(
H = Foster(map2(ingreso,num_hogares,.f = rep) %>% unlist(),
k = z,parameter = 1),
I = pobreza_I(map2(ingreso,num_hogares,.f = rep) %>% unlist(), linea_pobreza = z)$I,
PG = Foster(map2(ingreso,num_hogares,.f = rep) %>% unlist(),
k = z,parameter = 2),
FGT2 = Foster(map2(ingreso,num_hogares,.f = rep) %>% unlist(),
k=z,parameter = 3)
) %>% kable(caption = "Indicadores familia FGT",digits = 4) %>%
kable_classic()| municipio | zona | H | I | PG | FGT2 |
|---|---|---|---|---|---|
| A | Rural | 0.3279 | 0.8155 | 0.2674 | 0.2183 |
| A | Urbano | 0.1406 | 0.2788 | 0.0392 | 0.0162 |
| B | Rural | 0.3871 | 0.5945 | 0.2301 | 0.1375 |
| B | Urbano | 0.7500 | 0.3230 | 0.2422 | 0.0868 |
| C | Rural | 0.1311 | 0.4297 | 0.0563 | 0.0280 |
| C | Urbano | 1.0000 | 0.3113 | 0.3113 | 0.1239 |