3 mar 2013

Ejercicios de econometría resueltos, usando STATA (capitulo 1. de Wooldridge (2009))

Índice de ejercicios resueltos
                Capítulo2. El modelo de regresión simple

Chapter 1 - Naturaleza de la econometría y los datos económicos

El siguiente documento presenta el solucionario a los ejercicios de computadora propuesto por Wooldridge en el capítulo 1 de su libro: “Introducción a la econometría, un enfoque moderno”, el mismo sugiere el uso del software Stata y no pretende ser un curso de econometría ni un manual de STATA, ya que existen muy buenos manuales e instructivos en la red. (se supone el conocimiento del programa, por ende se recomienda revisar algun manual básico de STATA antes de revisar el documento). en el caso de terner problema con algun comando se recomienda el uso del comando help, seguido del comando que no se entiende. (ej. help ttest)


 *Capitulo 1. (Pág. 18)


*Ejercicio C.1.1 wage1.cvs. 

Para el primer ejercicio, se carga la base de datos (los datos fueron exportados desde el software Gretl al formato .cvs, delimitado por coma) y luego importado desde STATA, por eso no se usa el comando use para cargar la base de datos)

insheet using "C:\...\wage1.csv", comma clear


*Ejercicio C.1.1 wage1.cvs. i) Para determinar los estadísticos de media, máximo y mínimo solicitados, se puede utilizar (hay más formas) el comando [tabstat], seguido de la variable seleccionada y luego se considera cuales estadísticos contendrá la tabla. columns(variables) solo indica como estarán ordenados los estadísticos en la tabla. mean 12.56274, max 18, min 0.

 tabstat educ, statistics( mean max min ) columns(variables)

*Ejercicio C.1.1 wage1.cvs.  ii) El Segundo ejercicio es igual al primero, solo necesitamos copiar el mismo comando y sustituir el nombre de la variable solicitada. En este caso media del salario. se obtiene: mean    5.896103   max       24.98  Min        .53

tabstat  wage, statistics( mean max min ) columns(variables)

*Ejercicio C.1.1 wage1.cvs.  iii – iv no se consideran. Pero solo es necesario obtener el IPC y realizar un cambio de base en los valores de los salarios. (para cambio de base, ver Microeconomía de Pindick, capitulo 1 o Solicitar ayuda a Vicente de Peña en el caso de estudiantes de la UASD)

*Ejercicio C.1.1 wage1.cvs. v)  En este ejercicio se indica al programa que cree una tabla donde recuente la cantidad de personas por sexo e indique la proporción que representa. se usa el comado tab. hay 522 mujeres que representan el 47.91% de la muestra y 274 hombres.

tab  female


--------------------------------------------------
*Ejercicio C.1.2 bwght.cvs. Al igual que se hizo para el primer ejercicio, se carga la base de datos, mediante el comando:


insheet using "C:\Users...v", comma clear

*Ejercicio C.1.2 bwght.cvs.  

i) cuantas mujeres hay en la muestra?, al igual que un ejercicio anterior, se requiere saber cuántas mujeres hay en la muestra, mediante el comando tab se obtiene la próxima tabla. Siendo las mujeres male=1 se puede ver que hay 723 mujeres en la muestra. Ahora como necesitamos saber cuántas mujeres fumaron durante el embarazo, agregamos la condición if cigs>0 al comando tab. Y observamos que de 723 mujeres, 100 fumaron durante el embarazo.


tab male
tab male if cigs>0

*Ejercicio C.1.2 bwght.cvs.  ii) Para saber la media del numero de cigarro sconsumido por una mujer, se utiliza el comando tab indicando que necesitamos la media de la varible cigs (mean cigs ).  El promedio dificilmente seria un buen indicador de la mujer tipica en la muestra, a mi entender por tres razones fundamentals: 1. El porcentaje de la mujer que fuma dentro de la muestra es de solo de 13.8%. (100/723) 2. La variabilidad del numero de cigarrillo respecto a su media (coeficiente de variacion 0.23) es significativa y 3. El numero de mujeres que fuma se ve afectado por valores altos, como se observa en la próxima tabla [tab  cigs male] , el promedio se ve afectado 69 mujeres cuyos consumo diario se cigarrillos se consideran relativamente elevados, se puede ver un gráfico de cajas para ver un resumen de lo planteado anteriormente*/

table male, contents(mean cigs ) row

*Ejercicio C.1.2 bwght.cvs.  iii.) para conocer el promedio de cigarrillos fumados al día, considerando solo de mujeres que fumaron durante el embarazo se obtiene recodificando la variable cigs, debido a que Stata arroja un error si se utiliza como variable y como condición. Una vez recodificada se utilizan las condiciones male==1 &  fumo_embarazo==1, para obtener las medias solo de las mujeres que fumaron durante el embarazo. ( la media para las mujeres, sin considerar edad es de 2.08437, al considerar la media, solo para las mujeres que fuman, obtenemos una media igual a 15.07 cigarrillos por día).

Imagen: error por usar variable en prueba logica y contenido, STATA

recode  cigs (0=0 "no fumo") (else=1 "fumo"), into(fumo_embarazo)
table male if male==1 &  fumo_embarazo==1 , contents(mean cigs ) row
*Ejercicio C.1.2 bwght.cvs. 

 iv) el promedio de años educativos del padre es de 13.18624, para obtenerlo, se uso el comando tabstat de la variable “fatheduc”. Indicando que deseaba la media. en el ejercicio, solo se utilizan 1,192 observaciones debido a que existen 196 observaciones missing en la muestra (en Stata estas observaciones se representan por medio de un punto “.”, utilizando en comando inspect se pueden contabilizar las observaciones perdidas.
  
tabstat   fatheduc, statistics( mean ) columns(variables)
inspect fatheduc

                                                         Imagen: Comando Inspect en STATA
*Ejercicio C.1.2 bwght.cvs.  

v) el ingreso promedio por hora (29.02666) y la desviación estándar (18.73928) se obtienen con el siguiente comando:
tabstat   faminc, statistics( mean sd  )
-------------------------------------------------
*Ejercicio C.1.3 meapo1.cvs. en el ejercicio tres, también se cargan las bases de datos
insheet using "C:\....\meap01.csv", comma clear


*Ejercicio C.1.3 meapo1.cvs. i) el comando tabstat usado a continuación arroja los valores máximo y mínimo. Esto están dentro de los permitidos, debido a que se tratan a una proporción. (los valores arrojados son: mean 71.909        sd 19.9540  max 100 min 0)

tabstat    math4, statistics( mean sd max min )
*Ejercicio C.1.3 meapo1.cvs. ii) y iii) ambos ejercicios se resuelven de distintas maneras, la primera y  mas trivial es pidiendo una tabla al programa mediante el comando tab. El segundo comando representa una manera menos trivial de obtener los resultados, pero que no deja de ser sencilla y tener ventajas, por el nivel de automatización que se obtiene.
Usando este comando y buscando el porcentaje solicitado (100 o 50 según el ejercicio)
tab  math4    
El segundo comando arroja el monto indicado, solicitando las estadísticas para cuando math4==100 o math4==50, dependiendo el ejercicio, luego se solicitan los estadísticos obtenidos mediante el comando return list  y por último se solicita la proporción al dividir los casos encontrados, entre el total de observaciones en la muestra. por tanto, la respuesta a este ejercicio es:
100% de aprobados:       38 y correspondent al 2.08% de la muestra.
   50% de aprobados:      17 y corresponden al 0.093

sum  math4 if  math4==100
reurtn list
display r(N)/_N
sum math4 if math4==50
reurtn list
display r(N)/_N

*Ejercicio C.1.3 meapo1.cvs.

iv) Podemos obtener las medias, mediante el comando mean seguido del nombre de las variables o por medio de un test que permita comparar media. Al parecer, según el % de aprobados la prueba de matemáticas de menos fácil de aprobar. Es decir que a partir de la media de aprobado, la prueba de lectura parece más difícil de aprobar. Con un 11.84 puntos porcentuales de aprobación por encima de la práctica de matemáticas.

mean  math4 read4
ttest    math4 == read4   /*este representa un comando más completo*/

Imagen: Comparando medias en STATA

*Ejercicio C.1.3 meapo1.cvs. 

v) La correlación entre dos variables se obtiene del commando correlate. Se obtiene un coeficiente de 0.8427   lo que indica una alta correlación positiva entre las variables.

correlate  math4 read4

*Ejercicio C.1.3 meapo1.cvs. 

vi) promedio y desviación estándar, aunque lo obtuvimos anteriormente por el comando tab, también se puede obtener por el comando ci.

ci  exppp
/*  Variable |        Obs        Mean    Std. Err.       [95% Conf. Interval]
       exppp |       1823    5194.865    25.57322         5144.71    5245.021    */

*Ejercicio C.1.3 meapo1.cvs. 

vii)  Pra que el arroje la tasa de crecimiento entre dos valores diferentes utilizamos el comando display y colocamos los cálculos solicitados por el libro.

display ((6000-5500)/5500)*100    "%"
display  100*(log(6000)-log(5500)) "%"  /*hay que comparar este con la diferencia en logaritmo*/
-------------------------------------------------
*Ejercicio C.1.4 meapo1.cvs. se inicia siempre cargando la base de datos.
insheet using "C:\Users\User\Desktop\Solucion a ejercicios de econometria\Base de datos wooldridge\jtrain2.csv", comma clear

*Ejercicio C.1.4 meapo1.cvs. i) siendo 1 la proporción de hombre a los que se capacitaron, el comando tab , en la columna percent, indica el porcentaje de hombres que recibieron capacitación (41.57%).

 tab  train

* Ejercicio C.1.4 meapo1.cvs. ii) Para comparar medias de grupos, (no de cantidades como se hizo anteriormente) se modifica el comando ttest, como se presenta debajo, según el mismo se indica que es estadísticamente probable que los hombres que recibieron el curso ganen más dinero.

 ttest re78, by(train)

Imagen: comparación de media, por grupos, STATA

*Ejercicio C.1.4 meapo1.cvs. 

iii) con el commando tab, cruzando las variables de desempleo y capacitación (unem78 train), agregando la opción de que no queremos que nos cuente, si no que queiramos saber de la proporción de hombres empleados y desemplados según recibieron capacitación. Se observa que los que que han recibido el curso solo el 24.3% esta desempleado, mientras que en aquellos que si lo recibieron el 35.38 no esta empleado.

tab   unem78 train, col nofreq
Imagen: Ocupación, por condición de capacitación

Recodificación de variables usando dplyr en R

Una base de datos suele tener diversos tipos de variables del tipo cualitativo y cuantitativo. En función del tipo de variables aplicamos di...