#64 Medición del Índice de Pobreza Multidimensional (IPM) de Paraguay con la EPH en Stata

 
Estimad@s, les comparto la sintaxis para estimar el Índice de Pobreza Multidimensional (IPM) de Paraguay para el 2020 con la Encuesta Permanente de Hogares (EPH) en Stata.
Janet Porras

Fuente: Instituto Nacional de Estadistica de Paraguay (INE) Microdatos: Encuesta Permanente de Hogares - EPH https://www.ine.gov.py/microdatos/microdatos.php https://www.ine.gov.py/datos/encuestas/eph/ Índice de Pobreza Multidimensional (IPM) Paraguay: https://www.ine.gov.py/publication-single.php?codec=MTY2 Boletín técnico: https://www.ine.gov.py/Publicaciones/Biblioteca/documento/8e39_BOLETIN_TECNICO_IPM_2020.pdf Presentación del IPM: https://www.ine.gov.py/Publicaciones/Biblioteca/documento/407f_Presentaci%C3%B3n%20IPM%20.pdf

*************************************************************
*********INSTITUTO NACIONAL DE ESTADISTICA (INE)********
****SINTAXIS DE INDICE DE POBREZA MULTIDIMENSIONAL (IPM) 2020
*************************************************************
clear matrix
clear mata
set more off
*Se debe descargar las bases de datos y dejarlas en una
*sola carpeta, en este caso trabajaremos el ahno 2020
*los archivos estan en formato csv, sav & json, bajamos los que estan en formato sav
cd "F:\IPM_PARAGUAY_2020"
*Las bases esta en formato de SPSS, la importamos al STATA usando el comando usespss
usespss c6d57reg01_ephc2020.sav, clear
save    c6d57reg01_ephc2020.dta, replace
usespss e9d91ingrefam_ephc2020.sav, clear
save    e9d91ingrefam_ephc2020.dta, replace
usespss 4f997reg02_ephc2020.sav, clear
save    4f997reg02_ephc2020.dta, replace
********************************************************************************
*Primero trabajamos en la base REG01 (Base de viviendas)
use "c6d57reg01_ephc2020.dta", clear
rename *, lower /*pasa todos los nombres a minuscula*/
*creamos los identificantes del hogar
gen str3 upms="0000"+string(upm) if upm<10
replace  upms="000"+string(upm) if upm>9 & upm<100
replace  upms="00"+string(upm) if upm>99 & upm<1000
replace  upms="0"+string(upm) if upm>999 & upm<10000
replace  upms=string(upm) if upm>9999 & upm!=.
gen str3 nvivis="00"+string(nvivi) if nvivi<10
replace  nvivis="0"+string(nvivi) if nvivi>9 & nvivi<100
replace  nvivis=string(nvivi) if nvivi>99 & nvivi!=.
gen str1 nhogas=string(nhoga)
egen hhid= concat(upms nvivis nhogas), punc("_")
sort hhid
drop upms nvivis nhogas
sort hhid
order upm nvivi nhoga hhid, first
save "R01_20_2.dta", replace
********************************************************************************
*Trabajamos en la base INGREFAM (Ingresos a nivel de hogar)
use "e9d91ingrefam_ephc2020.dta", clear
rename *, lower
*creamos los identificantes del hogar
gen str3 upms="0000"+string(upm) if upm<10
replace  upms="000"+string(upm) if upm>9 & upm<100
replace  upms="00"+string(upm) if upm>99 & upm<1000
replace  upms="0"+string(upm) if upm>999 & upm<10000
replace  upms=string(upm) if upm>9999 & upm!=.
gen str3 nvivis="00"+string(nvivi) if nvivi<10
replace  nvivis="0"+string(nvivi) if nvivi>9 & nvivi<100
replace  nvivis=string(nvivi) if nvivi>99 & nvivi!=.
gen str1 nhogas=string(nhoga)
egen hhid = concat(upms nvivis nhogas), punc("_")
sort hhid
drop upms nvivis nhogas
keep hhid upm nvivi nhoga totpers facpob linpobto linpobex pobrezai pobnopoi
sort hhid
save "ingre_20_2.dta", replace
********************************************************************************
*Ahora trabajamos en la base REG02 (Base de poblacion)
use "4f997reg02_ephc2020.dta", clear
rename *, lower
*creamos los identificantes del hogar
gen str3 upms="0000"+string(upm) if upm<10
replace  upms="000"+string(upm) if upm>9 & upm<100
replace  upms="00"+string(upm) if upm>99 & upm<1000
replace  upms="0"+string(upm) if upm>999 & upm<10000
replace  upms=string(upm) if upm>9999 & upm!=.
gen str3 nvivis="00"+string(nvivi) if nvivi<10
replace  nvivis="0"+string(nvivi) if nvivi>9 & nvivi<100
replace  nvivis=string(nvivi) if nvivi>99 & nvivi!=.
gen str1 nhogas=string(nhoga)
egen hhid = concat(upms nvivis nhogas), punc("_")
sort hhid
drop upms nvivis nhogas
sort hhid
order upm nvivi nhoga hhid, first
save "R02_20_2.dta", replace
********************************************************************************
**UNIENDO LAS 3 BASES
use "R01_20_2.dta", clear
merge 1:1 hhid using "ingre_20_2.dta", nogen 
merge 1:m hhid using "R02_20_2.dta", nogen
sort hhid
order upm nvivi nhoga hhid, first
label var hhid "identificador hogar"
save "MPI_EPH2020_2.dta", replace
**PREPARACION DE INDICADORES POR DIMENSION
set dp comma

********************************************************************************
*1. EDUCACION 
use "MPI_EPH2020_2.dta", clear
**Asistencia escolar de personas de 6 a 17 ahnos de edad**
*********************************************************
/* Se considera privado aquel hogar con al menos una persona de 6 a 17 ahnos
que no asista a la educacion obligatoria
*ed02: ¿Sabe leer y escribir?
Si                                         1
No, porque no aprendió a leer y escribir 2
No, por la edad avanzada                 3
No, por problema de visión                 4
No, por enfermedad o accidente             5
No, por otra razón                         6
NR                                         9
NA                                        Blanco
*ed03: ¿Asiste o asistió alguna vez a una institución de enseñanza formal? 6=No
*ed08: ¿Asiste actualmente a una institución de enseñanza formal? 19=No asiste */
rename (a__oest p02 ed02) (anios_estudios edad leer_escribir)
gen     actualmente_escuela=(ed08<19) if ed08!=.
replace actualmente_escuela=0         if ed03==6
gen edad_escolar= (edad>=6 & edad<=17)
bysort hhid: egen hh_edad_escolar= max(edad_escolar)
gen ni_noasis= (actualmente_escuela==0) if edad_escolar==1 
*generamos una nueva variable llevando a nivel de hogar la privacion,
*porque el problema afecta a los demas integrantes del hogar
bysort hhid: egen hh_d_ni_noasis= max(ni_noasis)
*ceramos los hogares donde no hay chicos de 6 a 17
replace   hh_d_ni_noasis=0 if hh_edad_escolar==0
label var hh_d_ni_noasis "Inasistencia escolar de personas de 6 a 17 ahnos de edad"


**Escolarizacion Atrasada**
***************************
/* Se considera con privacion aquel hogar con al menos una persona de entre 8 a 19 ahnos,
asistiendo actualmente a una institucion educativa o participa de un programa
de ensehnanza, con retraso de 2 o mas ahnos segun edad normativa para cada nivel escolar
Ejemplo: con 19 ahnos de edad una persona puede estar en el 3ro de la media, 
lo que indica que solo tiene 11 ahnos de estudio */
gen miembros_elig = ((edad >= 8 & edad <= 19) & (actualmente_escuela==1 & anios_estudios<=12)) 
bysort hhid: egen hh_miembros_elig = sum(miembros_elig), m 
*contador de miembros de 8 a 19 anios
replace hh_miembros_elig= (hh_miembros_elig>0)
gen escolarizacion_retardada = ((edad-anios_estudios)>= 8) if edad!=. & anios_estudios!=. & miembros_elig==1
*generamos una nueva variable llevando a nivel de hogar la carencia, 
*es decir: si hay un rezagado en el hogar, se extiende a todos sus miembros
bysort hhid: egen hh_d_esc_retardada=max(escolarizacion_retardada) 
replace           hh_d_esc_retardada = 0 if hh_miembros_elig==0
label var         hh_d_esc_retardada "Escolarizacion atrasada"


**Ahno de estudio logrado y analfabetismo**
*******************************************
/* El hogar se halla privado si ningun miembro del hogar ha alcanzado los niveles
minimos de escolaridad requeridos segun se detalla:
*A los nacidos en el ahno 1996 hasta el año de la encuesta, se les exige 12 años de estudio
*A los nacidos entre 1988 y 1995, se les exige 9 años de estudio
*A los nacidos antes de 1988, se les exige 6 años de estudio
*Para las personas entre 50 y 65 años de edad se indaga si es analfabeta, es decir, si sabe leer y escribir */
**Año de la Base 2020
*18 a 24 años, para el 2020, le pedimos 12 años
gen logro= (anios_estudio<12) if edad>=18 & edad<=24 & anios_estudio!=99 & anios_estudio!=.
*25 a 32 años, para el 2019, le pedimos 9 años
replace logro= (anios_estudio<9) if edad>=25 & edad<=32 & anios_estudio!=99 & anios_estudio!=.
 
*33 a 49 años, para el 2019, le pedimos 6 años
replace logro= (anios_estudio<6) if edad>=33 & edad<=49 & anios_estudio!=99 & anios_estudio!=.
*50 y 65, se indaga si es analfabeta
replace logro= (leer_escribir>=2 & leer_escribir<=6) if edad>=50 & edad <66 & leer_escribir!=9 & leer_escribir!=.
sort hhid
bysort hhid: egen hh_d_logro_min=min(logro)
replace   hh_d_logro_min=0 if hh_d_logro_min==. 
label var hh_d_logro_min "Educacion obligatoria incompleta y analfabetismo"
save "MPI_EPH2020_3.dta", replace



********************************************************************************
*2. TRABAJO Y SEGURIDAD SOCIAL
use "MPI_EPH2020_3.dta", clear
**Desocupacion**
****************
/* Se consideran con privacion aquellos hogares en los que al menos un miembro 
del hogar, cuya edad se halla comprendida entre 18 y 64  se halla desocupado
PEAA Actividad económica (agrupada)
Ocupados 1
Desocupados 2
Inactivos 3
NR         9
NA         0 */
gen pob_18_64 = (edad >= 18 & edad <= 64) 
bysort hhid: egen hh_pob_18_64  = sum(pob_18_64), m  
replace           hh_pob_18_64= (hh_pob_18_64>0)
gen dy=(peaa==2) if peaa!=. & pob_18_64==1
bysort hhid: egen hh_d_destotalmax =max(dy)
*ceramos los hogares donde no hay poblacion de interes
replace   hh_d_destotalmax=0 if hh_pob_18_64==0
label var hh_d_destotalmax "Desocupacion"

**Subocupacion por insuficiencia de tiempo**
********************************************
/* Se consideran con privación aquellos hogares en los que al menos un miembro, está subocupado
por insuficiencia de tiempo, con un total de horas trabajadas en la semana, inferiores a 40 y
cuya edad está comprendida entre 18 y 64 años. El umbral de 40 horas, fue consensuado por el Comite
D01 En los últimos 7 días ¿estuvo disponible para trabajar más horas?
Si 1
No 6
NR 9
NA Blanco
D03 ¿Desea mejorar su/sus ocupación/nes o cambiar o adicionar otra ocupación?
Si, mejorar su/s ocupación/es    1
Si, cambiar la o las ocupaciones   2
Si, adicionar otra ocupación    3
No desea cambiar                6
NR 9
NA Blanco

HORABCO Horas trabajadas en todas las actividades
PEAA Actividad económica (agrupada)
Ocupados 1
Desocupados 2
Inactivos 3
NR         9
NA         0      */
gen subocvi40=(horabco < 40 & ((d01 == 1) | ((d01== 9) & (d03 >= 1 & d03 <=  3))))
gen dl=(subocvi40==1) if peaa!=. & pob_18_64==1
bysort hhid: egen hh_d_subocup_max =max(dl)
*ceramos los hogares donde no hay pob de interes
replace   hh_d_subocup_max=0 if hh_pob_18_64==0
label var hh_d_subocup_max "Subocupacion por insuficiencia de tiempo"

**Trabajo de ninos de 10 a 17 ahnos de edad** 
*********************************************
/* HORABCO Horas trabajadas en todas las actividades
PEAA Actividad económica (agrupada)
Ocupados 1
Desocupados 2
Inactivos 3
NR 9
NA 0      */
**ninos de 10 a 13 anios
*Se consideran hogares privados en este indicador aquellos con algun miembro 
*de 10 a 13 ahnos de edad ocupado que realiza cualquier actividad dentro del 
*territorio nacional por lo menos una hora.
gen pob10_13 = (edad>=10 & edad<=13)
gen ni_10_13= (peaa==1) if pob10_13==1 & peaa!=. 
**ninos de 14 a 15 anios
*Se consideran hogares privados en este indicador aquellos con algun miembro
*de 14 a 15 ahnos de edad ocupado que realiza cualquier actividad dentro del 
*territorio nacional en una cantidad de horas mayor a 24 durante los ultimos 
*siete dias de la semana.
gen pob14_15 = (edad>=14 & edad<=15)
gen ni_14_15 = (peaa==1 & horabco >24) if pob14_15==1
**ninos de 16 a 17 anios
*Se consideran hogares privados en este indicador aquellos con algun miembro
*de 16 a 17 ahnos de edad ocupado que realiza cualquier actividad dentro del 
*territorio nacional en una cantidad de horas mayor a 36 durante los ultimos 
*siete dias de la semana.
gen pob16_17 = (edad>=16 & edad<=17)
gen ni_16_17 = (peaa==1 & horabco >36) if pob16_17==1
***********************************************
gen pob10_17 = (edad>=10 & edad<=17)
bysort hhid: egen hh_pob10_17= max(pob10_17)
gen nino_ocup= (ni_10_13==1 | ni_14_15==1 | ni_16_17==1 ) if pob10_17==1
bysort hhid: egen hh_d_10a17_ocup= max(nino_ocup)
*los hogares donde no hay chicos quedan como no privados
replace   hh_d_10a17_ocup=0 if hh_pob10_17==0 
label var hh_d_10a17_ocup "Trabajo de personas de 10 a 17 ahnos de edad"

**Falta de aporte a caja jubilatoria**
**************************************
/* Se consideran privados aquellos hogares con al menos una persona de entre 
18 y 64 años, ocupada y que no esté aportando a una caja jubilatoria
B10 ¿Aporta a una caja de jubilación por esta ocupación? ocupación principal
Si 1
No 6
NR 9
NA Blanco
C07 ¿Aporta a una caja de jubilación por este trabajo? ocupación secundaria
Si 1
No 6
NR 9
NA Blanco */
gen pob=(peaa==1) if (edad>=18 & edad <=64)
gen aporte=(b10==1|c07==1) if pob==1 
gen no_afiliados= (aporte==0)
bysort hhid: egen hh_d_no_afil=max(no_afiliados)
label var         hh_d_no_afil "Falta de aporte a caja jubilatoria"

**Jubilacion y pension**
************************
/* El hogar se halla privado en este indicador si algun miembro de 65 años o mas no recibe
pension contributiva y no recibe pension no contributiva (Adultos mayores y *Tekopora)
E01HDE  Ingreso mensual por jubilacion
E01IDE  Ingreso mensual del Estado (Monetario: Tekopora)
E01KDE  Ingreso mensual del Estado (Monetario: Adulto Mayor) */
  
gen p_cont   = (e01hde==0) if edad>=65 
gen p_no_cont= (e01ide==0 & e01kde==0) if edad>=65
*Poblacion sin jubilacion, ni adulto mayor ni tekopora
gen w=(p_cont==1 & p_no_cont==1) if edad>=65
bysort hhid: egen hh_d_jubi_pens =max(w) 
gen pob65ymas= (edad>=65)
bysort hhid: egen hh_pob65ymas= max(pob65ymas)
**ceramos los hogares donde no hay pob de 65 y mas anios de edad**
replace   hh_d_jubi_pens=0 if hh_pob65ymas==0
label var hh_d_jubi_pens "Falta de acceso a jubilacion o pension"
save "MPI_EPH2020_4.dta", replace



********************************************************************************
*3. VIVIENDAS Y SERVICIOS
use "MPI_EPH2020_4.dta", clear
**Materialidad de la vivienda**
*******************************
/* Se considera con privacion los hogares que presenten al menos una de las sgtes caracteristicas en la vivienda:
-Pared: hogar con pared de estaqueo, adobe, tronco de palma, carton, hule, madera de embalaje, 
       no tiene pared, otro.
-Piso: hogar con piso de tierra. 
-Techo: hogar con techo de paja, tronco de palma, carton, hule, madera de embalaje, otro 

V03  Tipo de pared
Estaqueo 1
Adobe     2
Madera  3
Ladrillo 4
Bloque de cemento 5
Tronco de palma     6
Cartón, hule, madera de embalaje 7
No tiene pared                     8
Otro                             9
NR                              99

V04  Tipo de piso
Tierra     1
Madera     2
Ladrillo 3
Lecherada 4
Baldosa común, mosaico, cerámica 5
Porcelanato, mármol, granito     6
Parquet     7
Alfombra 8
Otro     9
NR        99

V05  Tipo de techo
Teja                 1
Paja                 2
Fibrocemento (eternit) 3
Chapa de zinc         4
Tablilla de madera     5
Hormigón armado, loza o bovedilla 6
Tronco de palma                     7
Cartón, hule, madera de embalaje 8
Otro                             9
NR                                99            */

sort hhid
gen     hh_d_pared = (v03==1|v03==2|v03==6|v03==7|v03==8|v03==9)
replace hh_d_pared = . if v03==99
gen     hh_d_piso = (v04==1)
replace hh_d_piso = . if v04==99
gen     hh_d_techo = (v05==2|v05==7|v05==8|v05==9)
replace hh_d_techo = . if v05==99
gen       hh_d_materialidad = (hh_d_pared==1| hh_d_piso==1| hh_d_techo==1)
replace   hh_d_materialidad = . if (hh_d_pared==. & hh_d_piso==. & hh_d_techo==.)
label var hh_d_materialidad "Materiales inadecuados de la vivienda"

**Hacinamiento**
****************
*Se consideran con privacion aquellos hogares con mas de tres personas por dormitorio
*v02b: N° de dormitorios
replace v02b = 1 if v02b==0
gen per_dormitorio = (totpers / v02b)
gen       hh_d_hacinamiento = .
replace   hh_d_hacinamiento = 1 if per_dormitorio >3 & per_dormitorio !=.
replace   hh_d_hacinamiento = 0 if per_dormitorio <=3
label var hh_d_hacinamiento "Hacinamiento"

***Malas practicas de eliminacion de basura******
*************************************************
/* El hogar es privado si elimina la basura a traves de la quema, o tirar en hoyo, 
*patio, baldio zanja o calle, en la chacra, o en arroyo, rio o laguna
*u otro(lleva al parque, motocarro lleva, entierra, le da a otra persona)
V15  Cómo elimina habitualmente la basura ?
Quema             1
Recolección pública 2
Recolección privada 3
Tira en el hoyo     4
Tira en el patio, baldío, zanja o calle 5
Tita en el vertedero municipal         6
Tira en la chacra                     7
Tira en arroyo, río o laguna         8
Otro (especificar)                     9
NR                                    99   */
gen       hh_d_sin_basur= (v15==1|v15==4|v15==5|v15==7|v15==8|v15==9)
replace   hh_d_sin_basur = . if v15==99
label var hh_d_sin_basur  "Practicas inadecuadas o falta de servicios para eliminacion de basura"


********************************************************************************
*4. SALUD Y AMBIENTE
**Acceso a atencion medica**
****************************
/* Definicion de la privacion: Hogares con algun miembro que no obtuvo acceso a 
atencion medica cuando estuvo enfermo o accidentado (en los ultimos tres meses)
porque: No habia atencion cercana, la atencion ¥s mala, las consultas son caras, se automedico
Tambien se tiene en cuenta como privado al hogar en la que al menos una persona 
ha consultado a: partera empirica (chae) farmaceutico/a, curandero/a, familiar o vecino, otro.

S03  Durante los últimos 90 días, ¿estuvo enfermo o accidentado?
Si, estuvo enfermo/a     1
Si, estuvo accidentado/a 2
No, ha estado sano/a     3
NR                         9
NA                    Blanco

S04  ¿Consultó a algún médico, curandero, etc. y/o algún establecimiento de salud 
por esa enfermedad o accidente más reciente que tuvo?
Si 1
No 6
NR 9
NA Blanco

S05  ¿Por qué no consultó a nadie para tratar su enfermedad o accidente?
La dolencia no era grave 1
No hay atención cercana     2
La atención es mala         3
Las consultas son caras     4
Se automedicó              5
No tuvo tiempo             6
Otra razón                 7
NR                         9
NA                    Blanco

S06  ¿A quién consultó la última vez por la enfermedad o accidente más reciente que tuvo en los últimos 90 días?
Doctor/a             1
Partera profesional     2
Partera empírica (chaé) 3
Enfermero/a             4
Dentista             5
Farmacéutico/a        6
Curandero/a             7
Familiar o Vecino     8
Otro (especificar)     9
NR                    99
NA                    Blanco   */
gen sin_atencion_med = ((s03==1|s03==2)&(s05==2|s05==3|s05==4|s05==5)|(s04==1 & (s06==3|s06==6|s06==7|s06==8|s06==9))) if (s03!=9 & s03!=.)
bysort hhid: egen hh_d_sin_salud = max(sin_atencion_med)
label var hh_d_sin_salud "Personas enfermas o accidentadas sin acceso a atencion medica profesional"


**Agua mejorada**
*****************
/* Definicion de la privacion: Hogares que no tengan acceso al agua a traves de: ESSAP, SENASA, 
Junta de Saneamiento, Red Comunitaria, Red o prestador privado, pozo artesiano
v06: Agua utilizada en la vivienda
ESSAP (ex CORPOSANA)         1
Junta de Saneamiento (SENASA) 2
Red comunitaria                 3
Red o prestador privado         4
Pozo artesiano                 5
Pozo con bomba                 6
Pozo sin bomba                 7
Manantial o naciente         8
Tajamar, río, arroyo         9
Agua de lluvia                10
Aguatero                    11
Otra fuente                   12
NR                            99 */
gen       hh_d_agua_mejor = (v06!=1 & v06!=2 & v06!=3 & v06!=4 & v06!=5)
replace   hh_d_agua_mejor=. if v06==99
label var hh_d_agua_mejor "Falta de acceso a agua mejorada"


**Saneamiento mejorado**
************************
/* Definicion de la privacion: El hogar que no tenga baño o si tiene y no esta 
*conectado a la red de cloaca de alcantarillado o no tenga camara septica y pozo ciego.

V12: ¿Tiene baño?

V13 El baño se desagüa en…
Red de alcantarillado sanitario (cloaca)                     1
Cámara séptica y pozo ciego                                     2
Pozo ciego, sin cámara séptica                                 3
En la superficie de la tierra, hoyo abierto, zanja, arroyo, río 4
Letrina ventilada de hoyo seco (común con tubo de ventilación) 5
Letrina común de hoyo seco (con losa, techo, paredes y puertas) 6
Letrina común sin techo o puerta                             7
Otro (especificar)                                             8
NR                                                             9
NA                                                         Blanco */

gen       hh_d_san_mejor = (v12==6 |(v13!=1 & v13!=2 & v13!=3))
replace   hh_d_san_mejor = . if v13==9
label var hh_d_san_mejor  "Falta de saneamiento mejorado"


**Combustible de cocina**
*************************
*Definicion de la privacion: Hogares que cocinan con carbon o lena
*v14b: Para cocinar usa principalmente 1=Leña...3=Carbon...9=nr
gen       hh_d_combus = (v14b==1 | v14b==3)
replace   hh_d_combus = . if v14b==9
label var hh_d_combus     "Uso de carbon o lehna para cocinar"
save "MPI_EPH2020_5.dta", replace


********************************************************************************
*MUESTRA RELEVANTE
*Se contruye una variable filtro que identifica las observaciones con informacion
*en todos los indicadores 
gen sample = (hh_d_ni_noasis!=. & hh_d_esc_retardada!=. & hh_d_logro_min!=. & /* 
*/ hh_d_destotalmax!=.  & hh_d_subocup_max!=.  & hh_d_10a17_ocup!=. & /*
*/                        hh_d_no_afil!=.      & hh_d_jubi_pens!=. & /* 
*/ hh_d_materialidad!=. & hh_d_hacinamiento!=. & hh_d_sin_basur!=. & /*
*/ hh_d_sin_salud!=.    & hh_d_agua_mejor!=.   & hh_d_san_mejor!=. & hh_d_combus!=.)
sum hh_d_ni_noasis        hh_d_esc_retardada hh_d_logro_min    [aw = fex] if sample==1
sum hh_d_destotalmax      hh_d_subocup_max   hh_d_10a17_ocup hh_d_no_afil hh_d_jubi_pens [aw = fex] if sample==1
sum hh_d_materialidad     hh_d_hacinamiento  hh_d_sin_basur    [aw = fex] if sample==1
sum hh_d_sin_salud        hh_d_agua_mejor    hh_d_san_mejor  hh_d_combus  [aw = fex] if sample==1

*** Dejamos solo esas observaciones con informacion con todos los indicadores relevantes y que son de miembros del hogar
keep if sample==1 
saveold "indicadores_II.dta", replace

*Construyendo el Indice                                             
use "indicadores_II.dta",clear
set dp comma
format %14.0g hh_d_*
rename  dptorep dpto
set more off
global ed = "hh_d_ni_noasis    hh_d_esc_retardada hh_d_logro_min"
global em = "hh_d_destotalmax  hh_d_subocup_max   hh_d_10a17_ocup hh_d_no_afil hh_d_jubi_pens"
global vi = "hh_d_materialidad hh_d_hacinamiento  hh_d_sin_basur"
global sa = "hh_d_sin_salud    hh_d_agua_mejor    hh_d_san_mejor  hh_d_combus"     
sort hhid


********************************************************************************
**Llevamos a nivel hogar la base, desde aqui ponderar todo por facpob
collapse (mean) $ed $em $vi $sa fex facpob upm nvivi nhoga dpto area pobrezai pobnopoi, by(hhid)
label var upm      "Unidad primaria de muestreo"
label var nvivi    "Identificacion de la vivienda"
label var nhoga    "Identificacion del hogar"
label var pobrezai "Estatus de pobreza monetario"
label var pobnopoi "Condicion de pobreza monetario"
label var fex      "Factor de expansion"
label var facpob   "Factor de expansion de poblacion (fex*totpers)"
label var area     "Area de Residencia"
**Generamos la var estratos geograficos, "variable de estratificacion geografica de la muestra"
*asuncion
gen estgeo=1 if dpto==0 & area==1
*san pedro
replace estgeo=21 if dpto==2 & area==1
replace estgeo=26 if dpto==2 & area==6
*caaguazu
replace estgeo=51 if dpto==5 & area==1
replace estgeo=56 if dpto==5 & area==6
*caazapa
replace estgeo=61 if dpto==6 & area==1
replace estgeo=66 if dpto==6 & area==6
*itapua
replace estgeo=71 if dpto==7 & area==1
replace estgeo=76 if dpto==7 & area==6
*Alto parana
replace estgeo=101 if dpto==10 & area==1
replace estgeo=106 if dpto==10 & area==6
*Central
replace estgeo=111 if dpto==11 & area==1
replace estgeo=116 if dpto==11 & area==6
*Resto
replace estgeo=401 if dpto==20 & (area==1)
replace estgeo=406 if dpto==20 & (area==6) 
label define estgeo 1 "Asuncion" 21 "San Pedro urbano" 26 "San Pedro rural" 51 "Caaguazu urbano" /*
*/ 56 "Caaguazu rural" 61 "Caazapa urbano" 66 "Caazapa rural" 71 "Itapua urbana" 76 "Itapua rural" /*
*/ 101 "Alto Parana urbano" 106 "Alto Parana rural" 111 "Central urbano" 116 "Central rural" /*
*/ 401 "Resto urbano" 406 "Resto rural", replace
label val estgeo estgeo
label var estgeo "estrato geografico"

label def dpto 0"Asuncion" 1"Concepcion" 2"San pedro" 3"Cordillera" 4"Guaira" /*
*/5"Caaguazu" 6"Caazapa" 7"Itapua" 8"Misiones" 9"Paraguarí" 10"Alto Parana" /*
*/11"Central" 12"Neembucu" 13"Amambay" 14"Canindeyu" 15"Pdte Hayes" 20 "Resto", replace
label val dpto dpto
label var dpto "Departamentos representativos"
svyset upm [w=facpob], strata(estgeo)


*ASIGNANDO LOS PESOS-SE GENERAN VARIABLES CON LOS PESOS PARA CADA INDICADOR
*Definir el vector 'w' de pesos
*Cambiar de acuerdo a su especificion. Recuerde que la suma de pesos debe ser igual a 1 o 100%
*ed = 1/12
*em = 1/20
*vi = 1/12
*sa = 1/16
foreach var in $ed $vi {
gen w_`var' = 1/12   /*educacion y vivienda tiene 3 indicadores, razon por la que se parte 1/4 entre 3 indic*/
lab var w_`var' "Peso `var'"
}
foreach var in $em {
gen w_`var' = 1/20   /*para empleo el peso es 1/20, tienen 5 indicadores c/u */
lab var w_`var' "Peso `var'"
}
foreach var in $sa {
gen w_`var' = 1/16 /*Salud el peso es 1/16 tiene 4 indicadores, razon por la que se parte 1/4 entre 4 indic*/
lab var w_`var' "Peso `var'"
}
*MATRIZ DE PRIVACION PONDERADA
*Los siguientes comandos multiplican la matriz de privacion por el peso de cada indicador
foreach var in $ed $sa $em $vi {
gen g0_w_`var' = `var' * w_`var'
lab var g0_w_`var' "Privacion ponderada de `var'"
}
format %18.0g g0_w_*

*VECTOR DE CONTEO
* Generar el vector de conteo de la suma de privaciones ponderadas, 'c'
egen    c_vector = rowtotal(g0_w_*)  /*cantidad de privaciones ponderada que tiene cada individuo*/
lab var c_vector "Vector de conteo"

*IDENTIFICACION 
set more off
gen     multid_poor_26 = (c_vector >= 26/100)
lab var multid_poor_26 "Identificacion de pobre con k=26%"

*VECTOR DE CONTEO CENSURADO
*Generar el vector censurado de la suma de privaciones individuales ponderadas, 'c(k)'
*Proporcionar un valor de cero si la persona no es pobre multidimensional
gen       cens_c_vector_26 = c_vector
replace   cens_c_vector_26 = 0 if multid_poor_26==0 
label var cens_c_vector_26 "Vector de conteo censurado para pobres con k=26%"

*Tasa de Incidencia de Pobreza Multidimensional (H), la Intensidad 
*de la pobreza entre los pobres (A), y la Tasa de Incidencia Ajustada (Mo).
sum multid_poor_26                        [aw = facpob], sep(15) //INCIDENCIA (H)
sum cens_c_vector_26 if multid_poor_26==1 [aw = facpob], sep(15) //INTENSIDAD (A)
sum cens_c_vector_26                      [aw = facpob], sep(15) //INCIDENCIA AJUSTADA (Mo)
tab multid_poor_26 [w=facpob]
svy: mean multid_poor_26
svy: mean cens_c_vector_26 if multid_poor_26==1
svy: mean cens_c_vector_26

*DESCOMPOSICION POR SUBGRUPOS - AREA
*PRIMERO RECODIFICAMOS AREA EN 1 y 2
replace area=2 if area==6
label def area 1 "Urbano" 2 "Rural", replace
label values area area
**H, A Y M0 por area, para k=26
**Calculamos la H por AREA
set dp comma
tab area [w=facpob], sum(multid_poor_26)
**Calculamos la A por AREA
tab area [w=facpob] if multid_poor_26==1, sum(cens_c_vector_26)
**Calculamos la M0 por AREA
tab area [w=facpob], sum(cens_c_vector_26)
svy: mean multid_poor_26, over(area)  
svy: mean cens_c_vector_26 if multid_poor_26==1, over(area)
svy: mean cens_c_vector_26, over(area)

Comentarios