Resolución
Ejercicio I STATA
Para comenzar, se mostrará mostrar á la distribución del espacio de trabajo del software STAT STATA SE.
2 4
Para comenzar, se debe extraer la base de datos a utilizar en la resolución de la guía desde la siguiente página Web (que corresponde a las bases de datos del libro de Woolridge):
1
http://fmwww.bc.edu/ec-p/data/wooldridge/datasets.list.html
3 La zona Nº1 corresponde al sector en que se van registrando cada una de las acciones que nosotros realicemos con el software. Es una especie de registro de los comandos y las acciones ejecutadas. La zona Nº2 muestra las variables con las cuales nos encontremos trabajando, mientras que en la parte inferior de dicha zona, se indican algunas propiedades de cada una de las variables (la que se ecuestre seleccionada). La zona Nº3 corresponde al lugar en que se ingresarán los distintos comandos para que el software se encargue de ejecutar los cálculos requeridos. La zona Nº4 muestra los resultados de las distintas órdenes y cálculos que se le pida al software. Es -en pocas palabras- un visor de resultados. En la parte superior del software es posible visualizar un menú con algunas acciones comunes, entre ellas destacan el editor de archivos “Do” (hacer en inglés) [Do-File Editor] y el editor de datos [Data Editor].
COMENZANDO COMENZAN DO A TRABAJAR TRABA JAR CON STA STATA Preparación de la Base de Datos Lo primero que se debe hacer es extraer la base de datos correspondiente a la Ayudantía, la que se puede encontrar en:
http://fmwww.bc.edu/ec-p/data/wooldridge/datasets.list.html
Lo primero que se debe hacer, es escribir el siguiente comando en la zona designada para ello: ssc install bcuse
!
Lo que se hace con el comando anterior es decirle a STATA que cargue la base de datos de Woolridge. Una vez conectado, STATA mostrará la siguiente información en el visor de resultados: ssc install bcuse checking bcuse consistency and verifying not already installed... all files already exist and are up to date.
Posteriormente, lo que hacemos es llamar la base de datos específica que ocuparemos. Para ello, nos dirigimos al sitio Web antes señalado y buscamos la base de datos “SMOKE”. Una vez encontrada, podemos observar que abajo del nombre de dicha base de datos aparecerán unas palabras (en este caso “bcuse saving”). Entonces, para llamar a dicha base de datos, se debe agregar dicho comando en la zona de comandos, es decir, se debe escribir: bcuse smoke
!
Cuando el software cargue la base de datos, se podrá ver lo siguiente (fijarse que en el panel del lado derecho ahora se observan los nombres de las variables que están contenidas en la base de datos):
Finalmente guardaremos la base de datos para trabajar de forma local (es decir, grabaremos los datos en el computador). Para ello vamos al menú del programa y hacemos clic en “File \ Save as… ” y luego grabamos la base de datos en alguna carpeta creada para el efecto. Para este caso, usaremos una carpeta llamada “Ejemplo” y el archivo se llamara “smoke”. Una cuestión importante de señalar es que en caso que la carpeta en que se guarde la base de datos tenga más de una palabra (o número), estas no deben tener espacios y deben ser reemplazados por un guión bajo, por ejemplo, la carpeta se podría llamar “Carpeta_Ejemplo” para evitar problemas.
RESOLUCIÓN GUÍA DE EJERCICIOS Pregunta a) ¿Cuántas observaciones tiene la muestra? ¿Cuántas variables han sido consideradas? Enumérelas. Para responder lo anterior, debemos utilizar el comando ‘describe’ , cuya función principal es entregar una descripción general de la base de datos utilizada. Para acceder a ello, se debe utilizar el siguiente comando: describe
!
Una vez ejecutado, obtendremos lo siguiente (lo que será mostrado en el visor de resultados):
De los resultados obtenidos, se tiene que la muestra tiene 807 observaciones y 10 variables (los resultados se encuentran señalados en el cuadro rojo). Respecto de las variables, estas aparecen en la parte inferior del resultado (cuadro verde). Para este caso, son las siguientes: “educ”, “cigpric”, “white”, “age”, “income”, “cigs”, “restaurn”, “lincome”, “agesq” y “lcigpric” .
Pregunta b) ¿Cuál es el ingreso anual promedio de los encuestados? Para calcular el ingreso promedio, o el promedio de cualquiera de las variables, se debe usar el comando ‘summarize’, el cual -como su nombre lo indica- entrega algunos cálculos básicos para la variable en cuestión. Para su utilización se puede utilizar el siguiente comando: summarize
!
o bien, summarize income
!
La diferencia entre los dos casos, es que el primero entregará resultados de las 10 variables (antes señaladas), mientras que en el segundo caso, solamente se entregará estadísticos descriptivos respecto de la variable ‘income’ . Para este ejemplo, utilizaremos la segunda forma y el resultado será el siguiente:
Como se puede apreciar, el promedio de la variable ‘income’ corresponde a 19.304,83 (Mean). Además, el comando ‘summarize’ entrega el número de observaciones (Obs), la desviación estándar (Std. Dev.), el valor mínimo (Min) y el valor máximo (Max).
Pregunta c) ¿Cuánto es el máximo de cigarros diarios fumados declarados por un individuo en esta encuesta? ¿Y el mínimo?. Ahora, ¿Cuál es el máximo número de cigarrillos fumados por individuos de 17 años? Para resolver esta pregunta, esto se deberá hacer por partes. Primeramente, se deberá determinar el número máximo y mínimo de cigarros consumidos por algún individuo. Para ello se podrá utilizar el mismo comando anteriormente, esta vez, con la variable ‘cigs’: summarize cigs
!
El resultado obtenido es el siguiente:
Del resultado, se puede decir que el número máximo de cigarrillos diarios declarados fumar por alguien es de 80, mientras que el mínimo es de cero. Entonces, en la muestra hay personas que declaran fumar cero cigarrillos al día, mientras que la persona que declara fumar más cigarros diarios, dice fumar 80.
Para responder la segunda parte de la pregunta, es decir, el máximo número de cigarrillos fumados por individuos de 17 años, se deberá establecer una restricción a la solicitud efectuada a STATA, para “filtrar” la información entregada. Para ello, utilizaremos una condicional con el comando ‘if’ , estableciendo la restricción con la variable ‘age’. El comando a utilizar será el siguiente: summarize cigs if age==17
!
Nótese que para establecer una igualdad (en este caso que la variable edad sea igual a 17) se debe utilizar un doble signo igual (es decir ‘==‘); solo de esta forma STATA entenderá que se le está diciendo que la variable debe ser igual al número para efectos de filtrar los resultados.
Una vez ejecutado el comando, se obtendrá lo siguiente:
Entonces, de los resultados obtenidos se sabe que el máximo número de cigarros fumados por jóvenes de 17 años es de 50 unidades.
Pregunta d) ¿Cuál es el total de individuos que no fuman? Básicamente, lo que se pide en esta pregunta es que señalemos la cantidad de individuos que dicen fumar cero cigarros, es decir, que la variable ‘cigs’ = 0. Para efectos de ir introduciendo más herramientas para utilizar STATA, se resolverá esta pregunta utilizando tres formas distintas. La primera es utilizando el comando ‘summarize’ y estableciendo la condicional que la variable ‘cigs’ sea igual a cero. Lo anterior se obtiene de la siguiente manera: summarize cigs if cigs==0
!
El resultado será el siguiente:
Como se puede observar, la cantidad de personas que dicen consumir cero cigarros al día es de 497.
Una segunda forma de obtener el resultado es mediante la utilización del comando ‘count’, cuya función es contar las veces que se repite un resultado especificado (en este caso, que la variable ‘cigs’ sea igual a cero). Para ejecutar dicho comando, se hace de la siguiente manera: count if cigs==0
!
El resultado, esta vez se muestra de forma directa, como se ve a continuación:
La última forma que veremos para obtener el resultado requerido, es mediante la utilización del comando ‘tabulate’ , el cual entrega un resultado ordenado respecto de frecuencia de ocurrencia de cada uno de los datos. Para este caso, indicará cuantas personas señalan fumar cigarrillos (para cada cantidad que se haya dicho). La utilización de este comando, se realizará de la siguiente manera: tabulate cigs
!
El resultado obtenido se verá de la siguiente manera (ojo, que la tabla entregada por STA STATA es más larga, para efectos de este documento ha sido cortada):
Como se puede observar, la tabla no solo entrega la frecuencia de personas que dicen fumar determinadas cantidades de cigarrillos, sino que también indica el porcentaje de ello. Para este caso, se señala que 497 personas dicen fumar cero cigarrillos al día, lo cual corresponde a un 61,59% del total de miembros de la muestra (encuestados).
Pregunta e) ¿Qué porcentaje de los encuestados han estudiado por lo menos 12 años (esto es; educación básica y media completa)? ¿Cómo se obtiene esta cifra? La solución de este problema es bastante simple utilizando el comando ‘count’ , sin embargo, para efectos del siguiente texto utilizaremos tanto esta técnica, como una adicional que consiste en la creación de una nueva variable. Primeramente, para la utilización del comando ‘count’ , este se hará introduciendo la condición de que la variable ‘educ’ sea mayor o igual que 12, lo anterior se logra de la siguiente manera: count if educ>=12
!
Y el resultado obtenido es:
Una segunda alternativa para resolver la problemática señalada es la creación de una nueva variable que contenga solamente los valores para los cuales la variable ‘educ’ es mayor o igual a 12. Esta nueva variable, para efectos del ejemplo, la llamaremos ‘educ12’. Lo primero que debemos hacer es crear la variable ‘educ12’ es utilizar el comando ‘generate’ , que creara la nueva variable, y a su vez, establecer que esta variable tenga el valor 1 cuando la variable ‘educ’ sea mayor o igual a 12. Esto se realiza de la siguiente manera: generate educ12=1 if educ>=12
!
Como se puede apreciar del visor de resultados, al realizar la operación anterior, STATA indica que existen valores perdidos (esto quiere decir que la variable no tiene valores asociados y se denota por “missing values”), lo cual se corrige haciendo que el sistema rellene dichos espacios en blanco con ceros.
Ahora, para rellenar esos valores perdidos con ceros, debemos utilizar el siguiente comando: replace educ12=0 if educ12!=1
!
Con el comando anterior, lo que le estamos diciendo a STATA es que cuando encuentre en la variable ‘educ12’ valores distintos a “1” (valores sin registros), los reemplace por valores cero (en STATA cuando queremos señalar una desigualdad, esta se hace utilizando el signo de exclamación seguido por un signo igual [!=]).
Una vez creada la variable, y habiendo eliminado los valores perdidos, se puede utilizar el comando comando ‘tabulate’ para encontrar a las personas que han estudiado por lo menos 12 años. La forma de ejecutar el comando es la siguiente: tabulate educ12
!
El resultado obtenido será el siguiente:
Del resultado anterior se puede desprender que cuando la variable ‘educ12’ toma el valor de 1 (es decir, cuando la educación es mayor o igual a 12), esta nos señala que corresponde a 584 personas, que es el mismo valor obtenido anteriormente al usar el comando ‘count’ .
Pregunta f) ¿Cuál es la estimación por M.C.O. del siguiente modelo? cigsi
=
! 0 + ! 1cigprici + ! 2 educi + ! 3agei + ! 4 log(incomei )
Para realizar una regresión por el método de los mínimos cuadrados ordinarios (M.C.O.) se debe utilizar el siguiente comando: regress cigs cigpric educ age lincome
!
Como se puede observar, tras señalar a STATA que se quiere realizar una regresión (con el comando comando ‘regress’ ) es necesario escribir en primer lugar la variable independiente y posteriormente las variables dependientes, separadas únicamente por un espacio. Una vez ejecutada la regresión, se obtendrá el siguiente resultado:
1
2
3
Como se puede observar, al ejecutar una regresión en STATA, este entrega los resultados divididos en tres secciones; Los resultados más relevantes son los siguientes:
Sección 1 - Sumas de cuadrados: En esta sección se ofrecen los resultados de las sumas de cuadrados (SCR, SCE y SCT). En este caso, los valores se encuentran bajo la columna SS y los respectivos resultados son “Model” para la suma de cuadrados de la regresión (SCR), “Residual” para la suma de cuadrados del error (SCE) y “Total” para la suma de cuadrados totales (SCT).
Sección 2 - ANOVA: Acá se encuentran los resultados de una tabla ANOVA (análisis de varianza), en particular los resultados más interesantes son el valor del estadístico F (y su respectivo valor-p ó p value), value) , además del valor del coeficiente de determinación (R2). Para efectos prácticos, el valor del estadístico F se encuentra donde dice ‘F( 4, 802)’ y el valor p es aquel asociado al término ‘Prob > F’. Por su parte, el valor de R 2 se obtiene donde dice ‘R-squared’.
Sección 3 - Coeficientes Beta: En esta sección es donde se encuentran los coeficientes beta, sus respectivos errores estándar, así como sus respectivas pruebas t y los intervalos de confianza para los coeficientes. Como se puede observar, en la columna “Coef” es donde se encuentran los valores de los regresores (betas), el término constante o "0, se encuentra donde dice “_cons”. El resto de los valores ", se encuentran junto a sus respectivas variables. Considerando lo anterior, se puede estimar el siguiente modelo de regresión:
cigsi
=
0,5862 - 0,0406 cigprici ! 0,3891 educi ! 0,0426 agei + 1,7720 log(incomei )
Pregunta g) ¿Son las variables ‘cigpric’ y ‘age' conjuntamente significativas? Para resolver lo anterior, se puede utilizar el comando ‘test’ y y se agregan ambas hipótesis en forma conjunta, es decir, se utiliza la siguiente función: test (cigpric==0) (age==0)
!
En este caso, lo que hace STATA es crear un modelo restringido en el cual se eliminan ambas variables estudiadas (en este caso ‘cigpric’ y ‘age’) y posteriormente efectúa una prueba F al modelo restringido. El resultado que se obtiene es el siguiente:
Del resultado del valor p (Prob > F), se puede determinar que con un 95% de confianza no se rechaza la hipótesis nula de que ambas variables no son conjuntamente significativas. Es decir, existe evidencia que indica que las variables ‘cigpric’ y ‘age’ no son conjuntamente significativas.
Pregunta g) ¿Tienen el mismo efecto en el consumo de tabaco las variables ‘cigpric’ y ‘age’? Conteste a esta pregunta mediante una reparametrización del modelo. Primero debemos establecer un modelo reparametrizado del modelo original, es decir, el modelo original es:
cigsi
=
! 0 + ! 1cigprici + ! 2 educi + ! 3agei + ! 4 log(incomei )
Entonces establecemos un modelo reparametrizado sería el siguiente:
! = cigpric + age cigsi = " 0 + " 1cigpric + " 2 educi + ! cig cig _ agei + " 4 Log(incomei )
Lo primero entonces que se debe hacer es crear una nueva variable, la cual se denominará (para este ejemplo) como ‘cig_age’, para esto, se utiliza el siguiente comando: generate cig_age = cigpric+age
!
Una vez generada la nueva variable, se debe volver a ejecutar la regresión, esta vez con el nuevo modelo y la nueva variable generado. Para hacer esto, se utiliza el siguiente comando: regress cigs cigpric educ cig_age lincome
!
El resultado obtenido al generar este nuevo modelo es el que se muestra a continuación:
Como lo que se estaba pidiendo es saber si las variables ‘cigpric’ y ‘age’ tienen el mismo efecto, se debe verificar si la variable reparametrizada, en este caso ‘cig_age’, es estadísticamente significativa. Para ello, se debe verificar el estadístico t-student asociado a dicha variable. En este caso, y usando el criterio del valor-p (P > | t |), se puede establecer que ambas variables no son estadísticamente significativas, es decir, no podemos rechazar la hipótesis nula de que la variable ‘cig_age’ es igual a cero.