Un espacio para la discusión informada en torno al impacto de las políticas públicas

martes, 12 de marzo de 2013

Datos utilizados para el “Análisis de la Cruzada Nacional contra el ¿Hambre?”. Nota Técnica



Esta nota contiene una descripción de los datos utilizados en el análisis de la “Cruzada Nacional contra el ¿Hambre?” publicado en este blog el pasado 19 de febrero. Las fuentes son públicas y están disponibles vía internet e incluyen al Consejo Nacional de Evaluación de la Política Social (CONEVAL), el decreto presidencial que contiene a los 400 municipios incluidos en la primera etapa de la Cruzada, al Programa de Naciones Unidas para el Desarrollo en México (PNUD), y al Instituto Federal Electoral (IFE).


La nota está organizada en dos partes y tiene como base código del programa Stata (do file) que se utilizó para el análisis. En la primera sección se describe qué datos originales fueron utilizados y cómo se construyó la base de datos final.  La segunda parte describe los comandos utilizados para estimar las correlaciones mostradas en la última tabla del post. Con esta información el lector puede replicar las estimaciones hechas por el autor. Cualquier duda, aclaración o comentario, favor de dirigirlo a evaluacruzadahambre@yahoo.com




*************************
*** SECCION UNO  ***
*************************
clear
*** Análisis de la ”Cruzada contra el Hambre"  Febrero, 2013

***************************
*** Datos generales ***
***************************
set more off
cap log close
local path "/Users/data/analysis/"
cd "`path'"
log using cruzada_pobreza.txt, text replace


*******************************
*** Datos del CONEVAL ***
*******************************
*** Estos datos fueron obtenidos de la página del Consejo Nacional de Evaluación de la Política Social (CONEVAL) dentro de la sección “Medición de pobreza 2010 por municipio. Porcentaje de la población en situación de pobreza
por municipio, México, 2010” dentro de Análisis y Medición de la Pobreza. Debe ir a la sección del Anexo Estadístico.
*** Una vez obtenida la base se eliminaron los filtros incluidos en la base original y se cambiaron los títulos de las variables con objeto de poder transformarlos a formato Stata. La base limpia fue guardada con terminación .CSV para poder se leída en Stata. En este caso se guardó con el nombre “coneval.csv” y se utilizaron los siguientes comandos.

clear
insheet using "`path'coneval.csv", comma clear n
gen str9 municipio=string(cve_mun,"%05.0f")
gen str9 edo=string(ent,"%02.0f")
drop cve_mun
destring population pobreza_personas pobextrema_personas pobmoder_personas no_pobres_personas carencia_alimentos_personas pob_lin_bien_personas pob_lin_bien_min_personas,replace
order edo  municipio
gen ln_pop=log( population)
gen ln_pobreza=log( pobreza_personas)
gen ln_pob_ext=log( pobextrema_personas)
save "`path'coneval.dta", replace

************************************************************************
*** Municipios de la Cruzada Nacional Contra el Hambre ***
************************************************************************
*** Para construir la base de datos de los 400 municipios incluidos en la “Cruzada”, se utilizó el “Anexo A” del decreto, mismo que puede ser obtenido en la siguiente dirección. http://dof.gob.mx/nota_detalle.php?codigo=5285363&fecha=22/01/2013&print=true
*** La tabla d el “Anexo A” se guardó a formato CSV con el nombre “hambre.csv. Para convertirla a formato Stata se utilizaron los siguientes comandos.

clear
insheet using "`path'hambre.csv", comma clear n
gen str9 municipio2=string(municipio,"%05.0f")
drop municipio
drop in 1
rename municipio2 municipio
save "`path'hambre.dta", replace


***************************************************************************
*** Datos del Índice de Desarrollo Humano y PIB per cápita ***
***************************************************************************
*** Para construir la base de datos del índice de desarrollo humano de los municipios en México se utilizaron datos del Programa de Naciones Unidas para el Desarrollo en México. Los datos pueden ser obtenidos en la siguiente dirección. http://www.undp.org.mx/desarrollohumano/disco/index.html
*** Los datos se convirtieron a formato CSV y se guardó con el nombre “base_gdp_pc.csv”. Para convertirla a formato Stata se utilizaron los siguientes comandos.

clear
insheet using "`path'base_gdp_pc.csv", comma clear n
destring idh por_pob_edo log_pop log_hombres log_muj log_ingpc, replace
gen str9 municipio=string(cve_mun,"%05.0f")
save "`path'base_gdp_pc.dta", replace

*****************************
*** Datos Electorales ***
****************************
*** Para construir la base de datos electorales se utilizaron los resultados publicados por el Instituto Federal Electoral, dentro de Estadísticas y Resultados Electorales. Se utilizaron los cómputos distritales originales, mismos que se pueden consultar en  http://www.ife.org.mx/portal/site/ifev2/Estadisticas_y_Resultados_Electorales/
*** Se utilizaron únicamente los resultados de la elección presidencial.
*** Los datos se convirtieron a formato CSV y se guardó con el nombre “presidente_2012.csv”. Para convertirla a formato Stata y obtener los datos a nivel municipal  se utilizaron los siguientes comandos.

insheet using "`path'presidente_2012.csv", comma clear n
replace pri=0 if pri==.
replace prd=0 if prd==.
replace pri_pvem=0 if pri_pvem==.
replace prd_pt_mc=0 if prd_pt_mc==.
replace prd_pt=0 if prd_pt==.
replace prd_mc=0 if prd_mc==.
replace pt_mc=0 if pt_mc==.
replace lista_nominal=0 if lista_nominal==.
replace votos_reservados=0 if votos_reservados==.

gen pri_t=pri +pvem +pri_pvem
gen prd_t= prd+ pt+ mc+ prd_pt_mc+ prd_pt+ prd_mc+ pt_mc
order id_estado d_distrito id_municipio

gen str9 edo=string(id_estado,"%02.0f")
gen str9 mun=string(id_municipio,"%03.0f")
egen municipio=concat(edo mun)
order edo mun municipio
drop if mun=="."
drop id_estado id_municipio
collapse (sum) lista_nominal_casilla num_votos_nulos num_votos_can_nreg numero_votos_validos total_votos boletas_inutilizadas pan pri prd pvem pt mc panal pri_pvem prd_pt_mc prd_pt prd_mc pt_mc lista_nominal votos_reservados pri_t prd_t, by (municipio)
save "`path'presidente_mun_2012.dta", replace


********************************************************************************************************
*** Creación de la base de datos de la “Cruzada”, datos del CONEVAL, PNUD e IFE ***
********************************************************************************************************
*** Una vez obtenidos los datos originales se procedió a unir todos los datos para crear una sola base y a partir de ella conocer la correlación de la “Cruzada” con las variables políticas. Los comandos de Stata utilizados fueron los siguientes

*** Paso 1. Iniciamos utilizando los datos de CONEVAL
clear
use "`path'coneval.dta", clear
*** Paso 2. Se pegaron los datos de la “Cruzada”
merge 1:1 municipio using hambre
rename _merge mergehambre
* Dado que aquellos municipios no incluidos en la base de la cruzada tienen valores nulos, se procedió a poner valor cero. Esto quiere decir que no fueron seleccionados dentro de los 400 iniciales.
replace hambre=0 if hambre==.
*** Paso 3. Se pegaron los datos del PNUD
merge 1:1 municipio using base_gdp_pc
rename _merge merge_idh
*** Paso 4. Se pegaron los datos electorales del IFE
merge 1:1 municipio using presidente_mun_2012
*** Paso 5. Se crearon variables adicionales incluidas en el análisis
** Paso 5.1 Variable indicativa de la capital del estado.
gen capital=0
replace capital=1 if municipio=="03003" | municipio=="06002"| municipio=="08019"| municipio=="11015"| municipio=="13048"| municipio=="16053"| municipio=="18017"| municipio=="23005"| municipio=="26030"| municipio=="28038"| municipio=="29033"| municipio=="32056"
* Para el DF se tomaron todas las delegaciones como capital
replace capital=1 if edo=="09"
** Paso 5.2 Variables para clasificar a los municipios de acuerdo el tamaño de la población.
gen mun_50m=0
gen mun_50_100m=0
gen mun_100_250m=0
gen mun_250_500m=0
gen mun_more_500m=0
replace mun_50m=1 if population<50000 o:p="">
replace mun_50_100m =1 if population>50000 & population<100000 o:p="">
replace mun_100_250m =1 if population>100000 & population<250000 o:p="">
replace mun_250_500m =1 if population>250000 & population<500000 o:p="">
replace mun_more_500m=1 if population>500000
gen type_mun=0
replace type_mun=1 if mun_50_100m==1
replace type_mun=2 if mun_100_250m ==1
replace type_mun=3 if mun_250_500m ==1
replace type_mun=4 if mun_more_500m ==1
** Paso 5.3 Variable para cada entidad federativa
tab entidad, g(st_)
** Paso 5.4 Se construyeron variables de participación política que se tuvieron en la elección presidencial de 2012.
gen part= numero_votos_validos/ lista_nominal_casilla
egen ganador=rowmax( por_pri por_prd por_pan por_panal)
** Paso 5.5 Variable indicativas de elección en 2013. Se creó una variable dummy que indica en qué estados se llvaran a cabo elecciones locales durante 2013.
gen elec_loc_2013=0
gen elec_gob_2013=0
replace elec_loc_2013=1 if ent==1 | ent==2 | ent==5 | ent==8 | ent==10 | ent==20 |ent==21 | ent==23 | ent==25 |ent==28 | ent==29 | ent==30 | ent==32  
replace elec_gob_2013=1 if ent==2

save "`path'cruzada.dta", replace



***********************************************************************************
*** SECCION  DOS. Correlación de  “Cruzada” y variables Políticas ***
 **********************************************************************************
*** La base de datos construida con datos OFICIALES y PUBLICOS se utilizaron para estimar las siguientes ecuaciones

*** Todos los municipios
reg hambre ln_pop ln_pob_ext capital idh elec_loc_2013 part mun_50m mun_50_100m mun_100_250m mun_250_500m mun_more_500m, r cluster(ent)
outreg using hambre.txt, se  bd(5) br replace

*** Todos los municipios con efectos fijos por Estado
reg hambre ln_pop ln_pob_ext capital idh elec_loc_2013 part mun_50m mun_50_100m mun_100_250m mun_250_500m mun_more_500m st_*, r cluster(ent)
outreg using hambre.txt, se  bd(5) br append

*** Municipios con más de 100 mil habitantes
reg hambre ln_pop ln_pob_ext capital idh elec_loc_2013 part mun_100_250m mun_250_500m mun_more_500m  if population>100000, r cluster(ent)
outreg using hambre.txt, se  bd(5) br append

*** Municipios con más de 100 mil habitantes con efectos fijos por estado
reg hambre ln_pop ln_pob_ext capital idh elec_loc_2013 part mun_100_250m mun_250_500m mun_more_500m st_* if population>100000, r cluster(ent)
outreg using hambre.txt, se  bd(5) br append


*** Otro modelo no incluido en el análisis. Se pueden incluir otros más pero se busco mantener el análisis más sencillo para la comprensión de más lectores.
probit hambre ln_pop ln_pob_ext capital idh elec_loc_2013 part mun_50m mun_50_100m mun_100_250m mun_250_500m mun_more_500m, r cluster(ent)
outreg using hambre.txt,  se  bd(5) br append

probit hambre ln_pop ln_pob_ext capital idh elec_loc_2013 part mun_50m mun_50_100m mun_100_250m mun_250_500m mun_more_500m st_*, r cluster(ent)
outreg using hambre.txt,  se  bd(5) br append




No hay comentarios:

Publicar un comentario