Vous êtes sur la page 1sur 79

Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o

Juan Carlos Abanto Orihuela 12 de enero de 2011

Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o

www.iddeasac.com capacitacion@iddeasac.com

Indice general
Indice general 1. Introduccin al Stata o 1.1. Iniciando Stata . . . . . . . . . . . 1.2. Tipos de Archivos en Stata . . . . . 1.3. Estructura Bsica de Stata . . . . . a 1.4. Principales Comandos de Trabajo y 1.4.1. Las Bitcoras . . . . . . . . a 1.4.2. La Base de Datos . . . . . . 1.4.3. Append, Merge, Collapse . . 2. Manejo de Datos 2.1. Cargando los Datos en Stata . . . . 2.2. Etiquetas . . . . . . . . . . . . . . 2.3. Comando IF . . . . . . . . . . . . . 2.4. Comando SUMMARIZE . . . . . . 2.5. Comando SPLIT . . . . . . . . . . 2.6. Creando Variables . . . . . . . . . . 2.7. KEEP y DROP . . . . . . . . . . . 2.8. Reestructurando los Datos . . . . . 2.9. Muestreos Probabil sticos . . . . . . 2.10. Generacin de Nmeros Aleatorios o u 2.11. Percentiles, Cuartiles, Deciles . . .

3 5 5 6 6 7 7 7 9 15 15 15 17 18 18 19 22 24 26 26 27 31 31 33 38 40 40 40 43 47

. . . . . . . . . . . . . . . Anlisis a . . . . . . . . . . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

3. Anlisis Graco con Stata a 3.1. Visualizando Algunos Comandos . . . . . . . . . 3.2. TWOWAY . . . . . . . . . . . . . . . . . . . . . . 3.3. TWOWAY y SCATTERPLOT . . . . . . . . . . 3.4. Combinando TWOWAY Y SCATTERPLOT . . . 3.4.1. Filtro de Grcos . . . . . . . . . . . . . . a 3.4.2. Unin de Grcos . . . . . . . . . . . . . . o a 3.5. Opciones para Edicin de Grcos . . . . . . . . . o a 3.6. Trabajando con Esquemas y Grcos Adicionales a 3

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

4 3.6.1. 3.6.2. 3.6.3. 3.6.4. 3.6.5. Esquemas . . . . . . . . . . . . Grcos de Barras Verticales . . a Grcos de Barras Horizontales a Grcos de Cajas . . . . . . . . a Grcos de Pastel . . . . . . . . a . . . . . . . . . . . . . . . . . . . .

INDICE GENERAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 49 49 50 51 55 55 59 59 62 63 64 64 65 66 69 69 70 72 75 75 79

4. Anlisis de Regresin Lineal a o 4.1. Regresin Lineal . . . . . . . o 4.2. Diagnostico de los Resultados 4.2.1. Efecto Inuencia . . . 4.3. Normalidad del Residuo . . . 4.4. Homocedasticidad del Residuo 4.5. Multicolinealidad . . . . . . . 4.6. Linealidad . . . . . . . . . . . 4.7. Especicacin del modelo . . o 4.8. Independencia . . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

5. Variables Categricas o 5.1. Estimacin con Variables Categricas o o 5.2. El Comando Xi . . . . . . . . . . . . 5.3. Pruebas de Hiptesis . . . . . . . . . o 5.4. Creacin de Variables Dummys . . . o 5.5. Bucles y Programas . . . . . . . . . . Bibliograf a

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o

www.iddeasac.com capacitacion@iddeasac.com

Sesin 1 o Introduccin al Stata o


1.1. Iniciando Stata

Stata es una poderosa herramienta en aplicaciones econmicas. Puede ayuo darnos a analizar fcil y ecientemente, series de tiempo, paneles, y data de a seccin cruzada. Nos dar las herramientas que necesitamos para organizar y o a manejar un gran tamao de data, obteniendo resultados de anlisis estad n a sticos. En esta sesin introduciremos las nociones bsicas del software, para poso a teriormente realizar un anlisis estad a stico y familiarizarnos con el manejo y modicacin de la base de datos. o Veamos como se presenta Stata al iniciarse. (ver Figura 1.1)

Figura 1.1: Pantalla de Inicio 5

1. Introduccin al Stata o

Los comandos de stata estn implementados en el men el cual esta organizado a u por tpicos. As nosotros podemos trabajar interactivamente y de manera muy o simple, sin embargo sigue siendo util el uso de comandos para realizar el anlisis a dado que da pie al manejo de programas, o estructuras de programacin. (ver o Figura 1.2)

Figura 1.2: Barra de Comandos

1.2.

Tipos de Archivos en Stata

En STATA, distinguimos 3 tipos de archivos importantes: Archivo de extensin dta, para la generacin de base de datos, en ella se o o almacenara informacin de las variables con su respectiva extensin. o o Archivo de extensin log, smcl, para la generacin de bitcoras, en ella se o o a guardaran los resultados de manera ordenada, sin tener que pasarlos a ningn u tipo de archivo de texto. Archivo de extensin do, que es un archivo de ejecucin, donde se elabora o o el programa. Archivo de extensin gph, para la generacin de grcos almacenados en o o a la carpeta de trabajo

1.3.

Estructura Bsica de Stata a

Siempre que trabajemos en STATA, es recomendable que mantengamos cierta estructura. (ver Figura 1.3)
Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o www.iddeasac.com capacitacion@iddeasac.com

1.4. Principales Comandos de Trabajo y Anlisis a

Figura 1.3: Estructura Bsica a

1.4.

Principales Comandos de Trabajo y Anlia sis

Ahora veamos los principales comandos de trabajo, los cuales harn que a los futuros anlisis economtricos sean simples de realizar. a e

1.4.1.

Las Bitcoras a

En estos objetos se guardara la informacin tal y cual aparecen en la veno tana Result, aunque tambin podr e amos indicarle al programa que deseamos solo guardar los comandos y no los resultados. log using clase1.log o tambin e cmdlog using clase1.log

1.4.2.

La Base de Datos

El uso de la base de datos es vital para nuestro anlisis, a continuacin a o presentamos los comandos que nos enseara a trabajar con esta. n

use auto.dta
Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o www.iddeasac.com capacitacion@iddeasac.com

8 use auto.dta if foreign==1 use auto.dta in 1/10 use make mpg using auto.dta save auto01.dta

1. Introduccin al Stata o

Repasemos lo que hemos aprendido: Ya sabemos como limpiar la memoria de Stata, tambin sabemos como ampliar e esta memoria para trabajar con data de gran capacidad. Sabemos como jar el path de trabajo, como crear una rutina y como cargar la base de datos a nuestro espacio de trabajo. Ahora vamos a trabajar con la base de datos para empezar nuestro anlisis. a use auto01.dta browse replace mpg=20 if mpg==19 save, replace list make list make price describe codebook summarize summarize summarize summarize summarize mpg weight mpg weight if foreign price if mpg<21.3 price if mpg>=21.3 price, detail

tabulate mpg table table table table mpg rep78, contents(n mpg) rep78, contents(n mpg mean mpg sd mpg median mpg) rep78, c(n mpg mean mpg sd mpg median mpg) format(%9.2f)

sort mpg gsort mpg gsort -mpg sort foreign by foreign: summarize price
Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o www.iddeasac.com capacitacion@iddeasac.com

1.4. Principales Comandos de Trabajo y Anlisis a

count count if foreign==0 count if foreign==1 by foreign: count generate orden=_n rename orden num_obs by foreign: egen prom_mill=mean(mpg) drop num_obs keep make price mpg prom_mill

1.4.3.

Append, Merge, Collapse

El comando append y merge nos ayudara a unir bases de datos integrndolas en una sola. Append, pegara hacia abajo o verticalmente y Merge, a pegara hacia el costado o de forma horizontal. clear use base1, list use base2, list use base3, list use base4, list

clear clear clear clear

Vamos a empezar observando cada una de las bases de datos que tenemos, veamos la gura1.4 Empecemos nuestra tarea en Stata, podemos observar que

Figura 1.4: Bases de Datos


Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o www.iddeasac.com capacitacion@iddeasac.com

10

1. Introduccin al Stata o

la base de datos Base1 tiene los mismos campos (columnas) que la base de datos Base2, pero diferentes las, seria util, unir ambas bases. Abramos entonces, la base de datos Base1 y peguemosla con la base de datos Base2, una unin vertical. o use base1.dta, clear list append using base2 list save base12.dta, replace list Hagamos lo mismo con las bases de datos Base3 y Base4 y observemos los resultados: use base3.dta, clear list append using base4 list save base34.dta, replace list Por qu la variable la variable sexo se aadi 2 veces como columna?por e n o qu no se uni en una sola columna? e o use base3.dta, clear list rename Sexo sexo list save base03.dta, replace use base03.dta, clear list append using base4 list save base034.dta, replace Ahora si resulto bien la unin vertical. Veamos la base12 que ten o amos antes. Ahora mi inters es fusionar ambas bases de datos, para ello, primero debee mos ordenar ambas bases segn la variable con la que vamos a fusionar (la u variable comn). u use base034.dta, clear list sort nombre list
Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o www.iddeasac.com capacitacion@iddeasac.com

1.4. Principales Comandos de Trabajo y Anlisis a save base034s.dta, replace use base12.dta, clear list sort nombre list save base12s.dta, replace Ya tenemos las 2 bases de datos ordenadas, ahora vamos a fusionarlas clear use base12s.dta, clear list merge nombre using base034s.dta list save basetotal.dta, replace La gura1.5 nos muestra la base de datos total.

11

Figura 1.5: Base Total Podemos tabular la variable merge para ver si se pegaron correctamente las bases de datos, o tambin observar la columna nal merge en caso de bases e chicas como esta. tab _merge Analicemos los resultados. Hay tres posibles valores que puede tomar esta variable segn lo muestra la gura1.6. Si toma el valor de 1 nos indicara que u es una observacin que solo se encuentra en la base matriz, si toma el valor o de 2 nos indicara que es una observacin que proviene de la base esclava, y si o toma el valor de 3, nos indicara que la observacin proviene de ambas bases. o

Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o

www.iddeasac.com capacitacion@iddeasac.com

12

1. Introduccin al Stata o

Figura 1.6: tab merge El comando collapse sirve para convertir una base de datos que contiene variables para diversas unidades de estudio, en una base de datos que contiene estad sticos de dichas variables (medias, medianas, sumas etc). Permite obtener estad sticos para unidades ms grandes (en un sentido jerrquico), como a a por ejemplo, pasar de datos por individuo a datos por hogar, de datos por distritos a datos por provincia (agregacin) o En el comando se especican aquellas variables que se colapsan y las condiciones que se imponen para dicha transformacin. Algunas variables pueden o ser colapsadas segn su suma, otras segn su media, etc. (ver gura1.7) u u Aquellas variables que no se especican desaparecen automticamente de a la base de datos. Este comando crea una nueva base de datos y cierra la base de partida. Si deseamos quedarnos con esta base debemos grabarla.

Figura 1.7: Estructura del comando split Basado en los WDI, genere una base de datos con los totales de CO2 emitidos por regin, para el ao 2002. Genere tambin una base con la poblacin o n e o mundial a lo largo del tiempo.
Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o www.iddeasac.com capacitacion@iddeasac.com

1.4. Principales Comandos de Trabajo y Anlisis a use kids, clear list collapse age list use kids, clear collapse age, by(famid) list use kids, clear collapse(mean) avgage=age, by(famid) list use kids, clear collapse (mean) avgage=age avgwt=wt, by(famid) list

13

use kids, clear collapse (mean) avgage=age avgwt=wt (count) numkids=birth, by(famid) list use kids, clear tabulate sex, generate(sexdum) list famid sex sexdum1 sexdum2 collapse (count) numkids=birth (sum) girls=sexdum1 boys=sexdum2, by(famid) list famid boys girls numkids

Basado en los WDI, genere una base de datos con los totales de CO2 emitidos por regin, para el ao 2002. Genere tambin una base con la poblacin o n e o mundial a lo largo del tiempo. use wdi,clear collapse (sum) co2 if year==2002, by(region) graph hbar (asis) co2, over(region) use wdi, clear collapse (sum) pop, by(year)

Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o

www.iddeasac.com capacitacion@iddeasac.com

14 RETO 1

1. Introduccin al Stata o

La base enaho01-2004-300-oct-nov.dta contiene datos del mdulo 300 de o la ENAHO recopilados entre octubre y noviembre de 2004, mientras que enaho01-2004-300-dic.dta contiene los datos del mismo mdulo para dio ciembre de ese mismo ao. Ambas bases estn a nivel de individuos. Se pide n a juntar estos datos en un solo archivo que debe ser grabado con el nombre: Personas.dta. A la base Personas.dta aada las siguientes variables: n Las 5 variables de Necesidades Bsicas Insatisfechas (nbi1 al nbi5) desde a la base de datos enaho01-2004-100.dta. Recuerde que esta base fue recopilada a nivel de hogares en el mismo periodo. La variable sobre tipo de vivienda (p101). Usando el archivo enaho01-2004-300-oct-nov.dta (mdulo de educacin a o o nivel de individuos) realice las siguiente tarea: Obtenga una nueva base (colapsada) que contenga para cada hogar: el promedio de edad de sus miembros (ver p208a), el porcentaje de hombres en el hogar (ver p207), el mximo nivel educativo aprobado a por algn miembro del hogar (ver p301a). u

Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o

www.iddeasac.com capacitacion@iddeasac.com

Sesin 2 o Manejo de Datos


2.1. Cargando los Datos en Stata

Ahora vamos a empezar el tratamiento de los datos pero antes, hagamos un pequeo ejercicio con la base de datos auto.dta n use auto.dta describe summarize generate price2=2*price describe save auto2.dta generate price3=3*price save auto2.dta save auto2.dta, replace generate price4=4*price use auto.dta use auto.dta, clear clear

2.2.

Etiquetas

Aprendamos a etiquetar a nuestras bases de datos o variables para poder identicarlas en un futuro y as poder trabajar de forma mas ordenada. use auto.dta describe label data "Este archivo contiene datos de autos para el a~o 1978" n describe label variable rep78 "Record de reparacin en 1978" o label variable price "Precio del carro en 1958" label variable mpg "Millas por galon para el carro" 15

16

2. Manejo de Datos

label variable foreign "Origen del carro, extranjero o domestico" describe label define foreignl 0 "domestico" 1 "extranjero" label values foreign foreignl describe table foreign ttest mpg, by(foreign) save auto3.dta Hagamos un ejercicio similar con la base de datos iraninos.dta clear use iraninos.dta set more off label define sexow 0 "mujer" label define sexow 1 "hombre", add describe browse label values sexo sexow describe browse label drop sexow label label label label label define define define define values getareow 0 "prematuro" getareow 1 "rec.nac.", add getareow 2 "lactante", add getareow 3 "escolares", add getareo getareow

label define oliguriaw 0 "no oliguria" label define oliguriaw 1 "oliguria", add label values oliguria oliguriaw label define congenitow 0 "no congenito" label define congenitow 1 "congenito", add label values congenito congenitow label define sepsisw 0 "no sepsis" label define sepsisw 1 "sepsis", add label values sepsis sepsisw label define tipodaow 0 "asfixia neonat"
Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o www.iddeasac.com capacitacion@iddeasac.com

2.3. Comando IF label label label label define define define values tipodaow 1 "nta", add tipodaow 2 "nti", add tipodaow 3 "nefro tox", add tipodao tipodaow

17

label define finalw 0 "vivo" label define finalw 1 "muerto", add label values final finalw Observemos que la variable dependiente en esta base de datos es nal, muerte de una persona debido a una falla renal aguda. Las variables explicativas serian sepsis y tipodao, mientras que las de control serian sexo, getareo. n Probablemente oliguria y congenito sean variables que me indiquen el nivel especico de la enfermedad (serian variables no tan claras en este ejemplo).

2.3.

Comando IF

La estructura del comando IF es fcil de recordar, la gura2.1 nos muestra a el esquema base.

Figura 2.1: Estructura del comando if clear use auto.dta keep make rep78 foreign mpg price tabulate rep78 foreign tabulate rep78 foreign if (rep78 >=4) tabulate rep78 foreign if (rep78 >=4), column nofreq list if (rep78 >= 4) list if (rep78 >= 4) summarize summarize summarize summarize summarize price price price price price if if if if if

&

!missing(rep78) == <= == >= >= 1) | (rep78 == 2) 2) 3) | (rep78 == 4) | (rep78 == 5) 3) 3) & !missing(rep78)

(rep78 (rep78 (rep78 (rep78 (rep78

Cabe resaltar que luego de la sentencia if usamos & para decir y, usamos == para decir igual a, y usamos ! para negar algo o decir no.
Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o www.iddeasac.com capacitacion@iddeasac.com

18

2. Manejo de Datos

2.4.

Comando SUMMARIZE

Esta estructura es mas compleja y ms dif de recordar, sin embargo la a cil siguiente forma general (ver gura2.2), nos ayudara a recordarla y usarla de manera ms apropiada. a

Figura 2.2: Estructura del comando summarize

use auto summarize summarize summarize summarize summarize

price mpg mpg price if (foreign == 1) mpg price if (foreign == 1) & (mpg <30) mpg price if (foreign == 1) & (mpg <30) , detail

Si queremos trabajar con observaciones del 1 al 10 summarize in 1/10 Tambin podr estar interesado en el resumen estad e a stico para carros extranjeros y domsticos, por separado, para ello usamos el comando by: e by foreign: summarize

2.5.

Comando SPLIT

El comando split separa el contenido de una variable tipo string en dos o ms partes, usando un carcter que indica separacin, de modo que se generan a a o nuevas variables tipo string. (ver gura2.3) Es util para separar palabras, cdigos u otras partes de una variable tipo o string de informacin mltiple. Por ejemplo, en el siguiente caso (ver gura2.4), o u queremos separar el tipo de documento del nmero, en dos variables. u Aqu el objetivo es que la variable string documento se parta en dos , variables string, una que contenga el tipo de documento y otra el nmero de u este documento.
Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o www.iddeasac.com capacitacion@iddeasac.com

2.6. Creando Variables

19

Figura 2.3: Estructura del comando split

Figura 2.4: Base Documentos use "split y destring", clear split documento, parse("-") destring use "split y destring", clear split documento, parse("-") destring documento2, replace Si deseramos concatenar dos variables cualquiera sean estas, y generar a una variable tipo string, el comando a usar deber ser: a egen docum=concat(documento1 documento2), punct("/") Donde la opcin punct permite especicar el separador entre las distintas o partes al conformar una unica variable. Por ejemplo, espacio ser punct( ), a o coma , punct(,) o guin , punct(-). o

2.6.

Creando Variables

Trabajemos con la base de datos auto, y con la variable length (longitud del auto en pulgadas) use auto, clear summarize length generate length_feet = length / 12
Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o www.iddeasac.com capacitacion@iddeasac.com

20 generate length_feet = length / 12 replace length_feet = length / 12 summarize length lenght_feet generate length2 = length^2 summarize length2 generate loglen = log(length) summarize loglen summarize length generate zlength = (length - 187.93) / 22.27 summarize zlength Observemos la variable mpg (millaje por galn) o tabulate mpg

2. Manejo de Datos

No nos es muy fcil el anlisis de esta variable, podr a a amos mejorar su presentacin si la clasicramos por rangos. o a generate replace replace replace tabulate mpg3 = mpg3 = mpg3 = mpg3 = mpg mpg3 . 1 if (mpg <= 18) 2 if (mpg >= 19) & (mpg <=23) 3 if (mpg >= 24) & (mpg <.)

Ahora podemos hacer un cruce de tablas entre la variable mpg3 y la variable foreign y observar el millaje de los carros domsticos y extranjeros. e Qu es lo que se observa? e Mediante una remodicacin de los datos, podemos hacer lo mismo en unas o cuantas l neas, mediante el uso de rangos y el comando recode. generate mpg3a = mpg recode mpg3a min/18=1 19/23=2 24/max=3 tabulate mpg mpg3a Veamos un ejemplo con categor ahora deseamos crear una variable que as, nos muestre el millaje de los carros respecto a su origen, esta tomara el valor de 0 para valores por debajo de la media de mpg en el grupo domestico y extranjero y 1 para valores por encima de la media de mpg en los grupos domestico y extranjero. sort foreign by foreign: summarize mpg, detail Qu observamos? e
Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o www.iddeasac.com capacitacion@iddeasac.com

2.6. Creando Variables generate mpgfd = mpg recode mpgfd min/18=0 19/max=1 if foreign==0 recode mpgfd min/24=0 25/max=1 if foreign==1 by foreign: tabulate mpg mpgfd

21

El comando recode cambia los valores de una variable de acuerdo a las reglas especicadas. recode opiniongob (1=4 nada) (2=3 poco) (3=2 "mas o menos") /// (4=1 bastante) (.=0 "no opina"), gen(opina) Tambin podemos usar una extensin del commando generate, egen me pere o mitir crear expresiones mas complejas aun, tales como medias, desviaciones a estndar, mximos, m a a nimos, etc. egen minimo_p=min(price) egen median_p=median(price) egen std_p=std(price), mean(0) std(1) Nota1: Tipo de Datos En Stata existen dos clases de datos a usar: Datos numricos, dentro de estos podemos encontrar la siguiente clasie cacin: o

Figura 2.5: Datos Tipo Numricos e Datos cadena de texto, dentro de estos podemos encontrar la siguiente clasicacin: o

Figura 2.6: Datos Tipo Cadena

Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o

www.iddeasac.com capacitacion@iddeasac.com

22

2. Manejo de Datos

Lgicamente debemos considerar que un uso de datos con mayor poder o de almacenaje se traducir en mayor tamao de bytes usados, lo cual restara a n espacio a nuestro disco de almacenaje. Generemos algunas variables como ejemplo: generate double x=2 generate str2 y="maria" list y Qu notamos?, Cmo saber rpidamente si una variable es de cierto e o a tipo? Si deseramos convertir una variable string a una variable numrica o a e una variable numrica a una string, podr e amos usar los comandos encode y decode, veamos esto: clear use auto.dta encode make, generate(A) label list A describe make A decode A, generate(B) describe make A B O tambin podr e amos usar la siguiente sentencia: generate str2 generate int describe Z P Z="am" P=real(Z)

2.7.

KEEP y DROP

A veces no desearemos tener todas las variables en el espacio de trabajo, muchas veces desearemos trabajar solo con algunas variables de nuestra base de datos. use auto describe keep make mpg price describe use auto, clear drop displacement gear_ratio describe
Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o www.iddeasac.com capacitacion@iddeasac.com

2.7. KEEP y DROP

23

use auto , clear tabulate rep78 , missing drop if missing(rep78) tabulate rep78 , missing use auto , clear keep if (rep78 <= 3) tabulate rep78, missing clear Ya hemos visto como el uso de keep, drop, keep if y drop if, puede sernos util si queremos eliminar variables innecesarias y as tener mas memoria de trabajo. Ahora veamos en la gura2.7 la estructura del comando use y los criterios de seleccin. o

Figura 2.7: Estructura del comando use

use make price mpg using auto.dta describe clear use auto.dta if (rep78 <= 3) tabulate rep78, missing clear use auto.dta if (rep78 >= 4) & (rep78 <.) tabulate rep78, missing clear use make mpg price rep78 if (rep78 <= 3) using auto.dta describe tabulate rep78
Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o www.iddeasac.com capacitacion@iddeasac.com

24 clear

2. Manejo de Datos

use make mpg price rep78 using auto.dta if (rep78 <= 3) describe tabulate rep78 clear use make mpg if (rep78 <= 3) using auto Qu sucedi con esta sentencia? e o

2.8.

Reestructurando los Datos

A veces nos ser util reestructurar la forma como los datos son presentados, a especialmente para trabajar con datos panel, para ello nos ser de utilidad a aprender los comandos con anticipacin. o clear use ingfam.dta list

Figura 2.8: Base ingfam La forma como se presenta la data, es la forma ancha o wide, a nosotros nos podr interesar, sin embargo, trabajar con la forma larga o long de la a data, para ello debemos modicar la estructura de esta base de datos de la siguiente manera: reshape long ingfam, i(codfam) j(a~o) n list Long le dice al comando reshape, si se desea ir de una forma long a una wide o viceversa, ingfam le dice a Stata que la ra de la variable a ser z convertida a la forma long es ingfam, i le dice a stata que la variable codfam ser considerada como identicador de los individuos, j indica a Stata que a la parte variable de ingfam ser considerada e incorporada como una variable a ao. n
Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o www.iddeasac.com capacitacion@iddeasac.com

2.8. Reestructurando los Datos reshape wide list reshape long list

25

Veamos una base de datos que nos brinda informacin sobre los las alturas o de un conjunto de nios de 1 y 2 aos de edad n n use ni~oaltpes, clear n list codfam nacimiento alt1 alt2

Figura 2.9: Base nioaltpes n Veamos como podemos transformar esta base de datos a una forma long. Cul es la ra de la variable que ser convertida de la forma wide a la forma a z a long? Qu variables identican a los individuos en la estructura wide? Cmo e o llamaremos a la variable que contendr a los sujos de la variable ra a z? reshape long alt, i( codfam nacimiento) j(edad) list codfam nacimiento edad alt use ni~oaltpes,clear n list codfam nacimiento alt1 alt2 pes1 pes2 reshape long alt pes, i( codfam nacimiento) j(edad) list codfam nacimiento edad alt pes use ingpadmad.dta, clear list A nosotros nos podr interesar que la variable nombre y la variable ing a se estructuren de una forma long, pero los sujos p y m son del tipo cadena o string, ya no son nmeros. Cmo podemos estructurar nuestro comando en u o este caso? reshape long nombre ing, i(codfam) j(padmad) string list
Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o www.iddeasac.com capacitacion@iddeasac.com

26

2. Manejo de Datos

Figura 2.10: Base ingpadmad

2.9.

Muestreos Probabil sticos

En las encuestas, las observaciones son escogidas a partir de un proceso aleatorio. As las probabilidades de seleccin para distintas observaciones , o pueden diferir en funcin a la forma como se lleve a cabo dicho proceso de o seleccin aleatorio. o Las ponderaciones de muestreo son iguales (o proporcionales) al inverso de la probabilidad de seleccin. En otras palabras, los ponderadores (o factores o de expansin) pueden ser interpretados como el nmero de elementos de la o u poblacin que el elemento muestreado representa. En consecuencia, no tener o en cuenta los ponderadores de la muestra en los procedimientos estad sticos genera estimaciones sesgadas al valor verdadero de la poblacin. As mismo, o su omisin altera las desviaciones estndar de nuestras estimaciones. o a Los factores de expansin nos permiten pasar de la muestra al conjunto de o la poblacin. Ellos son necesarios tambin para tener en cuenta las diferentes o e tasas de muestreo segn dominios geogrcos, etc. u a La mayor de comandos de stata pueden ponderar datos. Stata propora ciona cuatro tipos de ponderaciones, la que ms se emplea es la asociada a los a factores de expansin, que se indica con la opcin pweight que permite identio o car los pesos que indican la inversa de la probabilidad de que la observacin o sea incluida debido al diseo del muestreo. n table x1 x2 [pweight=pesopob] table x1 x2 [pw=pesopob]

2.10.

Generacin de N meros Aleatorios o u

Crearemos un archivo vac para 100 observaciones: o set obs 100 Generamos nmeros aleatorios con distribucin uniformes U(0,1) u o gen x = uniform() Luego generamos nmeros aleatorios con distribucin normal N(0,1) u o
Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o www.iddeasac.com capacitacion@iddeasac.com

2.11. Percentiles, Cuartiles, Deciles gen y = invnorm(uniform()) Para generar una variable con distribucin uniforme U(a,b) o generate y = a + (b-a) * uniform() Para generar una variable con distribucin normal N(u,) o o generate z = u + o * invnorm(uniform()) ^ Generemos una variable notas, igual a U(0,20) + N(0,1) gen notas = 20*uniform() + invnorm(uniform()) Trunquemosla en el rango de 0 a 20 replace notas = clip(notas, 0, 20) format notas %3.1f Generemos una variable sexo que sea 1 si es hombre y 0 si es mujer gen sexo = uniform() > 0.5 Generemos una variable ingreso que valla del 2000 al 2007 gen ingreso = 2000 + floor(8*uniform())

27

2.11.

Percentiles, Cuartiles, Deciles

Las medidas de posicin son muy importantes en el anlisis estad o a stico, probabil stica y regresional. Los cuartiles son medidas estad sticas de posicin que tienen la propiedad o de dividir la serie estad stica en cuatro grupos de nmeros iguales de trminos. u e De manera similar los deciles dividen a la serie en diez partes iguales y los percentiles dividen a los trminos de la serie en cien grupos iguales. As como e la mediana divide la serie o distribucin en dos partes iguales, existen tres o cuartiles, nueve deciles y noventa y nueve percentiles que dividen en cuatro, diez y cien partes iguales a la distribucin. o De estas tres ultimas medidas de posicin los cuartiles son las de mayor o aplicacin. o Se emplean generalmente en la determinacin de estratos o grupos correo spondientes a fenmenos socio-econmicos, monetarios o tericos. o o o XTILE El comando xtile genera una variable categrica (eg: 1, 2, 3) segn el cuantil o u en que se encuentra cada observacin. o
Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o www.iddeasac.com capacitacion@iddeasac.com

28 xtile nuevavar = variable , nquantiles(#) xtile tercio = notas, n(3) PCTILE

2. Manejo de Datos

El comando pctile genera una variable con los puntos de corte entre cada cuantil. pctile nuevavar = variable , nquantiles(#) pctile cortes = notas, n(3) Por ejemplo, generemos una variable dcimo que sea 1 si es dcimo superior, e e y 0 caso contrario. Hgalo de 2 formas distintas a xtile es_decimo = notas, n(10) replace es_decimo= (es_decimo==10) summarize notas, detail gen es_decimo = notas > r(p90) pctile corte_dec = notas, n(10) gen es_decimo = notas > corte_dec[9] Muestre en las notas, el promedio, el mximo, el m a nimo, por sexo. Muestre la probabilidad de ser dcimo superior, por ao de ingreso e n tab es_decimo tercio tabstat notas, by(es_decimo) tabstat notas, by(sexo) stat(mean max min) tabstat es_decimo, by(ingreso) format(%3.2f)

Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o

www.iddeasac.com capacitacion@iddeasac.com

2.11. Percentiles, Cuartiles, Deciles RETO 2

29

El sostenido crecimiento de la econom peruana en los ultimos aos ha a n provocado que en la actualidad observemos un boom de inversiones a nivel descentralizado. As diversas actividades econmicas que antes se desarrollaban , o solo en Lima han empezado a mirar el interior del pa como plazas alternativas s para expandir sus negocios. Con este n, la recientemente fundada empresa de consultor Grupo IDDEA S.A.C. le ha pedido su colaboracin para desarrollar a o las siguientes tareas en Stata. En el mdulo sumarias (que contiene variables calculadas de ingreso y o gasto) se le pide identicar cada hogar con el nombre de la localidad que representa segn la variable ubigeo (distrito). Adems, en este mdulo deu a o ber crear una nueva variable que indique el departamento al que pertenece a cada hogar (esta variable debe tener un value map con los nombres de los 24 departamentos y el Callao). Para esta tarea usted cuenta con la base de datos ubigeo.dta. Con una sola instruccin (un solo comando) muestre las siguientes estad o sticas descriptivas para el gasto per capita en todos los departamentos del pa s (percentil 99, media, desviacin estndar, rango). o a El INEI calcula las estad sticas de pobreza bajo el mtodo del gasto, para lo e cual utilizar la variable gasto total y la dividir entre el total de personas a a en el hogar para calcular el gasto per capita. Luego generar una variable a que valga uno en caso el hogar supere la l nea de pobreza per capita (linea06) y cero en caso contrario. Finalmente, se le pide estimar para cada departamento cual es el nivel de pobreza considerando que un individuo es pobre si pertenece a un hogar pobre. Con el mdulo de educacin construya una tabla que muestre para cada doo o minio geogrco el porcentaje de personas segn nivel educativo alcanzado, a u para lo cual considerar solo tres niveles: 1, al menos primaria incompleta, a 2, Al menos secundaria completa y 3, superior. Al mdulo educacin aada la variable gasto per cpita, calculado en la base o o n a sumaria como el cociente entre gasto total y total de miembros del hogar. Luego, cree una variable que contenga los cuartiles (1,2,3,4) del gasto per capita y construya una tabla cruzada entre el nivel educativo y la nueva variable que ha creado para todas aquellas personas que no residen en Lima Metropolitana.

Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o

www.iddeasac.com capacitacion@iddeasac.com

30

2. Manejo de Datos

Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o

www.iddeasac.com capacitacion@iddeasac.com

Sesin 3 o Anlisis Graco con Stata a


Ahora vamos a trabajar con los principales grcos en Stata. Muchos de a estos grcos son de bastante utilidad para observar los problemas inherentes a al anlisis de regresin que observaremos en la prxima seccin. a o o o

3.1.

Visualizando Algunos Comandos

clear use auto.dta histogram mpg

Figura 3.1: Histograma

graph box mpg graph box mpg, by(foreign)

31

32

3. Anlisis Graco con Stata a

Figura 3.2: Graco de Cajas

Figura 3.3: Scatter y Ajuste Lineal

Figura 3.4: Graco Matricial

Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o

www.iddeasac.com capacitacion@iddeasac.com

3.2. TWOWAY

33

3.2.

TWOWAY

El S&P 500 es el ndice ms seguido para tener una idea del desempeo a n general de las acciones estadounidenses. Este ndice consiste de las acciones de 500 empresas que fueron seleccionadas por su tamao, liquidez (qu tan fcil n e a es comprar o vender sus t tulos) y representatividad por actividad econmio ca, incluyendo 400 industriales, 20 del sector transporte, 40 de servicios y 40 nancieras. Slo se toman en cuenta empresas estadounidenses. Vale la pena o destacar que el peso de cada accin dentro del o ndice corresponde a la proporcin que representa el valor de mercado de la empresa dentro del total de las o 500 empresas que conforman el ndice. El valor de mercado del capital es igual al precio por accin multiplicado por el nmero total de acciones. o u Usemos la base de datos S&P 500.(ver gura3.5 clear use s&p.dta describe

Figura 3.5: Indice S&P

Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o

www.iddeasac.com capacitacion@iddeasac.com

34

3. Anlisis Graco con Stata a

Figura 3.6: Opciones del twoway

Figura 3.7: Opciones del twoway

Figura 3.8: Opciones del twoway

Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o

www.iddeasac.com capacitacion@iddeasac.com

3.2. TWOWAY

35

Figura 3.9: Opciones del twoway

Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o

www.iddeasac.com capacitacion@iddeasac.com

36 Usemos una nueva base de datos: clear use highschool.dta describe

3. Anlisis Graco con Stata a

Figura 3.10: Base Highschool

graph graph graph graph

twoway twoway twoway twoway

histogram read kdensity read (histogram read) (kdensity read) function y=normden(x), range(-4 4)

Figura 3.11: Histograma y Kernel

Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o

www.iddeasac.com capacitacion@iddeasac.com

3.2. TWOWAY

37

Figura 3.12: Ms opciones del twoway a

Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o

www.iddeasac.com capacitacion@iddeasac.com

38

3. Anlisis Graco con Stata a

3.3.

TWOWAY y SCATTERPLOT

twoway scatter read write , scheme(economist) twoway scatter write read, msymbol(square) msize(small) mcolor(black) twoway scatter write read, mfcolor(red) mlcolor(black) mlwidth(medthick)

twoway scatter read write if id <=10, mlabel(id) mlabposition(2) /// mlabsize(large) mlabcolor(green) twoway scatter read write if id <=10,mlabel(ses) mlabangle(90) /// mlabposition(2) mlabgap(3)

egen mread = mean(read), by(write) label variable mread "Nota prom lectura x grupo de escritura" twoway scatter mread write, connect(l) sort twoway scatter mread write, connect(l) twoway scatter mread write, connect(l) clwidth(thick) clcolor(red) /// clpattern(shortdash) sort

egen sdread = sd(read), by(write) label variable sdread "SD prom nota de lectura x grupo de escritura" twoway scatter sdread write, connect(l) sort cmissing(n) twoway scatter sdread write, connect(l) sort cmissing(y)

Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o

www.iddeasac.com capacitacion@iddeasac.com

3.3. TWOWAY y SCATTERPLOT

39

Figura 3.13: Connect

Figura 3.14: Connect sort cmissing

Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o

www.iddeasac.com capacitacion@iddeasac.com

40

3. Anlisis Graco con Stata a

3.4.
3.4.1.

Combinando TWOWAY Y SCATTERPLOT


Filtro de Grcos a

twoway scatter read write, by(female) twoway scatter read write, by(female ses) twoway scatter read write, by(ses female, cols(2))

Figura 3.15: Opcin by o

3.4.2.

Unin de Grcos o a

twoway (scatter read write) (lfit read write) , ytitle(Nota /// de lectura)

Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o

www.iddeasac.com capacitacion@iddeasac.com

3.4. Combinando TWOWAY Y SCATTERPLOT

41

Figura 3.16: Opcin ytitle de un graco o twoway (scatter read write) (lfit read write), name(scatter)

twoway (scatter read write, mlabel(id)) (lfit read write, /// range(30 70)), by(ses female) ytitle(Nota de lectura)

Figura 3.17: Nombre a un graco twoway (scatter read write) (scatter math write) twoway (scatter read write) (scatter math write) (lfit read /// write) (lfit math write)

Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o

www.iddeasac.com capacitacion@iddeasac.com

42

3. Anlisis Graco con Stata a

twoway (scatter read write) (scatter math write) (lfit read /// write) (lfit math write), legend(label(3 "Ajuste Lineal") /// label(4 "Ajuste Lineal")) legend(order(1 3 2 4)) twoway (scatter read write) (scatter math write) (lfit read /// write, pstyle(p1) range(25 80) ) (lfit math write, /// pstyle(p2) range(25 80) ), legend(label(3 "Ajuste Lineal") /// label(4 "Ajuste Lineal")) legend(order(1 3 2 4))

Figura 3.18: Editando la legenda de un graco separate write, by(female) graph twoway (scatter write0 read) (scatter write1 read), /// ytitle(Nota de Escritura) legend(order(1 "Hombres" 2 "Mujeres")) graph twoway (scatter write0 read) (scatter write1 read) /// (lfit write0 read) (lfit write1 read), ytitle(Nota de /// Escritura) legend(order(1 "Hombres" 2 "Mujeres" 3 "Aj. /// Lineal Hombres" 4 " Aj. Lineal Mujeres"))
Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o

www.iddeasac.com capacitacion@iddeasac.com

3.5. Opciones para Edicin de Grcos o a

43

Figura 3.19: Ordenando la legenda de un graco

3.5.

Opciones para Edicin de Grcos o a

El esquema siguiente nos ayudara a entender los principales comandos de edicin de grcos. Podemos guiarnos de estos para poder tener una mejor o a presentacin en nuestros grcos. o a

graph twoway scatter read write, title("Grafica de Dispersin /// o entre Lectura y Escritura")

Figura 3.20: Antes de la edicin o

Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o

www.iddeasac.com capacitacion@iddeasac.com

44

3. Anlisis Graco con Stata a

graph twoway scatter read write, /// ytitle(Nota del Examen de Escritura) /// xtitle(Nota del Examen de Lectura) graph twoway scatter read write, /// title("Grafica de Dispersin entre Lectura y Escritura ", /// o size(large) color(red) position(12) ring(1)) /// ytitle(Nota del Examen de Escritura) /// xtitle(Nota del Examen de Lectura) graph twoway scatter read write, /// title("Grafica de Dispersin entre Lectura y Escritura ", /// o size(large) color(red) position(12) ring(1) box bcolor(white) /// blcolor(red) bmargin(medium)) /// ytitle(Nota del Examen de Escritura) /// xtitle(Nota del Examen de Lectura) graph twoway scatter read write, /// title("Grafica de Dispersin entre Lectura y Escritura " /// o "Muestra de 200 Estudiantes", linegap(3) size(large) color(red) /// position(12) ring(1) box bcolor(white) blcolor(red) /// bmargin(medium)) /// ytitle(Nota del Examen de Escritura) /// xtitle(Nota del Examen de Lectura) graph twoway scatter read write, /// title("Grafica de Dispersin entre Lectura y Escritura ", /// o size(large) color(red) position(12) ring(9) box bcolor(white) /// blcolor(red) bmargin(medium)) /// ytitle(Nota del Examen de Escritura) /// xtitle(Nota del Examen de Lectura) /// subtitle("Muestra de 200 Estudiantes") /// note(Datos de Escuela Secundaria y Superior) /// caption(Grupo IDDEA.SAC) graph twoway scatter read write, /// title("Grafica de Dispersin entre Lectura y Escritura ", /// o size(large) color(red) position(12) ring(9) box bcolor(white) /// blcolor(red) bmargin(medium)) /// ytitle(Nota del Examen de Escritura) /// xtitle(Nota del Examen de Lectura) /// subtitle("Muestra de 200 Estudiantes") /// note(Datos de Escuela Secundaria y Superior, size(medium) ///
Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o www.iddeasac.com capacitacion@iddeasac.com

3.5. Opciones para Edicin de Grcos o a position(5)) caption(Grupo IDDEA.SAC, size(vsmall) position(5))

45

graph twoway scatter read write, /// title("Grafica de Dispersin entre Lectura y Escritura ", /// o size(large) color(red) position(12) ring(9) box bcolor(white) /// blcolor(red) bmargin(medium)) /// ytitle(Nota del Examen de Escritura, color(white)) /// xtitle(Nota del Examen de Lectura, color(white)) /// subtitle("Muestra de 200 Estudiantes", color(white)) /// note(Datos de Escuela Secundaria y Superior, color(white) /// size(medium) position(5)) /// caption(Grupo IDDEA.SAC,color(green) size(small) position(5)) /// graphregion( color(navy) ) /// plotregion( fcolor(teal) )

Figura 3.21: Despus de la edicin e o

Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o

www.iddeasac.com capacitacion@iddeasac.com

46 use encuesta.dta graph hbar commute, over(division)

3. Anlisis Graco con Stata a

graph hbar commute, over(division) asyvar graph bar propval100, over(nsw) over(division) nofill asyvars /// ylabel(0(10)80) twoway scatter ownhome propval100, xlabel(#10) ylabel(#5) twoway scatter ownhome propval100, xscale(alt) twoway scatter propval100 rent700 ownhome, ylabel(0(10)100) /// yscale(alt) twoway (scatter propval100 ownhome) (scatter rent700 ownhome, /// yaxis(2)) twoway scatter ownhome propval100 [aweight=rent700], msize(small) /// scheme(vg_outm) yscale(alt) xscale(alt)

Figura 3.22: Graco de burbujas

use s&p.dta

Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o

www.iddeasac.com capacitacion@iddeasac.com

3.6. Trabajando con Esquemas y Grcos Adicionales a tw (rarea tw (rarea high low date) (spike high low date) (spike volmil date) volmil date, yaxis(2)) volmil date, yaxis(2)), ///

47

tw (rarea high low date) (spike yscale(range(500 1400) axis(1))

tw (rarea high low date) (spike volmil date, yaxis(2)), /// yscale(range(500 1400) axis(1)) yscale(range(0 5) axis(2)) tw (rarea high low date) (spike volmil date, yaxis(2)), /// yscale(range(500 1400) axis(1)) yscale(range(0 5) axis(2)) /// scheme(vg_teal)

Figura 3.23: Diferentes escalas

3.6.
3.6.1.

Trabajando con Esquemas y Grcos Adia cionales


Esquemas

use encuesta.dta scatter propval100 rent700 ownhome, scheme(vg_blue)

Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o

www.iddeasac.com capacitacion@iddeasac.com

48

3. Anlisis Graco con Stata a

Figura 3.24: Scatter y esquema vg blue

Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o

www.iddeasac.com capacitacion@iddeasac.com

3.6. Trabajando con Esquemas y Grcos Adicionales a

49

3.6.2.

Grcos de Barras Verticales a

use nlsw.dta graph bar ttl_exp graph bar prev_exp tenure ttl_exp graph bar (median) prev_exp tenure ttl_exp graph bar (median) prev_exp tenure (mean )ttl_exp graph bar (mean) meanwage=wage (median ) medwage=wage graph bar prev_exp tenure, over(occ5) graph bar prev_exp tenure, over(occ5) percentages graph bar prev_exp tenure, over(occ5) percentages stack use highshool.dta graph bar write, over( race) over( female) over( ses) /// legend(rows(1) stack) blabel(bar, format(%4.1f) size(vsmall)) /// bargap(10) percent scheme(vg_blue)

Figura 3.25: Bar y esquema vg green

3.6.3.

Grcos de Barras Horizontales a

use nlsw.dta graph hbar wage, over(occ5) graph hbar wage, over(occ5) over(collgrad) graph hbar wage,over(urban2) over(occ5) over(collgrad)
Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o www.iddeasac.com capacitacion@iddeasac.com

50

3. Anlisis Graco con Stata a

graph hbar wage,over(urban3) over(union) missing graph hbar wage,over(grade4) over(union) graph hbar wage,over(grade4, gap(*.3)) over(union) graph hbar wage,over(grade4, gap(*3)) over(union) graph hbar wage,over(occ7) graph hbar wage,over(occ7, sort(1)) graph hbar wage,over(occ7, sort(1) descending) graph hbar wage hours,over(occ7) graph hbar wage hours,over(occ7, sort(1)) graph hbar wage hours,over(occ7, sort(2)) graph hbar wage hours,over(occ7, sort(2)) over(married) graph hbar wage hours,over(occ7, sort(2)) over(married, /// descending) asyvars graph hbar wage hours,over(occ7, sort(2)) over(married, /// descending) asyvars stack graph hbar wage,over(occ7, label(alternate)) over(collgrad)

Figura 3.26: Hbar y esquema vg rose

3.6.4.

Grcos de Cajas a
over(grade4) over(grade4) nooutsides over(grade4) nooutsides over(union) over(grade4) nooutsides over(union) ///
www.iddeasac.com capacitacion@iddeasac.com

use nlsw.dta graph box wage, graph box wage, graph box wage, graph box wage,

Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o

3.6. Trabajando con Esquemas y Grcos Adicionales a asyvars graph box wage, over(grade4) nooutsides over(union) /// asyvars over(urban2) graph hbox tenure, nooutsides over(occ7) graph hbox tenure, nooutsides over(occ7, sort(1)) graph hbox prev_exp tenure, nooutsides over(occ7, /// sort(1)) graph hbox prev_exp tenure, nooutsides over(occ7, /// sort(1)) over(collgrade) graph hbox prev_exp tenure, nooutsides over(occ7, /// sort(1)) over(collgrad) graph hbox ttl_exp tenure, nooutsides over(urban2) /// over(married) by(union) graph hbox ttl_exp tenure, nooutsides over(urban2) /// over(married) by(union, total) graph hbox ttl_exp tenure, nooutsides over(urban2) /// over(married) by(union, total row(1)) graph hbox ttl_exp tenure, nooutsides over(urban2) /// over(married) by(union, total cols(1))

51

Figura 3.27: Hbox y esquema vg teal

3.6.5.

Grcos de Pastel a

use nlsw.dta graph pie, over(occ7)


Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o www.iddeasac.com capacitacion@iddeasac.com

52

3. Anlisis Graco con Stata a

graph pie, over(union) graph pie, over(union) missing graph pie, over(occ7) graph pie, over(occ7) noclockwise graph pie, over(occ7) noclockwise sort graph pie, over(occ7) sort pie(3, explode) graph pie, over(occ7) sort pie(3, explode color(cyan)) /// pie(7, explode(5) color(gold)) graph pie, over(occ7) graph pie, over(occ7) plabel(_all sum) graph pie, over(occ7) plabel(_all sum) scheme(economist) graph pie, over(occ7) plabel(_all percent) scheme(economist) graph pie, over(occ7) plabel(_all name) scheme(economist) graph pie, over(occ7) plabel(_all name, gap(-5)) /// plabel(_all percent, gap(5) format("%2.0f")) scheme(economist) graph pie, over(occ7) plabel(_all name, gap(-5)) /// plabel(_all percent, gap(5) format("%2.0f")) /// legend(title(Ocupacin) position(9) cols(1) stack) /// o scheme(economist)

Figura 3.28: Pie y esquema economist

Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o

www.iddeasac.com capacitacion@iddeasac.com

3.6. Trabajando con Esquemas y Grcos Adicionales a RETO 3

53

CLASIFICACION DE RIESGOS La base de datos deudores, tiene informacin acerca de la edad, sexo, o distrito, ingresos, deuda, y calicacin de la deuda, para 19,000 deudores. o Cul es la edad promedio de la muestra? Analice la distribucin de la edad, a o con un histograma. Qu AFP tiene ms clientes? Realice una graca sustentando su respuesta. e a a Genere una dummy mal pagador, que sea 1 si el deudor est atrasado con sus deudas Que % de hombres y mujeres son mal pagadores? Quienes ganan ms, en a promedio? A qu edad las personas se atrasan menos? Realice una graca sustentando e su respuesta. Genere una nueva base de datos a nivel de distrito, con el nmero de peru sonas, el salario promedio, y el % de deudores atrasados. Guarde solo los distritos con al menos 100 personas. Qu distritos son los ms ricos? En cules la gente es peor pagadora? e a a Realice una graca sustentando sus resultados.

Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o

www.iddeasac.com capacitacion@iddeasac.com

54

3. Anlisis Graco con Stata a

Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o

www.iddeasac.com capacitacion@iddeasac.com

Sesin 4 o Anlisis de Regresin Lineal a o


4.1. Regresin Lineal o

Ahora vamos a trabajar con las herramientas que hemos aprendido y vamos a generar relaciones economtricas. Empecemos con evaluar una regresin e o MCO. use elemapi.dta regress api00 acs_k3 meals full

Nuestras expectativas son que un mejor rendimiento acadmico, este relae cionado con un tamao de clase pequeo, pocos estudiantes recibiendo comida n n 55

56

4. Anlisis de Regresin Lineal a o

gratuita, y un alto porcentaje de profesores que tengan sus credenciales de enseanza completa. n regress api00 acs_k3 meals full Ahora debemos observar los coecientes de los resultados de nuestra regresin, y su signicancia. Estos coecientes deben ser coherentes con nuestras o expectativas. Qu es lo que observamos? e Antes de decir que esta regresin es correcta debemos hacer un conjunto o de pruebas. describe list in 1/5 list api00 acs_k3 meals full in 1/10

codebook api00 acs_k3 meals full yr_rnd summarize api00 acs_k3 meals full summarize acs_k3, detail tabulate acs_k3 list snum dnum acs_k3 if acs_k3 < 0 list dnum snum api00 acs_k3 meals full if dnum == 140 histogram acs_k3 graph box acs_k3 stem acs_k3 stem full tabulate full tabulate dnum if full <= 1 count if dnum==401 Hemos encontrado 3 problemas en la data, valores perdidos, valores negativos insertados de manera incorrecta y proporciones introducidos como porcentajes.
Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o www.iddeasac.com capacitacion@iddeasac.com

4.1. Regresin Lineal o regress api00 acs_k3 meals full

57

Luego de corregir la data podemos volver a estimar la regression y observar: use elemapi2.dta regress api00 acs_k3 meals full Digamos que estamos interesados en saber cual es la relacin entre el nuo mero de estudiantes y el rendimiento acadmico. e regress api00 enroll Primero debemos jarnos en el test F, y ver si es signicativo, lo cual nos mostrara la signicancia del modelo. El R2 nos dir que tanto de la varianza a de nuestra variable endgena, es explicado por los regresores. Luego debemos o observar la signicancia de los parmetros, ver si sus signos son acorde con la a teor La constante es el valor predecido para cuando nuestra explicativa sea a. cero. Podemos observar tambin que Stata nos presenta la descomposicin de la e o varianza. La varianza total esta particionada en la varianza explicada por las variables independientes (model) y la varianza que no es explicada por dichas variables(residual). Sabemos que existe una suma de cuadrados asociada a las tres partes de la varianza. Conceptualmente estas son: SST = SSR = SSM = (y y )2 (y y )2 ( y )2 y

As pues se puede comprobar que SST=SSM+SSR, adems debemos recordar a tambin que R2=SSM/SST. e Tambin podemos observar los grados de libertad, asociados con cada parte e de las varianzas. La varianza total tiene N-1 gl, los gl del modelo son K-1, los gl del residuo simplemente es la diferencia entre el total menos el modelo. Observamos tambin las medias cuadrticas, es decir la divisin de la suma de e a o cuadrados entre sus gl. Con estas nosotros podemos calcular el valor del test F=MSM/MSR, lo cual nos da el ajuste del modelo. El Root MSE es la desviacin estandar del error (ra cuadrada de MSR). o z Obtengamos los valores predichos o estimados para el rendimiento acadmie co con nuestro modelo y guardemos dichos valores en la variable fv predict fv Veamos los valores estimados y los reales:
Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o www.iddeasac.com capacitacion@iddeasac.com

58 list api00 fv in 1/10 scatter api00 enroll

4. Anlisis de Regresin Lineal a o

twoway (scatter api00 enroll) (lfit api00 enroll) Veamos los outliers twoway (scatter api00 enroll, mlabel(snum)) (lfit api00 enroll) Ahora obtengamos el residuo de la regresin o predict e, residual Ups, problemas en los coecientes y sus signicado, entonces Qu hacer? e regress api00 ell meals yr_rnd mobility acs_k3 acs_46 full /// emer enroll, beta De esta manera podemos comparar un coeciente con otro, dado que todos tienen la misma medida ahora. Un nuevo comando, busquemos en la red. findit listcoef listcoef Observacin SD=desviacin estndar observada, desviacin estndar de la o o a o a variable Y SD del Error= desviacin estndar del error: MSE (error estndar de la predico a a cin) bstdx=coecientes de la regresin con las variables x(estandarizadas) y o o la variable Y(en su unidad original) bstdy=coecientes de la regresin con las variables x(en su unidad original) y o la variable Y(estandarizada) bstdxy=coecientes de la regresin con las variables x(estandarizadas) y la o variable Y(estandarizada) Veamos una prueba de hiptesis o test ell==0 test ell Veamos una prueba de hiptesis conjunta o test acs_k3 acs_46 Veamos la correlacin entre las variables o correlate api00 ell meals yr_rnd mobility acs_k3 acs_46 full /// emer enroll
Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o www.iddeasac.com capacitacion@iddeasac.com

4.2. Diagnostico de los Resultados Veamos otra opcin para correlacionar variables o pwcorr api00 ell meals yr_rnd mobility acs_k3 acs_46 full /// emer enroll, obs sig

59

La normalidad Solo el residuo necesita tener una distribucin normal, no las o variables para que se validen los test. Los coecientes estimados no requieren una normalidad de residuos. Seria bueno sin embargo poseer variables que posean una distribucin noro mal. histogram enroll histogram enroll, normal bin(20) histogram enroll, normal bin(20) xlabel(0(100)1600) kdensity enroll, normal graph box enroll symplot enroll qnorm enroll pnorm enroll Veamos todas las posibilidades ladder enroll gladder enroll Ajustemos a nuestra mejor eleccion generate lenroll = log(enroll) hist lenroll, normal

4.2.
4.2.1.

Diagnostico de los Resultados


Efecto Inuencia

Ahora vamos a centrarnos en el diagnostico de nuestros resultados. Vemos los problemas que podr presentarse. Para ello debemos considerar los efectos an de outliers (una observacin con un amplio residuo, que indica una muestra o peculiar o un error en la data), leverage (medida de cuan lejos una variable independiente esta desviada de su media, puede afectar los coecientes de la regresin) y el efecto inuencia (observacin que al removerla, cambia la o o estimacin de los coecientes radicalmente. dicho problema se le atribuye a un o leverage o a un outlier) Usemos para esto, la base de datos diseada por Alan Agresti y Barbara n Finlay (Prentice Hall, 1997).
Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o www.iddeasac.com capacitacion@iddeasac.com

60

4. Anlisis de Regresin Lineal a o

use crimen.dta describe sum crimenes asesinatos pcturb pctblanco pctnivedu pobreza soltero graph matrix crimenes pcturb pobreza soltero

Figura 4.1: Crimenes, pcturb, pobreza y soltero Observamos algunas irregularidades. Vemos en muchos grcos puntos que a estn apartados del resto de que estados sern? a a scatter scatter scatter crimenes pcturb, mlabel(estado) crimenes pobreza, mlabel(estado) crmenes soltero, mlabel(estado)

Qu observamos? e regress crimenes pcturb pobreza soltero

predict r, rstudent stem r sort r list estadoid estado r in 1/10 list estadoid estado r in -10/l findit hilo hilo r estado
Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o www.iddeasac.com capacitacion@iddeasac.com

4.2. Diagnostico de los Resultados

61

list r

crimenes pcturb pobreza soltero if abs(r) > 2

predict lev, leverage stem lev hilo lev estado, show(5) high Analizar aquellos puntos con leverage mayores a (2k+2)/n display (2*3+2)/51 list crimenes pcturb pobreza soltero estado lev if lev >.156 Veamos el leverage y los residuos cuadrados lvr2plot, mlabel( estado) list estado crimenes pcturb pobreza soltero if estado=="ms" Veamos los Cooks D predict d, cooksd list crimenes pcturb pobreza soltero estado d if d>4/51 Veamos la inuencia predict dfit, dfits list crimenes pcturb pobreza soltero estado dfit if abs(dfit)> /// 2*sqrt(3/51) Evaluemos que pasar con los coecientes si se borrara la informacin a o en algunas variables, estos cambiar an? Es decir, nuestros coecientes son robustos o no? dfbeta list estado DFpcturb DFpobreza DFsoltero in 1/5 El valor de dfbeta para una observacin, signicara que de ser incluida en o el anlisis (comparativamente a no ser incluida) incrementara el coeciente de a beta, en dicho valor multiplicado por el error estndar del beta correspondiente. a Un dfbeta mayor a 2/sqrt(n) necesita ser investigado. display 2/sqrt(51) scatter DFpcturb DFpobreza DFsoltero estadoid, ylabel(-1(.5)3) /// yline(.28 -.28) scatter DFpcturb DFpobreza DFsoltero estadoid, ylabel(-1(.5)3) /// yline(.28 -.28) mlabel(estado estado estado) list DFsoltero estado crimenes pcturb pobreza soltero if /// abs( DFsoltero) > 2/sqrt(51)
Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o www.iddeasac.com capacitacion@iddeasac.com

estado=="dc" |

///

62

4. Anlisis de Regresin Lineal a o

Veamos el efecto inuencia a travs de regresiones parciales, de manera e graca. avplot soltero, mlabel( estado) avplots regress regress

crimenes pcturb pobreza soltero if

estado !="dc"

Si bien podemos buscar outliers con variables pertenecientes al modelo, tambin podemos hacerlo con variables que no estn incluidas en el modelo. e a regress crimenes pcturb pobreza soltero avplot pctblanco regress crimenes pcturb pobreza soltero pctblanco

4.3.

Normalidad del Residuo

La normalidad del residuo es requerida por muchas investigaciones si nosotros deseamos validar las pruebas de hiptesis sobre t-value y F-value. Ojo, la no o normalidad del residuo no invalidad la regresin. Una regresin valida requiere o o que el residuo sea idntica e independientemente distribuida, no requiere que e las variables explicativas sean distribuidas de forma normal. Si no como explicar amos el uso de variables dummys en nuestras regresiones. use elemapi2,clear regress api00 meals ell emer predict r, resid Anlisis graco de normalidad a

kdensity r, normal pnorm r qnorm r


Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o www.iddeasac.com capacitacion@iddeasac.com

4.4. Homocedasticidad del Residuo Test de Normalidad Test de Lawrence C. Hamilton findit iqr iqr r Test de Shapiro-Wilk W (Ho: Normalidad) swilk r

63

4.4.

Homocedasticidad del Residuo

Supuesto crucial en un modelo MCO, la varianza de sus residuos debe ser constante. Si la varianza no es constante entonces hay heterocedasticidad que bien podr ser modelada a travs de un modelo de volatilidad. a e Deteccin o rvfplot, yline(0)

Figura 4.2: Homocedasticidad del residuo Test de Heterocedasticidad (Ho: Varianza constante) Test de White estat imtest Test de Breusch y Pagan
Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o www.iddeasac.com capacitacion@iddeasac.com

64 estat hettest

4. Anlisis de Regresin Lineal a o

El anlisis graco no nos muestra un problema serio de heterocedasticidad. a As que no lo corregiremos por ahora.

4.5.

Multicolinealidad

Cuando dos variables explicativas estn altamente relacionadas, podemos a hablar de multicolinealidad. Para detectar la multicolinealidad nosotros usaremos el factor de inacin de varianza (VIF) Aquella variable cuyo vif sea o mayor a 10 deber ser investigada. a regress api00 meals ell emer vif regress api00 acs_k3 avg_ed grad_sch col_grad some_col vif Qu podriamos decir de esta regresin?, porqu presentaria problemas e o e de multicolinealidad? regress api00 acs_k3 grad_sch col_grad some_col vif findit collin collin acs_k3 avg_ed grad_sch col_grad some_col collin acs_k3 grad_sch col_grad some_col

4.6.

Linealidad

Uno de los supuestos del Modelo Lineal General es la linealidad de para metros especicada en mi regresin. Si estamos frente a un ajuste no lineal, o entonces nosotros tendremos problemas dado que estamos forzando una l nea como ajuste de nuestra relacin no lineal. o Analicemos solo a una variable. regress api00 enroll twoway (scatter api00 enroll) (lfit api00 enroll) (lowess api00 enroll) regress predict scatter scatter api00 meals some_col r, resid r meals r some_col
www.iddeasac.com capacitacion@iddeasac.com

Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o

4.7. Especicacin del modelo o No se vio una clara no linealidad, entonces usemos algo mas efectivo acprplot meals, lowess lsopts(bwidth(1)) acprplot some_col, lowess lsopts(bwidth(1))

65

Tampoco se ve un problema grave de no linealidad. Usemos una data mas interesante. use nations.dta describe regress birth gnpcap urban acprplot gnpcap, lowess acprplot urban, lowess graph matrix birth gnpcap urban, half kdensity gnpcap, normal Transformemos un dato generate lggnp=log(gnpcap) label variable lggnp "log-10 of gnpcap" kdensity lggnp, normal Regresionemos con el dato transformado regress birth lggnp urban acprplot lggnp, lowess

4.7.

Especicacin del modelo o

Un error en la especicacin del modelo puede ocurrir cuando uno o mas o variables relevantes son omitidas del modelo o una o mas variables relevantes son incluidas en el modelo. Una mala especicacin puede afectar los parmeo a tros estimados. Digamos que estamos corriendo una regresin entre el tamao de la clase y o n el rendimiento acadmico, un incremento en la primera inuir incrementando e a la segunda, evaluaremos la especicacin del modelo, para ello usaremos los o siguientes comandos use elemapi2, clear regress api00 acs_k3 Un par de mtodos Linktest, esta basado en la idea de que si el modelo e esta bien especicado, entonces no deber amos encontrar variables independientes que sean signicativas. El comando crea 2 variables nuevas, una variable
Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o www.iddeasac.com capacitacion@iddeasac.com

66

4. Anlisis de Regresin Lineal a o

estimada, y el cuadrado de dicha estimacin. Se evala el modelo con ambas o u variables, la estimacin y hat deber ser signicativa pues es el valor estimado, o a pero su cuadrado no deber serlo, pues de estar bien especicado el modelo, a la estimacin al cuadrado no deber tener mucho poder explicativo. o a Linktest Ovtest regress api00 acs_k3 full linktest ovtest regress api00 linktest ovtest acs_k3 full meals

4.8.

Independencia

Los errores asociados a una observacin no deber estar asociados a los o an errores de alguna otra observacin. En nuestro caso, al haber recolectado datos o de 8 tipos de escuela es probable que estudiantes dentro de sus escuelas tiendan a ser mas parecidos que estudiantes de otra escuela, esto producir errores no a independientes. El problema de autocorrelacion es muy comn en series de u tiempo, en la cual nosotros evaluamos el test DW para ver la autocorrelacin o de primer orden. Si quisiramos especicar este anlisis en nuestra data, poe a dr amos considerar a la variable snum como el tiempo use elemapi2, clear tsset snum regress api00 enroll dwstat predict r, resid scatter r snum Qu observamos? e

Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o

www.iddeasac.com capacitacion@iddeasac.com

4.8. Independencia RETO 4

67

Trabajar con el archivo gobusa5089.dta y contestar las siguientes preguntas: Identicar las variables y opinar respecto a cada variable, realizar un anlisis grco y estad a a stico para comprender la base de datos?. Identicar las variables de pol tica y las variables apol ticas? Elaborar una tabla de correlaciones entre la variable tax y las variables pol ticas y comentar los resultados sobresalientes?. Responder a lo siguiente: Quines cobran ms impuestos, los estae a dos con gobiernos divididos o los estados con gobiernos unicados?, qu tan seguro ests de su respuesta?. e a Marco terico m o nimo. Existen varias teor respecto del impacto de los as factores pol ticos y econmicos sobre la pol o tica tributaria en cada estado: Las teor apol as ticas dicen que las variables socioeconmicas y deo mogrcos (ingreso, poblacin, grupos de edad) son los principales dea o terminantes de los impuestos. Entre las teor pol as ticas, algunos dicen que los factores pol ticos partidistas (partido en el gobierno y/o congreso local, mayor demcrata a o en el congreso o no, etc.) tambin son importantes. e Mientras que otros dicen que son las variables pol ticas no-partidistas (gobierno dividido, margen de la primera fuerza en el congreso local, etc.) las que afectan los impuestos, y no tanto la ideolog o identidad a del partido en el poder (demcrata vs. republicano). o Especica al menos tres regresiones (con errores estndar robustos) para a la variable tax y compara sus resultados. Interpreta brevemente los coecientes, su bondad de ajuste, etc. y explica cul de ellos es preferible a los a otros. (Tip: no incluyas la variable spend en tu regresin). o Pruebas de hiptesis o Controlando por otros factores, la relacin entre poblacin e impuestos o o es no lineal. Controlando por otros factores, los gobernadores demcratas cobran o ms impuestos que los no demcratas. a o Manteniendo otros factores constantes, los estados con mayor demcraa o ta en el congreso local cobran ms impuestos que los gobiernos sin a mayor demcrata. a o
Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o www.iddeasac.com capacitacion@iddeasac.com

68

4. Anlisis de Regresin Lineal a o Manteniendo otros factores constantes, los gobiernos divididos cobran menos impuestos que los gobiernos no divididos. El impacto del gobierno dividido cambia si slo consideramos el per o odo 1975-1989 en la regresin. o Manteniendo otros factores constantes, una vez que controlamos por quin tiene la mayor en el congreso (demmaj1), el margen de esta e a mayor (dem1) no tiene un impacto en los impuestos. a

Interpretando regresiones: Cul es la bondad de ajuste de un modelo sin variables pol a ticas? Cunto a poder explicativo adicional se consigue al incluir las variables pol ticas? Qu variables pol e ticas importan ms, las partidistas o las no partidistas? a (ojo, esta pregunta requiere cierta interpretacin de la R2 ajustada de varios o modelos, as como la magnitud y signicancia de tus coecientes). Predicciones: Cunto cambian los impuestos per cpita si el ingreso per cpita aumenta en a a a una desviacin estndar? Calcula este cambio en dlares y como proporcin o a o o de los impuestos promedio de la muestra. Cunto cambian los impuestos cuando la mayor demcrata en el congreso a a o local pasa de 10 a 30 %? Calcula este cambio en dlares y como proporcin o o de los impuestos promedio de la muestra.

Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o

www.iddeasac.com capacitacion@iddeasac.com

Sesin 5 o Variables Categricas o


5.1. Estimacin con Variables Categricas o o

Hab amos usado variables continuas anteriormente, sin embargo es posible usar variables categricas en un anlisis de regresin pero requiere un trabajo o a o extra en la interpretacin, el anlisis y diagnostico de los resultados. o a use elemapi2.dta, clear describe api00 some_col yr_rnd codebook api00 codebook some_col codebook yr_rnd codebook mealcat mealcat

Uso de variables dummy Regresionemos el rendimiento acadmico con la e variable que nos indica si el alumno esta en el programa year-round o no regress api00 yr_rnd twoway (scatter api00 yr_rnd) (lfit api00 yr_rnd) tabulate yr_rnd, sum(api00) Observamos un parmetro negativo en la regresin, para nuestra variable a o dummy. Esto signica que si dicha variable toma el valor de cero la medida del rendimiento de los alumnos ser su media considerando solo a aquellos alumnos a que no estn en el programa o sistema de enseanza, mientras que si la variable a n toma el valor de uno, la medida del rendimiento ser la media considerando a solo a aquellos alumnos que si estn bajo este sistema de enseanza. a n ttest api00, by(yr_rnd) anova api00 yr_rnd display 10.7815^2 codebook mealcat regress api00 mealcat 69

70

5. Variables Categricas o

Pero esta variable mealcat es una variable intervalo, podr amos generar tres variables a partir de esta, de tal forma que podamos denir a cada sub variable como un valor cada vez que mealcat pertenezca a cierto intervalo. tabulate mealcat, gen(mealcat) list mealcat mealcat1 mealcat2 mealcat3 in 1/10, nolabel regress api00 mealcat2 mealcat3 La constante es la media para el grupo1. El coeciente de mealcat2 es la media del grupo 2 menos la media del grupo1, y el coeciente de mealcat3 es la media del grupo3 menos la media del grupo1. Los resultados nos dicen que los tres grupos dieren de sus medidas de rendimientos. test mealcat2 mealcat3 tabulate mealcat, summarize(api00)

5.2.

El Comando Xi

Lo mismo podemos hacer con el comando xi, xi : regress api00 i.mealcat test _Imealcat_2 _Imealcat_3 Si deseramos omitir el tercer grupo y no el primero, entonces deber a amos usar el siguiente comando: char mealcat[omit] 3 xi : regress api00 i.mealcat Nosotros podemos hacer el mismo anlisis usando el comando anova a anova api00 mealcat anova, regress Aqu vemos que siempre la ultima categor es borrada y reemplazada con a la constante. Los benecios del comando anova es que te da el efecto total de mealcat sin necesitar el uso del comando test como lo hac amos con el comando regress. Volvamos a nuestras regresiones: regress api00 yr_rnd xi : regress api00 i.mealcat
Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o www.iddeasac.com capacitacion@iddeasac.com

5.2. El Comando Xi

71

Y ahora vamos a estimar el rendimiento acadmico usando una variable e dicotomica mas: xi : regress api00 i.mealcat yr_rnd test _Imealcat_1 _Imealcat_2 anova api00 yr_rnd mealcat anova, regress Dado que este modelo solo tiene efectos principales, sin interacciones, la interpretacin del coeciente de yr rnd, es la diferencia entre escuelas con o sistema year round y escuelas sin ese sistema de enseanza, el primer coeciente n para la variable mealcat es la diferencia entre mealcat=1 y mealcat=3, el segundo es la diferencia entre mealcat=2 y mealcat=3 (siendo mealcat=3 la variable categrica de referencia y la cual es estimada por la variable) o

Finalmente los resultados indican que las diferencias entre un sistema de enseanza year-round y un sistema de enseanza sin year-round es signicativo n n y las diferencias entre los tres grupos mealcat tambin son signicativos. e Veamos algunas interacciones con las variables categricas: o xi : regress api00 i.mealcat*yr_rnd Ahora incluiremos la interaccin entre mealcat y yr rnd Y testeamos la o signicancia: test _ImeaXyr_rn_1 _ImeaXyr_rn_2 Si deseamos testear el efecto de yr rnd para mealcat=1: test _b[yr_rnd] +_b[_ImeaXyr_rn_1] ==0 Puedo ver un testeo sobre todos los efectos principales e iteraciones sin la necesidad de recurrir al comando test: anova api00 yr_rnd mealcat yr_rnd*mealcat regress api00 yr_rnd some_col predict yhat scatter yhat some_col
Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o www.iddeasac.com capacitacion@iddeasac.com

72

5. Variables Categricas o

Para correr un Anova necesitamos indicarle que la variable a evaluar tiene caracter sticas de continuidad: anova api00 yr_rnd some_col, cont(some_col) INTERACCIONES regress api00 some_col if yr_rnd==0 predict yhat0 if yr_rnd==0 scatter yhat0 api00 some_col if yr_rnd==0, connect(l i) msymbol(i o) sort regress api00 some_col if yr_rnd==1 predict yhat1 if yr_rnd==1 scatter yhat1 api00 some_col if yr_rnd==1, connect(l i) msymbol(i o) sort

5.3.

Pruebas de Hiptesis o

El GPA (Grade Point Average, o promedio de notas) es una medida de la calidad de su trabajo acadmico a nivel universitario. Algunos patrones suelen e utilizar al GPA como un factor clave cuando les ofrezcan trabajo a egresados de la universidad. Es por eso que resulta de suma importancia mantener un buen GPA durante toda su carrera universitaria. El examen de aptitud SAT (Scholastic Aptitude Test - Examen de aptitudes escolares) es un examen estandarizado para admisin a universidades o en EEUU. El rango de este, varia entre los 600 y 2400 puntos, consta de 3 secciones, matemtica, lectura critica, y escritura. a use GPA.dta, clear desc sum reg colgpa sat verbmath tothrs hsperc hsize, robust reg colgpa sat verbmath tothrs hsperc hsize hsizesq, robust display _b[hsize] / (2*_b[hsizesq]) Si el SAT score aumenta 100 puntos, que tan probable es que el GPA aumente 0.25 puntos? display display display display display (_b[sat] - .0025) / _se[sat] ttail(4130, 15.52) ttail(4130, 1.52) ttail(413, 1.52) ttail(41, 1.52)
www.iddeasac.com capacitacion@iddeasac.com

Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o

5.3. Pruebas de Hiptesis o

73

Afortunadamente, Stata hace pruebas de hiptesis de manera muy intuo itiva test sat = .0025 Otras pruebas: test sat = .002 test sat = .0014 reg colgpa sat verbmath tothrs hsperc hsize hsizesq, robust Qu pasa con la regresin si solo tomamos las primeras 2000 observaciones e o de la muestra? reg colgpa sat verbmath tothrs hsperc hsize hsizesq /// if _n<2000, robust Qu pasa si solo incluimos a las mujeres en la regresin? e o reg colgpa sat verbmath tothrs hsperc hsize hsizesq /// if female==1, robust Qu pasa si incluimos slo a las mujeres blancas? e o reg colgpa sat verbmath tothrs hsperc hsize hsizesq /// if female==1 & white==1, robust Como les va a los hombres y mujeres en el SAT? summ sat summ sat if female ==1 summ sat if female ==1 & white==1 generate lhsize = log(hsize) reg colgpa sat verbmath tothrs hsperc lhsize, robust reg colgpa sat verbmath tothrs hsperc lhsize female /// white black athlete, robust generate mm = female * white * athlete summ mm female white athlete reg colgpa sat verbmath tothrs hsperc lhsize female /// white black athlete mm, robust Un modelo simple con variables interactivas: xi: reg colgpa sat i.female*i.white USEMOS LA BASE DE DATOS Salario2.dta

Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o

www.iddeasac.com capacitacion@iddeasac.com

74 use Salario2.dta, clear describe

5. Variables Categricas o

Esta es una base de datos para explicar los salarios mensuales (wage) summ summ IQ, detail hist IQ hist wage summ wage, detail sktest IQ wage REGRESIONES ROBUSTAS PARA SALARIOS reg wage educ exper IQ, robust summ educ exper corr IQ educ exper predict yhat, xb summ yhat wage Introduciendo una variable mas: MARRIED reg wage educ exper IQ married, robust EFECTOS INTERACTIVOS ENTRE VARIABLES CONTINUAS generate edex=educ*exper generate edumarr= educ*married summ educ exper marr edex edumarr Modelo Base: reg wage educ exper IQ married , robust Modelo con EDEX: reg wage educ exper IQ married edex, robust Modelo con EDUC*MARRIED y EDUC*EXPER: reg wage educ exper IQ married edex edumarr, robust corr educ exper edex Modelo sin interaccin EDEX y dejando EDUMARR: o reg wage educ exper IQ married edumarr, robust xi: reg wage educ exper i.black*i.married IQ, robust reg wage educ exper IQ, robust
Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o www.iddeasac.com capacitacion@iddeasac.com

5.4. Creacin de Variables Dummys o Que pasa si tienes 10 aos de educacin y 5 de experiencia? n o lincom 10*educ + 5*exper reg wage educ exper IQ married , robust lincom 10*educ + 5*exper + married

75

HACIENDO PRUEBAS DE HIPOTESIS PARA UNA O MAS VARIABLES: Pruebas F test educ test educ = 70 test educ = 80 Una prueba F tambin prueba la signicancia CONJUNTA de un GRUPO e de variables reg wage educ exper IQ married tenure urban black meduc feduc, robust test feduc meduc test meduc test tenure meduc test tenure meduc black

5.4.

Creacin de Variables Dummys o

Existen tres formas de crear variables dicotomicas: Si partimos de una variable cualitativa de mltiples categor entonces u as, con la especicacin XI ser posible la creacin de variables dicotomicas, o a o reestructurando la variable categrica. o Una segunda forma de crear variables dicotomicas, es a travs de un coe mando if condicionando a una variable continua, la variable que se obtendr, a ser entonces, mi variable latente. a La ultima forma de creacin es mediante el comando input, donde se o especicara el nombre de las variables y la introduccin de datos es de manera o manual.

5.5.

Bucles y Programas

El uso de bucles en Stata o Eviews, no es muy usual, dado que estos programas implementan una plataforma orientada al usuario en lugar de a un programador.
Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o www.iddeasac.com capacitacion@iddeasac.com

76 input famid 1 3281 3413 2 4042 3084 3 6015 6123 end

5. Variables Categricas o inc1-inc12 3114 2500 2700 3500 3114 3319 3514 1282 2434 2818 3108 3150 3800 3100 1531 2914 3819 4124 4274 4471 6113 6100 6100 6200 6186 6132 3123 4231 6039 6215

Ahora vamos a visualizarlo con un listado. list famid inc1-inc12, clean Si deseamos calcular una cantidad de 10 % en impuestos pagados por cada mes, una manera simple de hacer esto computo a las 12 variables es mediante una multiplicacin simple: o generate generate generate generate generate generate generate generate generate generate generate generate taxinc1 = taxinc2 = taxinc3 = taxinc4 = taxinc5 = taxinc6 = taxinc7 = taxinc8 = taxinc9 = taxinc10= taxinc11= taxinc12= inc1 * .10 inc2 * .10 inc3 * .10 inc4 * .10 inc5 * .10 inc6 * .10 inc7 * .10 inc8 * .10 inc9 * .10 inc10 * .10 inc11 * .10 inc12 * .10

Lo cual resulta algo tedioso, imag nense si tuvieran mas de 12 variables dentro del computo. Ahora aplicaremos un criterio de programacin simple, o estructurando un bucle que nos ayude a implementar el clculo de manera a rpida y ordenada. a foreach var of varlist inc1-inc12 { generate taxvar = var * .10 } Ahora var es el contador, que cambiara de acuerdo al listado de variables, desde inc1 hasta inc12; dentro del looping, se podra acceder a var mediante comillas, tales como var . Que sucede si usamos un contador numrico? e generate generate generate generate incqtr1 incqtr2 incqtr3 incqtr4 = = = = inc1 + inc4 + inc7 + inc10+ inc2 + inc5 + inc8 + inc11+ inc3 inc6 inc9 inc12

list incqtr1 - incqtr4


Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o www.iddeasac.com capacitacion@iddeasac.com

5.5. Bucles y Programas En forma ms rpida. a a foreach qtr of numlist 1/4 { local m3 = qtr*3 local m2 = (qtr*3)-1 local m1 = (qtr*3)-2 generate incqtrqtr = incm1 + incm2 + incm3 } list incqtr1 - incqtr4

77

Si comparamos ingresos?, digamos que deseamos generar dummys tales que, indiquen 1 cuando el ingreso del mes actual sea menor que el ingreso del mes anterior, y 0 cuando el ingreso del mes actual sea mayor o igual que el ingreso del mes anterior. foreach curmon of numlist 2/12 { local lastmon = curmon - 1 generate lowinccurmon = 1 if ( inccurmon < inclastmon ) replace lowinccurmon = 0 if ( inccurmon >= inclastmon ) } Listamos para observar los resultados list famid inc1-inc12, clean noobs list famid lowinc2-lowinc12, clean noobs Otra manera de hacer lo mismo: forvalues curmon = 2/12 { local lastmon = curmon - 1 generate lowinccurmon = 1 if ( inccurmon < inclastmon ) replace lowinccurmon = 0 if ( inccurmon >= inclastmon ) } Veamos ahora un comando tambin util para programar, el comando WHILE: e

Ejemplo:
Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o www.iddeasac.com capacitacion@iddeasac.com

78 local i=1 while i <=10 { display i local i=i+1 }

5. Variables Categricas o

Stata provee de la especicacin de programas que el usuario bien podria o crear. Crearemos un programa bsico, HOLA MUNDO a program define Super display "HOLA MUNDO" end Si deseamos crear otro programa con el mismo nombre, Stata nos mostrara un mensaje de error dicindonos que existe un programa con ese nombre por e lo que debemos eliminarlo primero: program drop Super y ahora si podemos correr el programa.

Stata Bsico Intermedio a Aplicado a la Investigacin Econmica o o

www.iddeasac.com capacitacion@iddeasac.com

Bibliograf a
[1] Moya, Runo - Estad stica Descriptiva. [2] Moya, Runo; Saravia, Gregorio. -Probabilidad e Inferencia Estad stica. [3] Wooldridge, Jerey M. - Introduccin a la Econometr o a. [4] Gujarati, Damodar - Fundamentos de Econometr a

79

Vous aimerez peut-être aussi