Sesión Con STATA
Sesión Con STATA
Sesión Con STATA
Command: Sirve para utilizar Stata de forma interactiva, es decir se emplea para crear las lneas
de comandos y llevar a cabo las aplicaciones disponibles en el software.
Results: Esta nos permite visualizar los resultados (outputs) de los estadsticos que pedimos
calcular o de los modelos que solicitamos estimar
Review: Aqu aparecen los comandos que han sido utilizados durante la sesin. Solo
los resultados ms recientes son visibles en esta pantalla.
Variables: Nos informa sobre las variables que estn disponibles en nuestra base de
datos para realizar las diversas aplicaciones
Properties: muestra las propiedades de las variables y los conjuntos de datos.
Browser (explorador de datos) con el botn y editar haciendo clic en para abrir
Data Editor (Editor de datos). Tanto el explorador de datos y el editor de datos tambin se
pueden abrir a travs del men Window. Tenga en cuenta sin embargo, que nada se
puede hacer en Stata, mientras que el explorador de datos o el Editor de datos estn
abiertos (por ejemplo, la ventana de comandos Stata desaparece).
1.3. Tipos de Archivos Bsicos
1.3.1. Datos (.dta)
Los datos que utilizaremos en stata los guardaremos en formato .dta, que es el formato
propio de Stata. De todos modos, Stata tiene la capacidad de importar datos en muy
diversos formatos (Excel, SPSS, ASCII, CSV, etc) as que con un poco de trabajo podremos
abrir la mayora de las bases de datos.
1.3.2. Sintaxis (.do)
Los archivos de sintaxis se guardan en formato do, y por eso los conocemos cmo do-
files. En realidad son meros archivos de texto que podemos editar en mltiples
programas, pero nos sirven para conservar la sintaxis de nuestro trabajo.
1.3.3. Output (.log)
Si queremos conservar los resultados lo podemos hacer en un log file. Podemos elegir
dos tipos, aunque el ms recomendable es .log, que no tiene formato y nos garantiza
compatibilidad con otros editores de textos.
1.3.4. Extensiones (.ado)
Son uno de los puntos fuertes de Stata. Los usuarios, con relativa facilidad, pueden escribir
funciones y comandos nuevos y distribuirlos gratuitamente. De este modo, la potencia del
programa se multiplica, ya que all donde la distribucin oficial no llega, s lo hacen los
usuarios. Durante el curso aprenderemos a buscar e instalar archivos ado que nos
permitirn realizar funciones que no vienen por defecto en el programa.
1.4. Sintaxis de las rdenes de Stata
La aplicacin Stata posee un lenguaje de programacin avanzado que respeta unas
normas de sintaxis, al igual que otros lenguajes de programacin. Quienes estn
familiarizados con estos lenguajes les resultar muy sencillo asimilar el lenguaje se Stata.
Cualquier orden en Stata (con muy pocas excepciones) posee la siguiente sintaxis:
[prefix :] command [varlist] [=exp] [if] [in] [weight] [using filename] [, options]
Pero la mayora de las veces vamos a utilizar la siguiente forma, mucho ms simplificada:
Ejemplos:
CURSO: Econometra con STATA SESION: Introduccin al STATA
Expositor: Mg. Vctor M. Chung Alva
pwd
Se obtiene el siguiente resultado, el cual indica que estamos ubicados en la carpeta stata
del disco C del ordenador.
c:\stata
cd c:\datos
Se utiliz el comando cd y se especific la nueva ruta. En este caso se est indicando al programa
que se ubique en la carpeta datos que se encuentra en el disco C del computador.
La ventaja de indicar desde un comienzo la carpeta del computador donde se est trabajando, es
que evita indicar la ruta completa de los archivos cada vez que queramos abrir o guardar una base
de datos, o abrir o guardar un log. Obviamente esto tiene sentido cuando para un trabajo
especfico tenemos todos los archivos necesarios en la misma carpeta.
STATA no va a reconocer una carpeta que tenga espacios en blanco en el nombre, a no ser que se
indique la ubicacin de esta carpeta entre comillas. Por este motivo, se debe evitar llamar a una
carpeta con la que van a trabajar en STATA con nombres que contengan espacios en blanco.
CURSO: Econometra con STATA SESION: Introduccin al STATA
Expositor: Mg. Vctor M. Chung Alva
1.6. Abrir una base de datos
Las bases de datos en formato Stata tienen extensin .dta. Las versiones antiguas del
software no se pueden abrir bases de datos que han sido trabajadas y guardas en una
versin ms moderna, cuando intentemos hacer esto el programa entregar un error
indicando que la base no tiene formato Stata.
Antes de abrir una base de datos se tienen que cumplir dos condiciones:
1. El programa debe estar limpio, sin ninguna base de datos ya cargada. Para limpiar el
programa de otras bases de datos se debe utilizar el comando clear. Si he estado
trabajando una base de datos previamente la cual se ha modificado y no he guardado
estas modificaciones, al intentar abrir una nueva base de datos sin limpiar antes
arrojar el siguiente error:
2. El programa debe tener suficiente memoria. Para entregarle memoria a Stata se debe
utilizar el comando set mem. Por ejemplo, si la base de datos que deseamos cargar
pesa 100 MB, en la ventana Command debemos tipear:
base de datos como nombre.dta En este caso podemos apretar el icono y buscar
la ubicacin de la base de datos. Tambin podemos hacerlo dirigindonos a
File/Open
2. Otra forma es tipear en Stata Command
use [disco en que la guardaremos] \ [ruta de acceso] \ [nombre de archivo.dta], clear.
Por ejemplo:
O simplemente
Es importante escribir replace, sino el programa les enviara un error diciendo que la
base de datos ya existe.
2. Si quiere guardar la base de datos con un nuevo nombre no es necesario tipear replace:
CURSO: Econometra con STATA SESION: Introduccin al STATA
Expositor: Mg. Vctor M. Chung Alva
save C:\stata\auto2.dta
Una vez que los datos han sido cargados, se puede optimizar el espacio que estos
ocupan utilizando el comando compress, este comando comprime la base de datos. Es
muy til cuando trabajamos con bases de datos grandes.
2. EJEMPLO DE SESION
2.1. Administracin de base de datos
El conjunto de datos que vamos a utilizar para esta sesin es un conjunto de datos sobre la
venta de automviles en los Estados Unidos en 1978.
1. Comando sysuse
Comenzamos cargando el conjunto de datos auto, que se incluye con Stata. En la ventana
de comandos escribimos:
sysuse auto
El siguiente resultado aparece en la gran ventana de resultados:
hacer haciendo clic en el botn Data Editor (Browse), o tecleando el comando browse.
browse
Cuando se abre el Data Editor, se puede ver que Stata refiere a los datos como una tabla
rectangular. Esto es cierto para todos los conjuntos de datos Stata. Las columnas
representan las variables, mientras que las filas representan las observaciones. Las
variables tienen nombres descriptivos, mientras que las observaciones estn numeradas.
CURSO: Econometra con STATA SESION: Introduccin al STATA
Expositor: Mg. Vctor M. Chung Alva
Los datos se presentan en varios colores- que a primera vista parece que las variables
enumeradas en negro son numricas, mientras que los que estn en colores son de texto.
Esto vale la pena investigar. Haga clic en una celda bajo la variable make: el cuadro de
entrada en la parte superior se muestra la marca del coche (color rojo). Desplcese hacia la
derecha hasta que aparezca la variable foreign. Haga clic en una de sus celdas. Aunque la
celda puede mostrar "domstica", el cuadro de entrada muestra un 0. Esto muestra que
Stata puede almacenar datos categricos como nmeros pero visualizar texto legible (color
azul). Esto se hace por lo que Stata llama value labels. Por ltimo, en la variable rep78, que
parece ser numrica, hay algunas celdas que contienen slo un punto (.). Los puntos
corresponden a los valores perdidos.
3. Comando describe
Podemos ver la estructura del conjunto de datos mediante la descripcin de su contenido.
Esto se puede hacer escribiendo describe en la ventana de comandos y pulsar enter.
El comando describe entrega informacin de todas las variables que se encuentran en la
base de datos. Esta informacin incluye el tipo de almacenamiento (byte, int, long, float,
double, string), el formato de los datos, la variable que contiene el label (etiqueta), y la
descripcin de la variable. Adems entrega informacin de nmero de observaciones,
nmero de variables y tamao de la base de datos.
Cuando la base de datos es muy grande y slo se quiere obtener informacin de algunas de
las variables contenidas en ella, despus de describe (o simplemente d) se ingresa la lista de
variables de las cuales Ud. desea una descripcin.
CURSO: Econometra con STATA SESION: Introduccin al STATA
Expositor: Mg. Vctor M. Chung Alva
. describe
Mirando la lista de describe podemos ver que Stata realiza un seguimiento ms detallado
que los datos en bruto. Cada variable tiene lo siguiente:
name variable, nombre de la variable cuando se comunica con Stata. Los nombres
de variables son un tipo de nombre de Stata.
storage type, forma en que Stata almacena sus datos. Para nuestros propsitos, es
suficiente saber que lo tipos comienzan que comienzan con str son variables string
o texto, mientras que todos los dems son numricos.
display format, controla cmo Stata muestra los datos en tablas.
value label, Este es el mecanismo que permite Stata almacenar datos numricos
mientras exhibe el texto.
variable label, nombre de la variable en la comunicacin con otras personas. Stata
usa la etiqueta de variable al hacer tablas, como veremos ms adelante.
CURSO: Econometra con STATA SESION: Introduccin al STATA
Expositor: Mg. Vctor M. Chung Alva
4. Comando label
Etiquetaremos las variables (en espaol) usando el comando label variable
Para lograr que una base de datos sea ms amigable y sea entendida por cualquier usuario,
es recomendable incorporar etiquetas a los nmeros o cdigos de las variables. Esto se
hace mediante la utilizacin de variables secundarias llamadas value labels. Si una variable
tiene una variable secundaria que entregue etiqueta a los cdigos que contiene, debera
aparecer en el resultado del comando describe.
Ejemplificaremos esto con la variable foreign (etiquetada con etiquetas en ingls).
a) Asociaremos una variable secundaria (value label) que realice el nexo entre los cdigos
y sus etiquetas:
save c:\stata\auto2.dta
6. Comando summarize
Aunque la descripcin de los datos nos dice algo acerca de la estructura de los datos, se
dice poco sobre los propios datos. Los datos se pueden resumir a travs del comando
summarize. El resultado es una tabla que contiene las estadsticas de resumen sobre todas
las variables del conjunto de datos:
. summarize
make 0
price 74 6165.257 2949.496 3291 15906
mpg 74 21.2973 5.785503 12 41
rep78 69 3.405797 .9899323 1 5
headroom 74 2.993243 .8459948 1.5 5
Aunque podramos utilizar los comandos summarize y describe para obtener una visin de la
base de datos, Stata tiene un comando que le da una buena descripcin de la estructura, el
contenido y los valores de las variables: el comando codebook.
7. Comando codebook
El comando codebook es ms completo, presenta la etiqueta de la variable, el formato, el
rango de los datos, si esta codificada en nmeros enteros (units: 1), cuantas observaciones
no tienen dato de esta variable, el promedio, la desviacin estndar, y los percentiles.
Nos centraremos en la salida de make, rep78 y foreign.
CURSO: Econometra con STATA SESION: Introduccin al STATA
Expositor: Mg. Vctor M. Chung Alva
. codebook make
Podemos deducir que foreign es una variable indicador debido a que sus nicos valores son
0 y 1. La variable tiene una etiqueta de valor que muestra Domestic en vez de 0 y Foreign en
vez de 1. Hay dos ventajas por almacenar los datos en esta forma:
El almacenamiento de la variable como un byte toma menos memoria porque cada
observacin utiliza 1 byte en lugar de los 8 bytes necesarios para almacenar
"Domestic". Esto es importante en grandes conjuntos de datos.
Como una variable indicador, es fcil de incorporarla en modelos estadsticos.
CURSO: Econometra con STATA SESION: Introduccin al STATA
Expositor: Mg. Vctor M. Chung Alva
Por ltimo, podemos aprender un poco sobre una variable mal etiquetada con valores
perdidos analizando la variable rep78. Al tipear codebook rep78 en la ventana de comandos
y pulsando enter obtenemos:
. codebook rep78
rep78 parece ser una variable categrica, pero debido a la falta de documentacin, no
sabemos que significan los nmeros. Esta variable tiene cinco valores perdidos, lo que
significa que hay cinco observaciones para las cuales el registro de reparacin no se
registra. Podramos utilizar el editor de datos para investigar estas cinco observaciones,
pero vamos a hacer esto utilizando la ventana de comandos porque hacerlo as es mucho
ms simple. Nos gustara ver slo aquellas observaciones para las que rep78 est faltante,
por lo podemos tipear:
browse if missing(rep78)
De esto, podemos ver que las entradas . son de hecho valores perdidos, aunque otros
valores perdidos son admisibles.
Nota de Sintaxis: Usando la calificacin if es lo que nos permiti ver un subconjunto de las
observaciones.
Mirando a travs de los datos no presta ninguna pista acerca de por qu estos datos en
particular estn perdidos. Comprobemos el origen de los datos para ver si los valores
CURSO: Econometra con STATA SESION: Introduccin al STATA
Expositor: Mg. Vctor M. Chung Alva
perdidos fueron originalmente faltantes o si se omitieron por error. El listado de la marcas
de los autos cuyo registro de reparacin faltan ser todo lo que necesitaremos porque
hemos visto que los valores de variable make son nicos. Esto se puede hacer tipeando:
Vamos a la referencia original y encontramos que los datos fueron realmente faltantes y no
pueden ser recuperados.
2.2. ESTADISTICA DESCRIPTIVA
Hemos visto que el comando summarize dio breves estadsticas de resumen sobre todas las
variables. Supongamos ahora que estamos interesamos en los precios luego de resumir los
datos porque parecan increblemente bajos (era 1978, despus de todo). Para tener una
mirada en profundidad de la variable Price tipeamos en la ventana de comandos:
Precio
Percentiles Smallest
1% 3291 3291
5% 3748 3299
10% 3895 3667 Obs 74
25% 4195 3748 Sum of Wgt. 74
. tabulate foreign
Tipo de
vehculo Freq. Percent Cum.
Total 74 100.00
Vemos que aproximadamente el 70% de los coches en el conjunto de datos son nacionales,
mientras que el 30% son extranjeros. Las etiquetas de valor se utilizan para hacer la tabla
para que la salida sea bien legible.
La tabla para reparacin obtiene tipeando tabulate rep78:
CURSO: Econometra con STATA SESION: Introduccin al STATA
Expositor: Mg. Vctor M. Chung Alva
. tabulate rep78
Registro de
reparacin
1978 Freq. Percent Cum.
1 2 2.90 2.90
2 8 11.59 14.49
3 30 43.48 57.97
4 18 26.09 84.06
5 11 15.94 100.00
Total 69 100.00
Podemos ver que la mayora de los coches tienen registros de reparacin de 3 o ms,
aunque la falta de etiquetas de valor no permite estar seguros de lo que significa un "3".
Supondremos que los valores indican una calificacin dada ala automvil donde 1 indica un
mal registro de reparacin y 5 indica un buen registro de reparacin. Los cinco valores que
faltan son indirectamente evidentes debido a que el nmero total de observaciones es 69
en lugar de 74.
Estas dos tablas de un solo sentido no ayudan a comparar los registros de reparacin de
vehculos extranjeros y nacionales. Una tabla cruzada sera de gran ayuda:
. tabulate rep78 foreign, row
Key
frequency
row percentage
Registro
de
reparacin Tipo de vehculo
1978 Domestic Foreign Total
1 2 0 2
100.00 0.00 100.00
2 8 0 8
100.00 0.00 100.00
3 27 3 30
90.00 10.00 100.00
4 9 9 18
50.00 50.00 100.00
5 2 9 11
18.18 81.82 100.00
Total 48 21 69
69.57 30.43 100.00
El resultado indica que los coches extranjeros son en general mucho mejor que los
vehculos nacionales cuando se trata de reparaciones.
CURSO: Econometra con STATA SESION: Introduccin al STATA
Expositor: Mg. Vctor M. Chung Alva
Continuando con la exploracin de los datos, nos gustara comparar el millaje de gasolina
entre los coches extranjeros y nacionales, empezando por observar las estadsticas de
resumen para cada grupo. Una forma directa de hacerlo sera utilizar el clasificador if para
resumir mpg para cada uno de los dos valores de foreign en forma separada:
. summarize mpg if foreign == 0
Se puede ver que los resultados coinciden con los anteriores. Estos ltimos tienen una
mejor apariencia, porque se utilizan las etiquetas de valor en lugar de los valores
numricos. El mtodo es ms atractivo debido a que los resultados fueron producidos sin
conocer los valores posibles de la variable de agrupacin antes de tiempo.
El tercer mtodo para tabular las diferencias de rendimiento de la gasolina a travs del
origen del auto es:
. tabulate foreign, summarize(mpg)
Group Obs Mean Std. Err. Std. Dev. [95% Conf. Interval]
A partir de esto, podemos concluir que el consumo de combustible promedio para los autos
extranjeros es diferente a la de los automviles nacionales.
Si no asumimos varianzas iguales tipeamos
Group Obs Mean Std. Err. Std. Dev. [95% Conf. Interval]
mpg weight
mpg 1.0000
weight -0.8072 1.0000
Existe una correlacin negativa, lo que no es sorprendente porque los coches ms pesados
deben ser ms difciles de impulsar.
Podemos la correlacin separada para autos extranjeros y nacionales a travs del uso de
prefijos. Tipeamos:
mpg weight
mpg 1.0000
weight -0.8759 1.0000
mpg weight
mpg 1.0000
weight -0.6829 1.0000
CURSO: Econometra con STATA SESION: Introduccin al STATA
Expositor: Mg. Vctor M. Chung Alva
2.5. GRAFICOS
Hemos encontrado varias cosas en nuestro anlisis hasta ahora: Sabemos que el MPG
promedio para vehculos nacionales y extranjeros es diferente. Hemos aprendido que los
vehculos nacionales y extranjeros difieren de otras formas, tales como la frecuencia de
reparacin. Se encontr una correlacin negativa entre el MPG (mpg) y el peso (weight),
como era de esperar, pero la correlacin parece ms fuerte para los vehculos nacionales.
Ahora nos gustara examinar, con la mirada puesta en el modelado, la relacin entre MPG y
el peso, a partir de un grfico. Podemos comenzar con un diagrama de dispersin entre
mpg vs weight. El comando para esto es simple: scatter mpg weight
20
10
Los grficos muestran que la relacin no es lineal para ambos tipos de vehculo.
CURSO: Econometra con STATA SESION: Introduccin al STATA
Expositor: Mg. Vctor M. Chung Alva
2.6. AJUSTE DE UN MODELO: REGRESION LINEAL
Despus de examinar los grficos, queremos ajustar un modelo de regresin que prediga
MPG a partir del peso y el tipo de auto. De los grficos, se observa que la relacin no es
lineal y por lo tanto vamos a tratar de modelar MPG como una funcin cuadrtica del peso.
Adems a partir de los grficos, juzgamos que la relacin es diferente para vehculos
nacionales y extranjeros. Vamos a incluir una variable indicadora (dummy) para la variable
foreign y evaluaremos posteriormente si esto describe adecuadamente la diferencia. Por lo
tanto ajustaremos el modelo
foreign es ya una variable indicador (0/1), pero tenemos que crear la variable .
Tipeamos:
generate weight2=weight^2
Ahora que tenemos todas las variables que necesitamos, podemos ejecutar una regresin
lineal. Tipeamos:
Los resultados son alentadores, por lo que trazaremos los valores pronosticados en los
diagramas de dispersin para cada uno de los tipos de autos. Para ello, necesitamos que los
valores predichos, o ajustados. Vamos a crear una nueva variable, mpg_p.
predict mpg_p
El comando predict, cuando es usado despus de una regresin, es llamado comando de
pos estimacin.
Podemos graficar los datos y la curva predicha para evaluar por separado el ajuste de los
datos nacionales y extranjeros para determinar si la estimacin es adecuada. Podemos
graficar ambos grficos juntos. Tipeamos lo siguiente:
Domestic Foreign
40
30
20
10
Aqu podemos ver la razn para encerrar separadamente los comandos scatter y line entre
parntesis: pueden ser superpuestos mediante la presentacin conjunta. El ajuste de las
datos parece bueno.
Observacin: Segn los conocimientos en ingeniera se debe tener el doble de energa para
mover una milla a 2,000 libras, en comparacin con el movimiento de 1000 libras a la
misma distancia, por lo que debe consumir el doble de gasolina. Entonces Millas por galn
no es cuadrtica en el peso; la misma teora nos dice que galones por milla es una funcin
lineal de peso.
Generaremos una variable de galones por milla y obtendremos un diagrama de dispersin.
generate glpm=100/mpg
label variable glpm Galones por 100 millas
Domestic Foreign
8
6
Galones por 100 millas
4
2
Total
8
6
4
2
Encontramos que los autos extranjeros tenan mejor rendimiento de combustible que los
vehculos nacionales en 1978 porque eran ms ligeros. De acuerdo con nuestro modelo, un
auto extranjero con el mismo peso que un auto nacional utilizara un adicional de 5/8
galones (o 5 litros) de gasolina por cada 100 millas recorridas.