*Programas para estimar los perfiles de Consumo para las Cuentas Nacionales de transferencias (CNT) *con base en los microdatos de la Encuesta de Condiciones de Vida de 2005-2006 Ecuador ************************************************************************************ * En el archivo de hogares C_otro_hogar.dta estan ya calculados los "otros" consumos * del HOGAR * En el archivo CH_edad.dta estan los perfiles de salud publica y privada * estimados con un metodo muy peculiar de esta encuesta y datos externos * I. calculo de los consumos para los individuos de la encuesta * ************************************************************************************** * Paso 1 * CONSUMO de educacion privada y publica Ecua ecv2006* *************************************************************************************** * Este programa calcula el consumo de educacion privado y publico * * * Ultima Modificacion-revision: abril2012 (LRB) ************************************************************************************ cd "/Users/lrosero/Desktop/Ecua-NTA2006" use e5r_per_v2, clear gen eda5 = int(edad/5)*5 *gen str15 idhog = ciudad + zona + sector + vivienda +hogar *Este es el identificador del hogar * a las personas se identifica con idhogar y persona *----------------------------------------------------------------------------* * I) las variables de educaci—n son las "pe" pags 17 a 23 del cuestionario * La encuesta investiga tres niveles educativos: * Maternal para menores de 5 * Formal (de basico a posgrado) edades 5 y mas * Capacitacion laboral edades 10 y mas (puede haber overlap con formal) *Pagos * pe03b - 06b: Maternal anual * pe07b - 10b: Maternal mensual * pe24b, 37b - 39b: Formal anual * pe40b - 43b: Formal mensual * pe57b : Capacitacion laboral anual *Nivel de matricula * pe01: maternales, pe02 pub/priv * pe16: formal, pe28 pub/priv * pe50: Capacitacion laboral, pe54 pub/priv * *limpiamos missings (nueves) imputando el valor mediano egen x1 = median( pe03b ) egen x2 = median( pe04b ) egen x3 = median( pe06b ) egen x4 = median( pe24b ) egen x5 = median( pe37b ) egen x6 = median( pe38b ) egen x7 = median( pe39b ) egen x8 = median( pe40b ) egen x9 = median( pe41b ) egen x10 = median( pe42b ) replace pe03b = x1 if pe03b == 99999 replace pe04b = x2 if pe04b == 99999 replace pe06b = x3 if pe06b == 99999 replace pe24b = x4 if pe24b == 99999 replace pe37b = x5 if pe37b == 99999 replace pe38b = x6 if pe38b == 99999 replace pe39b = x7 if pe39b == 99999 replace pe40b = x8 if pe40b == 99999 replace pe41b = x9 if pe41b == 99999 replace pe42b = x10 if pe42b == 99999 drop x1 - x10 ****** ponemos ceros cuando no hay gastos recode pe03b . = 0 recode pe04b . = 0 recode pe05b . = 0 recode pe06b . = 0 recode pe07b . = 0 recode pe08b . = 0 recode pe09b . = 0 recode pe10b . = 0 recode pe24b . = 0 recode pe37b . = 0 recode pe38b . = 0 recode pe39b . = 0 recode pe40b . = 0 recode pe41b . = 0 recode pe42b . = 0 recode pe43b . = 0 recode pe57b . = 0 *Convertimos los gastos mensuales en anuales asumiendo 10 mensualidades replace pe07b = pe07b * 10 replace pe08b = pe08b * 10 replace pe09b = pe09b * 10 replace pe10b = pe10b * 10 replace pe40b = pe40b * 10 replace pe41b = pe41b * 10 replace pe42b = pe42b * 10 replace pe43b = pe43b * 10 gen cfe_form = pe03b + pe04b + pe05b + pe06b + pe07b + pe08b + pe09b + pe10b + pe24b + pe37b + pe38b + pe39b + pe40b + pe41b + pe42b + pe43b gen cfe_labo = pe57b *nivel y sector educativo gen nivedu = pe16 recode nivedu 1/2=1 3/4=2 5=3 6/7=4 8=. replace nivedu = 0 if pe01 <4 lab define nivedu 0 "Maternal (guarde, preK, Kinder)" 1 "Primaria" 2 "Secundaria" 3 "Post-secundaria" 4 "Superior" ,add lab val nivedu nivedu tab nivedu gen edupublica = pe28 replace edupublica = pe02 if edupub ==. recode edupubl 2=0 3=1 lab define edupub 0 "Privada" 1 "Publica" lab val edupub edupub tab nivedu edupub,miss table nivedu edupub,c(median cfe_form) gen caplabpub = pe54 recode caplabpub 1 5 6 =1 2/4 7 8=0 lab define caplabpub 0 "Privada" 1 "Publica" lab val caplabpub caplabpub table caplabpub,c(mean cfe_labo) ******************************************************************** * CONSUMO PRIVADO EDUCACION cfe -- gen cfe = cfe_form + cfe_labo graph bar cfe if edad<30,over(edad) ******************************************************************** * CONSUMO PUBLICO EDUCACION cge -- *Costo por estudiante matriculado (adivinanza educada pues no consegui datos) *Maternal (guarderia, preK Kinder): $300 *Primaria: $539 anuales *Secundaria:$781 anuales *Universitaria: $1358 anuales *Post-secundaria: $800 anuales *Capacitacion laboral (SECAP etc): $100 gen cge=0 replace cge=300 if nivedu ==0 & edupub ==1 replace cge=539 if nivedu ==1 & edupub ==1 replace cge=781 if nivedu ==2 & edupub ==1 replace cge=800 if nivedu ==3 & edupub ==1 replace cge=1358 if nivedu ==4 & edupub ==1 replace cge =cge + 100 if caplabpub ==1 graph bar cfe cge if edad<35,over(edad) *De 5 a aprox. 20 annos de edad, la educ publica es bastante mas importante que la privada keep persona idhog - cge sort idhog sort idhog person keep persona idhog eda5 cfe cge sort idhog persona ************************************ saveold c_educ,replace ************************************ ************************************************************************************** * Paso 2 * Distribuimos el consumo-otro del hogar entre los miembros *************************************************************************************** * * Ultima Modificacion-revision: abril2012 (LRB) ************************************************************************************ use e5r_per_v2, clear keep idhog persona edad pd04 factor sort idhog persona *SEGUN EL MANUAL DTERMINAMOS LA PARTE QUE LE CORRESPONDE A CADA MIEMBRO DEL HOGAR: SHARE gen alpha=1 replace alpha=0.4 if edad <5 replace alpha=0.4+(1-0.4)*((edad-4)/(20-4)) if edad>=5 & edad<=20 *Esto es la escala de consumo relativo sort idhog by idhog: egen alphah=sum(alpha) gen sharei=alpha/alphah replace sharei=0 if sharei==. drop alpha* *pegamos los consumos de hogar sort idhog persona merge idhog using C_otro_hogar tab _merge drop _mer durables *notar que los consumos del hogar se repiten en sus miembros *Distribuimos entre individuos summ gen cfx = c_alim + c_otro + c_viv + c_durab gen cfr = c_vpropia replace cfx =sharei * cfx replace cfr =sharei * cfr *conservo aparte el consumo de vivienda propia porque se usa mas adelante en calculo de ingreso de activos keep persona -sharei cfx cfr order idhog persona factor_f pd04 edad sort idhog persona merge idhog persona using c_educ tab _me drop _me lab var cfx "Consumo privado otro" lab var cfr "Consumo privado vivienda propia" lab var cfe "Consumo privado educacion" lab var cge "Consumo publico educacion" *le pegamos los promedios de edad de cgh y cfh sort edad merge edad using CH_edad tab _merg drop _merg *notar que los CG se repiten para gente de la misma edad sort idhog persona saveold Consumo-Ecua2006,replace *----------------------------------------------------------------------------* *II SUAVIZAMIENTO DE PERFILES *Obtenemos los promedios por edad ponderados con los Ns use Consumo-Ecua2006,clear gen unos = 1 collapse (rawsum) unos factor (mean) cf* cg* [w= factor_f],by(edad) ren factor pob ren unos nobs *Replicamos para en el suavizamiento tomar en cuenta el N. de observaciones en cada edad gen obs10 = round(nobs/10) sum obs10 *Se crean 5473 observaciones replicadas = obs10 expand obs10,gen(duplicada) ***** suavizamos Los consumos privados line cfr cfx cfe cfh cgh cge edad if dupl==0 *casa propia lowess cfr edad,bw(.2) gen(cfr_s2) lowess cfr edad,bw(.1) gen(cfr_s1) lowess cfr edad,bw(.07) gen(cfr_s07) line cfr* edad if dup==0 *El segundo parece mejor ajuste ren cfr_s1 cfr_s drop cfr_s07 cfr_s2 recode cfr_s -100/0 .=0 *otro consumo privado lowess cfx edad,bw(.2) gen(cfx_s2) lowess cfx edad,bw(.1) gen(cfx_s1) lowess cfx edad,bw(.07) gen(cfx_s07) line cfx* edad if dup==0 *El segundo parece mejor ajuste ren cfx_s1 cfx_s drop cfx_s07 cfx_s2 recode cfx_s -100/0 .=0 *Consumo privado de educacion lowess cfe edad if edad>2,bw(.2) gen(cfe_s2) lowess cfe edad if edad>2,bw(.1) gen(cfe_s1) lowess cfe edad if edad>2,bw(.05) gen(cfe_s05) line cfe* edad if dup==0 *Nos quedamos con el tercer ajuste, que es minimo y que elimina fluctuaciones obviamente aleatorias *Lo anterior a pesar de la recomendacion de no suavizar ren cfe_s05 cfe_s drop cfe_s1 cfe_s2 recode cfe_s -100/0 .=0 line cfe* edad if dup==0 *consumo de salud lowess cfh edad,bw(.2) gen(cfh_s2) lowess cfh edad,bw(.1) gen(cfh_s1) lowess cfh edad,bw(.06) gen(cfh_s06) line cfh* edad if dup==0 *El segundo parece adecuado ren cfh_s1 cfh_s drop cfh_s2 cfh_s06 recode cfh_s -100/0 .=0 *Consumo publico de educacion lowess cge edad if edad>2,bw(.2) gen(cge_s2) lowess cge edad if edad>2,bw(.1) gen(cge_s1) lowess cge edad if edad>2,bw(.05) gen(cge_s05) line cge* edad if dup==0 *Nos quedamos con el tercer ajuste, que es minimo y que elimina fluctuaciones obviamente aleatorias *Lo anterior a pesar de la recomendacion de no suavizar ren cge_s05 cge_s drop cge_s1 cge_s2 recode cge_s -100/0 .=0 line cge* edad if dup==0 *consumo publico de salud lowess cgh edad,bw(.2) gen(cgh_s2) lowess cgh edad,bw(.1) gen(cgh_s1) lowess cgh edad,bw(.06) gen(cgh_s06) line cfh* edad if dup==0 *El segundo parece adecuado ren cgh_s1 cgh_s drop cgh_s2 cgh_s06 recode cgh_s -100/0 .=0 *eliminamos duplicados drop if dup==1 drop obs10 dupli *etiquetado lab var cfr "Consumo privado casa propia observado" lab var cfx "Consumo privado restante observado" lab var cfe "Consumo privado - educacion observado" lab var cfh "Consumo privado - salud observado" lab var cge "Consumo publico - educacion observado" lab var cfr_s "Consumo privado casa propia suavizado" lab var cfx_s "Consumo privado restante suavizado" lab var cfe_s "Consumo privado - educacion suavizado" lab var cfh_s "Consumo privado - salud suavizado" lab var cge_s "Consumo publico - educacion suavizado" lab var cgh_s "Consumo publico - salud suavizado" sort edad save tempo,replace *----------------------------------------------------------------------------* * III AJUSTE POR CUENTAS NACIONALES *controles macro (valores estimados para 2006 con base en 2007 en millones de dolares anuales) * CFE 1129 * CFH 843 * CFR 2596 * CFX 24641 * CGE 1879 * CGH 828 * CGX (flat) 2362 /* *nueva poblacion sort edad merge edad using pob2006-INEC,nokeep tab _me drop _me sort edad */ *controles macro (valores estimados a partir de 2007 en millones de dolares anuales) gen cfr_macro = 2596 gen cfx_macro = 24641 gen cfe_macro = 1129 gen cfh_macro = 843 gen cge_macro = 1879 gen cgh_macro = 828 gen cgx_macro = 2362 *agregados crudos egen double cfr_total = total(pob/1000000 * cfr_s) egen double cfx_total = total(pob/1000000 * cfx_s) egen double cfe_total = total(pob/1000000 * cfe_s) egen double cfh_total = total(pob/1000000 * cfh_s) egen double cge_total = total(pob/1000000 * cge_s) egen double cgh_total = total(pob/1000000 * cgh_s) egen double cgx_total = total(pob/1000000) *cgx es perfil plano, cada persona vale 1, este total son los 15 millones de hab de Ecuador *Factores de correccion gen fcfr = cfr_macro / cfr_total gen fcfx = cfx_macro / cfx_total gen fcfe = cfe_macro / cfe_total gen fcfh = cfh_macro / cfh_total gen fcge = cge_macro / cge_total gen fcgh = cgh_macro / cgh_total *examinamos los factores de correccion summ f* /* Hay dos factore extremos para CFX 1.62 : aparentemente la encuesta subestima 33% de otros consumos Para cfh 0.60 : aparentemente la encuesta sobre-estima casi al doble el consumo de salud (o las ctas nales estabn subestimadas) El resto de factores tiene rango entre 0.89 (CFE) y 1.326 (CFR) */ *Luego usare estos factores para ajustar micro-datos sort edad saveold factores,replace *Valores finales gen CFR = fcfr * cfr_s gen CFX = fcfx * cfx_s gen CFE = fcfe * cfe_s gen CFH = fcfh * cfh_s gen CGE = fcge * cge_s gen CGH = fcgh * cgh_s gen CGX = cgx_macro / cgx_total gen CF = CFR + CFX + CFE + CFH gen CG = CGX + CGE + CGH gen C= CF + CG *Etiquetas lab var CFR "Private Consumption, Owned Home" lab var CFX "Private Consumption, Other" lab var CFE "Private Consumption, Education" lab var CFH "Private Consumption, Health" lab var CF "Private Consumption" lab var CGE "Public Consumption, Education" lab var CGH "Public Consumption, Health" lab var CGX "Public Consumption, Other" lab var CG "Public Consumption" lab var C "Consumption" keep edad pob CFR CFX CFE CFH CF CGE CGH CGX CG C sort edad merge edad using LCD_Ecua2006 drop _merge sort edad saveold LCD_Ecua2006,replace ****************************************** * IV CHEQUEOS DE VALIDEZ *Falta comparacion con otros paises ****************************************** *es conveniente ajustar los valores micro a los controles: use lcd-icv06,clear sort edad merge edad using factores,nokeep drop _merge gen cfr_aj = cfr * fcfr gen cfx_aj = cfx * fcfx gen cfe_aj = cfe * fcfe gen cfh_aj = cfh * fcfh gen cge_aj = cge * fcge drop nobs - cgx_total lab var yle_aj "Ingreso laboral asalariados ajustado a macros" lab var yls_aj "Ingreso laboral independiente ajustado a macros" lab var cfr_aj "Consumo privado casa propia ajustado a macros" lab var cfx_aj "Consumo privado otro ajustado a macros" lab var cfe_aj "Consumo privado educaci—n ajustado a macros" lab var cfh_aj "Consumo privado salud ajustado a macros" lab var cge_aj "Consumo publico educacion ajustado a macros" sort idhog persona saveold lcd-icv06, replace ******************************************************** *las graficas *Graficos del ciclo vital use LCD_Ecua2006,clear sort edad gen a = edad +.5 gen LCD = YL - C *Hay superavit de los 27.5 a 56.7 annos line YL C a,lwidth(thick thick) lcolor(edkblue maroon) tit(Ecuador 2006) ytit("D—lares per c‡pita anual") ylabel(#6) legend(label(1 "Trabajo") label(2 "Consumo") col(1) pos(1) ring(0) order(1 2) ) ysize(5) xsize(6) xtit("A–os de edad") xline(27.5 56.7) xla(0 10 20 27.5 40 50 56.7 70 80 90) graph export LCDEcua2006.pdf,replace *areas per capita use LCD_Ecua2006,clear sort edad gen a = edad +.5 *Ingreso laboral twoway area YL YLE a,legend(label(1 "Aut—nomo") label(2 "Asalariado") col(1) pos(1) ring(0)) subtit("Ingreso laboral per c‡pita Ecuador 2006") ytit("D—lares per c‡pita anual") ysize(5) xsize(6) xla(0(10)90) xtit("A–os de edad") gr export fig-inglab2006.pdf,replace *consumo privado gen cfeh = CFE + CFH twoway area CF cfeh CFE a,legend(label(1 "Otro") label(2 "Salud") label(3 "Educaci—n") row(1)) subtit("Consumo privado per c‡pita Ecuador 2006") ytit("D—lares per c‡pita anual") ysize(5) xsize(6) xla(0(10)90) xtit("A–os de edad") gr export fig-Cons-privado2006.pdf,replace *consumo publico gen cgxh = CGH + CGX twoway area CG cgxh CGX edad,legend(label(3 "Otro") label(2 "Salud") label(1 "Educaci—n") col(1) pos(1) ring(0)) subtit("Consumo pśblico per c‡pita Ecuador 2006") ytit("D—lares per c‡pita anual") yla(0(100)600) ysize(5) xsize(6) xla(0(10)90) xtit("A–os de edad") gr export fig-Cons-publico2006.pdf,replace