You are on page 1of 124

UNIVERSIDAD NACIONAL DEL CALLAO

Facultad de Ciencias Econmicas


Escuela Profesional de Economa

MANUAL DE STATA

Curso: Econometra I

Profesor: Erix Aldo Ruiz Mondaca

GESTIN DE BASE DE DATOS CON STATA

Asistente: David Esparta Polanco

david.esparta@gmail.com

1
Cap. 1 Introduccin

1.1 El entorno de STATA 11


Al momento de iniciar la sesin en STATA, esta mostrar cuatro ventanas im-
portantes:

Otras ventanas a tomar en consideracin son:

1. STATA Viewer: Podemos acceder a la informacin online y a las ayudas


que nos otorga el programa.
2. STATA Do-File Editor: Es una ventana que funciona como editor de
texto para poder guardar y ejecutar una lista de comandos programados.
3. STATA Data Editor: Nos permite digitar y modicar los datos de la
misma forma que una hoja de Excel.
4. STATA Browser: Accedemos a la ventana de datos sin poder modicar
su contenido.
5. STATA Graphs: Nos muestra una ventana con el grco que ejecuta-
mos.

2
1.2 La Barra de Herramientas
La barra de herramientas nos permite realizar operaciones rutinarias como abrir,
guardar, imprimir algn archivo, adems de otras particularidades.

Icono Signicado

Nos permite abrir una base de datos con extensin *.dta.

Nos permite guardar una base de datos que est siendo utilizada.

Nos permite imprimir el contenido registrado en la ventana del


Stata Result.

Nos permite iniciar, cerrar, suspender o resumir una bitacora (la


cual se guardan con extensin *.log o *.smcl). Es til para
guardar los resultados mostrados por el Stata Result.

Nos muestra la ventana del Stata Viewer oculta.

Nos indica la ventana del Stata Graphic.

Nos permite iniciar el uso del Stata Do-File.

Nos permite abrir la ventana del Stata Editor que esta oculta.

3
Nos permite abrir la ventana del Stata Browser que esta oculta.

Ordena al Stata continuar la ejecucin de un comando que fue


detenido.
Ordena al Stata detener la ejecucin de un comando.

1.3 Tipos de Archivo


Stata reconoce 4 tipos de archivos:

1. Archivo *.dta : Lee base de datos del entorno de STATA.


2. Archivo *.do : Lee el Do-File, la cual contiene una serie de
programas y/o funciones.
3. Archivo *.log : Guarda los resultados que arroja el STATA, tambin
llamado bitcora.
4. Archivo *.gph : Guarda los gracos creados en el STATA.

1.4 Sintaxis de los Comandos del STATA


La estructura general de la sintaxis bsica de los comandos en el STATA es:

[pre x :] command [varlist] [if expr ] [in] [weight] [using lename] [; options]

Donde:
pref ix : Permite repetir las ejecuciones de un determinado comando
o modicar el input y/o output de la base de datos.
command : Indica el comando del STATA.
varlist : Indica la lista de nombres de variables.
weight : Indica la variable de ponderacin.
if : Indica una expresin lgica condicional .
exp : Indica la expresin matemtica utilizada para la condicional.
in : Seala el rango de observaciones que queremos analizar.
f ilename : Seala el nombre del archivo.
options : Seala una o ms opciones que aplica el comando.

4
1.5 Expresiones Lgicas del STATA
Las siguientes expresiones nos servirn para la programacin en STATA.

1.6 Esquema de un Archivo de Trabajo


A la hora de trabajar con el STATA (especcamente en el archivo Do-le) es
recomendable mantener el siguiente esquema de trabajo:

5
1.7 Recursos del STATA
STATA cuenta con una documentacin extensa la cual puede encontrarse en el
mismo software as como tambin en la web.

a). Guides User STATA: La gua de usuario se accede en la barra de herramien-


tas a travs de la siguiente ruta: Help >PDF Documentation. Esta
gua es muy importante para los usuarios que comienzan a trabajar con
STATA.
b). STATA Journal (SJ) y STATA Technical Bulletin (STB): Presentan doc-
umentacin acerca de nuevos comandos que no estn incluidos en el soft-
ware, la cual pueden ser descargados por la web.
c). Otras Fuentes:

http://www.stata.com/support/

Incluye un resumen de lo que hace el STATA. En particular se recomienda


ver la parte de respuestas: FREQUENTLY ASKED QUESTION (FAQs).

http://www.ats.ucla.edu/STAT/stata

Provee diversos tutoriales y videos para aprender STATA.

1.8 Comandos de Ayuda del STATA


Existen diversos comandos que sirven como ayuda para el manejo de STATA,
entre ellas tenemos:

a). help : Es muy til si se conoce el nombre comando para la cual se necesita
ayuda.

Example 1 help regress

b). search : Busca una palabra clave "keyword" en los archivos ociales de
ayuda, FAQs, examples, the SJ y el STB, pero no del internet.

Example 2 search ols

c). net search : Busca en Internet paquetes instalables, incluyendo cdigos


del SJ y el STB.

Example 3 net search random e ect

d). ndit : Provee la ms amplia bsqueda de keyword con informacin rela-


cionado al STATA. Es til ya que no se necesita especicar el keyword de
manera completa.

6
Example 4 ndit weak inst

e). hsearch : Busca el keyword en todos los archivos de ayuda (con extensin
.sthlp o .hlp). El inconveniente es que se necesita el keyword completo.

Example 5 hsearch weak instrument

7
Cap.2 Gestin de Base de

Datos
Aprenderemos en qu consiste una sesin de trabajo en STATA y exploraremos
algunos comandos que nos permitan realizar un anlisis de base de datos ha-
ciendo uso del Do-le. Para dicho n, explicaremos el funcionamiento de esta
herramienta del STATA.

2.1 El Do-File

STATA cuenta con una ventana que nos permite trabajar con una serie de
comandos y almacenarlas. Estos archivos son muy importantes por los siguientes
motivos:

Permite registrar una de serie de comando, la cual representa todo el


procedimiento de nuestro trabajo.
Permite ir corrigiendo posibles errores que se pueden generar en la elabo-
racin y ejecucin de nuestro trabajo.
Permite poder nuevamente replicarlo en sesiones posteriores sin necesidad
de crearlo nuevamente.
Adems, sirve como un mecanismo de seguridad que permite regresar a la
base de datos original despus de haberle hecho diversas transformaciones.

Para acceder al Do-le hacemos clic al cono correspondiente en la barra de


herramientas o simplemente presionamos la siguiente sucesin de teclas Ctrl+8.
Recuerde que el archivo Do-le se guarda con extensin *.do.

Con respecto a las formas de poder ejecutar los comandos, se puede hacer

a travs del icono (execute do) ubicado en la parte superior derecha de la


barra de herramientas del archivo Do-le o presionando los teclados Ctrl+D
una vez que sombremos el comando queramos correr. Una vez realizada esta
accin, se reejar los resultados en la ventana Result View del STATA.

8
2.1.1 Realizando Comentarios en el Do-File
El Do-le puede incluir comentarios incrementando el entendimiento de un pro-
grama o archivo de trabajo. Existen diferentes formas de incluir un comentario:

Una simple lnea de comentario empieza con un asterisco ( ) ; donde


STATA ignorar tales lneas.
Para colocar un comentario en la misma lnea donde fue escrito el comando
utilizamos dos slash (= =) :
Para lneas con mltiples comentarios, colocamos el texto entre los sm-
bolos (= ) al inicio y ( =) al nal.
En el caso de que se haga uso de un comando la cual presenta una expresin
muy larga podemos utilizar tres slash (= = =) en medio de la expresin y
as continuar en la siguiente lnea la parte faltante. STATA entender
como si fuera una nica lnea de comando.
Por ltimo, tambin se utilizan los smbolos de comentarios con nes dec-
orativo.

Example :

*********************************************
**USANDO COMENTARIOS EN EL DO-FILE**
*********************************************

*Este es mi primer comentario

clear // este es un comentario para el comando clear

/*
este es
un comentario
con lneas mltiples
*/

sysuse ///
auto.dta

N ote : Como ver los comentarios se resaltan de color verde.

9
2.1.2 Iniciando la Estrucutra de un Do-le
Como se explic en el esquema usual de un do-le, esta empieza con el comando
clear. Este comando nos permite limpiar por inercia una base de datos y
etiquetas existentes en la memoria del STATA. Es importante saber que este
comando presenta algunas opciones que se mostrarn a continuacin:

Example :

Remueve la base de datos y las etiquetas:

clear

Adems, puede remover funciones del M AT A1 , resultados guardados in-


ternamente por el STATA, adems de matrices, programas y archivos
*.ado:

clear [mata; result; matrix; program; ado]

Si se desea borrar todo de una sola vez, se usa la siguiente opcin:

clear all

2.1.3 Asignando Memoria al STATA


Dado que existen bases de datos con diferentes tamaos, es posible que ante
bases demasiados grandes y pesadas, el STATA no podr reconocerlo por falta
de memoria, es por ello que puede encontrarse con el siguiente mansaje de error:

1 MATA es un lenguaje de programacin matricial que puede ser usado por quienes desean

calcular iteraciones en un entorno de matrices.

10
Generalmente se suele trabajar con una capacidad de memoria de 20m
(megabyte), para realizar esta operacin escribimos lo siguiente2 :

set memory 20m

2.1.4 Manejo de Directorios


Cuando se incia sesin en STATA, por defecto trabaja en la carpeta en donde
se encuentra ubicado el programa. Si por ejemplo, el software se ubicase en el
disco "C:nArchivos de Programas" entonces la carpeta de trabajo o direc-
torio se encontrar en la siguiente ruta "C:nArchivos de ProgramasnStata
11n". Para saber con qu directorio se est trabajando actualmente se utiliza
el comando pwd, y el resultado se reejar de la siguiente forma:

Example :

pwd
C:nArchivos de programanStata11

Tambin es posible saber lo anterior viendo la parte inferior izquierda del


entorno del STATA.

2 Para saber cules son las diversas opciones que presenta el STATA para trabajar con

diferentes tamaos de base de datos recurra al comando help set eligiendo la opcin memory
o simplemente escriba help memory.

11
Supongamos que en el disco "D:n" se crea una carpeta con el nombre "Econometra
I" la cual nos va a servir para guardar nuestros trabajos, entonces, el nuevo di-
rectorio se encontrara en la ruta : "D:nEconometria I ". Ahora utilizamos el
comando cd para cambiarnos al nuevo directorio indicando la nueva ruta entre
comillas de la siguiente manera:

Example :

cd "D:nEconometria I "
D:nEconometria I

STATA tambin cuenta con otros comandos para el manejo con directorios,
como son:

El comando mkdir nos permite crear una carpeta o directorio:

mkdir sesion_1

El comando dir nos permite observar el listado de todos los archivos que
se encuentran en nuestra carpeta de trabajo.

dir

2.1.5 Guardar los Resultados del STATA


Como se mencion, los resultados que arroja STATA puede ser almacenados
en una bitcora, es decir, crear un archivo *.log o *.smcl a travs del comando
log3 .

Para crear una bitcora llamada primera_bitacora recurrimos a la sigu-


iente sintaxis:

log using primera_bitacora

El STATA por defecto crear una bitcora con formato *.scml y se visu-
alizar en el directorio que estamos trabajando.

Example :

Si desea crear una bitcora con formato *.log escribimos:

log using primera_bitacora.log

Para dejar de registrar momentneamente los resultados usamos:

log o
3 Recurra al comando help log para ver todas las opciones que presenta.

12
Para volver a registrar los resultados usamos:
log on
Para cerrar la bitcora usamos:
log close
Para volver a reanudar la bitcora:
log using primera_bitacora,append
Para sobreescribir en la bitcora:
log using primera_bitacora,replace
Para observar una bitcora ya elaborada en el Result View usamos:
type primera_bitacora.scml

2.2 Abrir una Base de datos


Existen diferentes formas de invocar una base de datos, ya sea en formato del
STATA ( :dta) o en otros formatos ( :txt , :xls , etc).

2.2.1 Abriendo una base de datos con formato del STATA.


Para abrir una base de datos desde la ventana principal del STATA debemos
acceder a la siguiente ruta: File > Open. Luego aparecer un cuadro de dilogo
para buscar y elegir la base de datos que deseamos trabajar.

13
Si deseamos llamar una base de datos a travs del Do-le, basta con guardar
dicha base en el directorio actual que se est trabajando y llamarlo usando el
comando use.

Example : Supongamos que hemos guardado en la carpeta "Econome-


tria I " la base de datos enaho01-2009-100.dta. Para poder invocarlo escribimos:

use enaho01-2009-100.dta

En la parte inferior izquierda del entorno del STATA se apreciar las vari-
ables que contiene la base de datos enaho01-2009-100.dta.

Adems, STATA cuenta con base de datos dentro de sus sistema como ejem-
plos aplicativos, para invocarlos se utiliza el comando sysuse.

Example : Uno de las base de datos que cuenta el STATA es auto.dta.

sysuse auto.dta

2.2.2 Importando una base de datos de otros formato.


Segn el tipo de archivo que queremos importar la base de datos debemos usar
el comando indicado. El comando insheet lee base proveniente de una hoja
de clculo como por ejemplo Excel que son guardados por un spreadsheet o un
programa de bases como datos delimitado por comas ( :csv) o datos delimitado
por tabulaciones ( :txt). Es importante mencionar que la primera lnea de la
hoja de clculo se registre el nombre de las variables y a partir de la segunda
la se comienzan a registrar los datos.

Example : Supongamos que tenemos un archivo en Excel llamado "archivo1.xlsx "


con la siguiente estructura:

14
Debemos armar la base de datos de la siguiente forma:

Luego lo guardamos en nuestra carpeta de trabajo ("D:nEconometria I ") con


formato Texto (delimitado por tabulaciones) o CSV (delimitado por comas).

15
Finalmente utilizamos el comando insheet para importar la base de datos
como se indica a continuacin:

insheet using archivo1.csv


(Si fue guardado como delimitado por comas)

insheet using archivo1.txt


(Si fue guardado como delimitado por tabulaciones)

2.3 Convertir una Base de Datos de Otros Archivo


en Formato STATA
STATA cuenta con una herramienta que permite convertir base de datos de
SPSS, Matlab, Gauss, SAS, etc. al formato *.dta a travs del sotfware
STAT/TRANSFER.

16
Para acceder a este software basta con hacerle clic y posteriormente nos
saldr una ventana de dialogo solicitndonos la siguiente informacin:

Input F ile T ype : Indicamos el tipo de archivo en la cual se encuentra


nuestra base de datos original.
F ile Specif ication : Indicamos la ruta donde se encuentra nuestra base
de datos original haciendo uso del botn Browse.
Output F ile T ype : Indicamos el tipo de archivo al cual deseamos que la
base de datos se convierta.
F ile Specif ication : Indicamos la ruta donde queremos colocar la base
de datos convertida haciendo uso del botn Browse.

Example :

Para nuestro ilustrativo contamos con una base de datos de la Enaho en


formato de SPSS llamada "Enaho01A-2009-400.sav " que se encuentra en la
siguiente ruta "D:nDAVIDndatabase" y lo queremos convertir a un archivo de
base de datos del STATA con el mismo nombre en nuestra carpeta de trabajo
"D:nEconometria I ".

Para desarrollar esta aplicacin realizamos los siguientes pasos:

1. Abrimos la ventana de dialogo del STAT/TRANSFER.


2. En la seccin Input F ile T ype hacemos clic a la barra desplegable y
elegimos el formato SPSS Data File ya que se debe un archivo de base de
datos del SPSS 15.

3. En la seccin F ile Specif ication hacemos clic en el botn Browse para


denir la ruta donde se encuentra nuestra base original. Observe que
en la barra "Unidades" (ubicado en la parte inferir derecha) escogemos
el disco d, En la barra "Mostrar Archivos Tipos" (ubicado en la parte

17
inferir izquierda) por default se muestra SPSS Data File (*.SAV). En
el cuadro "Carpetas" hacemos clic en las carpetas segn como se seala
la ruta del archivo de origen d:n > david > database. Finalmente
hacemos clic en el archivo original llamado Enaho01A-2009-400.sav.

4. En la seccin Output F ile T ype hacemos clic a la barra desplegable y


elegimos el formato Stata Version 4-5 la cual es el formato de la base de
datos que queremos obtener.

5. En la seccin F ile Specif ication hacemos click en el boton Browse para


denir la ruta donde queremos que se encuentre nuestra base convertida.
Observe que en la barra "Unidades" (ubicado en la parte inferir derecha)
escogemos el disco d, En la barra "Mostrar Archivos Tipos" (ubicado
en la parte inferir izquierda) por default se muestra Stata version 4-5
(*.DTA). En el cuadro "Carpetas" hacemos clic en las carpetas segn
como se seala la ruta donde se guardar la base convertida d:n >
Econometria I. Finalmente escribimos el nombre de nuestra nueva base,

18
este caso Enaho01A-2009-400.dta.

6. .Finalmente hacemos clic en el botn Transfer.

19
2.4 Guardar una Base de Datos
Una vez trabajado y modicado la base de datos es posible guardarlo con el
comando save.

Example :

Imaginemos que hemos trabajado con la base "archivo1.xls" y queremos


guardarlo la nueva base con el nombre "archivo1_modicado.dta"

*Usando el comando save para guardar la nueva base con el nombre


*archivo1_modicado.dta

save archivo1_modicado.dta

2.5 Inspeccin de Base de Datos


En esta seccin aprenderemos comandos que nos permitan dar una revisada a
la base de datos, es decir, saber con qu esquema de datos y tipos de variables
nos estamos enfrentando.

Usualmente despus de abrir una base de datos, recurrimos a la siguiente


rutina de inspeccin de una base de datos:

1. Descripicn de la base de datos con el comando describe.


2. Observar la base de a travs del comando browse o edit. El comando
browse nos permite ver la base de datos sin poder modicarla y el comando
edit nos permite ver la base de datos pudiendo modicarlo.
3. Inspeccionar las variables de la base de datos usando el comando inspect.
4. Generamos un diccionario de variables con el comando codebook.
5. A veces podra ser de ayuda hacer una lista de los valores de algunas
variable de inters para un determinado rango de observaciones a travs
del comando list.
6. Realizar una tabla resumen de las variables numricas con el comando
summarize.

Retornando al ejemplo de la base de datos auto.dta, utilizamos los siguientes


comandos:

Example :

*Retomamos la base de datos auto.dta

20
sysuse auto.dta,clear

*Describimos la base auto.dta

describe // para describir todas las variables


d price mpg rep78 // para describir las variables price, mpg, rep78

*Vemos la ventana de la base de datos

browse // para observar todas las variables


br turn foreign length // para observar las variables turn foreign length

*Inspeccionamos las variables

inspect // para inspeccionar todas las variables


ins headroom trunk // para inspeccionar las variables headroom trunk

*Creamos un diccionario de variables

codebook // diccionario de todas las variables


codebook foreign gear_ratio // diccionario de variables foreign gear_ratio

*Realizamos una lista de valores de algunas variables

list make price mpg // listado de los valores de make price mpg weight
l make price mpg in 25/60 // listado de valores entre la observacin 25 y 60

*Realizamos un cuadro estadstico resumen de las variables

summarize price mpg weight // price mpg weight


sum length displacement foreign // resumen de length displacement foreign

*Realizamos un cuadro resumen detallado de algunas variables

sum price mpg weight,detail // resumen detallado de price mpg weight

2.6 Generacin y Transformacin de Variables


Para la creacin de nuevas variables STATA cuenta con el comando generate
y egen, la cual se explica la diferencia entre ambos a continuacin:

21
El comando generate nos permite generar variables haciendo uso de ex-
presiones matemticas, lgicas, numricas. Si bien es cierto que STATA
solamente reconoce los comandos con letras minsculas, tambin es im-
portante decir que tambin hace una diferenciacin de los nombres de las
variables entre si son minsculas o maysculas. Por ejemplo, generar una
variable llamada EsTaDo es diferente a que si lo denominamos estado o
ESTADO.
El comando egen es una extensin del anterior, que permite utilizar expre-
siones que incluyan funciones ms complejas del STATA como es el caso
de medias, mximos, mnimos, desviacin estndar, promedios mviles,
variables estandarizadas, etc.

Example :

*Creacin de variables usando el comando "generate" con funciones:

generate id=_n //generamos una variable llamada id como


// identicador para cada observacin
generate T=_N //generamos una variable llamada T como
// identicador del total de observaciones
gen ln_mpg=ln(mpg) //generamos una variable llamada ln_mpg
// que es igual al logaritmo natural del mpg
gen exp_mpg=exp(mpg) //generamos una variable llamada
// exp_mpg igual al exponencial natural del mpg
gen sqrt_mpg=sqrt(mpg) //generamos una variable llamada
// sqrt_mpg igual a la raz cuadrada del mpg
gen sum_mpg=sum(mpg) //generamos una variable llamada
// sum_mpg igual a la suma acumulativa del mpg

*Creacin de variables usando el comando "egen" con funciones

egen mean_price=mean(price) //generamos una variable llamada


// mean_price igual a la media del precio
egen median_price=median(price) //generamos una variable llamada
// median_price igual a la mediana del precio
egen mode_price=mode(price) //generamos una variable llamada
// mode_price igual a la moda del precio
egen min_price=min(price) //generamos una variable llamada
// min_price igual al mnimo del precio
egen max_price=max(price) //generamos una variable llamada
// max_price igual al mximo del precio
egen sd_price=sd(price) //generamos una variable llamada
// sd_price igual a la desviacin estndar del precio
egen skew_price=skew(price) //generamos una variable llamada

22
// skew_price igual al valor de la simetra del precio
egen kurt_price=kurt(price) //generamos una variable llamada
// kurt_price igual al valor de la curtosis del precio

En caso que se quiera cambiar los valores de una variable una vez creadas o
de las ya existentes, podemos hacer uso de los comandos replace y recode.

El comando replace permite reemplazar o modicar una variable o sus


respectivos valores. Si se trata de reemplazar valores de una variable
generalmente tendr que cumplir algunas condiciones y se digita despus
del comando generate.
El comando recode permite modicar valores especcos de una variable.

Example :

*Transformacin de variables y sus respectivos valores

*Usando el comando "replace" para cambios en la variable

*Supongamos que a las variables creadas por el comando


*generate y egen, queremos expresar los valores en cientos.

replace ln_mpg= ln_mpg/100


replace exp_mpg=exp_mpg/100
replace sqrt_mpg=sqrt_mpg/100
replace sum_mpg=sum_mpg/100
replace mean_mpg=mean_mpg/100
replace median_mpg=median_mpg/100
replace mode_mpg=mode_mpg/100
replace min_mpg=min_mpg/100
replace max_mpg=max_mpg/100
replace skew_mpg=skew_mpg/100
replace kurt_mpg=kurt_mpg/100

*Usando el comando "replace" con condicionales para cambios de


*valores de una variable

*Supongamos que creamos una variable categrica para mpg


*llamada "cat_mpg"que tenga valor de 1 para los primer cuartil,
*2 segundo cuartil, 3 tercer cuartil y 4 cuarto cuartil.

summ mpg,detail

//observamos que la variable mpg tiene valor de 18 hasta el 25% de los


// datos, 20 hasta el 50% de tos datos, 25 hasta el 75% de tos datos y

23
// 41 hasta el 100% de los datos.

gen cat_mpg=1 if mpg<18


replace cat_mpg=2 if mpg>=18 & mpg<20
replace cat_mpg=3 if mpg>=20 & mpg<25
replace cat_mpg=4 if mpg>=25

*Usando el comando recode para recodicar algunos valores especcos de


* las variables.

//Si analizamos a la variable rep78, vemos que presenta valores discretos


// desde 1 hasta el 5 y adems poseen valores perdidos (missing values)
// representados por un punto "." , en este caso vamos a cambiar los
// missing values por el valor de cero. Para dicho n creamos una
//variable igual a rep78 llamada "rep78_recode" para no perder la
//informacin bsica de esta variable y luego la recodicamos.

recode rep78 (.=0), gen(rep78_recode)


sum rep78_recode
//ahora vemos que la variable rep78_recode tiene valores discretas desde
// 0 hasta 5.

//Tambin podramos crear una variable llamada "cat2_mpg" similar


//a cat_mpg utilizando el comando recode de la siguiente forma:

gen cat2_mpg=0
recode cat2_mpg (min/18=1) (18/20=2) (20/25=3) (25/max=4)

2.7 Nombrando y Etiquetando Variables


Si se desea cambiar de nombre a una variable se hace uso del comando rename.

Example :

//De las ltimas variables creadas cambiamos de nombre a la variable


// id y T

rename id ident_obs
ren T ident_total

Si deseamos darle el signicado a la variable, podemos etiquetarlo con el


comando label variable.

Example :

24
//De las ltimas variables creadas etiquetamos a las siguientes:

label variable ident_obs "Identicador de Observaciones"


la var ident_total "Identicador Total"

En el caso que tengamos variables categricas, es til explicar el signicado


de cada uno de los valores discretos, para este proceso usamos los comandos
label dene y label value.

Example :

//De la variable categrica que creamos "cat_mpg" podemos


// etiquetar sus valores de la siguiente forma:

//Primero denimos una etiqueta llamada "rango_mpg"


// y luego etiquetamos los valores

label dene rango_mpg 1 "menos a 18" ///


2 "entre 18 y 20" 3 "entre 20 y 25" 4 "mayor igual 25"
label value rango_mpg cat_mpg
br cat_mpg

2.8 Tipo y Formato de Variables

2.8.1 Tipo de Variables


En STATA existen dos clases de formatos:

Formato Numrico: Se puede encontrar la siguiente clasicacin4 :

Tipo Byte Mnimo Mximo


byte 1 -127 100
int 2 -32,767 32,740
long 4 -2,147,483,647 2,147,483,620
oat 4 -1.70141173319*10^38 1.70141173319*10^38
double 8 -8.9884656743*10^307 8.9884656743*10^307

Formato No Numrico: Este tipo es reconocido como cadena de texto o


string. Generalmente se encierran entre comillas y presenta la siguiente
clasicacin:
4 Cuando se genera una variable con datos numricos, STATA por default le asigna un

formato oat.

25
Tipo Byte Descripcin
str1 1 Hasta 1 carcter
str2 2 Hasta 2 caracteres
.. .. ..
. . .
str20 20 Hasta 20 caracteres

2.8.2 Formato de Variables


La forma cmo podemos especicar el formato de las variables es de la siguiente
manera:

Formato Numrico:

Esquema Smbolo Descripcin


Primero % indica el comienzo del formato
luego (opcional) - si se quiere alinear el resultado a la izquierda
luego (opcional) 0 si se quiere conservar los ceros "principales"
luego # cifra que indique el tamao del resultado
luego . se coloca un punto
luego # nmero de dgitos despus del punto decimal
luego (cualquiera) e para notacin cientca. ex: 10e+04
f para formato jo. ex: 5000.0
g para formato general (STATA muestra
acorde al nmero elegido)
luego (opcional) c para el formato de "coma"
(no se permite para notacin cientca)

Formato para Fechas:

Esquema Smbolo Descripcin


Primero % indica el comienzo del formato
luego (opcional) - si se quiere alinear el resultado a la izquierda
luego t se coloca t para indicar formato fecha
luego (cualquiera) d para das. ex: 05jul1972
w para semanas. ex: 1972w27
m para meses. ex: 1972m7
q para trimestres. ex: 1972q3
h para horas. ex: 1972h2
y para aos. ex: 1972

Formato String:

26
Esquema Smbolo Descripcin
Primero % indica el comienzo del formato
luego (opcional) - si se quiere alinear el resultado a la izquierda
si se quiere alinear el resultado al centro
luego # una cifra para el nmero de caracteres
luego s se coloca s para indicar formato string

Example :

*Formatos Numricos

describe price
list price

format %9.1g price


//nueve dgitos y un decimal

describe price
list price

format %12.1g price


describe price
list price

format %-12.1g price


describe price
list price
//para ver que ha cambiado habra la ventana browse.

save auto_modicada.dta,replace

2.9 Conversin de Variables


STATA es posible generar una variable numrica a partir de una variable string
y viceversa.

2.9.1 De una Variable String Numrica a una Variable Numrica


Para poder realizar esta conversin se recurre a la funcin real() despus del
comando generate. Tambin es posible realizar la misma operacin con el
comando destring donde la variable generada se coloca como opcin en la
misma lnea de comando.

Example :

27
*Para este ejemplo generamos una variable string numrica
*llamada "origen" en base a la variable "foreign", la cual le
*asignamos el cdigo 0 si es Domestic y 1 si es Foreign.

gen origen="1" if foreign==1


replace origen="0" if foreign==0
//A simple vista las variables origen y foreign son iguales,
//pero hay que observar que la primera tiene un formato
//string "str1" y el otro un formato byte.

*Esta variable string numrica "origen" lo convertimos


*en una numerica llamada origen2:

gen origen2=real(origen)
//Como vemos la variable "origen2" tiene formato numrico
//oat

*Ahora realizamos la misma operacin con el comando


*"destring", generando la variable origen3

destring origen, gen(origen3)


//Como vemos la variable "origen3" tiene formato numrico
//byte. Note que el comando generate est como opcin dentro
//de la sintaxis

*Guardamos la base modicada.


save auto_modicada.dta,replace

2.9.2 De una Variable String No-Numrica a una Variable


Numrica
Para poder realizar esta conversin se recurre al comando encode. Este co-
mando codica una variable string a una numrica. Aqu tambin la variable
generada se coloca en la lnea de comando como una opcin. Despus de ejecu-
tar esta operacin es recomendable utilizar el comando label list para observa
las etiquetas que fueron asignadas a los valores de la nueva variable.

Example :

*Para este ejemplo usamos la base auto_modicada.dta.


use auto_modicada.dta,clear

*Supongamos que queremos codicar la variable "make"


* generando una variable denominada "make1".
encode make, gen(make1) label(make_la)

28
label list make_la

*Ahora vemos las etiquetas que fueron asignados a los


*valores
label list make1

2.9.3 De una Variable Numrica a una Variable String


A travs del comando tostring podemos convertir una variable numrica a
string. Aqu tambin la variable generada se coloca en la lnea de comando
como una opcin.

Example :

*Convertimos la variable "foreign" a una variable string


*llamada "foreign2"

tostring foreign, gen(foreign2)


//observe que la variable "foreign2" tiene un formato
//string numrica (str1).

Otro comando interesante es decode, la cual nos permite hacer la misma


labor que tostring pero necesita que los valores de la variable numrica estn
etiquetada.

*Convertimos la variable "foreign" a una variable string


*llamada "foreign3"

decode foreign, gen(foreign3)


//observe que la variable "foreign3" tiene un formato
//string numrica (str8), porque mantiene la etiquetas
//de la variable "foreign".

2.10 Seleccin de Muestra y Variables


Existen ocasiones que no deseamos trabajar con todas las variables u observa-
ciones de la base de datos, por lo tanto, STATA cuenta con los comandos drop
y keep para la seleccin particular de las mismas con la nalidad de obtener
ms memoria para trabajar.

El comando keep permite mantener observaciones o variables en la memo-


ria del STATA.
El comando drop permite eliminar observaciones o variables de la memoria
del STATA.

29
Example :

*Seleccin de variables y observaciones

*Antes guardamos la nueva base trabajada con el nombre


*auto_modicada.dta

save auto_modicada.dta

*Usando el comando "keep" para guardar algunas variables

//Imaginemos que queremos mantener las variables


// price mpg weight length turn displacement foreign

keep price mpg weight length turn displacement foreign


browse // observar la nueva base

*Usando el comando "keep" para seleccionar una muestra

//Imaginemos que seleccionamos una muestra la cual


// cumple con la condicin de que el precio ucte entre
// 3748 y 13466. Para esto utilizamos la condicional if

keep if price>=3748 & price<=13466


br // observar la nueva base

//Si de esta nueva muestra queremos seleccionar las


// primeras 50 observaciones

keep in 1/50
br // observar la nueva base

*Usando el comando "drop" para eliminar algunas variables

//Antes de continuar con el ejemplo invocamos a la base


// auto_modicada.dta que hemos guardado.

use auto_modicada.dta,clear

//Imaginemos que queremos eliminar las variables


// make headroom gear_ratio

drop make headroom gear_ratio


br // observar la nueva base

*Usando el comando "drop" para eliminar una muestra

30
//Imaginemos que eliminemos una parte de la muestra
//la cual cumple con la condicin de que el peso sea
// menor de 4000 libras.

drop weight if weight<4000


br // observar la nueva base

//Si de esta nueva muestra queremos borrar las


//primeras 15 observaciones

drop in 1/15
br // observar la nueva base

2.11 Manipulacin de Base de Datos


La utilidad de manipular base de datos incluye reordenar las observaciones y/o
variables, realizarle cambios temporales y guardarlos paray luego acceder a otra
base dedatos y as combinarlos, obteniendo una nueva base fusionada.

2.11.1 Ordenar Observaciones y Variables


El comando sort ordenar observaciones de manera ascendente acorde a la(s)
variable(s) sealadas. En cambio el comando gsort nos permite ordenarlo de
manera ascendente como descendente.

Example :

*Ordenar observaciones

use auto_modicada.dta,clear

//Podemos ordenar de forma ascendente la variable


// weight

sort weight
br weight

//O en forma descendente

gsort -weight
br weight

//Tambin podemos ordenar de forma ascendente


//la variable foreign y luego la variable price

31
sort foreign price
br foreign price

Tambin se puede ordenar las variables usando el comando order. Este


puede ser til, si por ejemplo uno desea distribuir las variables de una base de
datos a otras bases.

Example :

*Ordenar variables

//Podemos order en el siguiente orden las variables

order weight rep78 price length

//Tambin podemos ordenar las variable de


// forma alfabtica

order _all, alphabetic

Estos comandos son importantes al usar el prejo by(), que nos permite
realizar algunas operaciones por grupo de observaciones.

Example :

*Usando el prejo "by"

//Supongamos que queremos un cuadro resumen


// de las variables "price", "mpg", "weight"
//clasicado por lugar de destino "foreign"

sort foreign
by foreign : sum price mpg weight

//Tambin podemos escribir del siguiente modo:


bysort foreign : sum price mpg weight,d

32
2.11.2 Preservar y Restaurar Base de Datos
En algunos casos, es necesario realizar cambios a una base de datos, desarrollar
algunos clculos y entonces retornar a la base original. El comando preserve
nos permite retener la base de datos y el comando restore nos permite regresar
a la base de datos original. El comando restore se usa inmediatamente despus
del comando preserve.

Example :

*Preservar y Restaurar base de datos

//Imaginemos que a la variable "price" lo modicamos


// sus valores sumando 200 unidades, pero luego
// retornaremos a la variable original

list price in 1/10


preserve
replace price=price+200
list price in 1/10
restore
list price in 1/10

2.12 Fomas de Base de Datos


2.12.1 Formas Long y Wide
Frecuentemente es necesario cambiar la forma de la base de datos. Si tenemos j
medidas de momentos para los i individuos, esta puede ser vista como una data
multivariada en la cual cada momento j es representada por una variable xj, y
el identicador de individuos est representada tambin por una variable. Sin
embargo, para algunos anlisis estadsticos podemos necesitar un variable que
contenga las respuestas para todos los momentos e individuoss.

El comando reshape nos permite transformar una base de datos de forma


larga "long" a una de forma ancha "wide" y viceversa. Como se muestra a
continuacin:

33
Forma Long Forma Wide

En general para efectos de estimacin es necesario que la base de datos este


en formato long, esta distincin es importante para anlisis de panel data.

Example :

*Formas Long y Wide

//Para ilustrar el uso de este comando, utilizamos la base


//de datos "long_wide.dta".

use long_wide.dta,clear
//en este base nuestro identicador de inidividuos (i) es la
//variable "id" y el de momentos (j) es "year", adems,
//vamos a transformar la data en base a la variable
//"salary" (x)

//Como vemos, la base tiene una forma long, ahora lo


//convertimos en forma wide.

reshape wide salary, i(id) j(year)


//como se puede observar, el comando reshape va a
//convertir a la variable salary en forma wide.

reshape long salary, i(id) j(year)


//como se puede observar, el comando reshape va a
//convertir a la variable salary en forma long.

2.12.2 Forma Colapsada


Hay ocasiones en que la base de datos con forma long puede requerirse para
colapsarlo tal que cada grupo de individuos este representada por una obser-
vacin en particular, ya sea por el promedio, la mediana, desviacin estndar,
mximo, mnimo, la suma, etc. de alguna variable en particular. Para hacer
esta operacin recurrimos al comando collapse.

34
Example :

*Forma Colapsada

//De la base de datos "long_wide.dta",mostrado


//en forma long, colapsamos la base en base al
//promedio, desviacin estandar, maximo,minimo,
//suma total del salario "salary" por individo.

collapse (mean) meansal=salary (median) ///


mediansal=salary (sd) sdsal=salary (max) ///
maxsal=salary (min) minsal=salary (sum) ///
sumsal=salary, by(id)
br

2.13 Fusin de Base de Datos


Es comn la combinacin de varias bases de datos. Se va a mostrar dos opera-
ciones bsicas: aadir variables y aadir observaciones. Los comandos asociados
a estas operaciones son merge, append y joinby.

El comando merge se utiliza para aadir variables, es decir, une dos bases
de manera horizontal. Los cheros de datos deben de tener una variable
de identicacin y adems deben de estar ordenados por dicha variable.
Este comando requiere de dos bases de datos, uno se va a denominar base
master al cual se le van aadir las variables y una base using la cual
contiene las variable que se van a aadir a la base master. Al realizar
el merge crea una variable "_merge" de manera automtica que toma
valores dependiendo si el registro de los datos est presente en una de las
bases o en ambos. Cuando el valor de la variable "_merge" es 1 quiere
decir que el dato solo aparece en la base master, 2 cuando aparece en la
base using y 3 cuando aparece en ambos.
El comando append se utiliza para aadir observaciones, es decir, une a
dos bases de manera vertical. Aqu tambin ser necesario una base master
y una base using, adems la base originada tendr una forma long.
El comando joinby forma todo los pares de combinaciones dentro de cada
grupo a partir de dos bases de datos, una master y otra using. La base
master contiene variables para cada individuo clasicado por grupos y
la base using contiene variables a nivel de grupos, entonces, el comando
joinby colocar los valores de las variables segn al grupo que pertenece
cada individuo.

35
Example :

*Fusionando bases con el comando "append"

//Para este ejemplo usaremos las bases de datos


// "database1.dta" y "database2.dta". Dado que
//tienen la misma cantidad de columnas pero se
//diferencian en nmeros de las sera conveniente
//juntarlos verticalmente

use database1.dta,clear
br
append using database2.dta
br
save database12.dta,replace

//hagamos lo mismo con la bases "database3.dta"


// y "database4.dta"

use database3.dta,clear
br
append using database4.dta
br
save database34.dta,replace

//En este ltimo caso vemos que existe un inconveniente


//con la variable relacionado al sexo del individuo, debido
//a que en ambas bases dicha variable no se ha escrito
//de la misma forma, es por ello de la importancia de escribir
//el nombre de las variables de manera idntica. Arreglamos
//este problema a continuacin:

use database3.dta,clear
br
rename Sexo sexo
br
save database03.dta,replace
use database03.dta,clear
br
append using database4.dta
br
save database034.dta,replace

*Fusionando bases con el comando "merge"

//Para este ejemplo usaremos las bases de datos

36
// que creamos anteriormente "database12.dta" y
// "database034.dta". Para realizar esto, debemos
//ordenar la variable (o variables) en comn en
//ambas bases. En este caso, las variables en comn
//son la variable hogar y el nombre.

use database12.dta,clear
br
sort hogar nombre
br
save database12m.dta,replace

use database034.dta,clear
br
sort hogar nombre
br
save database034m.dta,replace

//ya ordenadas, pasamos a fusionarlas horizontalmente

use database12m.dta,clear
merge hogar nombre using database034m.dta
br
save databasemerge.dta,replace

*Fusionando bases con el comando "joinby"

//Para este ejemplo usaremos las bases de dato


// nal "databasemerge.dta" y "database5.dta".
//Para realizar esto, debemos ordenar la variable
//( o variables) en comn en ambas bases. En este
//solo es la variable hogar.

use databasemerge.dta,clear
br
sort hogar
br
save databasemergeb.dta,replace

use database5.dta,clear
br
sort hogar
br
save database5b.dta,replace

//ya ordenadas, pasamos a fusionarlas.

37
use databasemergeb.dta.dta,clear
joinby hogar using database5b.dta
br
save databasejoinby.dta,replace

2.14 Tabulaciones y Tablas


En esta seccin veremos diversas formas de presentar tablas de estadsticas
descriptivas, entre las tenemos:

2.14.1 Tabulate
El comando tabulate muestra una tabla la cual seala una lista de los distintos
valores que tiene una variable con su frecuencia absoluta, porcentual y acumu-
lada. Es recomendable usar este comando para aquellas variables con pocos
valores diversos. Tambin es til para crear variables dummy con ayuda del
comando generate y adems tabular por tipo de individuo con el prejo by. El
comando tabulate puede mostrarnos tablas tanto de un solo sentido como de
doble sentido

2.14.2 Table
El comando table nos permite crear tablas de doble y triple sentido, mostrando
las frecuencias absolutas o porcentuales visto de forma horizontal o vertical.

2.14.3 Tabstat
El comando tabstat provee un resumen estadsticos que permite ms exibili-
dad que el summarize.

Example :

*Tabulaciones y Tablas

//usaremos loa base de datos "auto_modicada.dta"


//para ilustrar estos comandos

use auto_modicada.dta,clear

*Comando tabulate

//Realicemos una tabla de un solo sentido para la


//variable foreign para aquellos autos que cuestan
//menos de 14000 libras.

38
tabulate foreign if price<14000

//Ahora queremos tabular la variable "foreign"


//generando variables dummy llamada "for"

tabulate foreign, gen(for)


br foreign for*

//Si tabulamos la variable categrica que creamos


//en base a mpg "cat_mpg" por el lugar de origen del
//auto "foreign"

by foreign: tab cat_mpg

//Creamos una tabulacin de doble sentido entre


//la variable "cat_mpg" y "foreign" contado por
//la y columna

tab foreign cat_mpg, row col

*Comando table

//generamos un tabla de doble entrada entre la variable


//foreign y cat_mpg

table cat_mpg foreign


//se puede ver que no se imprime los totales ya sea de
//forma vertical y horizontal a diferencia del comando
//tabulate.

//generamos un tabla de tres entrada que clasique por la


//variable foreign, las variables cat_mpg y rep78

table cat_mpg rep78 foreign

*Comando tabstat

//Generamos un tabla que nos represente las estadsticas


//descriptivas comunes de la siguiente lista de variables
//clasicado por la variable foreign

tabstat price mpg weight length,by(foreign) stat(mean ///


median min max sum sd va cv sk k)

39
Cap.3 Grcos en STATA

3.1 Introduccin a STATA GRAPH


STATA presenta una amplia variedad de gracos, la cual abarca guras como:
matrices de ploteos, histogramas, reas, lneas, caja y bigote, etc. Comenzare-
mos demostrando siete tipos de grcos:

histogram : Histogramas

graph twoway : Scatterplot, lneas, y otros entre dos variables.


graph matrix : Matrices de Scatterplots.
graph box : Grcas de caja y bigotes.
graph bar : Grcas de barras
graph dot : Grcas de puntos.
graph pie : Grcas de pastel o pie.

Para cada uno de estos grcos existen muchas opciones5 .

3.2 Tipos de Grcos


Los comandos del STATA GRAPH empiezan con la palabra graph (aunque
en algunos casos esto es opcional) seguido por la palabra que indica el tipo de
graco.

3.2.1 Histograma
La funcin de densidad de una variable puede ser estimada usando un his-
tograma a travs del comando histogram. Para ilustrar la funcin de este
comando, utilizaremos la base states.dta, la cual contiene informacin sobre los
ambientes seleccionados y la educacin para 50 estados de USA ms el distrito
de Columbia (datos que provienen de League of Conservation Voters 1991, 1993;
World Resources Institute 1993).

La gura 3.1 muestra un histograma simple de college, la cantidad de estados


que se distribuyen dentro de un rango de porcentajes de la poblacin adulta que
cuenta con un grado superior. Esto se produce de la siguiente forma:
5 Para observa otras tipos de grcos y comandos relacionados a estos, se recomienda tipear

en la venta de comandos help graph_other.

40
Example :

*Histograma

use states.dta,clear
describe

*Realizamos el histograma para la variable college

histogram college, frequency title("Figura 3.1")

Figura 3.1
20
15
Frequency
10
5
0

10 15 20 25 30
% over 25 w/bachelor's degree +

Figura 3.1

La gura 3.1 presenta dos opciones: frequency (en vez de la densidad


que aparece por defecto) que se muestra en el eje vertical; y el title("Figura
3.1") que aparece sobre el grco. Este gura revela la simetra positiva de la
distribucin de college, con una moda por encima de 15 y un outlier alrededor
de los 35.

La gura 3.2 contiene una versin con mayores mejoras (basado en algunos
experimentos para encontrar los valores correctos):

1. El eje x est etiqueta desde 12 hasta 34, con incrementos de 2 unidades.


2. El eje y est etiqueta desde 0 hasta 12, con incrementos de 2 unidades.
3. Los marcadores sobre el eje y desde 0 hasta 13, con incrementos de 2
unidades.
4. La primera barra del histograma comienza en 12.
5. El ancho de cada barra (o bin) es 2.

41
Example :

histogram college, frequency title("Figura 3.2") ///


xlabel(12(2)34) ylabel(0(2)12) ytick(1(2)13) start(12) width(2)

Figura 3.2
12
10 8
Frequency
6 4
2
0

12 14 16 18 20 22 24 26 28 30 32 34
% over 25 w/bachelor's degree +

Figura 3.2

La gura 3.2 nos ayuda a describir la distribucin con mayor detalle. Por
ejemplo, podemos ver que en 13 estados los porcentajes de colegas con grado
superior se encuentran entre los valores de 16 y 18.

Otras tiles opciones son los siguientes:

bin : Muestra un histograma con # de bins (o barras). Podemos


especicar bin(#), como en la Figura 3.2 o start(#) con width(#),
pero no ambos.
percent : Muestra los porcentajes en el eje vertical. Otra posibil-
idades son las opciones fraction que muestra la fraccin de la data y
frequency especicado en la Figura 3.1, el histograma por default mues-
tra la densidad (density) lo que quiere decir que las barras estn escaladas
de tal forma que el rea bajo la grca sume la unidad.
gap(#) : Indica el espacio entre las barras, el nmero "#" se es-
pecica entre 0<#<100.

addlabel : Etiqueta la parte superior de las barras del histograma


con la frecuencia de datos.
discrete : Especica que la data es discreta, requiriendo una barra
para cada valor de la variable.

42
norm : Sobrepone una curva normal sobre el histograma, basado
sobre la media muestral y desviacin estndar.
kdensity : Sobrepone un estimador de densidad de kernel sobre el
histograma6 .
p
El nmero de intervalos por default es min( N ; 10 ln N= ln 10). Con los
histogramas tambin podemos especicar nuestro propios ttulos en el eje de las
abscisas con xtitle() y en el eje de la ordenada con ytitle().

En la gura 3.3 ilustra un ejemplo con algunos otras opciones de comando


del histograma. Note el cambio de construccin de grcos desde la gura 3.1
hasta ms elaborada gura 3.3. Este es un patrn normal para la construccin
de grcos en STATA: iniciamos por lo ms simple, entonces experimentamos
la suma de opciones para obtener una gura que se muestre claramente.

Example :

histogram college, frequency title("Figura 3.3") ///


xlabel(12(2)34) ylabel(0(2)12) ytick(1(2)13) start(12) width(2) ///
addlabel norm gap(15)

13
Figura 3.3
12
10

9
8
Frequency

6
6

4 4 4
4

3
2

1
0

12 14 16 18 20 22 24 26 28 30 32 34
% over 25 w/bachelor's degree +

Figura 3.3

Supongamos que queremos saber como se distribuye college por region. La


opcin by() nos da un histograma de college para cada regin. La gura 3.4
muestra un ejemplo en la cual expresamos en porcentajes sobre el eje de la
ordenada y los datos agrupados en 8 bins.
6 Ver help kdensity para ms detalle.

43
Example :

histogram college, by(region) percent bin(8) title("Figura 3.4")

Figura 3.4 Figura 3.4


West N. East

10 20 30 40
Percent
0

Figura 3.4 Figura 3.4


South Midwest
10 20 30 40
0

10 15 20 25 30 10 15 20 25 30
% over 25 w/bachelor's degree +
Graphs by Geographical region

Figura 3.4
La siguiente gura 3.5 contiene un grco similar con las 4 regiones, pero
esta vez incluye un quinto elemento que seala la distribucin para todas las
regiones combinadas.

Example :

histogram college,percent bin(8) title("Figura 3.5") by(region,total)

Figura 3.4 Figura 3.4 Figura 3.4


West N. East South
10 20 30 40
0
Percent

10 15 20 25 30

Figura 3.4 Figura 3.4


Midwest Total
10 20 30 40
0

10 15 20 25 30 10 15 20 25 30
% over 25 w/bachelor's degree +
Graphs by Geographical region

Figura 3.5

44
3.2.2 Graph Twoway

3.2.2.1 Scatterplot
Los diagramas de dispersin de puntos (scatterplot) se accede a travs del co-
mando graph twoway scatter, cuya sintaxis general es:

graph twoway scatter y x

donde y es la variable que se muestra en el eje vertical y x en el eje horizontal.


Por ejemplo, otra vez usando la base de datos states.dta, podemos plotear la
variable waste (desperdicios slidos per cpita) contra metro (porcentaje de la
poblacin en reas metropolitanas), cuyo resultado se muestra en la gura 3.6.
Cada punto de esta gura representa una de los 50 estados que presenta la data.

Example :

graph twoway scatter waste metro


1.50
Per capita solid waste, tons
1.000.50

20.0 40.0 60.0 80.0 100.0


Metropolitan area population, %

Figura 3.6

De la misma forma que en el histograma, podemos usar xlabel(), xtick(),


xtitle() para controlar las etiquetas de los ejes, los marcadores de los ejes, o
ttulos. El scatterplot tambin permite controlar las formas, colores, tamaos y
otros atributos. La gura 3.6 emplea marcadores por defecto, la cual son crcu-
los slidos. El mismo efecto podramos obtener si incluimos la opcin msym-
bol(circle) o escribimos esta opcin de manera abreviada como msymbol(O) .
La siguiente tabla muestra las diversas formas de marcadores para la dispersin
de puntos.

45
msymbol() Abreviacin Descripcin
circle O circulo slido
diamond D diamante slido
triangle T triangulo slido
square S cuadrado slido
plus + signo "+"
x X letra "x"
smcircle o pequeo crculo slido
smdiamond d pequeo diamante slido
smsquare s pequeo cuadrado slido
smtriangle t pequeo diamante slido
smplus smplus pequeo signo "+"
smx x pequea pequeo
circle_hollow Oh circulo con vacio
diamond Dh diamante con vacio
triangle_hollow Th triangulo con vacio
square_hollow Sh cuadrado con vacio
smcircle_hollow oh pequeo crculo con vacio
smdiamond_hollow dh pequeo diamante con vacio
smsquare_hollow sh pequeo cuadrado con vacio
smtriangle_hollow th pequeo diamante con vacio
point p punto pequeo
none i invisible

La opcin mcolor() controla los colores de los marcadores7 . Por ejemplo po-
dramos producir un scatterplot con grandes cuadrados morados: graph twoway
scatter waste metro, msymbol(S) mcolor(purple)

Una uso interesante de este tipo de grco es hacer que el tamao de los
simbolos sean proporcionales a una tercera variable. De este modo, los ploteos
se diferenciarn visualmente por medio de un ponderador "weight". Si modi-
camos el scatterplot entre la variable waste y metro, haciendo que el tamao de
los smbolos se pondere por la densidad poblacional de cada estado (pop), obten-
dremos la gura 3.7. Para esto usaremos el ponderador de frecuencia fweight[
] y la opcin de crculos vacios, msymbol(Oh)8 .

Example :

graph twoway scatter waste metro [weight=pop], msymbol(Oh)


7 Para ver ms detalle de los distintos colores acceder a help mcolorstyle.
8 El ponderador de frecuencia suele ser til en otros grcos, pero a la vez es un tpico
complejo, porque los ponderadores "weight" vienen de diferentes formas y tienen diferentes
signicados para diversos contextos. Para una informacin general de este tema en STATA,
tipear help weight.

46
1.50
Per capita solid waste, tons
1.000.50

20.0 40.0 60.0 80.0 100.0


Metropolitan area population, %

Figura 3.7

El ejemplo de la gura 3.8 incluye una regresin lineal simple derivado del co-
mando twoway lt que ha sido aadido al graco 3.6 especicando el siguiente
smbolo ( jj ) .

Example :

graph twoway scatter waste metro, msymbol(S) mcolor(purple) ///


jj lt waste metro
1.50
1.00
0.50

20.0 40.0 60.0 80.0 100.0


Metropolitan area population, %

Per capita solid waste, tons Fitted values

Figura 3.8

47
Los marcadores de un scatterplot pueden identicarse con etiquetas. Por
ejemplo, podemos desear observar los nombres de los estados en la gura 3.6,
dado que son 50 nombres de estados, puede causar mucha confusin y desor-
den, as que nos concentraremos en una regin tal como West que parece ms
prometedor. A travs del uso de una condicional if se produce los siguientes
resultados en la gura 3.9.

Example :

graph twoway scatter waste metro if region==1, mlabel(state) ///


msymbol(S) mcolor(purple) jj lt waste metro
1.60

California
1.40
1.20

Oregon Hawaii

Washington
1.00

New Mexico

Alaska
Idaho
0.80

Nevada
Arizona
Montana
Colorado
Wyoming Utah
0.60

20.0 40.0 60.0 80.0 100.0


Metropolitan area population, %

Per capita solid waste, tons Fitted values

Figura 3.9

La gura 3.10 muestra un scatterplot entre waste y metro para cada regin
de manera separada. La relacin entre estas dos variables aparecen pendientes
notables en la regin South y Midwest. La opcin xlabel() e ylabel() en este
ejemplo da las etiquetas para los ejes x e y de tres dgitos como mximo sin
decimales, hacindo fcil de leer para pequeos sub-ploteos.

Example :

graph twoway scatter waste metro, by(region) mlabel(state)///


xlabel(,format(%3.0f)) ylabel(,format(%3.0f))

48
West N. East
California

2 Hawaii
Oregon
New York
Rhode Island
Massachusetts
Washington
1
Per capita solid waste, tons

New Mexico New Hampshire


Alaska New Jersey
Idaho Connecticut
Nevada Pennsylvania
Montana Arizona Maine
Wyoming Colorado
Utah Vermont
1

South Midwest
2

Virginia Florida Missouri Ohio

Illinois
Michigan
South Carolina
Delaware
Alabama South Dakota
TennesseeTexas Maryland Indiana
Minnesota
1

West Virginia
KentuckyOklahoma Kansas
North Carolina
Arkansas Louisiana Iowa
Nebraska
Georgia Wisconsin
North Dakota
Mississippi
1

20 40 60 80 100 20 40 60 80 100
Metropolitan area population, %
Graphs by Geographical region

Figura 3.10

3.2.2.2 Multiples Scatterplots


El comando graph matrix nos muestra un til anlisis multivariado. Este
comando otorga una grca compacta de la relacin entre un nmero de vari-
ables por pareja, permitindole al analista observar los signos de no linealidad,
outliers o cluester que puedan afectar al modelamiento estadstico. Este tipo
de grco es til si se quiere observar la inuencia de una lista de variables
explicativas a una variable dependiente. La gura 3.11 muestra una matriz de
scatterplot que implica la relacin entre cuatro variables de la data states.dta.

Example :

*Multiples Scatterplots

graph matrix miles metro income waste , half msymbol(Oh)

49
Per
capita
miles
driven/year
100.0
Metropolitan
50.0 area
population,
%
0.0
50000

40000 Median
household
30000 income
20000
1.50
Per
capita
1.00 solid
waste,
tons
0.50
6000 8000 10000 120000.0 50.0 100.0
20000 30000 40000 50000

Figura 3.11

La opcin half especicado en la gura 3.11 hace que se muestre solo la


parte triangular inferior de la matriz ya que la parte superior es simtrica y
redundante.

3.2.2.3 Ploteos con Lineas (Line Plot)


Mecnicamente, los ploteos con lneas son scatterplots en la cual los puntos
son conectados por segmentos de rectas. El ploteos con lneas tiende a tener
diferentes usos, como por ejemplo permite observar el cambio de una variable a
travs del tiempo. La base de datos cod.dta contiene datos de serie de tiempo
reejando la historia desagradable de la pesca en Newfoundlands Northern
Code. Esta pesca ha sido uno de los ms ricos del mundo, pero colaps en
1992 debido primeramente a la sobreexplotacin.
Un simple ploteo muestra que los canadienses y las islas pueden ser constru-
idos sealando una graca lineal de ambas variables a travs del tiempo (year ).
La gura 3.12 muestra el gran pico de sobrepesca internacional a nes de los
aos 1960s, seguido por una dcada de presin en la pesca canadiense en 1980,
conduciendo en 1992 el colapsamiento del Northern Cod.

Example :

*Line Plot

graph twoway line cod canada year

50
800
600
400
200
0

1960 1970 1980 1990 2000


Year

Total landings, 1000t Canadian landings, 1000t

Figura 3.12
En la gura 3.12, STATA automticamente elige una lnea slida azul para la
primera variable, code, y una lnea slida roja para la segunda variable, canada.
Adems de una legenda en la parte inferior que muestra el signicado de las
variables. Podemos mejorar este grco a travs de un arreglo en la legenda y
suprimiendo el ttulo redundante en el eje x, como se ilustra en la gura 3.13.

Example :

twoway line cod canada year, legend(label(1 "Todas las Naciones") ///
label (2 "Canada") position(2) ring(0) rows(2)) xtitle("")
800

Todas las Naciones


Canada
600
400
200
0

1960 1970 1980 1990 2000


Year

Figura 3.13

51
Se tiene sub-opciones para la opcin legend() la cual se colocan dentro de
los parntesis y se sealan como sigue:

label (1 "Todas las Naciones") La etiqueta para la primera variable del eje y
label (2 "Canada") La etiqueta para la segunda variable del eje y
position(2) Establecer la legenda a las 2 de la hora del
reloj (superior derecha)
ring(0) Establecer la legenda entre los espacio del ploteo
rows(2) Dice que la legenda tenga dos las

La opcin legend() trabaja similarmente para otros estilos de grcos que


llevan legenda9 .

La gura 3.12 y 3.13 conecta de una manera simple cada punto de la data
con un segmento de recta. Otras estilos de conexiones son posibles, usando
la opcin connect(). Por ejemplo, connect(stairstep) o equivalentemente
connect(J) generara puntos para ser conectados en forma de escalera. La
gura 3.14 ilustra el ploteo en forma de escalera para la variable TAC (pesca
total disponible establecido por el gobierno).

Example :

graph twoway line TAC year, connect(stairstep)


800 600
Total Allowable Catch, 1000t
200 4000

1960 1970 1980 1990 2000


Year

Figura 3.14
9 Puede acceder a la ayuda del STATA a travs de help legend_option para ver una lista

de sub-opciones disponibles.

52
Otras formas de conexin se muestran en la siguiente lista. Por defecto, el
segmento de lnea recta corresponde a connect(direct) o connect(l)10 .

connect() Abreviacin Descripcin


none i no conecta puntos
direct l (letra ele) conecta con lneas rectas
ascending L es similar a direct solo si x(i + 1) > x(i)
stairstep J recta constante, luego vertical
stepstairs vertical, luego se mantiene constante

La gura 3.15 repite este ploteo escalonado de TAC, pero con algunas modi-
caciones de las etiquetas de los ejes y ttulos. La opcin xtitle("") no presenta
ningn ttulo en el eje x. Aadimos marcadores en un intervalo de cada dos
aos en el eje x, etiquetamos el rango de valores en el eje y con intervalos de
100 unidades, adems incluimos lneas verticales de fondo en intervalos de 100
unidades.

Example :

graph twoway line TAC year, connect(stairstep) xtitle("") ///


xtick(1960 (2) 2000) ytitle("Miles de Toneladas") ///
ylabel(0 (100) 800, angle(horizontal)) clpattern(dash)

800

700

600
Miles de Toneladas

500

400

300

200

100

0
1960 1970 1980 1990 2000

Figura 3.15

Otro modo de especicar el tipo de lnea que se desea usar es a travs de la


opcin clpattern(), que nos permite elegir un patrn de lnea y se muestra en
la siguiente relacin:
1 0 Para ms detalle, ver help connectstyle.

53
clpattern() Descripcin
solid lnea slida
dash guiones
dot puntos
dot_dash puntos y guiones
shortdash_dot guiones pequeos con puntos
longdash guiones grandes
longdash_dot guiones grandes con puntos
blank linea invisible
formula por ejemplo: clpattern(-.); clpattern(-..)
Para la siguiente gura 3.16 usamos tres variables discutidos en esta seccin
para crear una grca singular que muestre la tragedia del Northern Cod. Note
que las opciones connect(), clpattern() y legend() son utilizados en este ejemplo.

Example :

graph twoway line cod canada TAC year, ///


connect(line line stairstep) clpattern(solid longdash dash) ///
xtitle("") xtick(1960 (2) 2000) ytitle("Miles de Toneladas") ///
ylabel(0 (100) 800, angle(horizontal)) ///
legend( label (1 "Todas las Naciones") label (2 "Canada") ///
label(3 "TAC") position(2) ring(0) rows(3))

800 Todas las Naciones


Canada
700 TAC

600
Miles de Toneladas

500

400

300

200

100

0
1960 1970 1980 1990 2000

Figura 3.16

3.2.2.4 Ploteo de Lneas Conectadas (Connected-Line)


En el ploteo de lneas de la subseccin anterior, los puntos de los datos son
invisibles y vemos solo la conexin de las lneas. El comando graph twoway

54
connected crea ploteo una conexin de puntos en la cual los datos son marcados
por smbolos del scatterplot. Las opciones de los smbolos de marcadores son
los mismos para scatterplot y ploteo con lneas. La gura 3.17 nos muestra un
ejemplo de un ploteo de lneas conectadas a travs del tiempo de la variable de
la biomasa de bacalao (bio) de la data cod.dta.

Example :

*Grco de Lneas Conectadas


.
use cod.dta

graph twoway connected bio year


2500 2000
Estimated biomass, 1000t
1000 1500
500
0

1960 1970 1980 1990 2000


Year

Figura 3.17

La base de datos solamente contiene valores desde 1978 hasta 1997, generando
muchos espacios vacios en la gura 3.17. La condicional if nos permite restringir
el rango de los aos. La gura 3.18 realiza esta operacin, adems de acomodar
la imagen mostrando un control de los marcadores de smbolos, patrn de lneas,
ejes y legenda. Vemos que las biomasas comienzan su gran cada a nes de los
1980, aos anteriores las crisis eran reconocidos.

Example :

graph twoway connected bio cod year if year >1977 & year<1999, ///
msymbol(T oh) clpattern(dash solid) xlabel(1978(2)1996) ///
xtick(1979(2)1997) ytitle("Miles de Tonelada") xtitle("") ///

55
ylabel(0(500)2500, angle(horizontal)) ///
legend(label(1 "Biomasas Estimadas") label(2 "Total de Desembarco") ///
position(2) rows(2) ring(0))

Biomasas Estimadas
2500
Total de Desembarco

2000
Miles de Tonelada

1500

1000

500

0
1978 1980 1982 1984 1986 1988 1990 1992 1994 1996

Figura 3.18

3.2.2.5 Otros Tipos de Scatter Plot


Adems de los ploteos con lneas y scatterplot, el comando graph twoway pre-
senta una amplia variedad de otros tipos11 . Una observacin que se puede hacer
es que existen comandos como graph twoway bar y graph twoway dot que
son muy distintos a los tipos de grcos de barras (bar) y puntos (dot) re-
spectivamente. Las versiones del twoway provee varios mtodos para plotear
una variables y contra otra variable x; adems tienen la ventaja de sobreponer
otros grcos del twoway para formar grcos ms complejos. Por otro lado, las
versiones que no son del twoway proveen modos de ploteos usando resumenes
estadsticos (tal como media o mediana) de las variables y contra las categoras
de otras variables x.

Mucho de estos tipos de ploteos son tiles en la composicin del grco


nal, que se construye por sobreposicin de dos o ms ploteos simples. En el
grco 3.19 muestra un ploteo de reas de la desembarcacin de bacalao del
Newfoundland.

Example :

graph twoway area cod canada year, ytitle("")


1 1 Para ver toda la lista de posibles tipos de grcos con el comando graph twoway tipear

help twoway.

56
800
600
400
200
0

1960 1970 1980 1990 2000


Year

Total landings, 1000t Canadian landings, 1000t

Figura 3.19

El color de las reas pueden ser controlados por la opcin bcolor12 . Por
ejemplo, el gris oscuro (gs0) es actualmente el color negro. Por ejemplo, la
escala en grises se encuentra entre el valor 0 y 16.El color gris ms ligero (gs16)
es blanco. En la gura 3.20 muestra un ligero gris para este grco.

Example :

graph twoway area cod canada year, ytitle("") bcolor(gs12 gs16)


800
600
400
200
0

1960 1970 1980 1990 2000


Year

Total landings, 1000t Canadian landings, 1000t

Figura 3.20
1 2 Tipear help colorstyle para ver la lista de colores.

57
Inusualmente las condiciones de frio en el ocano y atmsfera causan un rol
secundario en el desastre de la pesca en Newfoundland. Por ejemplo, la especie
de pescado clave en los vecinos de Gulf of St. Lawrence declinaron durante este
periodo la data gulf.dta describe el desarrollo y las desembarcaciones de bacalao
en Newfoundland, donde la mxima cobertura del hielo abarca los 173,017 km2
durante estos aos.

La gura 3.21 usa esta media (173 mil) como la base de un ploteo de lneas
punteadas (spike), en la cual sobresalen lneas hacia arriba y hacia abajo a partir
de esta media referencial. La opcin yline(173) traza una lnea horizontal en
173.

Example :

use gulf.dta,clear
sum maxarea
graph twoway spike maxarea winter if winter>1963, ///
base(173) yline(173) ylabel(40(20)220, angle(horizontal)) ///
xlabel(1965(5)2000)

220

200
Maximum ice area, 1000 km^2

180

160

140

120

100

80

60

40
1965 1970 1975 1980 1985 1990 1995 2000
Winter

Figura 3.21

El formato base() de la gura 3.21 enfatiza la sucesin de inviernos inesper-


ados (valores que sobrepasan el promedio) durante los aos de 1980 hasta 1990,
donde ocurre la crisis pesquera en Newfoundland.

Una diferente vista de la misma data se muestra en la gura 3.22, donde se


emplea la regresin mnima para suavizar la serie de tiempo con graph twoway

58
lowess. La opcin de ancho de banda, bwidth(.4), especica una curva basada
en el suavizamiento de los datos que son derivamos de la regresin ponderador
entre una banda que cubre el 40% de la muestra. El ancho de la banda pequeo
se tal como bwidth(.2) , o 20% de la data, debera darnos un mayor ajuste.
Una curva suavizada que sea ms semejante a la data original. Altos anchos de
bandas como bwidth(.8), por defecto tendra un suavizamiento ms radical.

Example :

graph twoway lowess maxarea winter if winter>1963, ///


bwidth(.4) base(173) yline(173) ylabel(40(20)220, angle(horizontal)) ///
xlabel(1965(5)2000)

220

200

180
lowess maxarea winter

160

140

120

100

80

60

40
1965 1970 1975 1980 1985 1990 1995 2000
Winter

Figura 3.22

El ploteo de rangos conecta valores altos y bajos de y para cada valor de


x, usando barras, pas, o reas sombreadas. Los precios de mercados diarios
de los stocks son gracados de esta manera. La gura 3.23 muestra un ploteo
de rango con pas usando la cubertura de hielo mximo y mnimo de la data
grulf.dta.

Example :

graph twoway rcap minarea maxarea winter if winter>1963, ///


ylabel(40(20)220, angle(horizontal)) ytitle("Area con Hielo,1000km^2") ///
xlabel(1965(5)2000)

59
220

200

180
Area con Hielo, 1000 km^2
160

140

120

100

80

60

40

1965 1970 1975 1980 1985 1990 1995 2000


Winter

Figura 3.23

3.2.3 Grco de Caja y Bigote (Box Plot)


La grca de caja y bigote brinda informacin acerca del centro, amplitud,
simetra y outliers con solo un vistazo. Para obtener este grco, se debe tipear
el comando de la siguiente forma:

graph box x

Si diversas variables tienen escalas similares, podemos comparar sus distribu-


cin con la siguiente sintaxis:

graph box x y z

La gura 3.24 compara la distribucin de college segn las cuatro regiones


en USA que proviene de la base de datos states.dta.

Example :

*Graca de Caja y Bigote

use states.dta,clear

graph box college, over(region) yline(19.1)

60
30
% over 25 w/bachelor's degree +
15 2010 25

West N. East South Midwest

Figura 3.24

La mediana de la proporcin de adultos con grado superior tiende a ser


mayor en Northeast, y menor en South. Por otro lado los estados del sur pre-
sentan mayor variabilidad. La mediana por regiones (la lnea entre las cajas) en
la gura 3.24. puede ser comparado con la mediana considerando todos los es-
tados indicado por la opcin yline(19.1). Esta mediana se obtiene escribiendo:
summarize colle if region<. ,detail.

Las cajas en estos grcos se extienden desde el primer hasta el tercer cuar-
til, una distancia denominada rango intercuartil (IQR). Esta adems contiene
aproximadamente la mitad, el 50 %, de la data. Los outliers, denidos como
observaciones mayores a 1.5 IQR del primer o tercer cuartil, la cual se plotean
separadamente de la caja. La caja y bogote en STATA dene los cuartiles de la
misma manera que el comando summarize, detail.

Numerosas opciones controlan la apariencia, forma y detalles de las cajas en


este diagrama13 . La gura 3.25 demuestra alguna de estas opciones, adems del
arreglo horizontal de graph_box, usando la energa per cpita mostrado en la
base states.dta. La opcin over(region,sort(1)) hacen que las cajas se ordenan
de forma ascendente acorde a la primera variable (en este caso ordena segn sus
medianas y la nica variable que existe). La opcin intensity(30) controla la
intensidad de la sombra de las cajas, establecindole algo menos oscuro que el
default (ver gura 3.24.). La lnea vertical marca la mediana total (320), la cual
se crea con la opcin yline(), en vez de xline.
1 3 Ver help graph_box.

61
Example :

graph hbox energy, over(region,sort(1)) yline(320) intensity(30)

N. East

Midwest

West

South

200 400 600 800 1,000


Per capita energy consumed, Btu

Figura 3.25

La grca de caja y bigote para la energa en la gura 3.25 aclara no solo


la diferencia entre las medianas, sino tambin la presencia de outliers, prin-
cipalmente son cuatro altos consumos de energa entre los estados de West y
South.

3.2.4 Grco de Pastel (Pie)


Este estilo es muy popular en las presentaciones de gracas, siempre y cuando
tengan pocos valores para trabajar. El comando bsico del graco de pie en el
STATA tiene la forma:
graph pie x y w z
donde x, y, w, z son variables que miden cantidades de alguna cosa en
las mismas unidades (por ejemplo, pueden estar medidos en dinero, horas o
personas).

La base de datos Akethnic.dta, trata sobre la composicin tnica de la


poblacin de Alaska. La poblacin indgena de Alaska se dividen en tres grupos
culturales-lingusticos amplios: Aleun; Indian (incluyen Athabaska, Tinglit y
Haida) y Eskimo (Yupik y Inupiat). Las variables aleut, indian, eskimo, non-
nativ son grupos de poblaciones, que se tomaron del censo de 1990 en USA.
Esta data contiene solamente tres observaciones, representando tres tipos de

62
comunidades: ciudades de 10 000 personas o ms; ciudades de 1 000 a 10 000;
y villas con menos de 1 000 personas.

La mayora de los estados son no nativos (nonnativ ), donde se puede ver


claramente en la grca del pastel de la Figura 3.26. La opcin pie(3,explode)
provoca el llamado de la tercera variable, eskimo, para ser "explotado" al pon-
erle nfasis al grco. La cuarta variable nombrada, nonnativ, es sombreado
con un ligero color gris, pie(4,color(gs13)), para compararlos con los grupos
nativos ms pequeos (es importante mencionar que existen otros colores que
se pueden utilizar como color(blue) o color(chranberry)14 . La opcin pla-
bel(3 percent, gap(20)) causa una etiqueta de porcentaje que se seala en
el pedazo (slide) correspondiente a la tercera variable, eskimo, con una brecha
(gap) de 20 unidades separados del centro. Podemos ver que cerca del 8% de la
poblacin de Alaska es Eskimo (Yupik y Inupiat). La opcin legend seala las
cuatros variables localizado en la posicin de las 11 en punto del reloj.

Example :

use akethnic.dta,clear

graph pie aleut indian eskimo nonnativ , pie(3, explode) ///


pie(4, color(gs13)) plabel(3 percent , gap(20)) ///
legend( position(11) rows(4) ring(0))

Aleuts
Indians 8.072%
Eskimos
Non-Natives

Figura 3.26

Los no nativos son el grupo dominante en la gura 3.26, pero si mostramos el


pastel separado por cada tipo de comunidad aadindole un by(comtype) como
1 4 Tipear help colorstyle para observar la lista de colores.

63
opcin, emerge nuevos detalles mostrados en la gura 3.27. La opcin angle0()
especica el ngulo del primer slide del pie. Estableciendo este primer slide
un ngulo en cero (horizontal), orienta los slides de tal forma que las etiquetas
son ms fciles de leer. La gura muestra que mientras los nativos son sola
la pequea fraccin de la poblacin en la ciudad de Alaska, ellos constituyen
la mayora entre aquellos que viven en las villas. En particular, los Eskimos
conforman una gran fraccin de los que viven en las villas, el 35% en total. Esto
hace que las villas en Alaska tengan una caracterstica distinta a comparacin
de la ciudad.

Example :

graph pie aleut indian eskimo nonnativ , pie(3, explode) ///


pie(4, color(gs13)) plabel(3 percent , gap(20)) ///
legend( position(11) rows(4) ring(0)) by(comtype) angle0(0)

villages towns

34.67% 8.141%

cities

2.332%

Aleuts Indians Eskimos Non-Natives


Graphs by Community type (size)

Figura 3.27

3.2.5 Grco de Barras (Bar)


El grco de barras provee una simple y verstil exhibicin conjunto de resmenes
estadsticos como media, mediana, suma o conteo. Para obtener barras verti-
cales mostrando la media de la variable y frente a las categoras de x, por
ejemplo, tipeamos:

graph bar (mean) y, over(x)

64
Para barras horizontales mostrando la media de y frente a las categoras de
x1 , por cada una de las categoras de x2 , tipeamos:

graph hbar (mean) y, over(x 1 ) over(x 2 )


Este tipo de grco puede calcular los siguientes estadsticos:

mean : Media, por default se calcula si no se especica el


estadstico.
sd : Desviacin estndar.
sum : Suma.
rawsum : Suma ignorando los ponderados especicados como
opcin.
count : Cuenta el nmero de observaciones sin considerar
los missing values.
max : Mximo
min : Mnimo
median : Mediana
p1 : Primer cuartil
p2 : Segundo cuartil (y as hasta p99)
iqr : Rangos intercuartiles.

La base de datos statehealth.dta contiene datos sobre los estados de USA,


combinando medidas socio econmicas desde el Census de 1990 con diferentes
indicadores de riesgo a la salud de los Centers for Disease Control (2003), pro-
mediados entre los aos 1994-1998.

La gura 3.28 indica el porcentaje de la mediana de la poblacin inactiva en


tiempo de ocio (inactive), para cuatro regiones geogrcos (region). vemos una
diferencia regional: tasas de inactividad son altas en el South (36%), y menores
en el West (21%). Note que el eje vertical ha sido automticamente etiquetado
como "p50 of inactive", que signica el 50th percentil o mediana. La opcin
blabel(bar) etiqueta la parte superior de la barra con el valor de las medianas
(20.9, etc..). bar(1,bcolor(gs10)) especica que el color de las barras para
la primera variable mencionada (en este caso solo mencionamos a la variable
inactive) debera ser mostrado con un color gris ligero.

Example :

*Grco en barras

65
use statehealth.dta,clear
graph bar (median) inactive, over(region) blabel(bar) ///
bar(1,bcolor(gs10))

40
30 36.05

29.1
28.3
p 50 of inactive

20.9
20 10
0

West N. East South Midwest

Figura 3.28

La gura 3.29 elabora la anterior idea aadiendo otra variable, overweight, y


se colorea su barra de gris oscuro. La etiqueta de la barra son size(medium),
hacindoles ms grande que el tamao por default (size(small)). Otras posi-
bilidades para size() son las subopciones tiny, medsmall, medlarge o large 15 .
La gura 3.29 muestra las diferencias regionales con respecto al sobrepeso son
menos pronunciados que la inactividad, adems las medianas de ambas variables
son mayores en el South y Midwest.

Example :

graph bar (median) inactive overweight, over(region) ///


blabel(bar, size(medium)) bar(1,bcolor(gs10)) bar(2,bcolor(gs7))
1 5 Puedes ver una lista ms detallada con el comando help textsizestyle.

66
40
36.05

31.3 31.2
29.1
30

27.6 28.3
27.1

20.9
20
10
0

West N. East South Midwest


p 50 of inactive p 50 of overweight

Figura 3.29

Los indicadores de riesgo en statehealth.dta incluye fatalidades por vehculos


a motor por 100 000 habitantes (motor ). La gura 3.30 muestra subgrupos
de estados con bajos y altos ingresos (estados que tienen ingresos menores y
mayores a la media de los ingresos del hogar), revelando una impresionante
correlacin con la riqueza. Entre cada uno de las regiones, la tasa de fatalidad
son ms altos en el South y menores en el Northeast. El orden de las dos
opciones over() controlan el orden en la organizacin del grco. Para este
ejemplo utilizamos las barras horizontales (hbar), donde las opciones ytitle() y
yline() se reeren al eje horizontal. En este caso, colocamos una lnea horizontal
que indica el valor de la mediana total de 17.2, yline(17.2), y ser mostrado
de forma vertical.

Example :

graph hbar (mean) motor, over(income2) over(region) yline(17.2) ///


ytitle("Promedio de vehculos a motor relacionado a Fatalidades/100000")

67
Low income
West
High income

Low income
N. East
High income

Low income
South
High income

Low income
Midwest
High income

0 5 10 15 20 25
Promedio de vehculos a motor relacionado a Fatalidades/100000

Figura 3.30
Las barras tambin pueden estar montadas entre s, como se muestra en la
gura 3.31. Este ploteo, basado sobre la data de etnicidad en Alaska, emplea
todas las opciones por default para gracar la composicin tnica por tipo de
comunidad (village, town o city).

Example :

use akethnic.dta,clear

graph bar (sum) nonnativ aleut indian eskimo, over(comtype) stack


400000
300000
200000
100000
0

villages towns cities


sum of nonnativ sum of aleut
sum of indian sum of eskimo

Figura 3.31

68
La gura 3.32 regraca este ltimo ploteo con una mejor leyenda y etiqueta
los ejes. La opcin over() ahora incluye subopciones que reetiquetan los tipos
de comunidad en el eje de la abscisa para dar mayor informacin. La opcin
legenda especica cuatro las en el mismo orden vertical que se muestra en las
barras. Tambin se mejora la etiqueta de las legendas con ytitle y ylabel como
opciones del formato del eje vertical.

Example :

graph bar (sum) nonnativ aleut indian eskimo, ///


over(comtype, relabel(1 "Village <1000" ///
2 "Towns 1000-10000" 3 "Cities >10000")) ///
legend( row(4) order(4 3 2 1) position(11) ring(0) ///
label(1 "Nonnative") label(2 "Aleut") ///
label(3 "Indian") label(4 "Eskimo")) stick ///
ytitle("Population") ylabel(0 (100000) 300000) ///
ytick(50000 (100000) 350000)

Eskimo
Indian
300000

Aleut
Nonnative
200000
Population
100000
0

Village <1000 Towns 1000-10000 Cities >10000

Figura 3.32

Mientras el pie de la gura 3.31 muestra el tamao relativo (porcentajes)


de los grupos tnicos por cada tipo de comunidad, esta ltima barra muestra
sus tamaos absolutos. Consecuentemente, esta gura te dice algo ms que el
anterior: la mayora de la poblacin de Eskimos en Alaska viven en villas.

69
3.2.6 Grco de Puntos (Dot Plot)
Los ploteos con puntos son igual de tiles que las grcas con barras: compara-
ndo visualmente resumenes estadsticos de una o ms variables. Las opciones
que usa el STATA para ambos grcos son ampliamente similares, incluyendo
la eleccin de los estadsticos. Para ver este diagrama comparando las medianas
de las variables x; y; w y z, debemos tipear:
graph dot (median) x y w z
Y para ver la comparacin de promedios de la variable y segn las categoras
de x, escribimos:
graph dot (mean) y , over(x)
La gura 3.33 muestra un ploteo de puntos de la tasa de fuma entre hombre
y mujeres por regiones, usando la data stateheath.dta. La opcin over() incluye
buena subopcin, sort(smokeM), la cual ordena la media de smokeM para
cada una de las regiones, esto es desde la ms baja hasta la ms alta tasa de
fumar. Tambin podemos especicar un triangulo slido como marcador de
smbolo para smokeM y crculos con un centro vacio para smokeF.

Example :

*Dot Plot

graph dot (mean) smokeM smokeF, over(region, sort(somkeM)) ///


marker(1, msymbol(T)) marker(2, msymbol(Oh))

West

N. East

South

Midwest

0 10 20 30

mean of smokeM mean of smokeF

Figura 3.33

70
Adems, la gura 3.33 calcula solo 8 promedios, esto hace que sea fcil las
comparaciones. Vemos que las tasas de fumar son ms altas en las mujeres, y
con respecto a ambos sexos la tasa ms alta se encuentra en South y Midwest,
y esas variaciones son sustancialmente muy altos en el caso de las mujeres.
La grca en barras podra darnos la misma informacin, pero una ventaja
de estos grcos es la formar de compactar los datos. Los ploteos de puntos
(particularmente cuando se quiere ordenar por estadsticos de inters) es fcil
de entender incluso con varias las.

3.3 Aadiendo Textos a los Grcos


Los ttulos, las nombres de grcos y notas pueden ser aadidos al grco para
que sea ms explicativo. Los ttulos y subttulos aparecen encimas del rea
del ploteo; las notas (la cual puede documentar la fuente de los datos) y las
caption aparecen en la parte inferior16 . La gura 3.42 muestra el uso de estas
opciones en un scatterplot sobre los fumadores y los graduados universitarios
en los estados de USA, usando la data statehealth.dta. La gura 3.42 tambin
incluye ttulos para ambos lados (derecha e izquierda) del eje y;yaxis(1 2) y la
parte superior en inferior del eje x, xaxis(1 2). Luego las opciones xtitle y ytitle
se reeren al segundo eje especcamente, al incluirse la subopcin axis(2).

Example :

*Texto en Grcos

use statehealth.dta,clear

graph twoway scatter smokeT college, yaxis(1 2) xaxis(1 2) ///


title("Es es un Ttulo") subtitle("Este es un Subttulo") ///
caption("Este es un caption") note("Esta es una Nota") ///
ytitle("Este es el Porcentaje de adultos fumadores") ///
ytitle("Este es el Eje Y 2", axis(2)) ///
xtitle("Porcentaje de adultos con Grado Superior") ///
xtitle("Este es el Eje X 2", axis(2))
1 6 Tipear help title_options para ms informacin acerca de la especicacin de los ttulos

o help text_box para detalles concernientes a sus contenidos.

71
Es es un Ttulo
Este es un Subttulo
Este es el Eje X 2
Este es el Porcentaje de adultos fumadores 10 15 20 25 30 35
35

35
30

30
Este es el Eje Y 2
25

25
20

20
15

15
10 15 20 25 30 35
Porcentaje de adultos con Grado Superior
Esta es una Nota
Este es un caption

Figura 3.34

El ttulo aade el texto fuera del espacio de ploteo. Tambin podemos aadir
cajas de texto en coordinadas especcas en el espacio de ploteo. Diversos out-
liers se observan en este ploteo, la cual bajo inspeccin estos outliers resultan
ser Washington DC (el valor ms alto de college), Utah (valor ms pequeo de
smokeT ) y Nevada (el valor ms alto de smokeT en la parte superior izquierda).
Los cuadros de texto son de instrumentos para identicar dichas observaciones
en nuestro grco, como se seala en la gura 3.43. La opcin text(15.5 22.5
"Utah") establece la palabra Utah en la posicin x=15.5 e y=22.5 del scat-
terplot, directamente por encima del punto que indica el estado de Utah. De
una forma similar podemos establecer la palabra "Nevada"en x=33.5 e y=15 y
ubicarlo en un cuadro pequeo (con pequeos mrgenes17 ) alrededor del nombre
del estado. Las tres lneas de textos justicados hacia la izquierda son coloca-
dos al lado de Washignton DC (cada lnea se especica separadamente entre
comillas). Algunos cuadros de texto o ttulos pueden tener mltiples lneas,
as que podemos escribir una parte del ttulo en lneas diferentes escribindolo
entre comillas diferentes, para luego denir el tipo de justicacin. El cuadro
"nevada" utiliza un formato de fondo por default, mientras que el cuadro de
"Washigton DC" elegimos un color de fondo blanco18 .

Example :

graph twoway scatter smokeT college, yaxis(1 2) xaxis(1 2) ///


1 7 Ver help marginstyle.
1 8 Ver help textbox_option y help colorstyle.

72
title("Es es un Ttulo") subtitle("Este es un Subttulo") ///
caption("Este es un caption") note("Esta es una Nota") ///
ytitle("Este es el Porcentaje de adultos fumadores") ///
ytitle("Este es el Eje Y 2", axis(2)) ///
xtitle("Porcentaje de adultos con Grado Superior") ///
xtitle("Este es el Eje X 2", axis(2)) ///
text(15.5 22.5 "Utah") ///
text(33.5 15 "Nevada", box margin(small)) ///
text(23.5 32 "Washington DC" "no es actualmente" "un estado", ///
box justicacion(left) box margin(small) bfcolor(white))

Es es un Ttulo
Este es un Subttulo
Este es el Eje X 2
Este es el Porcentaje de adultos fumadores

10 15 20 25 30 35
35

35
Nevada
30

30
Este es el Eje Y 2
25

25
Washington DC
no es actualmente
un estado
20

20
Utah
15

10 15 20 25 30 35 15
Porcentaje de adultos con Grado Superior
Esta es una Nota
Este es un caption

Figura 3.35

3.4 Mltiples Ploteos


Dos o ms gracos de la familia graph twoway pueden ser sobrepuestos en
un nico grco. La familia twoway incluye diversos modelos de ploteos tales
como lt (recta de regresin lineal), qt (curva de regresin cuadrtica) y ms.
Por ello, tales ploteos brindan informacin al mnimo. Por ejemplo, la gura
3.44 describe la recta de regresin lineal, teniendo bandas al 95% de nivel de
conanza para la media condicional, de la regresin que surge entre smokeT
sobre college (del statehealth.dta).

Example :

*Ploteos Multiples

73
use statehealth.dta,clear

graph twoway ltci smokeT college

30
25
20
15

10 15 20 25 30 35
% adults college degree, 1990

95% CI Fitted values

Figura 3.36

Un grco con mayor informacin cuando sobreponemos un scatterplot sobre


la recta de regresin lineal, se puede ver en la gura 3.45. Para hacer esto, damos
dos distintas indicaciones de comandos de grcos, separado por el "jj" como se
mencion anteriormente.

Example :

graph twoway ltci smokeT college jj scatter smokeT college


35
30
25
20
15

10 15 20 25 30 35
% adults college degree, 1990

95% CI Fitted values


% adults smoking

Figura 3.37

74
El segundo ploteo (scatterplot) se coloca encima del primer ploteo en la gura
3.45. Este orden tiene consecuencia para el estilo de lnea usado por defecto
(solid, dashed,etc) y tambin para el marcado de smbolos (square, circle,etc)
usado por cada subploteo. Los ms importante es tratar que los ploteos sean
los ms visibles posibles.

La gura 3.46 desarrolla la idea anterior, mejorando la imagen usando las


opciones de etiquetas de ejes y legenda. Por que dichas opciones se aplican al
grco como un todo y no por separado, estas opciones son establecidas despus
del segundo separador jj, seguido por una coma. La mayora de estas opciones
se asemeja a los ejemplos realizados anteriormente. La opcin order(2 1) en
este caso hace una nueva funcin: omite una de los tres item de la legenda,
tal que solo dos de ellos (2 de la regresin lineal, seguido por 1 del intervalo
de conanza) aparecezcan en la gura. Comparando esta legenda con la gura
3.45 vemos la diferencia. Aunque listemos solo dos item en la legenda, aun es
necesario especicar tres las en el formato de la legenda (rows(3)) como si
cada uno de los items estan retenidos.

Example :

graph twoway ltci smokeT college jj scatter smokeT college ///


jj , xlabel(12 (2) 34) ylabel(14 (3) 32, angle(horizontal)) ///
xtitle("Porcentajes de Adultos con Grados Superior") ///
ytitle("Porcentaje de Adultos que fuman") ///
note("Datos del CDC andn US Census") ///
legend(order(2 1) label(1 "95% c.i") label(2 "Regresin Lineal") ///
rows(3) position(1) ring(0)

32
Regresin Lineal
95% c.i
29
Porcentaje de Adultos que fuman

26

23

20

17

14
12 14 16 18 20 22 24 26 28 30 32 34
Porcentajes de Adultos con Grados Superior
Datos del CDC andn US Census

Figura 3.38

75
Ambos scatterplot (ltci y scatter ) en la gura 3.46 presentan la misma es-
cala de los ejes x e y, pero cuando ambas variables de inters tienen distintas
escalas, nosotros necesitaramos escalas independientes. La gura 3.47 ilustra
este caso juntando dos ploteos con lneas basado sobre la data del Gulf of St.
Lawrence, gulf.dta. Estas guras combinan series de tiempo de los promedios
mnimos de temperatura para el agua en Gulf (cil ), en grados celsius, y la mx-
ima rea cubierta de hielo (maxarea), en miles de kilmetros cuadrados. El
ploteo de line hace uso de la opcin yaxis(1), lo cual por defecto es el lado
izquierdo. El ploteo de la mxima rea usa el yaxis(2), la cual por defecto
es el lado derecho. Los diversos opciones de ylabel, ytitle, yline e yscale
se incluyen con la subopcin axis(1) o axis(2), declarando cual de los ejes
y se reeren. Espacios extras entre las comillas para ytitle provee una rp-
ida forma de colocar las palabras de esos ttulos donde nosotros deseamos. El
cuadro de texto contiene ""Decada y Colapso de los pescadores de Northern
Gulf" especicando un margen de tamao medio alrededor del texto. La opcin
yscale(range()) da a ambos ejes un rango ancho para los datos, los valores es-
pecicados se eligieron despus de experimentar y encontrar la mejor separacin
vertical entre ambas series.

Example :

use gulf.dta, clear

graph twoway line cil winter, ///


yaxis(1) yscale(range(-1,3) axis(1)) ///
ytitle("Grados Celsius ",axis(1)) yline(0) ///
ylabel(-1(0.5)1.5, axis(1) angle(horizontal) nogrid) ///
text(1 1992 "Decaida y Colapso" "de los pescadores" "de Northern Gulf",
///
box margin(medium)) ///
jj line maxarea winter, ///
yaxis(2) ylabel(50(50)200, axis(2) angle(horizontal)) ///
yscale(range(-100,221) axis(2)) ///
ytitle(" 1000s de km^2",axis(2)) ///
yline(173.6, axis(2) lpattern(dot)) ///
jj if winter>1949, ///
xtitle("") xlabel(1950(10)2000) xtick(1950(2)2002) ///
legend(position(11) ring(0) rows(2) order(2 1) ///
label(1 "Mxima rea de hielo") label(2 "Mnima temperatura")) ///
note("Fuente: Hamilton, Haedrich and Duncan (2003); dtata de DFO (2003)")

76
Mnima temperatura
200
Mxima rea de hielo

150

1000s de km^2
1.5 100
Grados Celsius

Decaida y Colapso
1 de los pescadores
de Northern Gulf 50

.5

-.5

-1
1950 1960 1970 1980 1990 2000
Fuente: Hamilton, Haedrich and Duncan (2003); dtata de DFO (2003)

Figura 3.39

Para localizar la pesca de bacalao en la misma grca con la temperatura


y el rea de hielo, necesitamos tres escalas verticales independientes. La gura
3.48 envuelve tres ploteos superpuestas, la cual todos estn en el lado izquierdo
del eje y por defecto. La forma bsica de estos tres ploteos es como sigue:

connected maxarea winter; un ploteo de lneas conectadas entre la vari-


able maxarea y winter, usando yaxis(3) la cual debera estar ubicado en la parte
ms izquierda del eje y. Los rangos de escala en el eje y va desde -300 a 200,
sin lneas horizontales como malla. Su titulo es "rea de Hielo, 1000 km^2" .
Este ttulo es localizado en la posicin noroeste, placement(nw).

line cil winter; plotea una lnea entre la variable cil y winter, usando
yaxis(2) y rangos de escala entre -4 hasta 3, con las etiquetas por defecto.

connected maxarea winter; un ploteo entre cod y winter, usando yaxis(1).


El titulo se localiza en la parte suroeste.

Brindando estos tres componentes del ploteo de forma conjunta, el comando


para elaborar la gura 3.48 aparece a continuacin.

Example :

graph twoway connected maxarea winter, ///

77
yaxis(3) yscale(range(-300,220) axis(3)) ///
ylabel(50(50)200, nogrid axis(3)) ///
ytitle("Area de Hielo, 1000 km^2 ",axis(3) placement(nw)) ///
clpattern(dash) ///
jj line cil winter, ///
yaxis(2) yscale(range(-4,3) axis(2)) ///
ylabel(, nogrid axis(2)) ///
ytitle(" Temperatura CIL, Grado Celsius",axis(2)) ///
clpattern(solid) ///
jj connected cod winter, ///
yaxis(1) yscale(range(0,200) axis(1)) ///
ylabel(, nogrid axis(1)) ///
ytitle(" Pesca de Bacalao,1000 toneladas",axis(2) placement(sw)) ///
jj if winter>1959, ///
legend(position(7) ring(0) rows(3) ///
label(1 "Mxima rea de hielo") label(2 "Mnima temperatura")) ///
xtitle("") xlabel(1960(5)2000, grid)
Area de Hielo, 1000 km^2
50 100 150 200

-1 -.5 0 .5 1 1.5
N. Gulf cod catch, 1000 tons
Pesca de Bacalao,1000 toneladas

60 80 100 40

Mxima rea de hielo


20

Mnima temperatura
N. Gulf cod catch, 1000 tons
0

1960 1965 1970 1975 1980 1985 1990 1995 2000

Figura 3.40

3.5 Guardar, Combinar y Exportar Grcos


Una vez que el grco fue creado, este puede ser guardado. Para esto STATA
usa el comando save principalmente para guardar los grcos en STATA con
extensin *.gph. El procedimiento puede realizarse usando la opcin saving()

78
en la misma lnea de comando del grco o a travs del comando graph save
despus que el grco haya sido creado. Cuando guardamos en esta ltima
manera, se puede volver a acceder a los grcos para ser manipulados a gusto
personal a travs del Editor de Grcos.

Example :

*Guardando un Grco en STATA

*I Forma

graph twoway scatter mpg weight,saving(g1)


*II Forma

tw(sc mpg weight, msize(small)) (lt mpg weight, lwidth(medthick)), ///


title("Dispersin de Puntos y Lnea OLS Ajustada")

graph save g2.gph,replace

Dos o ms grcos pueden combinarse en uno solo utilizando el comando


graph combine.

Example :

*Combinemos el graco g1.gph y g2.gph


graph combine g1.gph g2.gph

Dispersin de Puntos y Linea OLS Ajustada


40

40
30

30
Mileage (mpg)

20
20

10

2,000 3,000 4,000 5,000


10

Weight (lbs.)
2,000 3,000 4,000 5,000
Mileage (mpg) Fitted values
Weight (lbs.)

F igura 3:3:Combinar Grcos

79
Dado que la extensin del graco por default del STATA es *.gph, no es
reconocido por otros programas, tal como procesadores de texto. Para guardar
un grco en otro formato, se debera usar el comando graph export. Var-
ios formatos estn disponibles, incluyendo PostScript (.ps), Encapsulated Post-
Script (.eps), Window Metale (.wmf), PDF (.pdf) y Postable Network Graph-
ics (.png). La mejor seleccin del formato depende en parte de cual procesador
de texto se usa, por eso es necesario una prueba de ensayo y error.

Example :

*Exportar Grcos

*Guardamos el grco combinado como:

graph export g12.wmf //Window meta-le


graph export g12.ps //PostScript
graph export g12.eps //Encapsulated PostScript
graph export g12.pdf //PDF
graph export g12.png //Portable Network Graphics

80
Cap. 4 Modelo de Regresin
Lineal Clsico

4.1 Modelo de Regresin Lineal (OLS)


El objetivo del modelo de regresin lineal es estimar los parmetros de la media
condicional lineal:

E (yjx) = x0 = 1 x1 + 2 x2 + :::: + k xk

donde usualmente un intercepto es incluido tal que x1 = 1. Aqu x es un


matriz de nxk con k regresores y n observaciones, es un vector columna de
kx1.
A veces E (yjx) es de inters directo para la prediccin. Sin embargo, estu-
dios economtricos estn interesados ms en los efectos marginales:

@E (yjx)
= j
@xj

para el j-simo regresor. Por ejemplo, estamos interesados en los efectos


marginales del seguro de salud privado suplementario sobre los gastos mdi-
cos. Un atractivo del modelo lineal es que los efectos marginales se obtienen
directamente de estimador de la pendiente.

El modelo de regresin lineal especica un trmino de error aditivo tal que


para un valor tpico de la i-sima observacin:

yi = x0i + ui ; i = 1; ::::; N

PNLos estimadores
2
OLS que minimizan la suma de cuadrados de los errores,
i=1 (yi x0i ) .

La notacin matricial otorga una forma compacta de representar los esti-


madores y la varianza. Denimos el vector columna v de N x1 para tener la ith
observacin de yi , y denamos la matriz de regresores X de N xk que tiene la ith
la x0i . Entonces los estimadores OLS pueden ser escritos de diferentes formas:

b 1
= (X0 X) X0 y
1 N
P
N P
= xi x0i xi yi
i=1 i=1

81
0 10 N 1
P
N P
N P
N P
B i=1 x21i x1i x2i x1i xki C B x1i yi C
BN i=1 i=1 C Bi=1 C
BP P
N CBP N C
B x2i x1i x22i C B x2i yi C
b=B
Bi=1 i=1
CB
C Bi=1
C
C
B .. .. .. .. C B .. C
B . . . . C B . C
B CB C
@PN P 2
N A @ P
N A
xki x1i xki xki yi
i=1 i=1 i=1

4.2 Propiedades de los Estimadores OLS


Las propiedades de algunos generadores varan con el supuesto hecho acerca del
proceso de generador de datos. Para modelos de regresin lineal, este reduce los
supuestos acerca de la regresin del termino de error ui .

El punto de inicio para el anlisis es asumir que ui satisface los siguientes


condiciones clsicos:

1. E (ui jxi ) = 0 (exogeneidad de los regresores).


2. E u2i jxi = 2
(condicin de homocedasticidad).
3. E (ui uj jxi ) = 0; i 6= j (condicin de no correlacin).

El supuesto 1 es esencial para la estimacin consistente de e implica que


la media condicional est correctamente especicada. Esto quiere decir que la
media condicional es lineal y que todas las variables relevantes han sido incluidas
en la regresin.

El supuesto 2 y 3 determina la forma del estimador de la matriz de varianza-


covarianza de V b . El supuesto 1, 2 y 3 conduce a que b est distribuido
normalmente asintticamente:
b = s2 (X0 X) 1
V

donde:
P
N
s2 = (N k) 1
b2i
u
i=1

yubi = yi x0i b .
Bajo los supuestos 1,2 y 3, los estimadores son completa-
mente ecientes, es decir, tienen varianza mnima. Si adicionalmente, ui est
distribuido normalmente, entonces los t estad{sticos presentan una distribu-
cin de t student. Cuando los supuestos 2 y 3 no se cumplen, entonces los
estimadores OLS no son ecientes.

82
4.3 Estimacin del Modelo de Regresin
Para este caso analizaremos los gastos mdicos de individuos que tienen 65 aos
y ms quienes se someten al cuidado de salud a travs del programa mdico de
U.S, la cual el seguro mdico no cubre todos los gastos. Cerca de la mitad de
los individuos elegidos por consiguiente compran un seguro suplementario en el
mercado privado que provee un seguro contra varios gastos de medicina cara.
As que vamos a considerar el impacto de este seguro complementario sobre el
total de los gastos mdicos de un individuo, medido en dlares. Una formal
investigacin debera controlar la inuencia de otros factores que determinen
el gasto mdico por individuo, siendo los factores socio demogrco como la
edad, gnero, educacin, ingreso, locacin geogrca y estatus de salud como
la presencia de condiciones limitantes o crnicas. Para dicho n utilizaremos la
base mus03data.dta.

Usaremos el comando regress para correr un modelo de regresin OLS del


logaritmo natural de los gastos mdicos (ltotexp) que sera nuestra variable a
explicar, sobre otras variables que nos ayuden a entender el modelo, tal como si
el individuo cuenta con el seguro privado suplementario(suppins), sus ingresos
(income), otras medidas como la edad (age), el gnero (female) y el estatus de
salud que presenta como el numero de problemas crnicos (totchr) , si presenta
limitaciones funcionales (phylim) o de actividad (actlim). Los detalles de la
descripcin de las variables lo podemos ver con el comando describe.

Antes de comenzar con la regresin, es til investigar las correlaciones entre


los pares de variables de la variable dependiente y otras variables claves usando
el comando correlate.

Example :

*Matriz de Correlacin entre las variables

correlate ltotexp suppins phylim actlim totchr age female income

M atriz de Correlacion

83
Los gastos estn altamente correlacionados con la medida de estatus de salud
phylim, actlim y totchr.

Como se mencion el comando regress nos permite realizar una regresin


OLS y muestra una tabla del anlisis de varianza (ANOVA), el estadstico de
bondad de ajuste, los coecientes estimados, errores estndar, los estadsticos
de student, probabilidad e intervalos de conanza.

Example :

*Regresin OLS

regress ltotexp suppins phylim actlim totchr age female income

Re gresion OLS

Los regresores son conjuntamente signicativos, porque el estadstico F es


de 124.98 y tiene una probabilidad de 0.000. Al mismo tiempo, muchas de
las variaciones es inexplicado con un R2 =0.2289. La raz de Error Cuadrtico
Medio (Root MSE) reporta el error estndar de la regresin. Usando el test
de las dos colas a un nivel de 5%, todos los regresores son individualmente
signicativos estadsticamente porque p <0.05, a excepcin de age y female.

Lo ms importante es la signicancia estadstica de los coecientes, que sig-


nican la medida del impacto de los regresores sobre el gasto medico. Esta
interpretacin es sencilla cuando las variables estn medidas en niveles, pero en
este caso se encuentra en logaritmos, as que los estimadores necesitan ser in-
terpretados como semi-elasticidades. Por ejemplo, para el coeciente de suppins
es 0.256. Esto quiere decir que el seguro suplementario privado est asociado
con un 0.256 aumento proporcional, o 25.6% incremento en los gastos mdicos.
Similarmente, grandes efectos se obtienen para la media del estatus de salud,

84
donde el gasto de salud para las mujeres son 8.4% menor que el de los hombre
manteniendo constante los dems factores. El coeciente de income de 0.0025
sugiere un efecto muy pequeo, pero esto es engaoso ya que esta expresado
en miles. La desviacin estndar del ingreso es 0.001, tal que una desviacin
del ingreso conduce a un aumento proporcional de 0.001, o 0.1%, en los gastos
mdicos.

4.4 Prueba de Hiptesis


El comando test desarrolla test de hiptesis usando el procedimiento del test
de Wald que usa los coecientes del modelo estimado y la matriz de varianza-
covarianza. Presentamos algunos ejemplos.

Un test comn es la igualdad de coecientes, donde vamos a testear que


las limitaciones funcionales (phylim) tiene el mismo impacto sobre los gastos
mdicos que las limitaciones de actividad (actlim). El test de H0 : phy lim =
act lim .

Example :

*Test de Hiptesis para Equivalencia de Coecientes

test phylim=actlim

T est de Hipotesis : igualdad de coef icientes

Dado que p < 0:61 > 0:05, no rechazamos la hiptesis nula al 5% de nivel
de signicancia. No hay signicancia estadstica entre los coecientes de las dos
variables.

Otro comn test es la signicancia estadstica de un subconjunto de regre-


sores. Un test de signicancia conjunta de la medida de estatus de salud es,
H0 : phy lim = 0; act lim = 0; totchr = 0, y la Ha es que al menos uno sea
diferente de cero.

85
Example :

*Test de Hiptesis Conjunta

test phylim actlim totchr

T est de Hipotesis : signif icancia conjunta

Estas tres variables son conjuntamente signicativo estadsticamente al nivel


de 5% porque p < 5%:

4.5 Prediccin del Modelo de Regresin


Para el modelo de regresin lineal, el estimador de la media condicional de y
dado x = xp , E (yjxp ) = x0p , es el valor predicho de y condicional yb = x0p b .

4.5.1 Prediccin en la Muestra


Nos enfocaremos sobre la prediccin para cada observacin en la muestra, es
decir, ybi = x0i b predice E (yi jxi ) para cada i = 1; :::; N: para hacer esto usamos
el comando predict seguido por un nombre la cual es creado como variable.
La opcin de este comando por default es ybi . La opcin residual nos permite
obtener los residuos p del modelo (b u) y con rstandard obtenemos los residuos
2
estandarizados (b u= b ) . Este comando siempre va despus del comando de
regresin, en este caso el comando regress. El comando quietly nos permite
omitir los resultados de la regresin en la Ventana de Resultados del STATA.
Tambin es posible guardar la informacin de la regresin con un nombre, esto
se hace usando el comando estimates store.

Example :

*Prediccin del Modelo

86
quietly reg ltotexp suppins phylim actlim totchr age female income

predict ltotexp_est

predict residuos, residual

predict residuos_est, rstandard

predict ltotexp_stdp , stdp

predict ltotexp_stdf , stdf

summ ltotexp ltotexp_est

estimates store modelo_original

La opcin stdp provee los errores estndar de la prediccin, y la opcin stdf


provee los errores estndar de la prediccin para cada una de las observaciones
de la muestra.

El cuadro estadsticos resumido nos muestra que el promedio del valor predi-
cho ltotexp_est es igual a la variable dependiente ltotexp.

4.5.2 Efectos Marginales


El comando de postestimacin mfx calcula los efectos marginales y evala las
elasticidades en la media muestra, junto con errores estndar asociados e in-
tervalos de conanza. El comando mfx calcula para cada regresor continuo
@E (yjx) =@x, y para variables discretas E (yjx), evaluado en = v y x =x:

Para modelos lineales, el estimador del efecto marginal del j esimo regresor
es b j , as que no sera necesario utilizar el comando mfx. Pero mfx tambin
puede ser usado para calcular elasticidades y semi-elasticidades. Por ejemplo,
la opcin eyex calcula las elasticidades @E (yjx) =@x (x=y), evaluado en la
media muestral, la cual equivaldra a b j (x=y) para modelos lineales.

Example :

*Efectos Marginales

quietly reg ltotexp suppins phylim actlim totchr age female income

mfx

mfx,eyex

87
Ef ectos M arg inales y Elasticidades

Segn el cuadro de efectos marginales, unincremento de 1% en sus ingresos,


provocara un incremento de 0.25% en los gastos mdicos. Y dado el cuadro
de Elasticidades, se podra concluir que el seguro mdico es un bien normal
donde presenta una elasticidad inelstica (menos a la unidad), ya que guarda
una relacin directa con el ingreso.

4.6 Diagnstico del Modelo de Regresin


La mayora de los enfoques para decidir sobre un adecuado modelo es el Test
de Wald que ja un buen modelo y determina si la data suporta la necesidad de
enriquecerse. Por ejemplo, podemos aadir regresores adicionales para el mod-
elo y probar si sus coecientes son iguales a cero. Otros son anlisis visuales tal
como plotear los residuos contra los valores de la variable dependiente predichas.
Algunos son diagnsticos estadsticos tal como la inuencia estadstica que in-
dica la relacin de importancia de observaciones individuales. Y algunas son
formales de test para contrastar la falla de una o ms supuestos del modelo.

88
Presentamos brevemente diagnsticos estadsticos y grcos, antes de dar un
tratamiento prolongado del test de especicacin.

4.6.1 Diagnsticos de los Residuos

4.6.1.1 Ploteos de los Residuos


Consideramos varios ploteos de los residuos que nos ayudan a la deteccin de
outlier, donde un outlier es una observacin pobremente predicha por el mod-
elo. Una manera para hacer eso es gracar los valores actuales contra los valores
predichos de la variable dependiente. El comando rvfplot da una transfor-
macin de esto, plotea los residuos ubi = yi ybi ; contra los valores predichos
ybi = x0i b .

Example :

quietly reg ltotexp suppins phylim actlim totchr age female income

rvfplot
4
2 0
Residuals
-2 -4
-6

7 8 9 10 11
Fitted values

Ploteo de los Re siduos contra los valores despus


de la regresin OLS

La gura no nos indica algunos outliers extremos, aunque existen tres obser-
vaciones con un valor de residual menores que 5 que podran ser investigados.

STATA provee otros ploteos residuales diferentes. El comando de postesti-


macin rvpplot plotea los residuos con los regresores individuales. El comando

89
avplot provee el ploteo de una variable aadida, o un ploteo de una regresin
parcial que es til para la deteccin de outliers19 .

4.6.1.2 Normalidad de los Residuos


Uno de los supuestos del Modelo de Regresin Lineal Csico es la Normalidad
de los residuos, y para probar este supuesto se propone diversas pruebas que se
muestra a continuacin:

a). Histograma de los Residuos

Se utiliza la forma de la Funcin de Densidad de los errores estimados y


sobreponemos una distribucin normal para realizar una comparacin visual.

Example

*Histograma de los Residuos

histogram residuos, normal


.4
.3
Density
.2.1
0

-6 -4 -2 0 2 4
Residuals

b). Prueba de Jarque Bera

Esta prueba es asinttica, donde calcula los coecientes de Asimetra (S) y


Curtosis (K) de los residuos estimados para formar el siguiente estadstico de
prueba:

S2 (K 3)2
JB = n +
6 24
1 9 Para ms detalle y referencias adicionales, ver help regress postestimation.

90
Para una variable normalmente distribuida, S = 0 y K = 3. Por lo tanto,
la prueba de JB de normalidad constituye una hiptesis nula de que ambos
estadsticos son 0 y 3 respectivamente. En dicho caso, se espera que el valor
del estadstico de JB sea igual a cero. Se demostr que el estadstico JB asin-
tticamente sigue una distribucin chi-cuadrado con 2 grados de libertad. Si el
valor de la probabilidad calculada no sobrepasa el nivel de signicancia de 5%,
entonces se rechaza la hiptesis nula de normalidad.

STATA muestra el desarrollo de este estadstico con el comando sktest.

Example

*Prueba de Jarque Bera

sum residuo,detail

sktest residuos

Segn el test de JB rechazaramos la hiptesis nula de que el trmino de


error siga una distribucin normal, debido a que la probabilidad no sobrepasa
el nivel de signicancia del 5%.

4.6.2 Test de Especicacin

4.6.2.1 Test de Variables Omitidas


La mayora de los test de especicacin incluyen regresores adicionales y prue-
ban si son estadsticamente signicativos usando el Test de Wald con la hiptesis
nula de que el coeciente es igual a cero. Los regresores adicionales pueden ser
una variable que no est incluida, una transformacin de una variable ya in-
cluida tal como el trmino cuadrtico, o el producto de variables (trminos de
iteracin).

Para observar cual especicacin del modelo sera el ms correcto se recurre


a los criterios de informacin, entre los ms conocidos y utilizados tenemos al
de Akaike (AIC) y el de Schwarz (SIC). Estos estadsticos se denen de la
siguiente manera:

91
P
bi
u SCR
AIC = e2k=n = e2k=n
n n
2k SCR
ln(AIC) = + ln( )
n n

P
bi
u SCR
SIC = nk=n = nk=n
n n
k SCR
ln(SIC) = ln(n) + ln( )
n n
donde k es el nmero de regresores incluyendo la interseccin y n es el tamao
de la muestra. Adems, los factores de penalizacin para ambos estadsticos
son 2k k
n y n ln(n) respectivamente. El criterio de decisin consta en elegir aquel
modelo que presenta un menor estadstico de criterio de informacin.

STATA cuenta con ambos estadsticos la cual se sealan con el comando estat
ic. Cabe resaltar que STATA nombre al estadstico SIC como BIS (Criterio de
Informacin Bayesiano). Para utilizar este comando se necesitan dos modelos
que testear, por ende, se necesitan realizar dos regresiones.

*Example:

*Criterios de Informacin

//Para un caso ilustrativo, supongamos que el sexo no tiene


//inuencia sobre los gastos mdicos, as que el nuevo
//modelo no incluir la variable female.

quietly reg ltotexp suppins phylim actlim totchr age female income

estat ic

quietly reg ltotexp suppins phylim actlim totchr age income

estat ic

92
Como vemos el primer modelo tiene un menor valor de los criterios de infor-
macin (AIC y BIC), as que el modelo que mejor se preere es incluyendo a la
variable female como un factor inuyente en los gastos mdicos.

4.6.2.2 Test del Modelo de Box-Cox


Un enfoque comn sobre el test de especicacin es ja un modelo atractivo
que pruebe un modelo sencillo o corriente como un caso especial y desarrolla un
Test de Wald para los parmetros restringidos que condice al modelo sencillo.

Aqu nosotros consideramos un test que especica el modelo corriente. De-


seamos decidir si un modelo de regresin para los gastos mdicos es mejor en
logaritmos o en niveles. No hay una manera obvia para comparar los dos mod-
elos porque tienen diferentes variables dependientes. Sin embargo, la transfor-
macin de Box-Cox conduce al mejor modelo donde incluye el modelo lineal o
en logaritmos como un caso especial. Especcamente, jamos el modelo con la
variable dependiente transformada.

yi 1
g (yi ; ) = = x0i + ui

2
donde y son estimados bajo el supuesto que ui N 0; : Esto nos
conduce a tres casos especcos:

1. g (yi ; ) = y 1 s = 1:
2. g (yi ; ) = ln y s = 0:

93
1
3. g (yi ; ) = 1 yy s = 1:

La transformacin de Box-Cox introduce un parmetro no lineal en el mod-


elo. STATA provee el comando boxcox para jar el modelo.

Example :

boxcox totexp suppins phylim actlim totchr age female income ///

if totexp>0

T ransf ormacion de Box Cox

La hiptesis nula de que = 0 es rechazada fuertemente, as que el modelo en


logaritmos es rechazado. Sin embargo, el Modelo de Box-Cox con el estimador
de b = 0:0759 la cual muy difcil de interpretar y usar, aunque da un mayor
soporte para que el valor de = 0 en vez de que = 1: As que elegimos el
modelo en logaritmos.

94
4.6.2.3 Test de la Forma Funcional de la Media Condicional
El modelo de especicacin lineal especica que la media condicional de la vari-
able dependiente (ya sea medido en niveles o en logaritmos) equivalente a x0i :
Una prueba estndar para la especicacin correcta es un test de aumento de
variable. Una enfoque es aadir potencias de ybi = x0i b ; los valores predichos de
la variable dependiente como regresores y testear su signicancia estadstica.

El comando de postestimacin estat ovtest prev un test de Reset Ramsey


la cual regresiona y sobre x; yb2 ; yb3 y yb4 , y testea que los coecientes yb2 ; yb3 y yb4
sean cero conjuntamente.

Example :

*Test de la Forma Funcional de la Media Condicional-Reset Ramsey

quietly reg ltotexp suppins phylim actlim totchr age female income

estat ovtest

T est de Re set Ramsey

El modelo es fuertemente rechazado porque p = 0:000:

4.6.3 Multicolinealidad
Entre las variables explicativas suele suceder grados de colinealidad, si en caso
una de estas variables es perfectamente colineal con otra variable entonces la
matriz X0X ser singular y no se podr estimar los parmetros. STATA puede
reconocer la colinealidad perfecta pero es muy difcil en el caso de la colinealidad
cercana.

En el primer punto, STATA elimina las variables hasta que la matriz X0X
sea invertible. En el segundo caso, se da cuando existe correlacin parcial alta
entre las variables o existe dependencia lineal cercana en la matriz de vari-
ables explicativas, lo cual provoca que el ajuste del modelo sea bueno pero los
parmetros estimados tengan errores estndar muy altos o con signos incorrec-
tos.

95
Para realizar este diagnstico utilizamos el estadstico Factor Inador de
Varianza (F IV , por sus siglas en ingls) que se dene como:
1
F IV =
1 Rk2

donde Rk2 es el R2 en la regresin de xk sobre los regresores restantes. Si el


F IV est ms cercano a 1 no habr colinealidad entre las variables explicativas.

Este estadstico puede ser invocado con el comando estat vif.

Example :

*Multicolinealidad

quietly reg ltotexp suppins phylim actlim totchr age female income

estat vif

M ulti col inealidad V IF

Dado que el F IV para cada uno de los regresores est alrededor de la unidad,
no hay incidencia de algn problema de multicolinealidad.

4.6.4 Perturbaciones No Esfricas


Cuando los trminos de error no son iid mantenindose los supuestos de una
relacin lineal, independencia y esperanza cero del trmino de error, los esti-
madores OLS siguen siendo consistentes (no afectan a la propiedad de inses-
gamiento) pero el estimador de la matriz de varianza-covarianza no lo sern,
es decir, los estimadores OLS dejan de ser los mejores estimadores linealmente
insesgados-MELI. As los errores estndar no son los correctos.

Existen dos casos posibles cuando ocurre este problema: a). Cuando la vari-
anza condicional de los errores cambian entre observaciones, problema conocido
como heteroscedasticidad ; y b). Cuando los errores estn correlacionados unos

96
con otros lo cual no estn independientemente distribuidos, problema conocido
como Autocorrrelacin.

y =X +u
donde:

E(u) = 0
E(u u0 ) = u

Bajo el problema de Perturbaciones No Esfricas se tiene:

b 1
= XX0 Xy
1
= XX0 X (X + u)
0 1
= + XX Xu

E b =
El estimador OLS es insesgado. Ahora su varianza:

1 1
V ar b = E XX0 Xuu0 X0 (X0 X)
1 1
= XX0 X uX
0
(X0 X)
donde u es la matriz de varianza-covarianza del estimador .

La matriz u puede estar expresado de la siguiente manera:

Heteroscedasticidad

0 2
1
1 0 0
B0 2
0 C
B 2 C
u =B . .. .. .. C
@ .. . . . A
2
0 0 n nxn

Autocorrelacin

0 1
1 1 n 1
B 1 1 C
B n 2C
u =B . .. .. .. C
@ .. . . . A
n 1 n 2 1 nxn

97
4.6.4.1 Test de Heteroscedasticidad
Si no existe informacin a priori sobre la naturaleza de la heteroscedasticidad,
es comn realizar un anlisis de los residuos que se generan.

a). Ploteo de los residuos

Se inicia con un anlisis grco de los residuos, ui = yi ybi , ya que estos son
importantes para identicar puntos atpicos u outlier. Como sabemos, entre las
propiedades ms importantes de los residuales se encuentran que tienen media
cero y su varianza se aproxima por la expresesin:
P 2
2 SCR b
u
bu = =
n k n k
A continuacin mostramos un grco de dispersin de puntos entre los val-
ores ajustados yb y los residuos al cuadrado u b2 con patrones hipotticos para
identicar la existencia de heteroscedasticidad:

Y el grco siguiente muestra un diagrama de dispersin de puntos entre las


b2 :
variables explicativas X y los residuos al cuadrado u

98
STATA tiene implementado dentro de sus rutinas ambos tipos de gracas
para la identicacin de heteroscedasticidad de los residuales. Despus de esti-
mar el modelo de regresin los comandos son rvfplot y rvpplot. El comando
rvfplot muestra el diagrama de dispersin entre los residuales y los valores
ajustados yb: Por su parte, rvpplot elabora el diagrama de dispersin entre los
residuales y cualquiera de las variables predictoras (X), razn por la que se
requiere la variable a considerar.

*Ploteos

quietly reg ltotexp suppins phylim actlim totchr age female income

rvfplot , yline(0)

gen res2=residuos^2

sc res2 ltotexp_est

b). Prueba de Park

De aqu en adelante se presentarn mtodos formales de identicar la het-


eroscedasticidad. Esta prueba nos sugiere que la varianza heteroscedastica 2i
es una funcin de las variables explicativas Xi . La forma funcional que sugiere
es:

99
ln ubi 2 = + ln Zi + vi
donde ub2 ser una aproximacin de 2i y Zi sera algunas o todas las vari-
ables explicativas sealadas en la regresin original: Si el estimador resulta
signicativo, entonces existe presencia de heteroscedasticidad en los datos.

Supongamos que estamos presintiendo un problema de hetroscedasticidad


causada por la variable de ingresos (income). As que procedemos de la siguiente
forma para realizar este test.

Example :

*Prueba de Park

quietly reg ltotexp suppins phylim actlim totchr age female income

gen ln_res=ln(res2)

reg ln_res income

Pr ueba de P ark

Como se puede observar el estimador que acompaa a la variable income es


signicativo a un nivel de signicancia del 5%, as que podemos estar pensando
la existencia de heteroscedasticidad en los trminos de error causado por los
ingresos.

c). Prueba de Glejser

Es similar a la prueba de Park, la cual sugiere hacer una regresinn auxiliar


b sobre las variables explicativas Xi 20 .
sobre los valores absolutos de u
2 0 Glejser sugiere las siguientes formas funcionales adicionales:

100
jubi j = + ln Zi + vi
En la prctica, la tcnica de Glejser puede usarse para muestras grandes, pero
en muestras pequeas puede usarse estrictamente como herramienta cualitativa
para obtener una nocin de la heteroscedasticidad.

Example :

*Prueba de Glejser

quietly reg ltotexp suppins phylim actlim totchr age female income

gen abs_res=abs(residuos)

reg abs_res income

Pr ueba de Glejser

El parmetro asociado a income no es signicativo al nivel de 5%., peri si


sera al 10%. As que necesario realizar ms pruebas.

d). Prueba de Breusch-Pagan-Godfrey

Esta prueba supone la siguiente regresin auxiliar:

uei 2 = + 1 Z1i + 2 Z2i ::: + p Zpi + vi

p
uj
jb = + Xi + vi
1
uj
jb = + + vi
Xi
1
uj
jb = + p + vi
Xi

101
donde:
n
!
2
X
uei = u2i = b2i =n
u
i=1

A continuacin se calcula el estadstico de prueba bajo la hiptesis nula de


Homocedasticidad. Se puede demostrar que el producto del tamao de muestra
por R2 obtenida de la regresin auxiliar sigue asintticamente una distribucin
chi-cuadrado con grados de libertad similar al nmero de estimadores en la
regresin auxiliar. Esto es:

nR2 2
p

Una vez que se encuentra el estadstico de prueba se compara con el estads-


tico chi-cuadrado crtico con p grados de libertad, tal que s nR2 = calculado >
critico ; la conclusin es que hay heteroscedasticidad.

La Prueba de Breusch-Pagan-Godfrey ha sido implementada en el STATA,


cuyo comando es estat hettest o simplemente hettest despus de realizar la
regresin principal.

Example :

*Prueba de Breusch-Pagan-Godfrey

quietly reg ltotexp suppins phylim actlim totchr age female income

estat hettest

hettest

e). Prueba de Goldfeld-Quandt

La idea de esta prueba es que si los errores son homocedasticos entonces


tienen la misma varianza en toda la muestra, razn por la que las varianzas de
los residuales de una parte de las observaciones de la muestra deben tener igual
varianza a la de cualquier otra parte de las observaciones de la muestra.

102
El acercamiento consiste en probar la presencia de heteroscedasticidad me-
diante una prueba de igualdad de varianzas de los residuales mediante el es-
tadstico F . El procedimiento para realizar esta prueba es el siguiente:

1. Identicar una variable con que la varianza de los errores est correla-
cionada. En nuestro caso ilustrativo esta variable es income.
2. Ordenar en forma ascendente a las observaciones segn la variable explica-
tiva elegida.
3. Omitir c observaciones centrales, donde c es especicada a priori, dividi-
endo a la muestra restante n c observaciones en dos grupos cada uno con
un total de (n c)=2 observaciones. La determinacin de c es arbitraria,
sin embargo, suele considerar criterios de omitir entre un 20 y un 25% de
la muestra.
4. Estimar dos regresiones separadas correspondientes a los dos grupos. De
estas se obtienen la suma de cuadrados residuales SCR1 y SCR2 respec-
tivamente.
5. Se calcula el estadstico F :

SCR2 =gl2
Fcalculado =
SCR1 =gl1
(n c)
con gl1 = gl2 = 2 k grados de libertad.

6. Bajo la hiptesis nula de homocedasticidad, la regla de decisin es:

Fcalculado > Fcr{tico ; Se rechaza la Hiptesis Nula

donde Fcr{tico = F (n c)
k;
(n c)
k
:
2 2

Example :

*Prueba de Goldfeld-Quandt

*Paso 1. Ordenar los valores de la variable explicativa


*que inuira en la heteroscedasticidad

sort income

sum ltotexp suppins phylim actlim totchr age female income

sum income,d

103
//Trabajamos con valores de ingreso positivo y sin incluir
//los missing values de la variable dependiente ltotexp

drop if income<=0
// Se eliminaron solo 88 observaciones, ahora tenemos
//2976 observaciones disponibles.

drop if ltotexp==.

// Se eliminaron solo 103 observaciones,ahora tenemos


//2873 observaciones disponibles.

//generamos un identicador para la variable income ordenada

gen id=[_n]

*Paso 2. Omitir "c" observaciones centrales y dividiendo


*la muestra en (n-c)/2 observaciones

//para este caso omitiremos el 25% de las observaciones


//centrales, es decir, 25%(2873)=718.25, redondeando 718
//observaciones eliminadas, entonces el primer grupo sera
//hasta n-c/2=(2873-718)/2=1077.5, sea 1078obs. y el segundo
//grupo sera a partir de n-(n-c/2)=n+c/2=2873-1077.5=1795.5,
// la observacin 1796 hasta el ltimo.

gen m=.
replace m=1 if id<=1078

replace m=2 if id>=1796

*Paso 3. Estimamos las regresiones para cada grupo

**Grupo 1

reg ltotexp suppins phylim actlim totchr age female income ///
if m==1

//SCR1= 1657.62507
//gl1=1070

**Grupos 2

104
reg ltotexp suppins phylim actlim totchr age female income ///
if m==2

//SCR2= 1406.72964
//gl2=1070

*Paso 4. Hallamos el F-calculado

display "F-calculado="
display ( 1406.72964/1070)/(1657.62507/1070)
//F-calculado=.84864163

//F-critico con 744 gl en el numerador y denominador es cercano a 1

*Paso 5. Conclusin

//Dado que: F-calculado<F-critico, se acepta la hiptesis nula,


//es decir, existe homocedasticidad en los datos.

f ) Prueba de White

Esta prueba estima una regresin auxiliar entre los residuales al cuadrado
sobre sus regresos originales, el cuadrado de los regresos y el producto cruzado
de estos. La prueba no requiere un conocimiento de la fuente de la heteroscedas-
ticidad y no depende del supuesto de normalidad de los regresos. Adems la
hiptesis nula se basa en la homocedasticidad de los residuos.

El procedimiento se especica a continuacin:

1. Estimar el modelo de regresin lineal y obtener los residuos.


2. Estimar la regresin auxiliar siguiente y obtener el R2 :

ubi 2 = + 1 Z1i + 2 Z2i ::: + p Zpi + vi

3. Calcular el estadstico de prueba dado por el producto del tamao de


la muestra n y el R2 de la regresin auxiliar, la cual sigue de manera
asinttica una distribucin chi-cuadrado con grados de libertad igual al
nmero de regresores (sin incluir el trmino constante) en la regresin
auxiliar.
4. Si n R2 > {cr{tico
2
, la conclusin es que existe heteroscedasticidad.

105
La prueba de White se puede realizar va el comando de estat imtest, o
simplemente imtest, white o whitetst. STATA calcula la prueba extendida
de White considerando en la regresin a los residuos al cuadrado contra los
regresores, los productos cruzados y cuadrados de los distintos regresores.

Example :

*La Prueba de White

quietly reg ltotexp suppins phylim actlim totchr age female income

estat imtest

estat imtest,white

imtest

white

whitetst

Segn el test de White se rechaza la hiptesis nula, por lo tanto, existe


heteroscedasticidad en los datos.

4.6.4.2 Test de Autocorrelacin o Correlacin Serial


El supuesto de no autocorrelacin del modelo clsico se relaciona con las per-
turbaciones poblacionales ut , las cuales no pueden observarse directamente. En
su lugar se dispone de sus valores aproximados, u bt , que se obtienen del mtodo
de OLS. A continuacin mostramos patrones de comportamiento de los residuos
para detectar la Autocorrelacin a excepcin del ltimo graco.

106
Para ilustrar los temas a continuacin, hacemos uso de la base de datos de
los Determinantes del Precio Interno del Cobre en los Estados Unidos (19851-
1980), presentado en la Tabla 12.7 en el captulo 12 de Damodar Gujarati. Esta
base contiene informacin sobre el precio promedio interno del cobre en centavo
por libre de los ltimos doce meses en USA (C); PBI anual en miles de millones
de dlares (G); ndice promedio de doce meses del cobre en la bolsa de metales
de Londres en libras esterlinas (L); el nmero de construcciones de casas por
ao en miles de unidades (H) y el precio promedio del aluminio de los ltimos
doce meses en cetavos de dlar por libra (A).

Example :

insheet using Table_12_7.csv,clear

107
describe

*Seteamos la base como Serie de Tiempo

tsset time

graph matrix c i l h a

50 100 150 1000 1500 2000 2500


100

C 50

0
150

100 I

50
1000

L 500

0
2500

2000
H
1500

1000
80

60
A
40

20
0 50 100 0 500 1000 20 40 60 80

a). Mtodo Grco

bt no son los mismos que las ut , con frecuencia una anlisis visual
Aunque las u
de las primeras nos dan alguna clave de la presencia de autocorrelacin. Hay
distintas formas de examinar grcamente los residuos.

Se puede gracar los residuos con respecto al tiempo, a travs de una graca
de secuencia de tiempo. Alternativamente se pueden gracar los residuos es-
bt entre la desviacin estndar de la regresin b2 :Los
tandarizados, es decir, las u
valores de los residuos estandarizados sern nmeros sin unidad de medida, por
consiguiente, pueden ser comparados con los residuos estandarizados de otros
modelos.

bt con respecto a u
Otra forma es gracar u bt 1 para indicar un esquema au-
toregresivo de orden 1 AR(1), y as observar algunos de los patrones sealados
anteriormente.

Example :

108
*Mtodo Grafcio

reg c i l h a

predict residuo, resid

predict residuo_est, rstandard

graph twoway (line residuo tiempo) ///


(line residuo_est tiempo),yline(0)

gen residuo_1=L.resid

sc residuo residuo_1, yline(0) xline(0)


10
5
0
-5
-10

1950 1960 1970 1980


tiempo

Residuals Standardized residuals

Graf ica de los Re siduos a traves del tiempo

Est gura nos muestra un patrn de los residuos estimados u bt similar al de


la grca tipo a), por lo tanto es muy probable la presencia de autocorrelacin.
En cambio, no parece suceder los mismo con los residuos estandarizados, por lo

109
que se necesita hacer ms pruebas.

10
5
Residuals
0
-5
-10

-10 -5 0 5 10
residuo_1

bt y u
P loteo entre u bt 1

bt y u
Se muestra una relacin positiva entre u bt 1 ;por lo cual puede ocurrir
un proceso AR(1).

b). Prueba de las Rachas

Se dene una racha como una sucesin de smbolos + , y se expresa


la longuitud de la racha como el nmero de elementos de sta. Al examinas
el comportamiento de las rachas estrictamente aleatoria es posible derivar una
prueba de aleatoriedad de las rachas. Si existe muchas rachas, signica que los
residuos cambian de signo frecuentemente y con esto se indica una correlacin
negativa y si hay muy pocas rachas se puede sugerir autocorrelacin positiva.

Sea:

N : N umero total de observaciones = N1 + N2


N1 : N umero de s{mbolos + (residuos positivos)
N2 : N umero de s{mbolos (residuos negativos)
R : N umero de Rachas
Bajo la hiptesis nula de que los resultados sucesivos de los residuos son inde-
pendientes, el nmero de rachas est asintticamente distribuido normalmente
con:

2N1 N2
M edia : E(R) = +1
N
2 2N1 N2 (2N1 N2 N )
V arianza : R =
N 2 (N 1)

110
Si la hiptesis nula de aleatoriedad es sostenible, es de esperar que:

Pr[E(R) 1:96 R R E(R) + 1:96 R] = 0:95


Es decir, la probabilidad es de 95% de que el intervalo incluya a R.

Example :

*Mtodo de Rachas

*Paso1.

//Generamos los signos + y -

gen signo="+" if residuo>0


replace signo="-" if residuo<0

*Paso2.

//Hacemos un listado de los signos +,


//y contamos con el comando count

list signo if signo=="+" ,sep(0)


count if signo=="+"
//Se obtiene N1=17 signos +, entonces hay
//N2=13 signos -. El nmero de rachas sera
//R=9 (cambios de + a -).

*Paso 3.

111
//Calculamos la media y varianza de R

display "E(R)="
display (2*17*13/30)+1
//E(R)=15.733333

display "Var(R)="
display 2*17*13*(2*17*13-30)/((30^2)*(30-1))
//Var(R)=6.9771648

*Paso 4

//Elaboramos los Intervalos

display "Lmite Inferior"


display 15.733333-1.96*(6.9771648^0.5)
//=10.556126

display "Lmte Superior"


display 15.733333+1.96*(6.9771648^0.5)
//=20.91054

*Paso 5

//Conclusin: El intervalo no contiene el Nmero de


//Rachas calculada, as que se rechaza la hiptesis
//Nula de que los residuos en la regresin son aleatorios
//al 95% de nivel de conanza. Es decir, los residuos
//muestran correlacin.

c) Prueba de Durbin Watson

El estadstico de Durbin y Watson se dene como:


Pt=n
(b
ut bt 1 )2
u
d = t=2Pt=n 2
bt
t=1 u
donde d es la razn de la suma de las diferencias al cuadrado de residuos
sucesivos sobra la suma residual de cuadrados. Los supuestos que se basa esta
prueba son:

El modelo de regresin incluye el trmino de interseccin.


Las variables explicativas X son no estocsticas.
Los errores ut se generan mediante el esquema autoregresivo AR(1): ut =
ut 1 + vt :

112
El trmino de error ut est normalmente distribuido.
El modelo de regresin no incluye modelos rezagados de la variable de-
pendiente como una de las variables explicativas.

La expresin anterior puede aproximarse a la siguiente relacin despues de


diversas simplicaciones y supuestos21 :
P
bu
u b
d 2 1 Pt t2 1 2 (1 b)
bt
u
donde b es el coeciente de autocorrelacin muestral de primer orden.

Esta prueba puede entenderse con la ayuda del siguiente graco:

Estad{stico Durbin W atson

Donde dL y dU son los valores crticos de esta prueba. Las reglas de decisin
son las siguientes:

Hiptesis Nula Decisin S cumple


No hay Autocorrelacin Positiva rechazar 0 < d < dL
No hay Autocorrelacin Positiva sn decisin dL < d < d U
No hay Autocorrelacin Negativa rechazar 4 dU < d < d L
No hay Autocorrelacin Negativa sn decisin 4 dU < d < 4 dL
No hay Autocorrelacin Positiva y Negativa no rechazar dU < d < 4 dU
2 1 El
P P
supuesto que se realiza en este caso es que b2t y
u b2t
u 1 son aproximadamente
iguales.

113
STATA cuanta con el comando estat dwatson para realizar esta prueba
la cual nos muestra el valor del estadstico de Durbin Watson.

Example :

*Prueba de Durbin Watson

quietly reg c i l h a

estat dwatson
//Es estadstico d= 1.074914 y
//el valor crtico para n=30 y k=5 sera
//dL=1.071 y dU=1.0833. Por lo tanto,
//existe presencia de autocorrelacin
//positiva.

Pr ueba de Durbin W atson

Si en caso se incluye en el modelo de regresin valores rezagados de la vari-


able dependiente, es necesario utilizar la Prueba h de Durbin, donde es posible
ejecutarlo en el STATA con el comando hdurbin.

e). Breusch Godlfrey

Esta prueba es muy general tal que permite:

Regresoras no estocsticas como valores rezagados de las variables explica-


tivas y dependiente.
Esquemas autoregresivos de mayor orden.

Sea el siguiente modelo de regresin lineal a estimar;

yt = 0 + 1 X1 + ::: + k Xk +ut

donde alguna variable X puede ser la variable dependiente o explicativas


rezagadas. Se supone que el trmino de error ut sigue un esquema autoregresivo
de orden p, AR(p).

ut = 1 ut 1 + ::: + p ut p +v
donde vt es un trmino de error de ruido con media cero y varianza constante
(ruido blanco). La hiptesis nula a probar es que:

114
H0 : 1 = 2 = ::: = p =0
No existe correlacin serial de ningn orden.

El procedimiento de la Prueba Breusch-Godfrey es como se menciona a con-


tinuacin:

1. Se estima el modelo de regresin original por OLS y se obtiene los residuos


bt .
u
2. Se regresiona ut con respecto a las variables a las variables explicativas y
los trminos de error estimados rezagados (ut 1 ; :::; ut p ) y obtngase el
valor del R2 .
3. Si el tamao de muestra es grande, B-G han demostrado que:

(n p)R2 2
p

Una distribucin chi-cuadrado con p grados de libertad. Si este estadstico


calculado excede al valor crtico, entonces se rechaza la hiptesis nula, es decir,
no existe correlacin serial.

STATA tiene implementado esta prueba a travs del comando estat bgod-
frey que resume los pasos anteriores. Por defecto este comando considera un
rezago en el trmino de error, pero puede ser modicado con la opcin lags(#)
donde se puede especicar el nmero (#) de rezagos.

Example :

*Prueba de Breusch-Godlfrey

quietly reg c i l h a

estat bgodfrey

115
Cap 5. Programacin en STATA

5.1 Macros Local y Global


Una macro en STATA es un string que tiene un valor y un nombre, la cual sirve
para reemplazar otros string. Esta macro puede contener cualquier combinacin
de caracteres alfanumricos y caracteres. Existen dos tipos de macros en STATA
conocidas como local y global. El contenido de la primera se dene con el
comando local y el segundo con el comando global.

Una macro global es accesible en los Do-le o a lo largo de una sesin en


STATA. Una macro local puede ser accedida solo entre una sesin interactiva o
un Do-le dado.

5.1.1 Macro Global


Estos son los ms simples macros y son adecuados para muchos propsitos. Para
acceder a este tipo de macro, ponemos el smbolo $ inmediatamente antes del
nombre de la macro. Por ejemplo, consideremos un regresin simple entre la
variable mpg sobre otros regresores, donde la macro global xlist se usa para
reemplazar la lista de regresores.

Example :

global xlist price weight

regress mpg $xlist //El prejo $ es necesario

Las macros globales son usadas cuando se jan diferentes regresiones con las
mismas listas de regresores porque ellos aseguran que la lista de regresores son
las mismas en todo instante y hacen que sea fcil cambiar la lista de regresor.
Un cambio sencillo a la macro global hace que cambie los regresores en todo
instante.

5.1.2 Macro Local


Para acceder a esta macro, encerramos al nombre de la macro entre estas comil-
las especiales ( ), donde se ubican en la parte superior de su derecha del
teclado (el otro se ubica al costado del botn de la letra "p" y el primero sm-
bolo se ubica en el botn del signo de interrogacin "?"). Como un ejemplo
de macro local, consideramos una regresin de la variable mpg sobre diferentes
regresores. Consideremos una macro local xlist.

Example 1 :

116
local xlist price weight

regress mpg xlist //Las comillas especiales es necesario

Tambin podemos usar una macro para denir la variable dependiente. Por
ejemplo:

Example 2 :

local y mpg

regress y xlist

Note que y no es una variable que tiene N observaciones, sino que es un


string que reemplaza a mpg.

En general, las macros locales son especialmente usadas para programacin


en STATA. Entonces, por ejemplo podemos usar y y x como una notacin
genrica para la variable dependiente y las variables explicativas, haciendo los
cdigos fcil de leer. En cambio, una macro global es usada para programas
corrientes.

5.2 Comandos para Bucles


Los bucles proveen una forma de repetir el mismo comando muchas veces.
STATA tiene tres constructores de bucles: foreach, forvalues y while.

Para la ilustracin de estos comandos, lo usaremos para crear la suma de cu-


atro variables, donde cada variable se crea de una distribucin uniforme. Existe
muchas variaciones en la forma como uno puede realizar estos bucles.

Como sabemos, el comando generate se usa para crear variables. La funcin


runiform() provee un conjunto de valores que siguen una distribucin uni-
forme. Cuando estos nmeros aleatorios son generados. Debemos establecer un
valor especco como semilla con el comando set seed, tal que al correr varias
veces el programa o Do-le nos daran los mismos valores aleatorios. Tambin
indicaremos al STATA que solo trabajaremos con 100 observaciones, por lo cual
usaremos el comando set obs.

Example :

clear all

set obs 100

set seed 10101

117
gen x1var=runiform()
gen x2var=runiform()
gen x3var=runiform()
gen x4var=runiform()

*Nosostros deseamos la suma de las cuatro variables.

gen sum= x1var+ x2var+x3var+ x4var

summarize sum

A partir de esto presentamos diferentes formas para usar los bucles para
calcular una suma progresiva de estas variables.

5.2.1 El Comando foreach


Este comando construye bucles para cada uno de los item de una lista, donde la
lista puede ser nombre de variables (posiblemente dados en una macro) o una
lista de nmeros.

Comencemos por usar una lista de nombre de variables. En este caso la lista
es x1var, x2var, x3var y x4var. Como vimos, la ltima variable creada fue
sum, nosotros necesitaremos eliminar esta variable y crear otra que sea sum=0,
as que reemplazamos los valores de esta variable sum con ceros. Usaremos esta
misma idea para generar la suma de estas cuatro variable usando el comando
foreach.

Example :

*I Forma

replace sum=0

foreach var of varlist x1var x2var x3var x4var{


replace sum=sum + var
}
*II Forma
replace sum=0
global xvar x1var x2var x3var x4var
foreach var of varlist $xvar {
replace sum=sum + var
}
*III Forma
//Para esto se necesita que exista un orden entre
//desde variables x1var hasta x4var

118
replace sum=0
foreach var of varlist x1var-x4var {
replace sum=sum + var
}

El resultado es el mismo obtenido manualmente. La codicacin en este bu-


cle es un ejemplo de una programacin, donde se coloca un corchete de apertura
"{" al nal de la primera lnea de comando y un corchete de cierre "}" al nal
del programa. En este bucle, nos referimos a cada variable en la lista de variable
llamada varlist a travs de la macro local llamada var, as que es necesario el
uso de las comillas especiales para invocar a esta macro local. El nombre de
la macro es opcional, pero la palabra varlist si es necesaria para indicarle al
STATA que est trabajando con una lista de variable. Otros posibles listas que
se podran usar es numlist, newlist, global o local22 .

5.2.2 El comando forvalue


El comando forvalues iter sobre valores consecutivos, En el siguiente cdigo,
nosotros usamos un ndice i para que se una macro local i.

Example :

replace sum=0

forvalues i=1/4 {
replace sum= sum + x ivar
}

summarize sum

Como vemos produce el mismo resultado.la eleccin del nombre i para la


macro local fue arbitrario. En este ejemplo, el incremento es en una unidad, pero
uno puede usar otros incrementos. Por ejemplo, podemos escribir forvalues
i=1(2)11, entonces el ndice va de 1 hasta 11 en incrementos de 2 unidades.

5.2.3 El comando while


El comando while continua ejerciendo la operacin ordenada hasta que una
condicin ya no sea cumplida. Este comando es utilizado cuando los comandos
foreach y forvalues no puedan ser utilizados. En el siguiente cdigo, la macro
local i se hace que inicie en el valor de 1 y luego aumenta hasta que i 6 4.

Example :

2 2 Para ms detalle se recomienda ver help foreach.

119
replace sum=0
local i 1
while i<=4 {
replace sum= sum + xivar
local i= i+ 1
}

summ sum

1 5.3 Escalares y Matrices


Los escalares pueden almacenar nmeros o string, y las matrices pueden alma-
cenar diferentes nmeros o string como un vector.

1.1 5.3.1 Escalar


Los comandos que nos permite analizar variable (describe, summarize, etc) dan
resultados como escalares numricos. Podemos ver los contenido de un escalar
usando el comando display, tambin podemos ver la lista de todos los escalares
creados a travs del comando scalar list. Por ejemplo, almacenamos el producto
de 3x2 como un escalar llamado a y luego mostramos su valor.

Example :

scalar a = 2*3

scalar b = "2 veces 3= "

display b a

scalar list

Otros de los usos que se le dan a los escalares se muestra en la seccin


posterior.

5.3.2 Matrices
STATA provee dos formas distintas para usar matrices, ambas almacenan tanto
nmeros o string en vectores. Una manera es a travs de los comandos de STATA
que tiene el prejo matrix. El otro modo es usando el lenguaje de programacin
que incluye el STATA en esta versin llamada MATA. El siguiente cdigo ilustra
la denicin de una matriz de tamao 2x3 n (con el comando matriz dene), la
lista de la matriz (matfrix list) y la extraccin como un escalar de un elemento
especco del elemento de una matriz.

120
Example :

matrix dene A = (1,2,3n4,5,6)

matrix list A

scalar a= A[2,3]

display a

5.4 Usando los Resultados de los Comandos de


STATA
Mucho de los anlisis ocasionan clculos posteriores despus de usar comandos
posteriores.

5.4.1 Usando los Resultados con el Comando r-class


Los comandos del STATA que analizan pero que no estiman parmetros son
comandos r-class. Todos los comandos r-class guardan su resultado en r().
Los contenidos de r() varan segn el comando y se pueden observar tipeando
return list. Como ejemplo, listamos los resultados almacenados despus de
usar un summarize:

Example :

sysuse auto.dta

summ mpg

return list

Hay ocho resultados almacenados separadamente escalares en el STATA


con los nombres r(n), r(sum_w), ..., r(sum). Otros resultados adicionales se
mostrarn si usamos la opcin detail.

El siguiente cdigo calcula y muestra el rango de la data.

Example :

summ mpg

121
scalar rango= r(max) - r(min)

display "Sample range =" range

scalar mpg_media=r(mean)

scalar lsit

Los resultados en r() desaparecen cuando otro comando r-class o e-class es


ejecutado. Podemos tambin guardar el valor como un escalar.

5.4.2 Usando los Resultados con el Comando e-class


Los comandos de estimacin se guardan como e-class (o clase de comando de es-
timacin), tal como regress. Los resultados son guardados en e(), los contenidos
se pueden ver tipeando ereturn list.

Example :

regress mpg price weight

ereturn list

Los resultados numricos en el anlisis de regresin se han guardado como


escalares, Por ejemplo podemos usar los resultados para calcular el valor de
R2 . La suma de cuadrados del modelo est guardado en e(mss) y la suma de
cuadrados de los residuos en e(rss).

Example :

*Calculando el R-squared

scalar r2=e(mss)/(e(rss)+e(mss))

display "r-squared = " r2

El resultado es el mismo que arrojo la regresin original, 0.6531.

Los resultados de los parmetros y varianza estn guardados como matrices.


Aqu presentamos mtodos para extraer escalares desde matrices y manipular-
los. Especcamente, nosotros obtenemos el coeciente OLS del precio desde
la matriz e(b) de 1x3, el estimador de varianza desde la matriz e(V) de 3x3,
y entonces formamos el estadstico de t-student para testear la signicancia
individual del modelo para la variable price.

Example :

122
*Calculando el t-student para la variable price

matrix b_est=e(b)

scalar b_price=b_est[1,1]

matrix V_est=e(V)

scalar V_price=V_est[1,1]

scalar t_price=b_price/sqrt(V_price)

display " t-student para Ho: b_rpice=0 es " t_price

El resultado es el mismo que arrojo la regresin original, -0.57. Los resultados


en e() desaparecen cuando otro comando r-class o e-class es ejecutado. Sin
embargo, podemos guardar los resultados usando estimate store explicado en
el captulo anterior.

123
Cap 6. Bibliografa
[1]. Cameron A. & Trivedi P, (2009). "Microeconometrics using STATA"
[2]. Csar Alonso Borrego y Roco Snchez Mangas. "STATA Guia de uti-
lizacin".

[3]. Curso de INFOPUC (2009)."STATA 10 para Economistas"


[4]. Curso de INFOPUC (2008)."STATA 8 para Economistas"
[5]. Grupo Iddea (2009). "Stata Basico-Intermedio"
[6]. Hamilton, L., (2006). "Statistics With STATA"
[7]. Mitchell M., (2004), A Visual Guide to Stata Graphics.
[8]. Sergi Jimnez-Martn, (2001) "BREVE CURSO DE INTRODUCCIN A
LA PROGRAMACIN EN STATA (6.0)"
[9]. Sophia Rabe-Hesketh & Brian Everitt, (2004). "A Handbook of Statistical
Analyses using Stata"

124