You are on page 1of 158

Apreciad@ participante,

Es grato dirigirnos a Usted para saludarle y a la vez darle la cordial bienvenida al


Instituto de Informática de la Pontificia Universidad Católica del Perú – InfoPUC.

En esta oportunidad usted se integra a nuestra familia del InfoPUC por medio del
Curso de Extensión Stata 11 para Economistas. Durante su permanencia en el
InfoPUC le pedimos el mayor compromiso para este curso de extensión, el cual ha
sido diseñado con un enfoque eminentemente práctico, con casos reales que
complementan el aprendizaje de las herramientas de computación y enfocados al
quehacer del profesional que las empresas requieren.

Sin más por el momento nos despedimos, confiando en que lo aprendido en este
curso, y en los futuros cursos que desee llevar con nosotros, le serán de gran utilidad
en su desempeño profesional.

Atentamente,

Francisco Nájar Vásquez


Director del Instituto de
Informática
STATA 11 para economistas

INDICE

1. Introducción al STATA ............................................................................................. 7


1.1. ¿Qué puedo hacer con STATA 11.0? ............................................................... 7
1.2. Presentaciones de STATA ............................................................................. 13
1.3. Entorno de trabajo .......................................................................................... 13
1.4. Recursos del STATA ...................................................................................... 19
1.5. Ayuda en STATA: Comandos Help, Search y Findit ....................................... 20
2. Manejo de datos .................................................................................................... 23
2.1. Creando una nueva base de datos ................................................................. 23
a. Administración de la memoria ................................................................... 23

b. Manejo de directorios................................................................................ 24

c. Iniciar una sesión de STATA ..................................................................... 25

d. Abrir y guardar una base de datos ............................................................ 26

e. Principales comandos: .............................................................................. 26

f. Ejemplo: .................................................................................................... 27

g. Estructura de comandos ........................................................................... 30

2.2. Subconjuntos de datos: comandos ―if‖ y ―in‖ ................................................... 31


2.3. Generando y reemplazando variables ............................................................ 33
2.4. Uso de funciones ............................................................................................ 36
2.5. De numérico a String y viceversa ................................................................... 39
2.6. Ejercicio: Mi primer Do File ............................................................................. 43
2.7. Ejercicio: Mi primer Log File ........................................................................... 43
3. Elaboración de Gráficos .......................................................................................... 45
3.1. Características de la base de datos: ............................................................... 48
3.2. Ejercicios mediantes do files .......................................................................... 49
3.3. Histogramas y Kernels ................................................................................... 53
3.4. Do File para la elaboración de Histogramas y Kernels ................................... 56
3.5. Box plots ........................................................................................................ 58
3.6. Comando Graph: Scatter - Twoway ................................................................ 60
4. Modelos lineales ..................................................................................................... 69
4.1. Mínimos cuadrados ordinarios ........................................................................ 69
4.2. Regresiones robustas..................................................................................... 77
4.2.1. Regresión por mínima desviación absoluta ...................................... 79

Pontificia Universidad Católica del Perú 5


INDICE

4.2.2. Regresión robusta............................................................................ 80

5. Variable dependiente limitada................................................................................ 85


5.1. Dependiente binaria ....................................................................................... 85
5.2. Variable dependiente politómica ..................................................................... 98
5.2.1. Logit multinomial .............................................................................. 98

5.2.2. Probit o Logit ordenado .................................................................. 103

6. Datos de panel .................................................................................................... 107


6.1. Controlando la heterogeneidad dentro de un panel ...................................... 107
6.2. Panel Dinámico ............................................................................................ 123
7. Introducción a la programación ............................................................................ 137
7.1. Macros local y global .................................................................................... 137
7.2. Procedimientos sistemáticos: forvalues y foreach......................................... 138
7.3. Escalares y matrices .................................................................................... 140
7.3.1. Escalares ....................................................................................... 140

7.4. Matrices ........................................................................................................ 141


7.5. Modulo MATA ............................................................................................... 142
7.6. Comandos return y ereturn ........................................................................... 143
8. Análisis de datos con diseño muestral complejo .................................................. 145
8.1. Especificación del Diseño Muestral: SVYSET .............................................. 146

6 Instituto de Informática
STATA 11 para economistas

1. Introducción al STATA

1.1. ¿Qué puedo hacer con STATA 11.0?

Stata es un software de análisis estadístico y econométrico, el cual sirve de herramienta


para el análisis de información en diversas disciplinas tales como las ciencias sociales,
medicina y otras. Stata es un paquete de tratamiento de datos de apariencia similar a
otro software estadísticos, en el sentido de ejecutar de manera secuencial comandos
digitados por el usuario dentro de una sesión. Inicialmente se creó con la finalidad de
analizar los datos de sección cruzada. Sin embargo, en los últimos años ha alcanzado
notoriedad y potencialidad abarcando campos de la micro y macro econometría. A
través del foro de discusión - Statalist y la permanente difusión de nuevos comandos
que incorporan complejas técnicas estadísticas y econométricas ha cautivado a muchos
usuarios por su versatilidad y constante actualización. Entre las potencialidades del stata
se destaca la facilidad para manipular y describir con grandes bases de datos, donde la
principal restricción es el tamaño de la memoria de la computadora. Posee diversas
aplicaciones predefinidas: paneles, logit, probit, etc. Asimismo, posee una excelente
herramientas para realizar gráficos.

En la versión 11 se destacan las siguientes funcionalidades:

Imputación Múltiple (MI)


Proporciona una serie de métodos que permiten realizar análisis de datos
incompletos, datos que faltan algunos valores, brindando funcionalidades para
las etapas de imputación y estimación.

Entre ellas están:


o Imputación univariada
o Imputación multivariada

Pontificia Universidad Católica del Perú 7


Introducción al STATA

o Panel de control para MI.- Permite unificar las funcionalidades del


comando mi y guía al usuario desde que inicia hasta el término del
análisis, es decir desde la etapa de examinar los valores faltantes hasta
realiza estimaciones e inferencia sobre imputaciones múltiples

 Examine.- Se utiliza para chequear los patrones de valores


incompletos y determinar el método de imputación adecuado
 Setup.- Para establecer las características de los valores que se desea
imputar. Si los datos ya han sido imputados se debe obviar esta etapa
 Impute.- Se utiliza para crear imputaciones. Se puede imputar una o
más variables simultáneamente mediante la selección o combinación
de los métodos regresión, ajuste de medias predictivas, regresiones
logística , ordinal logística y multinomial logística y MVN
 Manage.- Para realizar el manejo de los datos
 Estimate.- Para ajustar el modelo y combinar los resultados
 Test.- Para realizar test de hipótesis

Series de Tiempo multivariadas


Representa o estima un amplio rango de procesos de series de tiempo
multivariable. Stata 11 a diferencia de otros programas no necesita que el
usuario especifique si el modelo es estacional o no, sino es automático

8 Instituto de Informática
STATA 11 para economistas

Entre ellos están:


o Modelos de espacio de estados
o Modelos de factor dinámico
o Modelos GARCH multivariados donde los usuarios pueden analiza las
interacciones de varias series a la vez

Datos de panel y modelos mixtos


o Estructuras de error en covarianzas
o Test de raíces unitarias
o Errores estándar y BLUPs

Nueva interfaz
o Manejador de variables
o Vista activa de los datos
o Filtros de datos y de variables
o Sintaxis coloreada
o Plegado de código
o Marcadores

Pontificia Universidad Católica del Perú 9


Introducción al STATA

Método de los momentos generalizado (GMM)


o Modelos lineares y no lineares
o Estimadores en una etapa , en dos etapas e iterativos
o Datos de sección cruzada, series de tiempo y datos de panel
o Variables instrumentales para datos de panel
Documentación PDF.- Donde los manuales están integrados con el sistema de
ayuda de Stata
o Distribuida con cada copia de Stata
o Contiene todos los manuales
o Integrada con los archivos de ayuda
Análisis marginales
o Estimación de medias marginales
o Márgenes predictivos
o Efectos marginales promedio
Fuentes en Gráficos
o Itálica y negrita
o Letras griegas
o Símbolos matemáticos
o Subíndices y superíndices
o Fuentes múltiples
Regresión para riesgos en competencia.- Permite manejar modelos de
duración o supervivencia cuando los individuos se enfrentan más de un tipo de
riesgo.
o Variables que varían en el tiempo
o Gráficos de incidencia acumulativa
o Razón de sub riesgo

Variables factoriales
o Interacciones
o Términos polinomiales
o Creación automática de indicadores
Estadísticas exactas
o Regresión logística para variable dependiente binaria
o Regresión de Poisson para datos de conteo
o Pruebas exactas y pruebas conjuntas

10 Instituto de Informática
STATA 11 para economistas

o Predicciones con intervalos de confianza exactos

Entre otras funciones tiene


o Diez generadores de números aleatorios
o Más funciones de distribución y de densidad
o DIFBETAs, valores de desplazamiento de verosimilitud y estadísticos
LMAX para regresión de Cox
o Errores normales , GED y t de Student en ARCH
o Test multivariados
o Derivadas numéricas
o Arreglos asociativos
o Funciones para códigos Soundex
o Programación orientada a objetos

Figura Nº 1: Editor de Gráficos en STATA

Pontificia Universidad Católica del Perú 11


Introducción al STATA

Figura Nº2: Gráficos en Stata “Perú: Niveles del Sistema de Focalización de


Hogares, a nivel distrital: Niveles con mayor frecuencia en cada distrito”

Figura Nº 3: Reportes de STATA: Análisis estadístico en general

12 Instituto de Informática
STATA 11 para economistas

1.2. Presentaciones de STATA

Las diferentes presentaciones de STATA se caracterizan según el tipo de usuario y


recursos del computador. Las versiones Stata/SE, Intercooled Stata y Small Stata varían
según el tamaño de la base de datos de análisis:
• Stata/MP – Stata: para computadoras multiprocesador y de núcleo dual
• Stata/SE – Stata: para grandes bases de datos
• Intercooled Stata: versión estándar de Stata
• Small Stata – comúnmente utilizada por estudiantes.

1.3. Entorno de trabajo

Pontificia Universidad Católica del Perú 13


Introducción al STATA

El despliegue de Stata 11 presenta cuatro ventanas diferentes:


Tabla Nº1: Ventanas de STATA

Review Aquí aparecen los comandos que han


sido utilizados durante la sesión. Solo
los resultados más recientes son
visibles en esta pantalla.
Command Sirve para utilizar Stata de forma
interactiva, es decir se emplea para
crear las líneas de comandos y llevar a
cabo las aplicaciones disponibles en el
software.
Variables Nos informa sobre las variables que
están disponibles en nuestra base de
datos para realizar las diversas
aplicaciones
Results Esta nos permite visualizar los
resultados (outputs) de los estadísticos
que pedimos calcular o de los modelos
que solicitamos estimar.

Figura Nº4: Entorno de STATA

Review Comandos

Variables Resultados
14 Instituto de Informática
STATA 11 para economistas

El tamaño y posición de las ventanas puede ser configurado según las preferencias del
usuario y las cuales se pueden realizar siguiendo los siguientes pasos:
1. Se selecciona el Menú Edit, en la opción Preferences, se elige General
Preferences
2. En la pestaña Windowing se configura e ingresa los valores que se desea.

También podemos modificar el color de fondo o las fuentes de la ventana Stata Results
siguiendo los siguientes pasos:
1. En el Menú Edit se selecciona la opción Preferences
2. Se elige la opción de General Preferences

Pontificia Universidad Católica del Perú 15


Introducción al STATA

3. Se elige la pestaña Result Colors y se personaliza el color que se desea en la casilla


de Color Scheme

Otras ventanas importantes son:

 Stata Editor permite navegar y modificar los datos como si fuese una hoja de
Excel.
 Stata Viewer permite acceder a información en línea y también a la ayuda del
programa.
 Stata Graphs presenta el último gráfico realizado.
 Stata Do-file Editor es una ventana separada en Windows y funciona como un
editor de textos que permite ejecutar una lista de comandos.
 Stata Browser permite visualizar los datos, mas no modificarlo Menú de
Comandos Desde la versión 8 del Stata, todos los comandos (excepto los de
programación) han sido implementados con cuadros de diálogo y se pueden
acceder a ellos desde el menú principal, el cual está organizado por tópicos:

Figura Nº5: Comandos de STATA

16 Instituto de Informática
STATA 11 para economistas

Seleccionamos una opción desde los menús Data, Graphics o Statistics y llenamos la
caja o cuadro de diálogo correspondiente:

Por ejemplo, para acceder al cuadro de diálogo siguiente, utilizamos la ruta que
presentamos a continuación, la cual se encuentra en los menús desplegables:

PASOS
1. Seleccionar el menú Statistics y elegir la opción Linear models and related
2. Seleccionar la opción de Linear regression

Figura Nº6: Análisis Estadístico a través del Menú desplegable

Esta forma de trabajar con el programa de manera interactiva es lo que Stata llama GUI
(Graphic User Interface), lo cual es una mejora con respecto de las versiones anteriores.
Pontificia Universidad Católica del Perú 17
Introducción al STATA

Stata permite trabajar de manera interactiva y por medio de comandos (al igual que
RATS 6), debido a que cada ventana se encuentra asociada a un comando.

La barra de Herramientas
Además, Stata presenta una barra de herramientas que permite realizar operaciones
usuales como abrir un archivo, grabarlo, imprimir o ver alguna ventana en particular..

Figura Nº7: Barra de Herramientas

18 Instituto de Informática
STATA 11 para economistas

1.4. Recursos del STATA


Stata permite la actualización constante de sus comandos a través programas escritos
en un lenguaje llamado ―ado-file‖. Dichos comandos y las nuevas técnicas son
realizados por los propios usuarios y presentados a través de la lista de STATA:
StataList, de suscripción gratuita.

Desde el siguiente link http://www.stata.com/statalist/, se discuten las últimas técnicas y


rutinas programadas en Stata, dicha información mantiene una base de datos desde el
año 1997, todos los items posteados en StataList han sido ubicados en el Boston
College Statistical Software Components (SSC).

Algunos otros recursos en la red:


http://www.stata.com/
http://www.stata.com/support/faqs/
http://statcomp.ats.ucla.edu/stata/

Figura Nº8: Portal del STATALIST

Pontificia Universidad Católica del Perú 19


Introducción al STATA

1.5. Ayuda en STATA: Comandos Help, Search y Findit

Comando help
Este es uno de los comandos más importantes de Stata, pues presenta la sintaxis de los
comandos así como ejemplos de cómo se usan. Para pedirle ayuda a Stata sobre un
comando se escribe en la ventana de comandos help seguido del nombre del comando
que queramos conocer. A continuación se muestran los siguientes ejemplos:
 help if
 help summarize
 help regression
 help tabulate

Se observa que las dos primeras letras del nombre del comando están subrayadas, esto
indica que en lugar de escribir el comando como summarize se puede escribir su (o
cualquier forma intermedia).

20 Instituto de Informática
STATA 11 para economistas

Se va a utilizar la siguiente sintaxis simplificada

command [varlist] [if] [in] [weight] [, options]


]

Notemos que todo lo que va entre corchetes es optativo y que en la sintaxis de los
comandos primero se ponen las variables, luego el peso, los condicionales (if) preceden
a los rangos (in) y les siguen las opciones después de un coma:
[varlist] es la lista de variables.
[if] Debe estar seguida de una expresión lógica para que los datos que sólo
cumplan con la condición puedan ser incluidos en dicho análisis.
[in] permite se indica el rango de los datos que se desea analizar.
[weight] son los pesos o ponderaciones.
[options] Son las opciones de cada comando que se está utilizando

Pontificia Universidad Católica del Perú 21


Introducción al STATA

22 Instituto de Informática
STATA 11 para economistas

2. Manejo de datos

2.1. Creando una nueva base de datos

a. Administración de la memoria

Las bases de datos pueden variar de tamaño. Por defecto Stata únicamente lee
archivos hasta de 10mb (máximo espacio de los datos) de hasta 5000 variables.
Si se intenta leer un archivo más grande sale el siguiente mensaje de error.
no room to add more observations r(901);

Se puede utilizar el comando memory1 para asignar suficiente memoria para el


archivo. Por ejemplo si tenemos un archivo de 18 mb por lo menos debemos de
asignar 20 mb (debemos de tomar en cuenta la creación de nuevas variables).
set memory 20m (20480k)

Se puede hacer permanente esta configuración de la siguiente manera:

set memory 20m, permanent

Adicionalmente el comando matsize permite establecer el número de variables que


pueden ser incluidos en las estimaciones realizadas por Stata. El uso de este comando
puede ser útil en ciertas aplicaciones.
Por ejemplo, si al estimar una regresión anova, aparece un error ―matsize too small‖.
Este problema se puede superar mediante el comando set matsize. La mayor
configuración es de 800.

set matsize 800

Se puede hacer este cambio permanente de la siguiente manera

1
El comando set memory sólo se puede utilizar en las versiones estándar (Stata/IC), estándar + base de datos
extensas (Stata/SE) y en la versión Stata/SE + procesamiento paralelo (Stata/MP). No es aplicable en la versión
para estudiantes de pregrado (Small Stata). En la versión Stata/SE el límite de variables independientes es
11,000 (matsize) mientras que el límite de la memoria es igual al del sistema operativo

Pontificia Universidad Católica del Perú 23


Manejo de Datos

set matsize 800, permanent

b. Manejo de directorios

Stata se instala por defecto en C:\STATA\ y guarda los datos con los que se trabaje en
C:\DATA\ salvo que dicha configuración de archivos haya sido cambiada. Para conocer
con que directorio está trabajando Stata se utiliza el comando pwd

Con el comando sysdir se pueden visualizar los directorios que STATA emplea para
guardar el programa y la información. Con el comando cd podemos cambiar de
directorio donde se guardan los datos, aunque estos cambios solo serán validos por la
sesión en uso.
Para crear un nuevo directorio se emplea el comando mkdir:

mkdir sesion21012006

24 Instituto de Informática
STATA 11 para economistas

c. Iniciar una sesión de STATA

STATA permite guardar un registro de los comandos y los resultados. Para crear un
archivo de bitácora se usa el comando log using:

log using bitácora


Por defecto se guarda en el directorio en uso y en formato SMCL (que es el que usa
STATA) para presentar los resultados.

Para parar momentáneamente el registro de la bitácora:


log off

Para reanudar el registro de la bitácora:


log on

Este comando será registrado:


tab rep78

Para detener la bitácora:


log close

Para reanudar una bitácora:


log using bitácora, append

Para sobrescribir una bitácora:


log using bitacora, replace

Para ver una bitácora:


type bitacora.smcl

Si lo único que se desea es guardar los comandos debe emplearse cmdlog. Esta
opción es especialmente útil cuando lo que se busca es crear un archivo do.
cmdlog using C:\infopuc\cursos\stata\sesion02\comusados

Pontificia Universidad Católica del Perú 25


Manejo de Datos

d. Abrir y guardar una base de datos

La forma como STATA carga los datos a la memoria es similar a la de un procesador de


textos o a la de una hoja de cálculo. No se realizan los cambios hasta que el usuario
explícitamente los guarda.

Cuando se emplea el comando use, los datos se cargan a la memoria del ordenador.
Para guardar los datos se debe emplear el comando save. Es recomendable no
sobrescribir los datos y trabajar en un directorio diferente del donde se encuentran los
datos originales. Los datos pueden ser cargados al programa utilizando el comando use
seguido por la ruta en donde se encuentra la base de datos.

use C:\infopuc\cursos\stata\sesion02
use "C:\infopuc\cursos\stata\sesion02\auto.dta"
save "C:\infopuc\cursos\stata\sesion02\sesion07022005\auto_r.dta“

e. Principales comandos:
COMANDO DESCRIPCIÓN
help Ayuda de programa stata, para
comandos.
log Uso de archivos de bitácora
use Abrir una base de datos en stata
(extensión .dta)
edit Ingreso de datos por medio de
ventana de Stata Editor
codebook Muestra variables con estadísticos
descriptivos
describe Describe contenido de datos en
memoria o sobre el disco

26 Instituto de Informática
STATA 11 para economistas

save Guarda los datos en disco con


extensión *.dta

List Lista de valores de variable

... if ... Selecciona observaciones cumpliendo


cierta condición para la ejecución del
comando

drop Borrar variable o dato en memoria

keep Borra variables o datos no


seleccionados

label variable Comando de etiqueta de variables

label define Primer paso para etiquetar valores de


una variable
label values Segundo paso para etiquetar valores
de una variable

f. Ejemplo:
El ejercicio consiste en abrir una base de datos de nombre ―sumaria_2008‖, la cual se
encuentra grabada en el siguiente directorio:
C:\sesion1

1. En primer lugar se indica la ruta del directorio de trabajo a través del comando cd:

cd “c:\Clase 2010“

Pontificia Universidad Católica del Perú 27


Manejo de Datos

2. Una vez que se ha definido la carpeta de trabajo, se invocará la base de datos a


través del comando use

use sumaria_2008.dta

Al abrir la base de datos se cargará la ventana de variables. Para pedir ayuda sobre el
comando se deberá invocar la ayuda del Stata:

help use

Figura Nº: Uso del Comando Use a través del HELP

3. Para conocer el contenido de las base se emplearán los comandos describe y


codebook:

El comando describe es empleado para describir el contenido de datos en la memoria


del computador. Brinda la siguiente información:

28 Instituto de Informática
STATA 11 para economistas

Contenido de la data: C:\Clase 2010\sumaria_2008.dta


Numero de observaciones, variables
Fecha y tamaño de la memoria empleada
Nombre de la variable, tipo de almacenaje (string o numérica), y la etiqueta
de la variable

Figura Nº: Comando Describe

4. Otras formas de abrir una base de datos

Al digitar en la línea de comandos la siguiente sintaxis

use sumaria_2008 in 1/10

Se le indica al STATA la apertura de los 10 primeros registros de la base de datos. Este


tipo de órdenes se aplicará cuando se desee realizar una exploración a la base de
datos, sin necesidad de cargar la base completa.

De la misma manera, es posible aplicar filtros que indiquen que parte de la base de
datos será utilizada. En la base sumaria_2008, la variable ―mieperho‖ representa el total
de miembros del hogar. Por lo que sí está interesado en conocer solo las características
de los hogares con más de 8 miembros, se aplicará el siguiente filtro:
use sumaria_2008 if mieperho>8

Pontificia Universidad Católica del Perú 29


Manejo de Datos

En muchas ocasiones, sólo serán de nuestro interés alguno de las variables contenidas
en la base de datos. Para ello se empleará la siguiente sintaxis:

use conglome vivienda hogar ubigeo using sumaria_2008

Donde los comandos empleados son use y using, mientras que las variables de interés
son conglomerado, vivienda y hogar. Como en los casos anteriores, la base de datos se
denomina ―sumaria_2008‖. Cabe mencionar que no ha sido necesario incorporar el
nombre del directorio, debido a que eso fue establecido líneas arriba a través del
comando cd.

g. Estructura de comandos

En función al análisis de datos que se desee realizar, la estructura de la sintaxis


cambiará con la finalidad de elaborar reportes según las necesidades del investigador.

Por ejemplo, el comando summarize brinda reportes de los principales estadísticos de la


base de datos. Dicho comando es empleado de las siguientes maneras:

summarize gashog2d if gashog2d>10000

30 Instituto de Informática
STATA 11 para economistas

bys mes: summarize price if gashog2d>1000

summarize gashog2d,detail

2.2. Subconjuntos de datos: comandos “if” y “in”


Stata posee los siguientes conectores lógicos y relacionales, así como los operadores
aritméticos:

Conectores relacionales
< menor que
<= menor o igual que
== igual a
> mayor que
>= mayor o igual que
!= diferente a , también puede usarse ~=
() paréntesis para indicar el orden de evaluación

Pontificia Universidad Católica del Perú 31


Manejo de Datos

Conectores lógicos
&y
| o

Operadores aritméticos
+ Suma
- Resta
* Multiplicación
/ División
^ Potencia
+ Concatenación de cadenas alfanuméricas

Ejemplos
sysuse auto, clear

Stata posee un conjunto de bases de datos que se encuentran instaladas en la carpeta


de instalación. La forma de llamar a dichas bases de datos es a través del comando
syuse. En este caso se hará uso de la base ―auto.dta‖, la cual recoge información sobre
el precio de automóviles, dicha base está compuesta por 74 observaciones y 12
variables.

sum price if price>1000 & price<6000

32 Instituto de Informática
STATA 11 para economistas

Al ejecutar dicha orden en la ventana de comandos, se solicita al STATA el reporte de


los estadísticos de la variable Price, indicando las siguientes restricciones: siempre que
el precio sea mayor de 1000 y menor de 6000. A través del símbolo & se ejecutarán
ambos filtros.

sum price if ~(price>1000&price<6000)

sum price if price<=1000|price>=6000

2.3. Generando y reemplazando variables


A través del comando generate se crean nuevas variable definida en base a una
expresión numérica la cual puede contener otras variables. Por su flexibilidad, este es
uno de los comandos más importantes de Stata, ya que se pueden utilizar un gran
número de operaciones lógicas, aritméticas y matemáticas.

Ejemplo Si queremos generar el logaritmo de la variable educ

generate logeduc =ln(educ)

Nota: Podemos usar el término abreviado gen en lugar de generate Podemos hacer el
mismo proceso pero ahora con la siguiente ruta en la barra de menú

Data\Create or change variables\Create new variable

Pontificia Universidad Católica del Perú 33


Manejo de Datos

Aparece el siguiente cuadro de diálogo se escribe logeduc

Luego pulsamos en Create el cual nos va a llevar al siguiente cuadro de diálogo

Ahora elegimos la opción Mathematical y vamos a la opción logaritmo natural ln() le


damos doble clic y en los paréntesis escribimos educ luego pulsamos el botón OK en
ambos cuadros de diálogo y tenemos nuestra nueva variable creada.

Ahora generemos un ratio


ratio = educ\meduc

Repetimos el proceso con la diferencia que en Generate variable escribimos ratio.


Luego pulsamos Create y usando la calculadora del costado definimos nuestro ratio
doble clic y nuestra nueva variable esta creada:

34 Instituto de Informática
STATA 11 para economistas

Y finalmente creamos una nueva variable:

tt= ((educ+100)\ln(feduc-4))

Volvemos a repetir el proceso y tenemos nuestra nueva variable tt.

Nota : Observemos que por defecto las nuevas variables que hemos creado tienen
formato float.
En el cuadro de diálogo expression builder podemos insertar las variables a
transformar haciéndoles click en la ventana de variables.

Estas nuevas variables aparecen al final de la Ventana Stata Editor

Pontificia Universidad Católica del Perú 35


Manejo de Datos

Si la variable ya existe usaremos el comando replace.

2.4. Uso de funciones

Otras funciones para usar con generate:

generate y=abs(x) valor absoluto|x|


gen y=exp(x) exponencial, ex

El comando egen
Es una extensión del comando generate. Este comando me va a permitir calcular
expresiones más complejas, tales como: medias, desviaciones estándar, promedios
móviles, variables estandarizadas, etc.

Ejemplo
Generemos una serie que sea igual al valor máximo de la variable educ
egen max_X =max(educ)

36 Instituto de Informática
STATA 11 para economistas

Pasos
1. En el menú Data, se selecciona la opción de Create or change data
2. Se elige la opción Create new variable (extended)

En Generate variable escribimos max_X en Egen function elegimos la opción


Maximum ponemos el cursor en el casillero Expresión y le damos un clic en la ventana
de variables a educ luego pulsamos OK y tenemos nuestra serie creada con el valor
máximo de la variable educ

Generemos una serie que sea igual a la mediana de la variable educ

egen median_X =median(educ)

Pontificia Universidad Católica del Perú 37


Manejo de Datos

Ahora para esta nueva serie repetimos el proceso anterior pero ahora elegimos la
opción Median.

Generemos una serie de precios que sea estandarizada, de media cero y varianza 1

egen std_X =std(educ),mean(0) std(1)

Elegimos la opción Standardized values en media digitamos 0 y en desviación 1 OK

38 Instituto de Informática
STATA 11 para economistas

El comando replace
Nos da la posibilidad de modificar alguna de las variables disponibles
replace tt= tt\100

2.5. De numérico a String y viceversa

a. Conversión de Variables string a Variables numéricas

Existen varios métodos para convertir variables string a variables numéricas. Uno
de ellos es utilizando el comando destring

destring [varlist] , {generate(newvarlist) | replace}

Por ejemplo:

destring cumple , generate(cumplenum)

Otra forma de convertir variables string a variables numéricas es realizando los


siguientes pasos:

Pontificia Universidad Católica del Perú 39


Manejo de Datos

1. En el menú Data , se debe elegir la opción Create or Change data


2. Seleccionar la opción Other Variable Transformation commands
3. Luego elegir la opción Convert variables from string to numeric

4. Aparece el siguiente cuadro

Otra forma de convertir variables de cadena a variables numéricas, siempre y


cuando la variable de cadena no contenga números almacenados como string, se
puede utilizar el comando encode:
La sintaxis de encode es de la siguiente manera

encode [varname] [if] [in] , generate(newvar)

sysuse auto, clear


encode make, generate(num)

La primera línea abre el dataset con extensión dta que para este caso es auto.
En la segunda línea codifica la variable string ―make‖ a variable numérica llamada
―num‖

40 Instituto de Informática
STATA 11 para economistas

Otra forma de convertir una variable string a variable numérica es mediante el


comando real(s)

Por ejemplo
gen n2 = real (str2)

Si tenemos una variable Xstr su conversión a variable numérica Xnum puede ser
obtenida de la siguiente forma:

generate double Cumplenum = real(Cumple)

b. De una variable numérica a una variable string

Se utiliza los mismos procedimientos pero utilizando el comando tostring. La


sintaxis es la siguiente

tostring [varlist] , {generate(newvarlist) | replace}

Por ejemplo:
tostring num , generate(a2)

Otra forma de realizar la conversión de variables numéricas a cadenas es


realizando los siguientes pasos:
1. En el menú Data se selecciona la opción Create or change data
2. Se elige la opción Other variable-transformation commands
3. Se selecciona la opción de Convert variables from numeric to string

Pontificia Universidad Católica del Perú 41


Manejo de Datos

4. Se ingresa los valores que se van a configurar en la ventana

Otro método para codificar una variable numérica a string se utiliza el comando
decode , el cual se basa en los principios de encode

decode varname [if] [in] , generate(newvar)


Por ejemplo
decode num , generate(a2)

Si quisiéramos ver la lista y asignación de los valores de las variables entonces


digitamos el siguiente comando:

label list num

Podemos generar una nueva variable que contenga algún subconjunto de los
nombres de las características generadas por alguna variable anterior.
Por ejemplo se desea generar una variable string de nombre a2 que contiene
como características los caracteres 2 a 4 de la variable make

generate str4 a2 = substr( make,2,4)

42 Instituto de Informática
STATA 11 para economistas

2.6. Ejercicio: Mi primer Do File

sysuse auto,clear
generate jose = 0
generate precio2 = price2
list precio2 price
Dicotómica que identifique a los carros que cuestan más de 6000
g dico=1 if price>6000
replace dico=0 if price<=6000
Una manera rápida de crear una dicotómica:
g dico2=price>6000
sum price if forei==0
sum price if forei==1 by foreign: sum Price

2.7. Ejercicio: Mi primer Log File


/* Una forma de pone comentarios*/
clear
cd c:\clase1
set mem 100m

Pontificia Universidad Católica del Perú 43


Manejo de Datos

use sumaria_2008
log using jose,text replace
des gashog2d /*abreviatura de describe*/
sum gashog2d
log close

44 Instituto de Informática
STATA 11 para economistas

3. Elaboración de Gráficos
A continuación veremos cómo introducir algunos comandos básicos en Stata 11,
incluyendo histogramas, gráficos de caja, ploteos y matrices de ploteos. El propósito de
esta sección es entender los fundamentos de los gráficos y dar los elementos para
generar y modificar estos. Usaremos el módulo de empleo e ingresos de la 2Nacional de
Hogares del año 2007 (módulo 500).

La base de datos se denomina enaho01a_2007_500.dta, la cual se encuentra


almacenada en la carpeta C:\Clases 2010 del directorio de trabajo. Como en la mayoría
de aplicaciones frecuentes esto se puede hacer por dos medios:

1. Usando el menú desplegable siguiendo los siguientes pasos:

a. En el menú Graphics, se selecciona la opción twoway graph (scatter, line..)

b. Se selecciona el botón de Create

2
Para mayor información de la base de datos, revisar la página web del Instituto Nacional de Estadística e
Informática - INEI: www.inei.gob.pe

Pontificia Universidad Católica del Perú 45


Elaboración de Gráficos

c. Se selecciona las variables las cuales se desea graficar y el tipo de gráfico que
se requiere

2. Trabajando con un *.do

A continuación se iniciará la sección de gráficos mediante un ejemplo, en el cual se


indique las diversas opciones del editor de gráficos del STATA 11

46 Instituto de Informática
STATA 11 para economistas

Es posible cambiar la apariencia de los gráficos a través del menú del Stata Graph
realizando los siguientes pasos:
1. En el Menu Edit seleccionar la opción Apply new scheme tal como lo indica la
figura

2. Se selecciona el nuevo esquema

Los gráficos se pueden editar directamente y las posibilidades de tipo y


presentación de gráficos sólo está limitado por la imaginación. Los usos
frecuentes de carácter exploratorio de los datos son a través de las densidades y
los diagramas de cajas

Pontificia Universidad Católica del Perú 47


Elaboración de Gráficos

3.1. Características de la base de datos:


La base de datos es posible descargarla desde la sección Microdatos de la
página web del INEI. Una vez dentro de la sección, pulsar la tecla Enter para
acceder a las bases de datos que dispone el INEI

Una vez dentro del sistema, pulsar la opción Encuesta: Condiciones de Vida y
Pobreza – ENAHO, en la casilla año señalar el 2007, y en el periodo indicar el
periodo anual (enero – diciembre), se desplegará un conjunto de bases de datos
tal como se detalla a continuación.

Para seleccionar la base de datos se escoge la fila 5 correspondiente al modulo


de empleo e ingresos, y en la columna selecciona el botón de Descargar, se
cuentan con las opciones para obtener la base de datos en formato de SPSS o
DBF.

48 Instituto de Informática
STATA 11 para economistas

Posteriormente, se deberá emplear un convertidor de bases de datos como el


Stat Transfer o el DBMS Copy con la finalidad de migrar el formato de bases dato
de SPPS o DBF hacia el STATA.

Un vez que la base de datos se encuentre en formato de STATA, se procederá a


la creación del do file conteniendo las sintaxis que permitan ejecutar los diversos
tipos de gráficos que permite el STATA. A continuación se abrirá una ventana
vacía de do- file la cual se grabará bajo el nombre de ―0_anatomia_grafico.do‖, tal
como se muestra a continuación.
En dicho do file se realizará la digitación de las órdenes correspondientes.

3.2. Ejercicios mediantes do files


Una vez que disponemos de la base de datos, enaho01a_2007_500.dta dentro
del directorio de trabajo se procederá a completar el do file respectivo.

En primer lugar se definen aspectos del entorno de trabajo. A través del comando
Clear, se borrará de la memoria las bases de datos que estuvieran abiertas.
Clear
Asimismo, se procede a especificar el tamaño de la memoria virtual de la PC que
se dispondrá para el trabajo. Debido a que la base de datos contiene más de 65
mil variables. Como regla, se le asignará un tamaño de memoria similar al
tamaño del archivo expresado en megabytes.
set mem 100m

Es importante especificar el directorio de trabajo a través del comando cd:


cd "C:\Clases 2010"

Pontificia Universidad Católica del Perú 49


Elaboración de Gráficos

A través del comando use se abrirá la base de datos, nótese que la inclusión de
comentarios en el do file se realiza incluyendo el símbolo (*) al inicio de la línea.

use "enaho01a_2007_500.dta"

Dentro de las opciones para realizar gráficos es posible indicar los estilos de
presentación de los gráficos predeterminados por el Programa.

A través del comando 'Scheme' nos permite cambiar el formato del gráfico. Para
ver todas las posibilidades que tiene Stata incorporados digitar en la ventana de
comandos:
help schemes

Los siguientes tipos de esquemas se encuentran predeterminados, en el presente


ejercicio se escogerá la segunda opción, la cual alude a los estilos de gráficos del
STATA Journal:
 set scheme s1color
 set scheme sj
 set scheme s1rcolor
 set scheme economist
 set scheme s2color

A continuación se realizará el grafico del Ingreso Laboral según sexo para ello se
empleará un grafico de dispersiones tipo scatter. Se ensayarán los diversos
esquemas de presentación activando la casilla correspondiente. Las variables de
trabajo son las siguientes: i524a1 p208a p207, las cuales tendrán una inspección
a través del comando codebook:
codebook i524a1 p208a p207

50 Instituto de Informática
STATA 11 para economistas

El resultado del codebook se indica a continuación:

Pontificia Universidad Católica del Perú 51


Elaboración de Gráficos

Los filtros sobre las variables de análisis se realizaran a través de las siguientes
sintaxis:

*Gráfico 1: Ingreso en la ocupación principal y edad de los hombres


scatter i524a1 p208a if p207==1

*Gráfico 2: Ingreso en la ocupación principal y edad de los mujeres


scatter i524a1 p208a if p207==2

Una vez realizados el scatter del ingreso laboral según edad y sexo se procederá
a emplear el comando twoway para realizar el gráfico del ingreso laboral para
ambos sexos:

*Gráfico 3: Ingreso en la ocupación principal y edad de las mujeres y los hombres


twoway
(scatter i524a1 p208a if p207==1) ///
(scatter i524a1 p208a if p207==2)

*Gráfico 4: Lo mismo que 3


tw (sc i524a1 p208a if p207==1) ///
(sc i524a1 p208a if p207==2)

*Gráfico 5: Lo mismo que 4


tw (sc i524a1 p208a if p207==1) ///
(sc i524a1 p208a if p207==2) ///
, ///
title("Título: Ingreso de la ocup. princ. y edad según sexo") ///
subtitle("Subtítulo: Ingesos anualizados") /// ytitle("Ingreso")
xtitle("Edad") ///
note("Nota: Elaboraciòn propia a partir de la ENAHO 2007") ///
legend(title(Leyenda) order(1 "Hombres" 2 "Mujeres"))
text(200000 80 "Comentario")

52 Instituto de Informática
STATA 11 para economistas

3.3. Histogramas y Kernels

a. Histogramas – hist -

Los Histogramas consisten en una herramienta gráfica que permite ilustrar las
discontinuidades de la información que se solucionan agrupando los datos. Lo
anterior pasa por decidir cuantas barras o _CLASES_ emplear, o lo que es lo
mismo decidir cuánto es el ancho de banda. Como regla práctica el número de
CLASES se aproxima por la raíz cuadrada del número de datos empleados, en
nuestro caso es aprox. igual a 256:

display sqrt(65549)

Pontificia Universidad Católica del Perú 53


Elaboración de Gráficos

Histograma

El número de CLASES puede modificarse con la opción bin del comando -hist-
. Otra opción interesante es acompañar el gráfico con la curva normal que se
ajusta a los datos.

Histograma con ajuste normal

54 Instituto de Informática
STATA 11 para economistas

b. Kernel – kdensity

En términos sencillos los kernels permiten suavizar nuestros histogramas


tratando de conservar la forma de la distribución de nuestros datos. Esto se
consigue fijando ventanas alrededor de un punto y al interior ponderando los
casos tal que el peso sea menor cuanto más alejado se encuentre del punto
central de la ventana, el efecto del suavizamiento se consigue al desplazar la
ventana.

Al igual que los histogramas hay que elegir el número de barras o


equivalentemente cuanto es el ancho de banda 2 Esa no es la única decisión,
también hay que decidir qué función de distribución a usar.

Para el primer punto se suele usar la sugerencia de Silverman (1986) el cual


busca minimizar el valor esperado del error al cuadrado (opción por defecto en
stata)

El kernel es la función de distribución que se usa para suavizar el histograma.


Bajo ciertas circunstancias se puede probar que el Kernel conocido como
Epanechnikov tiene un criterio optimizador (opción por defecto en stata)

Pontificia Universidad Católica del Perú 55


Elaboración de Gráficos

3.4. Do File para la elaboración de Histogramas y Kernels

Clear
set mem 100m
use "enaho01a_2007_500"

*1° etapa: hist p208a,freq

*2° etapa: hist p208a,freq normal

*3° etapa: hist p208a,freq normal kden

*4° etapa: Distribución de la edad en un sólo gráfico


tw (kdensity p208a if p207==1) (kdensity p208a if p207==2)

kdensity p208a if p207==1, name (jose1,replace)


kdensity p208a if p207==2, name (jose2,replace)

graph combine jose1 jose2,rows(1)


graph drop _all

56 Instituto de Informática
STATA 11 para economistas

*6° etapa:
kdensity p208a, name(jose1,replace) title(Epanechnikov)
kdensity p208a, name(jose2,replace) kernel(gauss) title(Gausiano)
kdensity p208a, name(jose3,replace) kernel(cosine) title(Coseno)

graph combine jose1 jose2 jose3,rows(1)


graph drop _all

*7° etapa:

Pontificia Universidad Católica del Perú 57


Elaboración de Gráficos

kdensity p208a, name(jose4,replace) title("Ancho de banda óptimo",size(*.8))


kdensity p208a, name(jose5,replace) bwidth(3.558) title("Doble del Ancho de
banda óptimo",size(*.8))
kdensity p208a, name(jose6,replace) bwidth(0.8895) title ("Mitad de la banda
óptimo",size(*.8))
graph combine jose4 jose5 jose6,rows(1)
graph drop _all

3.5. Box plots

Junto con el histograma o los kernels, los diagramas de cajas son probablemente
las herramientas gráficas más importantes para realizar un análisis univariado

58 Instituto de Informática
STATA 11 para economistas

Algunas definiciones antes de empezar:


Mediana o percentil 50.- Valor que divide la muestra en partes iguales Percentil
25.- Debajo de este valor se encuentra el 25% de los datos
Percentil 75 .- Similar al anterior
Rango intercuartilico IQR = P75 - P25
Outlier.- En un sentido más flexible es un dato con un valor muy alejado
formalmente.

A continuación se trabajará con el do file: 2_graph box.do


clear
set mem 100m
use "enaho01a_2007_500"

*1° Etapa: distribución del ingreso

graph box i524a1

*2° Etapa: identificando a los "outliers"

egen id=group(conglo vivienda hogar codperso)


graph box i524a1, marker(1,mlabel(id)) scheme(s1color)
graph drop _all

Pontificia Universidad Católica del Perú 59


Elaboración de Gráficos

*3° Etapa:
graph hbox i524a1, scheme(s1color) over(p207)
graph drop _all

3.6. Comando Graph: Scatter - Twoway

Comando Graph

Los comandos que generan gráficos son:

60 Instituto de Informática
STATA 11 para economistas

Comando Graph Twoway


Los miembros de la familia de los gráficos twoway son llamados ―plottypes‖
[graph] twoway plot [if exp] [in range] [, twoway_options]

Donde plot es definido de la siguiente forma:


[(] plottype varlist ..., options [)] [||]

Pontificia Universidad Católica del Perú 61


Elaboración de Gráficos

Gráfico Twoway Scatter

[twoway] scatter varlist [weight] [if exp] [in range] [,

marker_options

marker_placement_option

marker_label_options

connect_options

axis_selection_options

composite_style_option twoway_options ]

Gráfico Twowat Line

[twoway] line varlist [if exp] [in range] [, line_options ]

Opción Combine
En la misma área de gráficos, combina 2 o más gráficos (pueden ser de diferentes
tipos.

graph combine name [name ...] [, combine_options ]

Opciones de marcador
Modifica los marcadores y/o sus etiquetas para ajustarse a las preferencias del usuario.
marker label option

Gráficos de pie

Se utilizan cuando nos interesa analizar proporciones.

graph pie yvars [weight] [if exp] [in range] [, options ]

Gráficos de barras
Se pueden realizar gráficos con barras verticales y horizontales.

graph bar yvars [weight] [if exp] [in range] [, options ]


graph hbar yvars [weight] [if exp] [in range] [, options ]

62 Instituto de Informática
STATA 11 para economistas

Gráfico de puntos

graph dot yvars [weight] [if exp] [in range] [, options ]

Gráfico Twoway HIstogram

twoway histogram varname [weight] [if exp] [in range]


[, [discrete_options|continuous_options] common_options ]

Gráfico Twoway Kdensity

twoway kdensity varname [if exp] [in range] [, kdensity_options line_options]

Para mayores detalles, revisar el libro: Mitchel, M. (2004); A visual guide to Stata
graphics, University of California, Los Angeles. A Stata Press Publication Disponible en
el siguiente vínculo:
http://www.stata-press.com/books/vgsg.html

Ejemplos:

clear net from http://www.stata-press.com/data/vgsg


net install vgsg
help vguse
set scheme vg_s2c
vguse allstates.dta
twoway (scatter propval100 popden) (lfit propval100 popden)

Pontificia Universidad Católica del Perú 63


Elaboración de Gráficos

twoway (scatter propval100 popden) (lfit propval100 popden)


(qfit propval100 popden)

twoway (scatter propval100 popden) (mspline propval100 popden)


(fpfit propval100 popden) (mband propval100 popden) (lowess propval100 popden)

64 Instituto de Informática
STATA 11 para economistas

twoway (lfitci propval100 popden) (scatter propval100 popden)

vguse spjanfeb2001.dta
twoway dropline close tradeday

Pontificia Universidad Católica del Perú 65


Elaboración de Gráficos

vguse sp2001ts.dta
twoway tsrline high low, sort

vguse spjanfeb2001.dta
twoway bar close tradeday

66 Instituto de Informática
STATA 11 para economistas

vguse allstates.dta
graph matrix propval100 rent700 popden

graph hbar popk, over (division)

Pontificia Universidad Católica del Perú 67


Elaboración de Gráficos

graph pie popk, over (region)

vguse allstatesdc.dta
twoway (lfitci ownhome pcturban80, stdf) (scatter ownhome pcturban80)

68 Instituto de Informática
STATA 11 para economistas

4. Modelos lineales

Probablemente en econometría el uso de modelos de regresión lineal y sus extensiones


sea la metodología más empleada en la investigación empírica. El conocimiento de
estos y su estimación es el objetivo de esta sección.

Mínimos cuadrados ordinarios (MCO) es el método más popular, mientras que una
variante que contempla la presencia de heterocedasticidad y corrige su presencia son
los mínimos cuadrados ponderados (MCP). Mientras que los estimadores bajo MCO
tienen como objetivo minimizar la suma de los errores al cuadrado, minimizar la suma de
los valores absolutos de los errores nos conduce al modelo de mínima desviación
absoluta (MDA) la generalización de este procedimiento se conoce como regresión
cuantílica.

De otro lado, la mala especificación de un modelo, en particular la omisión de una


variable relevante, podría provocar en los parámetros una situación indeseada por los
econometristas: parámetros insesgados y peor aún, parámetros inconsistentes. Un
procedimiento comúnmente para lidiar con este problema es una regresión con variables
instrumentales (VI). En lo que sigue se aborda cada uno de los temas mencionados.

4.1. Mínimos cuadrados ordinarios

regress

Otra vez recurrimos a la ENAHO 2008 para presentar una regresión lineal simple con
―r6‖ como variable dependiente:
reg r6 edad r11h

Pontificia Universidad Católica del Perú 69


Modelos Lineales

Tarea 1: Interprete todos los estadísticos reportados en el output anterior teniendo


en cuenta que “r6” es el ingreso laboral mensual, edad son los años cumplidos y
r11h son las horas mensuales laboradas.
xi:
El prefijo xi: permite agregar fácilmente variables categóricas en un modelo de
regresión. Imagine que se plantea la hipótesis que las líneas de regresión para cada
dominio geográfico tienen distinto intercepto:
xi: reg r6 edad r11h i.dominio

70 Instituto de Informática
STATA 11 para economistas

Distinto intercepto y distinta pendiente


xi: reg r6 i.dominio*r11h

Pontificia Universidad Católica del Perú 71


Modelos Lineales

Términos de interacción:
xi: reg r6 i.dominio*i.sexo

72 Instituto de Informática
STATA 11 para economistas

Tarea 2: Cree las dicotómicas que sean necesario, compruebe e interprete todos
los resultados anteriores.

predict

Debe tener en cuenta que cuando existe un ―missing‖ en una de las variables que
intervienen en la regresión, todo ese registro se pierde al realizar la estimación así
existan observaciones en el resto de variables. Si por alguna razón el objetivo es
quedarse con el conjunto de variables en los cuáles no exista ningún missing en el
conjunto de datos se puede ejecutar lo siguiente:

reg r6 edad r11h


keep if e(sample)

regress postestimation

reg r6 edad r11h estat ovtest /*Test RESET de Ramsey (variables omitidas)*/
estat ic /*Criterios de información*/
estat vif /*Factor de inflación de varianza*/

Almacenamiento de información

Luego de estimar una regresión el software almacena las estimaciones en objetos que
luego pueden ser fácilmente empleados.

. ereturn list
scalars:

Pontificia Universidad Católica del Perú 73


Modelos Lineales

e(N) = 45232
e(df_m) = 2
e(df_r) = 45229
e(F) = 1265.502981280802
e(r2) = .0529942555816602
e(rmse) = 370.1935843435196
e(mss) = 346857383.838377
e(rss) = 6198330958.394218
e(r2_a) = .0529523795399869
e(ll) = -331683.1548708656
e(ll_0) = -332914.5987825873
e(rank) = 3
macros:
e(cmdline) : "regress r6 edad r11h"
e(title) : "Linear regression"
e(marginsok) : "XB default"
e(vce) : "ols"
e(depvar) : "r6"
e(cmd) : "regress"
e(properties) : "b V"
e(predict) : "regres_p"
e(model) : "ols"
e(estat_cmd) : "regress_estat"
matrices:
e(b) : 1 x 3
e(V) : 3 x 3
functions:
e(sample)

74 Instituto de Informática
STATA 11 para economistas

Por ejemplo, usando la calculadora de Stata se puede digitar en la línea de comandos –


display e(r2)- para reportar el R cuadrado de la regresión.

También pueden invocarse los parámetros estimados de otra manera: Por ejemplo, en
promedio el ingreso mensual para una persona que tiene 30 años y trabaja 48 horas a la
semana, asumiendo que existe causalidad en el modelo y este se encuentra
correctamente especificado es:

Correlación Serial
Sólo aplica cuando la fuente de datos es temporal, si ese es el caso STATA exige que
los datos sean declarados como temporales con el comando -tsset-.
- Durbin-Watson. Test de autocorrelación de primer orden

. tsset qtrs
. regress Y X1 X2 X3
. estat dwatson

. estat
dwatson

Pontificia Universidad Católica del Perú 75


Modelos Lineales

- Corrección de Autocorrelación
MCP Usando el método de Cochrane

. prais Y X1 X2 X3, corc

Errores estándar sugeridos por Newey-West

. newey Y X1 X2 X3, lag(#)

Donde ―lag(#)‖ especifica el orden de la autocorrelación

Heterocedasticidad

 Test de White

. regress Y X1 X2 X3
. estat imtest, preserve white

 Mínimos cuadrados ponderados


Comando ―wls0‖
(http://www.ats.ucla.edu/stat/stata/ado/analysis/wls0.htm para mas detalles y un
ejemplo)

 Errores estándar corregidos por heterocedasticidad

. regress Y X1 X2 X3, robust

76 Instituto de Informática
STATA 11 para economistas

4.2. Regresiones robustas

Una vez que se ha establecido que existe una relación lineal entre dos
variables Y y X, todavía queda la tarea de determinar ¿cuál es la mejor recta
que refleja esta relación? O lo que es lo mismo ¿Cuál es la ecuación que
describe estos datos? Ya que se observa y se asume una relación lineal los
datos deben seguir una ecuación de la forma: Y = mX +b

El problema requiere la determinación de los coeficientes m y b. Se podrían


hacer conjeturas sobre que números deberían ser, pero estas deben ser "lo
mejor posible‖. Pero, ¿Qué se entiende por "mejor posible"?3. Lo anterior
implica la descripción de un criterio para medir el error entre "la mejor" línea y
los datos. Una vez que el criterio ha sido especificado, entonces el objetivo es
reducir al mínimo este error. La línea con el mínimo error de los datos es la
"mejor" línea.

La regresión por mínimos cuadrados ordinarios es el procedimiento más


utilizado debido a su simplicidad y facilidad de cálculo. Como se sabe la
medida de error de este método es el cuadrado de la desviación de los datos
de la línea de regresión respecto a los Y observados (Σe2). El objetivo es
minimizar la sumatoria de los errores al cuadrado obteniéndose "la mejor"
línea. La desventaja del método es que es muy sensible a valores atípicos.

3
Se debe notar que a no ser que su sea una relación lineal exacta entre X e Y, entonces más de una
línea podría describir estos datos.

Pontificia Universidad Católica del Perú 77


Modelos Lineales

Por ejemplo utilizando la base ―auto‖ (que se encuentra por defecto en la


carpeta Stata) en el modelo hipotético: mpg=a+m*weight se tendría:

sysuse auto
twoway (lfit mpg weight) (scatter mpg weight)

Tarea 3: Cree el mismo gráfico utilizando la opción predict y también generando la


variable predicha con la forma de recuperar coeficientes visto líneas arriba
(_b[variable]).

El problema que presenta este método es que las observaciones que se encuentren
más alejadas de la recta de ajuste reciben una mayor ponderación. Si se decide
excluirlas, van a afectar fuertemente a los estimadores. Existen por lo menos dos formas
de estimar una línea que no esté altamente influenciada por valores atípicos, estas
metodologías descansan en lo que literatura se conoce como regresiones robustas.

78 Instituto de Informática
STATA 11 para economistas

4.2.1. Regresión por mínima desviación absoluta

Este método es muy similar al método de mínimos cuadrados. La diferencia


es que la medida de error de este método es el valor absoluto de la
desviación de los datos de la línea de regresión respecto a los Y observados
(Σ|e|). Aunque parece un método más simple de describir al error, su proceso
de minimización es complicado. Los algoritmos iterativos que reducen al
mínimo el error se basan en la programación lineal. Este método es menos
sensible a outliers si se compara con el método de la regresión mínimo
cuadrática. Cuando el criterio de minimización es alcanzado el 50% de los
residuos son negativos. En forma análoga al modelo de regresión simple, en
la que la esperanza de Y dado X viene a ser la recta de mejor ajuste
(E(Y/X)=X’B), en este tipo de modelos la recta estimada es la mediana de Y
condicionada a X (Q(Y/X)0.50= X’B).

En Stata el comando ―qreg‖, cuando no se especifica el cuantil con el que


debe trabajar, estima por defecto al modelo, que en el caso general es
conocido como regresión cuantílica.

qreg

Pontificia Universidad Católica del Perú 79


Modelos Lineales

. qreg mpg weight


. g mediana=_b[_cons]+_b[weight]*weight
. tw (scatter mpg weight) (line mediana weight)

4.2.2. Regresión robusta

La idea básica de este tipo de estimación es calcular los estimadores que


minimicen la siguiente función:
Σw(e)e2

Donde w(.) es una función de ponderación que se introduce para reducir


(e incluso eliminar) el efecto de residuos elevados. Por tanto se definen los
pesos w(.) de tal forma que tomen valores pequeños para residuos
grandes. El proceso de estimación es iterativo comenzando por una
regresión simple de la cual se derivan los primeros errores y también los
primeros ponderadores que son reestimados las veces que sean
necesarios para que la máxima diferencia entre el último y el penúltimo
ponderador sea mínima.

80 Instituto de Informática
STATA 11 para economistas

En Stata el comando ―rreg‖ permite obtener estimaciones robustas de


acuerdo al siguiente procedimiento: Excluye a las observaciones que
tengan una distancia de Cook mayor a uno (esto lo realiza asignando un
peso de 0 a dichos registros). Utiliza dos funciones de ponderación:
―Huber y Biweights‖, ambas funciones de ponderación son usadas porque
los ponderadores de Huber tiene problemas cuando se encuentra con
outliers muy elevados mientras que ―Biweights‖ algunas veces falla al
converger o tiene múltiples soluciones. Los ponderadores iniciales de
Huber mejoran el comportamiento del estimador Biweight.

La característica del ponderador a lo Huber es que los casos con errores


pequeños reciben un peso de 1, los demás casos tienen ponderadores
inversamente proporcional al tamaño de los residuos. De otro lado, los
pesos Biweight, para errores pequeños, asignan una ponderación que
decrece exponencialmente con el tamaño del error, a los demás casos se
le asigna un peso de 0.

Donde:
ei = yi - XiB; ui = ei/s;
s = M/0.6745;
M = mediana (|ei – mediana(ei)|);
ch y cb son constantes predeterminadas

Pontificia Universidad Católica del Perú 81


Modelos Lineales

. rreg mpg weight, genwt(w)


Huber iteration 1: maximum difference in weights = .79065466
Huber iteration 2: maximum difference in weights = .16435086
Huber iteration 3: maximum difference in weights = .07997553
Huber iteration 4: maximum difference in weights = .02086117
Biweight iteration 5: maximum difference in weights = .2751323
Biweight iteration 6: maximum difference in weights = .12290063
Biweight iteration 7: maximum difference in weights = .06995163
Biweight iteration 8: maximum difference in weights = .01619982
Biweight iteration 9: maximum difference in weights = .00890816

82 Instituto de Informática
STATA 11 para economistas

En el gráfico anterior se muestra la recta de ajuste robusta acompañada


de los ponderadores estimados, como se puede observar, mientras más
alejado de la recta de ajuste se encuentren los datos menor ponderación
le es asignado, llegando inclusive a ser cero.

La comparación de las tres rectas de ajuste nos permite comprobar la


menor sensibilidad de los métodos alternativos a la regresión simple.

reg mpg weight


g mco=_b[_cons]+_b[weight]*weight
tw (line mco weight, clcolor(pink) clpat(dash)) ///
(line mediana weight, clcolor(green) clpat(dot)) ///
(line robusta weight, clcolor(blue)) (scatter mpg weight)

Pontificia Universidad Católica del Perú 83


Modelos Lineales

84 Instituto de Informática
STATA 11 para economistas

5. Variable dependiente limitada

5.1. Dependiente binaria

Cuando la variable dependiente toma dos valores, típicamente 1 y 0. La


estimación de un modelo con esta característica empleando la metodología
MCO convencional se conoce como el modelo de probabilidad lineal, sin
embargo su estimación presenta los siguientes problemas:

 Predicciones fuera de muestra (nada garantiza que las predicciones del


modelo se encuentren en el intervalo de 0 a 1)
 La perturbación aleatoria no sigue una distribución normal
 Presencia de problema de heterocedasticidad

Caminos alternativos que superan los problemas anteriores se basan en


estimaciones no lineales bajo la metodología de máxima verosimilitud. Los
modelos tipo probit y logit asumen que el término de error aleatorio siguen
una distribución normal y logística respectivamente, su estimación es
precisamente empleando los comandos -probit- y -logit-, y como se sabe los
efectos marginales, al no ser un modelo lineal, se estiman evaluando la
expresión correspondiente en las medias de las variables explicativas.

dprobit, estima un modelo probit por máxima verosimilitud, pero no reporta


los coeficientes como este último sino que reporta el cambio en la
probabilidad ante un cambio infinitesimal en las variables continuas
independientes y, por defecto, reporta el cambio discreto en la probabilidad
para variables dummy.

Pontificia Universidad Católica del Perú 85


Variable dependiente limitada

Si se estima con datos agrupados, vea el comando bprobit descrito en [R]


glogit

Los comandos auxiliares pueden ser corridos después de probit, logit o


logistic; vea [R] logistic para una descripción de esos comandos.

Nota Técnica
Stata interpreta el valor 0 como resultado negativo (falla), y trata todos los
otros valores (excepto ―missing‖) como resultados positivos (éxito). Entonces,
si su variable dependiente toma el valor de 0 y 1, 0 es interpretado como falla
y 1 como éxito. Si su variable dependiente toma el valor de 0,1 y 2; 0 es
interpretado aún como falla, pero 1 y 2 son tratados como éxitos.

Identificación del modelo


El comando probit tiene una característica adicional y es probablemente la
más importante. Este revisa el modelo para la identificación y si está
subidentificado elimina las variables y observaciones necesarias para que
proceda la estimación.

Ejemplo
. describe

86 Instituto de Informática
STATA 11 para economistas

. sum

Pontificia Universidad Católica del Perú 87


Variable dependiente limitada

. regress grade gpa tuce psi

. probit grade gpa tuce psi


Iteration 0: log likelihood = -20.59173
Iteration 1: log likelihood = -13.315851
Iteration 2: log likelihood = -12.832843
Iteration 3: log likelihood = -12.818826
Iteration 4: log likelihood = -12.818803

88 Instituto de Informática
STATA 11 para economistas

Podemos observar que todas las variables son significativas. El modelo es


globalmente significativo pues es el (Prob > chi2 = 0.0014) y el ajuste del
Pseudo R2 es 0.3775, lo cual para cortes transversales es aceptable.

matrix coeficientes=e(b)
matrix list coeficientes

Con el comando predict generamos una variable donde almacenamos la


probabilidad predicha de que el alumno aumente su nota:

predict probprobit, p

Graficando la probabilidad predicha contra tuce (el resultado previo


obtenido en un examen de economía)

Pontificia Universidad Católica del Perú 89


Variable dependiente limitada

Graficando la probabilidad predicha contra gpa (la nota global del alumno)

Para obtener los efectos marginales empleamos el comando dprobit:

. dprobit grade gpa tuce psi

Iteration 0: log likelihood = -20.59173


Iteration 1: log likelihood = -13.315851
Iteration 2: log likelihood = -12.832843
Iteration 3: log likelihood = -12.818826
Iteration 4: log likelihood = -12.818803

90 Instituto de Informática
STATA 11 para economistas

En este caso dF/dx se refiere al efecto marginal (en cuanto aumenta la


probabilidad de que suba la nota del alumno promedio cuando las variables
continuas aumentan en una unidad. Para las variables no continuas como psi,
STATA calcula el cambio en la probabilidad ante un cambio discreto de una
unidad (en el caso de psi, de pasar de no participar a participar en la nueva
metodología) También muestra las medias y un intervalo de confianza para la
predicción.

La interpretación es como sigue: 0.5333471 es el aumento de la probabilidad


(de que aumente la nota) para un alumno medio (gpa=3.117, tuce=21.938 y
psi=0.438). Del mismo modo 0.4644 es el aumento en la probabilidad (de que
aumente la nota) para un alumno medio (gpa=3.117, tuce=21.938) cuando
recibe el nuevo método de enseñanza (pasa de tuce=0 a tuce =1). No olvidar
que en todos los casos se debe incorporar la constante al calculo de .

Para tratar las variables discretas del mismo modo que las continuas se
emplea la opción classic.

. dprobit grade gpa tuce psi, classic

Iteration 0: log likelihood = -20.59173


Iteration 1: log likelihood = -13.315851
Iteration 2: log likelihood = -12.832843
Iteration 3: log likelihood = -12.818826
Iteration 4: log likelihood = -12.818803

Pontificia Universidad Católica del Perú 91


Variable dependiente limitada

Para calcular la probabilidad de un aumento de la nota para un individuo de


determinadas características deben definirse estas mediante una matriz. Por
ejemplo, cuál es la probabilidad de que un individuo con gpa=3, que obtuvo 20
en su nota previa de economía (tuce=20) y que ha estado expuesto al nuevo
método de enseñanza (psi=1) debemos emplear la opción at

Observe que el cuarto componente es la de la constante:

matrix carac=[3, 20, 1, 1]


dprobit grade gpa tuce psi, at(carac)

. dprobit grade gpa tuce psi, at(carac)

Iteration 0: log likelihood = -20.59173


Iteration 1: log likelihood = -13.315851
Iteration 2: log likelihood = -12.832843
Iteration 3: log likelihood = -12.818826
Iteration 4: log likelihood = -12.818803

92 Instituto de Informática
STATA 11 para economistas

Comando mfx

Es la manera genérica de calcular efectos marginales, y no es de uso exclusivo a


este tipo de estimaciones. La ventaja es ser flexible a la hora de calcular diversos
variantes de los efectos de las explicativas sobre la variable dependiente

. mfx compute

Pontificia Universidad Católica del Perú 93


Variable dependiente limitada

Calculando las elasticidades:

. mfx compute,eyex
Elasticities after dprobit

Calculando semielasticidades:

. mfx compute,dyex
Elasticities after dprobit

. mfx compute,eydx
Elasticities after dprobit

94 Instituto de Informática
STATA 11 para economistas

Tabla de bondad de ajuste

Comparando la capacidad del modelo lineal y el probit, se observa que éste


último sólo es ligeramente superior al primero.

. tab grade aciertoprobit

. tab grade aciertolin

Para contrastar la bondad de ajuste es preciso tabular que tan bien predice el
modelo.

Graficando el efecto marginal de psi

Si se grafica (por ejemplo para cien puntos) el efecto de psi sobre la probabilidad
de aumentar la nota, se puede graficar el efecto puro de psi sobre las medias
(trazo continuo) mientras que los puntos son el efecto de psi para cada individuo
en particular.

Pontificia Universidad Católica del Perú 95


Variable dependiente limitada

Por el contrario este gráfico permite comparar el efecto predictivo del modelo
para la variable psi.

96 Instituto de Informática
STATA 11 para economistas

Identificación del modelo

La variable potexp fue eliminada por ser colineal a las otras.

. probit union age exp2 grade married lnwage potexp high

note: potexp dropped due to collinearity

Iteration 0: log likelihood = -521.79847


Iteration 1: log likelihood = -465.83446
Iteration 2: log likelihood = -463.72828
Iteration 3: log likelihood = -463.71437
Iteration 4: log likelihood = -463.71436

Pontificia Universidad Católica del Perú 97


Variable dependiente limitada

5.2. Variable dependiente politómica

5.2.1. Logit multinomial

Una variable es nominal es aquella donde sus categorías no se pueden


ordenar. Ejemplos, de lo anterior son estado civil y condición de actividad
laboral. En el modelo logit multinomial, nosotros estimamos el conjunto
de coeficientes (1), (2) y (3) correspondiente a cada categoría del
resultado.

El modelo, sin embargo, no es identificado en el sentido de que hay más


de una solución para (1), (2) y (3) que conduce a las mismas
probabilidades para y=1, y=2 y y=3. Para identificar el modelo, uno de los
(1), (2) y (3) es arbitrariamente fijada a 0. Si arbitrariamente se
fija (1)=0, los coeficientes restantes (2) y (3) medirán el cambio
relativo al grupo y=1.

Si en lugar de fijar (1)=0, fijamos (2) =0, los coeficientes restantes


(1) y (3) medirían el cambio relativo al grupo y=2. Los coeficientes
diferirían porque tienen diferentes interpretaciones, pero las probabilidades
predichas para y=1, 2 y 3 serían las mismas. Por lo tanto, cualquier
parametrización sería una solución.

98 Instituto de Informática
STATA 11 para economistas

Dado (1)=0, las ecuaciones se convierten en

La probabilidad relativa de y=2 es

Llamaremos este ratio como el riesgo relativo, y asumiremos después que


X y son vectores iguales a (x1,x2,x3 ….. xk) y ( ),
respectivamente. El ratio de riesgo relativo para un cambio unitario en Xi
es entonces:

Así, el valor exponenciado de un coeficiente es un ratio de riesgo relativo


para un cambio unitario en la variable correspondiente.

Ejemplo
Se tienen datos acerca del tipo de seguro de salud disponible para 616
personas que sufren de depresión en Estados Unidos. El seguro es
categorizado en dos planes: plan de indemnización y de prepago.

Pontificia Universidad Católica del Perú 99


Variable dependiente limitada

La tercera posibilidad es que no se tenga seguro alguno. Usted desea


estudiar los factores demográficos asociados a cada categoría de seguro.
Como introducción a la muestra, uno de los factores demográficos es la
raza de los individuos, codificado como blanco o no blanco:

use http://www.stata-press.com/data/r8/sysdsn3

Se rechaza la hipótesis nula de que las columnas y las filas son


independientes (prueba Chi cuadrado). Aunque en el cuadro el seguro
aparece como Indemnity, prepaid y Uninsure, el seguro en realidad toma
los valores de 1, 2 y 3. Los nombres aparecen porque las variables
numéricas del seguro han sido asociadas con ellos.

Cuando se estima un modelo logit multinomial, usted puede señalar a


mlogit la categoría base que desea utilizar o puede permitir que mlogit
escoja. Para ajustar un modelo de seguro sobre nonwhite, dejando que
mlogit escoja la categoría base, digitamos:

.tabulate insure nonwhite, chi2 col

100 Instituto de Informática


STATA 11 para economistas

mlogit insure nonwhite

Pontificia Universidad Católica del Perú 101


Variable dependiente limitada

El ratio de riesgo relativo de prepaid sobre la categoría base (indemnity)


es:

Si se cambia el grupo base:

. mlogit insure nonwhite, base(2)

Multinomial logistic regression Number of obs = 616


LR chi2(2) = 9.62
Prob > chi2 = 0.0081

102 Instituto de Informática


STATA 11 para economistas

5.2.2. Probit o Logit ordenado


Una variable es ordinal cuando sus categorías pueden ser ordenadas:
encuestas de opinión (de acuerdo o descuerdo), niveles de pobreza, entre
otros. El modelo probit o logit ordenado se estima con el objetivo de
determinar de forma paramétrica la probabilidad de pertenencia en cada
una de las categorías contempladas. El modelo tiene la siguiente forma:

Con Z como el conjunto de variables independientes y ε un residuo que se


asume normalmente distribuido entre las observaciones en el caso se
asuma normalidad o logística en el otro caso. Con el fin de no obtener
probabilidades negativas se normaliza tanto la media como la varianza de
ε dentro del rango [0, 1]. De esta manera, si p1, p2 y p3 son los grupos
determinados endógenamente determinados por el algoritmo propuesto
por Esteban y otros (1999) se tiene

donde los μ’s son parámetros desconocidos a estimarse en el modelo.

use http://www.ats.ucla.edu/stat/stata/examples/long/ordwarm2, clear

describe

Pontificia Universidad Católica del Perú 103


Variable dependiente limitada

sum warm yr89 male white age ed prst

Logit ordenado

. ologit warm yr89 male white age ed prst

Iteration 0: log likelihood = -2995.7704


Iteration 1: log likelihood = -2846.4532
Iteration 2: log likelihood = -2844.9142
Iteration 3: log likelihood = -2844.9123

104 Instituto de Informática


STATA 11 para economistas

Del mismo modo el comando para el modelo probit ordenado es -oprobit-.


Las siguientes líneas permiten estimar ambos modelos y compararlos:

ologit warm yr89 male white age ed prst


est store modelo1
oprobit warm yr89 male white age ed prst
est store modelo2
est table modelo1 modelo2

Pontificia Universidad Católica del Perú 105


Variable dependiente limitada

106 Instituto de Informática


STATA 11 para economistas

6. Datos de panel

En esta sección se empleará la base nlswork.dta la misma que contiene una


muestra de 4711 mujeres con trabajo remunerado de 14 a 26 años cumplidos al
año 1968 y que fueron encuestadas a lo largo de 21 años (1968-1988) excepto
los años 1974, 1976, 1979, 1981, 1984, y 1986. La variable dependiente en todas
las estimaciones es el logaritmo del ingreso. Se recurrirán a algunos comandos
que no están cargados en Stata. Es importante entonces que antes de iniciar
escribas en la línea de comando (mientras estás conectado a Internet) las
siguientes indicaciones:

ssc install xtserial //Si este comando no funciona, intente: -findit xtserial-
ssc install xttest2
ssc install xttest3

Los datos se encuentran alojados en la siguiente ruta:

use http://www.stata-press.com/data/r10/nlswork.dta
des
sum
generate age2 = age*age generate black = (race==2)

6.1. Controlando la heterogeneidad dentro de un panel

 Regresión agrupada (pooled ols)

El enfoque más simple de analizar datos tipo panel es omitir las


dimensiones del espacio y el tiempo de los datos agrupados y sólo
calcular la regresión MCO usual. Este modelo se expresa como:

Pontificia Universidad Católica del Perú 107


Datos de Panel

Donde i significa la i-ésima unidad transversal (estado) y t el tiempo t


(año). Si tratamos de explicar la variable spend con las variables
independientes de la clase pasada, basta con que indiquemos en la
ventana de comandos de Stata:

reg ln_wage age age2

 Efectos aleatorios

La ecuación (1) supone que el intercepto de la regresión es la


misma para todas las unidades transversales. Sin embargo, es muy
probable que necesitemos controlar el carácter ―individual‖ de cada
estado. El modelo de efectos aleatorios permite suponer que cada
unidad transversal tiene un intercepto diferente. Este modelo se
expresa como:

Donde i + ui
Es decir, en vez de considerar a como fija, suponemos que es una
variable aleatoria con un valor medio y una desviación aleatoria de
este valor medio. Sustituyendo en i + ui (2) obtenemos:

Stata estima el modelo de efectos aleatorios con el comando xtreg, re. En


nuestro ejemplo, indicamos en la ventana de comandos:

xtreg ln_wage age age2, re

108 Instituto de Informática


STATA 11 para economistas

Si analizamos la ecuación (3), observamos que si la varianza de u es


2
igual a cero, es decir u = 0, entonces no existe ninguna diferencia
relevante entre (1) y (3). ¿Cómo podemos saber si es necesario usar el
modelo de efectos aleatorios o el de datos agrupados? Breusch y Pagan
formularon la prueba conocida como Prueba del Multiplicador de Lagrange
para Efectos Aleatorios. La hipótesis nula de esta prueba es que Si
la prueba se rechaza, sí existe diferencia entre (1) y (3), y es preferible
usar el método de efectos aleatorios4. La prueba de Breusch y Pagan se
implementa en Stata con el comando xttest0 después de la estimación de
efectos aleatorios.

. xtreg ln_wage age age2, re


. xttest0

Breusch and Pagan Lagrangian multiplier test for random effects

ln_wage[idcode,t] = Xb + u[idcode] + e[idcode,t]

4
Recuerde que referencialmente una Hipótesis nula se rechaza si el p-value es pequeño, menor a 0.10, por
ejemplo.

Pontificia Universidad Católica del Perú 109


Datos de Panel

El p-value nos indica que podemos rechazar la Ho; por lo tanto, los
efectos aleatorios i u son relevantes y es preferible usar la estimación
de efectos aleatorios en vez de la agrupada.

- Efectos fijos

Otra manera de modelar el carácter ―individual‖ de cada estado es a


través del modelo de efectos fijos. Este modelo no supone que las
diferencias entre personas sean aleatorias, sino constantes o ―fijas‖—y
por ello debemos estimar cada intercepto ui . ¿Cómo podemos permitir
que el intercepto varíe con respecto a cada estado? Una manera es la
técnica de ―las variables dicotómicas de intersección diferencial‖, que
se expresa de la siguiente manera5

Donde es un vector de variables dicotómicas para cada estado. El modelo


de efectos fijos puede ejecutarse en Stata con el comando:

. xi: reg ln_wage age age2 i.idcode

. areg ln_wage age age2,a(idcode)

El cual estima una dummy para cada estado.

Una opción más sencilla es el comando


xtreg: . xtreg ln_wage age age2, fe

5
Como repasamos en clase, utilizar variables dicotómicas conduce al mismo resultado que si
restamos a cada observación la media de cada estado (demeaning the data).

110 Instituto de Informática


STATA 11 para economistas

¿Qué modelo es mejor (1) ó (4)?

En relación con el modelo (4), el (1) es un modelo restringido, pues asume


un intercepto común para todos las personas (es decir, no incluye
variables dicotómicas de cada persona). Por lo tanto, podemos utilizar una
prueba F restrictiva para contestar la interrogante. La hipótesis nula es que
v1= v2= … vi =0 (o sea, que todas las variables dicotómicas estatales son
iguales cero). Si la prueba se rechaza, significa que al menos algunas
variables dicotómicas sí pertenecen al modelo, y por lo tanto es necesario
utilizar el método de efectos fijos. La prueba F de significancia de los
efectos fijos se reporta automáticamente con el comando xtreg, fe.

Al final del output de la estimación de efectos fijos aparece:

El p-value nos indica que podemos rechazar la Ho, por lo que es


preferible usar el método de efectos fijos al modelo agrupado.

- Efectos fijos vs. aleatorios

Las pruebas de Breusch y Pagan para efectos aleatorios, y la prueba F


de significancia de los efectos fijos nos indican que tanto el modelo de
efectos aleatorios como el de efectos fijos son mejores que el modelo
agrupado. ¿Pero cómo decidir cuál de los dos usar? La respuesta
depende de la posible correlación entre el componente de error
individual ui y las variables X. El modelo de efectos aleatorios supone
que esta correlación es igual a cero. Si las ui y las variables X están
correlacionadas, entonces no incluir ui en el modelo producirá un sesgo
de variable omitida en los coeficientes de X.

Pontificia Universidad Católica del Perú 111


Datos de Panel

Hausman demostró que la diferencia entre los coeficientes de efectos


fijos y aleatorios ef - ea puede ser usada para probar la hipótesis
nula de que ui y las variables X no están correlacionadas. Así pues, la
Ho de la prueba de Hausman es que los estimadores de efectos
aleatorios y de efectos fijos no difieren sustancialmente. Si se rechaza
la Ho, los estimadores sí difieren, y la conclusión es efectos fijos es más
conveniente que efectos aleatorios. Si no podemos rechazar Ho, no hay
sesgo de qué preocuparnos y preferimos efectos aleatorios que, al no
estimar suficientes dummies, es un modelo más eficiente. La prueba de
Hausman se implementa en Stata después de la regresión con efectos
aleatorios con el comando Hausman de la siguiente manera:

. xtreg ln_wage age age2, fe


. est store fijos
. xtreg ln_wage age msp ttl_exp, re
. hausman fijos ., sigmamore

b = consistent under Ho and Ha; obtained from xtreg


B = inconsistent under Ha, efficient under Ho; obtained from xtreg

Test: Ho: difference in coefficients not systematic


chi2(2) = (b-B)'[(V_b-V_B)^(-1)](b-B) = 61.89 Prob>chi2 = 0.0000

112 Instituto de Informática


STATA 11 para economistas

. hausman fijos .

b = consistent under Ho and Ha; obtained from xtreg


B = inconsistent under Ha, efficient under Ho; obtained from xtreg

Test: Ho: difference in coefficients not systematic


chi2(2) = (b-B)'[(V_b-V_B)^(-1)](b-B) = 60.05 Prob>chi2 = 0.0000

En nuestro ejemplo, la Ho se rechaza; es decir, la diferencia entre los


coeficientes de efectos aleatorios y fijos sí es sistemática. Por lo tanto,
conviene usar el método de efectos fijos.

- Efectos Temporales

La incorporación de variables dicotómicas de las personas permite


modelar características de las unidades transversales (mujeres) que no
cambian en el tiempo pero que sí afectan el resultado de interés. Ahora
bien, también es posible agregar variables dicotómicas temporales a
nuestro modelo, es decir, una para cada año en la muestra, que capturen
eventos comunes a todos las personas durante un período u otro—como
una gran depresión o guerra mundial6. Agregando efectos temporales, la
ecuación anterior se transforma en:

6
Para hacer la distinción algunos autores suelen hablar de efectos idiosincráticos y efectos covariados.

Pontificia Universidad Católica del Perú 113


Datos de Panel

Donde representa un vector de variables dicotómicas para cada año.


Estas variables dicotómicas permitirán controlar por aquellos eventos a los
que fueron sujetos todas las personas en un año dado y, al igual que los
efectos fijos, pueden reducir sesgos importantes. En Stata podemos
incorporar efectos temporales a nuestro modelo de efectos fijos con el
comando xi.

. xi: xtreg ln_wage age age2 i.year, fe

O bien, generando tanto las dummies de personas como de año


(computacionalmente más costoso),

. xi: xtreg ln_wage age age2 i.year i.idcode, fe

Al igual que con los efectos individuales, podemos realizar una prueba F
para conocer la significancia conjunta de las variables dicotómicas
temporales en nuestro modelo. La hipótesis nula es que
1 = 2 =… t = 0. . En nuestro ejemplo, luego de estimar un modelo
con efectos fijos individuales y temporales, indicamos en la ventana de
comando:

. testparm _Iyear_69 - _Iyear_88 // -testparm- es similar a –test-


( 1) _Iyear_69 = 0
( 2) _Iyear_70 = 0
( 3) _Iyear_71 = 0
( 4) _Iyear_72 = 0
( 5) _Iyear_73 = 0
( 6) _Iyear_75 = 0
( 7) _Iyear_77 = 0
( 8) _Iyear_78 = 0
( 9) _Iyear_80 = 0
(10) _Iyear_82 = 0

(11) _Iyear_83 = 0
114 Instituto de Informática
STATA 11 para economistas

(12) _Iyear_85 = 0
(13) _Iyear_87 = 0
(14) _Iyear_88 = 0

F( 14, 23785) = 6.50


Prob > F = 0.0000 0

El p-value de la prueba F nos indica que rechazamos la Ho, por lo que es


posible afirmar que las variables dicotómicas temporales son
conjuntamente significativas y pertenecen al modelo.

- Autocorrelación

Es importante señalar que aún cuando hemos modelado la


heterogeneidad temporal y espacial en nuestro modelo, la ecuación (5)
puede estar mal especificada en otros aspectos. Recordemos que de
acuerdo con los supuestos de Gauss-Markov, los estimadores MCO son
los Mejores Estimadores Lineales Insesgados (MELI) siempre y cuando
los errores eit sean independientes entre sí y se distribuyan
idénticamente con varianza constante . Desafortunadamente, con
frecuencia estas condiciones son violadas en datos panel: con respecto a
la independencia cuando los errores de diferentes unidades están
correlacionados (correlación contemporánea), o cuando los errores dentro
de cada unidad se correlacionan temporalmente (correlación serial), o
ambos. También con respecto a la distribución ―idéntica‖ de los errores
cuando la varianza no es constante (heteroscedasticidad).

En esta sección abordaremos al problema de la correlación serial o


―autocorrelación‖; es decir, cuando los errores eit no son independientes
con respecto al tiempo. En nuestro ejemplo, es muy probable que el nivel
de ingresos en t esté asociado con el nivel de ingresos en t-1.

Pontificia Universidad Católica del Perú 115


Datos de Panel

Existen muchas maneras de diagnosticar problemas de autocorrelación7.


Sin embargo, cada una de estas pruebas funciona bajos ciertos supuestos
sobre la naturaleza de los efectos individuales. Wooldridge desarrolló una
prueba muy flexible basada en supuestos mínimos que puede ejecutarse
con el comando xtserial. La hipótesis nula de esta prueba es que no
existe autocorrelación; naturalmente, si se rechaza, podemos concluir que
ésta sí existe.8 El comando xtserial requiere que se especifiquen la
variable dependiente e independientes de nuestro modelo. En nuestro
ejemplo, indicamos:

. xtserial ln_wage age age2, output

7
Muchas de las pruebas que se utilizan para diagnosticar problemas de correlación serial en series de tiempo
han sido ajustadas para aplicarse a datos tipo panel en Stata. Estas pruebas puedes bajarlas por internet del
modulo “PANELAUTO” y “PANTEST2” tecleando en la línea de comando:
ssc install panelauto y ssc install pantest2.
8
El método de Wooldridge utiliza los residuales de una regresión de primeras diferencias, observando que si
uit no está serialmente correlacionado, entonces la correlación entre los errores uit diferenciados para el
periodo t y t-1 es igual a -0.5. En realidad, la prueba de Wooldridge consiste en probar esta igualdad. Para una
discusión más amplia de esta prueba, consulta Wooldridge, J. M. 2002. Econometric Analysis of Cross Section
and Panel Data. Cambridge, MA: MIT Press.

116 Instituto de Informática


STATA 11 para economistas

La prueba nos indica que tenemos un problema de autocorrelación que es


necesario corregir. Una manera de hacerlo es a través de un modelo de
efectos fijos con término ( ) autorregresivo de grado 1 (AR1) que controla
por la dependencia de t con respecto a t-1. El modelo AR1 con efectos
fijos se especifica de la manera:

donde

los errores tienen una correlación de primer grado, ρ. El modelo AR1 se


puede implementar con el comando xtregar:

. xtregar ln_wage age age2, fe 9

- Heterocedasticidad

Cuando la varianza de los errores de cada unidad transversal no es


constante, nos encontramos con una violación de los supuestos Gauss-
Markov. Una forma de saber si nuestra estimación tiene problemas de
heteroscedastidad es a través de la prueba del Multiplicador de Lagrange
de Breusch y Pagan. Sin embargo, de acuerdo con Greene, ésta y otras
pruebas son sensibles al supuesto sobre la normalidad de los errores;
afortunadamente, la prueba Modificada de Wald para Heterocedasticidad
funciona aún cuando dicho supuesto es violado.10

9
Si deseáramos estimar un modelo de efectos aleatorios, en vez de fe indicamos re.
10
Para una discusión sobre esta prueba, consulta Greene, W. 2000. Econometric Analysis. Upper Saddle River,
NJ: Prentice Hall, p. 598.

Pontificia Universidad Católica del Perú 117


Datos de Panel

La hipótesis nula de esta prueba es que no existe problema de


2 2
heteroscedasticidad, es decir, i para toda i=1…N, donde N es el
número de unidades transversales (―mujeres‖ en nuestro ejemplo).
Naturalmente, cuando la Ho se rechaza, tenemos un problema de
heteroscedasticidad. Esta prueba puede implementarse en Stata con el
comando xttest3 después de estimar el modelo de efectos fijos:
. xtreg ln_wage age age2, fe
. xttest3

Modified Wald test for groupwise heteroskedasticity in fixed effect


regression model

H0: sigma(i)^2 = sigma^2 for all i

chi2 (4710) = 4.4e+35


Prob>chi2 = 0.0000

La prueba nos indica que rechazamos la Ho de varianza constante y


aceptamos la Ha de heteroscedasticidad. Antes de abordar cómo
solucionar nuestro problema de heteroscedasticidad, resulta conveniente
analizar otro problema que surge de la estimación con datos tipo panel.

- Correlación contemporánea

Las estimaciones en datos panel pueden tener problemas de correlación


contemporánea si las observaciones de ciertas unidades están
correlacionadas con las observaciones de otras unidades en el mismo
periodo de tiempo. Como discutimos en la sección sobre heterogeneidad,
las variables dicotómicas de efectos temporales se incorporan al modelo
para controlar por los eventos que afectan por igual a todas las unidades
(personas) en un año dado.

118 Instituto de Informática


STATA 11 para economistas

La correlación contemporánea es similar, pero con la posibilidad de


algunas unidades estén más o menos correlacionadas que otras. El
problema de correlación contemporánea se refiere a la correlación de los
errores de al menos dos o más unidades en el mismo tiempo t. En otras
palabras, tenemos errores contemporáneamente correlacionados si
existen características inobservables de ciertas unidades que se
relacionan con las características inobservables de otras unidades. Por
ejemplo, los errores de dos personas pueden relacionarse pero
mantenerse independientes de los errores de las demás personas. Por
ejemplo, si las unidades fueran departamentos de un país, una fuerte
helada podría afectar a los departamentos agrícolas, disminuyendo la
producción y por tanto el ingreso. Pero este efecto probablemente no se
manifieste en los departamentos no agrícolas.

El comando xttest2 de Stata ejecuta la prueba de Breusch y Pagan para


identificar problemas de correlación contemporánea en los residuales de
un modelo de efectos fijos. La hipótesis nula es que existe ―independencia
transversal‖ (cross-sectional independence); es decir, que los errores entre
las unidades son independientes entre sí. Si la Ho se rechaza, entonces
existe un problema de correlación contemporánea.11

El comando xttest2 se implementa después de un modelo de efectos fijos.


En nuestro ejemplo:

. xtreg ln_wage age age2, fe


. xttest2

2
Si el p-value del estadístico indica que podemos rechazar la Ho;
entonces también es necesario corregir el problema de correlación
contemporánea.

11
Técnicamente, el comando xttest2 prueba la hipótesis de que la matriz de correlación de los residuales,
obtenida sobre las observaciones comunes a todas las unidades transversales, es una matriz de identidad de
orden N, donde N es el número de unidades transversales. Para una discusión de esta prueba, consulta Greene,
W. 2000. Econometric Analysis. Upper Saddle River, NJ: Prentice Hall, p. 601.

Pontificia Universidad Católica del Perú 119


Datos de Panel

- Solución a los problemas de heterogeneidad, correlación


contemporánea, heteroscedasticidad y autocorrelación

Los problemas de correlación contemporánea, heteroscedasticidad y


autocorrelación que hemos examinado pueden solucionarse
conjuntamente con estimadores de Mínimos Cuadrados Generalizados
Factibles (Feasible Generalizad Least Squares ó FGLS), o bien con
Errores Estándar Corregidos para Panel (Panel Corrected Standard Errors
ó PCSE). Beck y Katz (What to do (and not to do) with time-series cross-
12

section data, 1995) demostraron que los errores estándar de PCSE son
más precisos que los de FGLS. Desde entonces, muchos trabajos en la
disciplina han utilizado PCSE en sus estimaciones para panel 13

Stata ejecuta FGLS y PCSE con los comandos xtgls y xtpcse. Las
opciones que ofrecen estos comandos dependen de los problemas
detectados en las pruebas que hemos revisado. La tabla mostrada a
continuación presenta los comandos ante problemas de correlación
contemporánea, heteroscedasticidad y autocorrelación, y sus
combinaciones.

12
Para una introducción técnica pero fácil de entender sobre las propiedades de FGLS y PCSE, ver: Nathaniel
Beck, “Time-Series-Cross-Section Data: What Have We Learned in the Past Few Years?”, Annual Review of
Political Science, 4: 271-93 (2001).
13
Hasta la fecha, el debate entre FGLS y PCSE continúa, y ya se han desarrollado algunos métodos alternativos.
Como los cálculos son hechos por la computadora, y en la mayoría de casos no es costoso computacionalmente
vale la pena estimar ambos métodos y comparar resultados.

120 Instituto de Informática


STATA 11 para economistas

Estos comandos no calculan automáticamente efectos fijos, por lo que en


caso de ser necesario, se debe introducir variables dicotómicas con el
comando xi.

En nuestro ejemplo sobre el gasto estatal, hemos detectado problemas de


heterogeneidad, heteroscedasticidad, correlación contemporánea y
autocorrelación.

Para corregir estos problemas ejecutamos el comando:

. xi: xtgls ln_wage age age2, panels (correlated) corr(ar1)

ó el comando:

. xi: xtpcse spend ln_wage age age2 i.idcode i.year, correlation(ar

Pontificia Universidad Católica del Perú 121


Datos de Panel

122
STATA 11 para economistas

6.2. Panel Dinámico


El modelo básico de datos de panel dinámico es:

El modelo puede sintetizarse en:

Pontificia Universidad Católica del Perú 123


Datos de Panel

¿Cuándo conviene emplear el modelo de panel dinámico de Arellano


- Bond?

Cuando la variable dependiente (la que queremos explicar) presenta


inercia en el tiempo en un contexto de datos de paneles apropiado aplicar
panel dinámico.

Ejemplo de estas variables son la participación de mercado de un banco


en el mercado local, pues es razonable que si una firma controló el 40%
del mercado en 2003 tenga una participación parecida en 2004. El número
de trabajadores en una firma también presenta esta inercia pues los
cambios tecnológicos ni los cambios en la escala suelen ser bruscos si no
que se reparten en un período más de tiempo largo.

Para modelar esta inercia se agregan rezagos de la variable dependiente,


pero ello haría que tengamos variables dependientes al lado derecho de la
ecuación, lo que causaría un problema de endogeneidad (y por ello los
parámetros serían sesgados e inconsistentes). Para que ello no ocurra
debemos emplear instrumentos.

Para tratar el tema de la exogeneidad de las variables del lado derecho de


la ecuación, estas se clasificaran en endógenas, exógenas y
predeterminadas.

Pero el empleo de instrumentos se realiza mediante las condiciones de


ortogonalidad del Método Generalizado de Momentos.

124 Instituto de Informática


STATA 11 para economistas

Método Generalizado de Momentos: Planteamos las condiciones de


ortogonalidad poblacionales:

[ (w, )] = 0

El Método Generalizado de Momentos consiste hallar los estimadores que


hagan mas cierta las condiciones de ortogonalidad, pero no en el sentido
de la metodología de Máxima Verosimilitud, pues en GMM no se supone
una forma específica para la función de densidad de las perturbaciones
sino mas bien haciendo que las condiciones de ortogonalidad muestrales
estén más cerca de cero.

No decimos que sean cero todas las condiciones de ortogonalidad pues


normalmente eso no es posible pues tenemos más condiciones de
ortogonalidad que parámetros a estimar (problema de sobre identificación)
si no que una medida ponderada de su cercanía a cero sea la menor
posible.

Esa medida ponderada de su cercanía a cero es una forma cuadrática (la


cual es una forma de medir distancias, en este caso para que las
ecuaciones de ortogonalidad).

Pontificia Universidad Católica del Perú 125


Datos de Panel

Se puede demostrar que la ponderación óptima es la matriz de


covarianzas de las condiciones de ortogonalidad, de manera que las
condiciones de ortogonalidad que tengan más varianza tengan menos
peso en esa medida de distancia que las condiciones de ortogonalidad
que tengan menor varianza.

MGM: minimiza una forma cuadrática que es la medida de distancia de bn


(c) a cero.

An:= matriz de ponderaciones de los momentos. (Se empleará la inversa


de la matriz de var-cov de las condiciones de ortogonalidad, por lo
general)

STATA tendrá entonces que minimizar una forma cuadrática, en la cual la


dimensión de la matriz de covarianzas de las condiciones de momentos es
crucial pues conforme aumente el número de periodos de tiempo y el
número de rezagos aumentará la dimensión de esta, complicando la
estimación.

Con el comando set matsize es posible fijar hasta en 800 por 800 dicha
matriz.

En la metodología de Arellano-Bond primero se diferencian el modelo,


supongamos que el modelo es:

Lo que se obtiene es:

126 Instituto de Informática


STATA 11 para economistas

IMPORTANTE: Observe que la interpretación de los coeficientes no


cambia debido a esta transformación del modelo pues siguen siendo los
del modelo anterior.

La matriz de instrumentos se forma del siguiente modo:

Tenemos dos rezagos (por lo que perdemos dos observaciones por


individuo), con la diferenciación se pierde una observación más por lo
que el número de filas es de T-p-1.

Como las xit contienen regresores estrictamente exógenos xit


van a servir como sus propios instrumentos, por lo que tenemos k1

columnas al final de la matriz. Asumiendo que las it no están

autocorrelacionadas, para cada período podemos emplear los rezagos de


la dependiente como instrumentos: en t=4 podemos emplear y1, y2, para
t=5 podemos emplear y1, y2, y3, hasta que para t=T podemos emplear y1,
y2, y3,… yT-3, yT-2

Pontificia Universidad Católica del Perú 127


Datos de Panel

Finalmente tenemos:

Las variables endógenas se tratan del mismo modo que las variables
dependientes rezagadas (siendo los rezagos de orden p o mayores
instrumentos válidos, mientras que para las predeterminadas los rezagos
p-1 o mayores son instrumentos válidos.

Para el caso de paneles incompletos se eliminan las filas donde no hay


datos y se reemplazan con ceros las columnas donde no se requieran
datos.

Para el modelo anterior:

La matriz de covarianzas de

Finalmente el vector de coeficientes es:

128 Instituto de Informática


STATA 11 para economistas

Ejemplo:

. ds
c1 emp indoutpt k yearm1 nL2 kL2 yr1976 yr1979 yr1982
ind wage n ys id wL1 ysL1 yr1977 yr1980 yr1983 year
cap w rec nL1 kL1 ysL2 yr1978 yr1981 yr1984

En el ejemplo la variable w es el logaritmo neperiano del salario, mientras


que la variable k es el logaritmo natural stock de capital de la i-ésima firma
y la variable ks es el logaritmo natural del producto de la i-ésima firma.

La variable dependiente es n que es el logaritmo del empleo en la i-


ésima firma. Primero estimaremos un modelo con un solo rezago de la
variable dependiente:

. xtabond n w L.w

Pontificia Universidad Católica del Perú 129


Datos de Panel

Sargan test of over-identifying restrictions:

chi2(27) = 109.75 Prob > chi2 = 0.0000

Arellano-Bond test that average autocovariance in residuals of order 1 is 0:

H0: no autocorrelation z = -2.74 Pr > z = 0.0062

Arellano-Bond test that average autocovariance in residuals of order 2 is 0:

H0: no autocorrelation z = -1.51 Pr > z = 0.1320

La hipótesis nula del contraste de Sargan es que las restricciones en


exceso provenientes de la sobre identificación (tenemos mas condiciones
de ortogonalidad que parámetros a estimar) son válidas (son muy
cercanas a cero). El resultado obtenido podría deberse a la presencia de
heterocedasticidad.

La existencia de autocorrelación de primer orden en los residuos


diferenciados no causa que los estimados sean inconsistentes, por lo cual
el resultado obtenido no es grave. La autocorrelación de segundo orden
en los residuos rezagados si es problemática pues podría causar que los
estimados sean inconsistentes. Por ello buscaremos otras
especificaciones

. xtabond n l(0/1).w l(0/2).(k ys) yr1980-yr1984, lags(2)

130 Instituto de Informática


STATA 11 para economistas

Pontificia Universidad Católica del Perú 131


Datos de Panel

Arellano-Bond test that average autocovariance in residuals of order 1 is 0:

H0: no autocorrelation z = -3.94 Pr > z = 0.0001

Arellano-Bond test that average autocovariance in residuals of order 2 is 0:

H0: no autocorrelation z = -0.54 Pr > z = 0.5876

xtabond n l(0/1).w l(0/2).(k ys) yr1980-yr1984, lags(2) robust


xtabond n l(0/1).w l(0/2).(k ys) yr1980-yr1984, lags(2) twostep

Observar que con la opción twostep no se rechaza la hipótesis nula del


contraste de Sargan. Hasta este punto no hemos incluido variables
endógenas ni variables predeterminadas en la estimación:

La variables endógenas son las que tienen una relación contemporánea


con la dependiente mientras que las predeterminadas son variables tales
que los residuos estén no correlacionados con los valores actuales y
rezagados de estas variables pero eso no ocurre (es decir están
correlacionados) con sus valores futuros.

. xtabond n l(0/1).ys yr1980-yr1984, lags(2) twostep pre(w, lag(1,.)) pre(k,


lag(2,.))

Arellano-Bond dynamic panel-data estimation Number of obs = 611


Group variable (i): id Number of groups = 140

132 Instituto de Informática


STATA 11 para economistas

Warning: Arellano and Bond recommend using one-step results for


inference on coefficients
Sargan test of over-identifying restrictions:
chi2(86) = 89.45 Prob > chi2 = 0.3783
Arellano-Bond test that average autocovariance in residuals of order 1 is 0:
H0: no autocorrelation z = -4.04 Pr > z = 0.0001

Pontificia Universidad Católica del Perú 133


Datos de Panel

Arellano-Bond test that average autocovariance in residuals of order 2 is 0:


H0: no autocorrelation z = -0.37 Pr > z = 0.7123
. xtabond n l(0/1).ys yr1980-yr1984, lags(2) twostep pre(w, lag(1,.)
endog) pre(k, lag(2,.) endog)

134 Instituto de Informática


STATA 11 para economistas

Sargan test of over-identifying restrictions:

chi2(74) = 74.92 Prob > chi2 = 0.4483

Arellano-Bond test that average autocovariance in residuals of order 1 is 0:

H0: no autocorrelation z = -4.91 Pr > z = 0.0000

Arellano-Bond test that average autocovariance in residuals of order 2 is 0:

H0: no autocorrelation z = -0.80 Pr > z = 0.4251.

Pontificia Universidad Católica del Perú 135


Datos de Panel

136 Instituto de Informática


STATA 11 para economistas

7. Introducción a la programación

7.1. Macros local y global

Una herramienta básica en la programación en STATA es el uso de las


macros que permiten realizar el trabajo de forma más eficiente. Se puede
ver una macro en STATA como un ―alias‖ que tiene un nombre y un valor.

Cuando el nombre de una macro es referenciado se puede obtener su


valor. Una macro puede contener cualquier combinación de caracteres
alfanuméricos y puede contener hasta 8000 caracteres. El valor de un
macro puede ser modificado por otro comando.

Existen dos tipos de macros en STATA definidas como local y global. El


contenido de las macros global es definido mediante el comando global
mientras que en el caso de las macros local es definido con el comando
local. Las macros local existen sólo en el programa (ado) o el do-file
definido. Es decir, si se abre otro programa o do- file las macros local
utilizadas con anterioridad no estarán disponibles. La macro local es un
contenido que puede mantener un objeto (como un nombre de una
variable o un número) o un conjunto de objetos.

Ejemplo local paises PER ARG PAR MEX


di "`paises'"

Las macros global existen para la duración de un programa o una sesión


de STATA. Otra diferencia con respecto a las macros local es que la forma
como se referencian.

Ejemplo
global paises PER ARG PAR MEX
di "$paises"

Pontificia Universidad Católica del Perú 137


Introducción a la programación

Las macros global son utilizadas frecuentemente para guardar los ítems
paramétricos de un programa, como puede ser un carácter string que
contenga el nombre del directorio ―defult‖ en donde las bases de datos o
los do-files serán accesados.

Las macros de STATA son útiles para construir listas, contadores o


índices de enlace (loop indices). Su uso puede ser extendido para retomar
valores de los comandos de STATA (ver return). Se pueden utilizar una
serie de funciones macro que pueden ser útiles para extraer etiquetas de
una variable, extraer el número de columnas o filas de una matriz, entre
otros.

Ejemplo

cd "…"
use auto
local x1: type labor

7.2. Procedimientos sistemáticos: forvalues y foreach

STATA permite utilizar un solo comando en vez de distintos comandos


para realizar modificaciones a los valores de una variable y enlazar
variables que tienen un contenido similar.

Las herramientas más potentes son los comandos forvalues y foreach. La


sintaxis de estos comandos es muy familiar para usuarios de C y otros
lenguajes de programación modernos. No se suele utilizar en mayor
medida otros comandos como for (en desuso) o while (que requiere
especificar un contador como una macro local).

El comando forvalues permite enlazar valores consecutivos, repitiendo un


conjunto de macros local a cada elemento definido en el ―rango‖ y ejecuta
los comandos que se colocan entre corchetes.

138 Instituto de Informática


STATA 11 para economistas

Ejemplo:
forvalues i=1(1)5 {
display ‗i‘
}

Se define la macro local i como un índice de enlace, siendo el rango 1(1)5.


Se ejecutará el comando entre corchetes para cada valor en el rango.
Asimismo, el rango se puede definir de distintas maneras.

Ejemplo:
forvalues i=1/5 {
display `i'
}

El límite del rango se puede establecer mediante una macro.

Ejemplo:
local n 5
forvalues i=1/`n' {
display ‗i‘
}

Ejemplo: Si se tienen 4 variables x1, x2, x3 y x4

forvalues i=1/4 {
generate double lnx ‘i‘ =log(x ‘i‘)
summarize lnx ‘i‘
}

El comando forvalues suele utilizarse para enlazar variables que


tienen un componente numérico (entero) común consecutivo. En otros
casos se suele utilizar el comando foreach. El comando foreach repite
un conjunto de macros local a cada elemento de la lista (que incluyen
macros local y global) y ejecuta los comandos que se colocan entre

Pontificia Universidad Católica del Perú 139


Introducción a la programación

corchetes. Como en el caso de forvalues una macro local es definida


como un índice de enlace.

El loop es ejecutado 0 o más veces, ejecutándose desde 0 si es que la


lista está vacía. En vez de realizar el ciclo de acciones sobre un
conjunto de valores numéricos, foreach especifica que el índice loop
itera a través de los elementos de la macro local o global, de los
nombres de las variables especificadas (varlist) o de los elementos
explícito de elementos (numlist).

Ejemplo:
foreach z in PER ARG PAR MEX {
generate double lnx`z'=log(x`z')
summarize lnx`z'
}

El comando foreach puede trabajar con una lista de variables


específicas varlist, un newvarlist de las variables que crea y un listado
explícito de elementos numlist.

foreach z of varlist x* {
summarize ln`z'
}

7.3. Escalares y matrices

7.3.1. Escalares
STATA utiliza escalares y matrices. Los escalares pueden contener
valores string (hasta 244 caracteres) o un único valor numérico. Los
comandos de análisis (describe, sum, entre otros) de STATA dan los
resultados como escalares numéricos (ver return). Adicionalmente, los
escalares pueden ser utilizados para guardar resultados numéricos.

140 Instituto de Informática


STATA 11 para economistas

Ejemplo:
scalar root2=sqrt(2)

En el cálculo numérico es más fácil utilizar escalares. Si una macro


contiene valores numéricos estos deben ser convertidos previamente,
mientras que en el caso de los escalares no se requiere de ninguna
transformación.

Un escalar opera como una expresión. Es decir, no se puede especificar


un escalar como parte de un rango, in range, en la medida que ningún
valor será extraído. Se debe utilizar if exp desde que contiene una
expresión numérica.

Los comandos de estimación de STATA (reg, xtreg, entre otros) crean


tanto escalares como matrices. Por ejemplo, con el comando reg se crea
la matriz e(b) que contiene los estimadores de los parámetros, e(V) que
contiene la matriz de varianzas y covarianzas de los estimadores.

7.4. Matrices

STATA ha desarrollado un lenguaje matricial que soporta un amplio rango de


operaciones matriciales.

Con los comandos matrix tradicionales el tamaño de las matrices es limitado


según las distintas versiones del STATA. Asimismo STATA posee de comandos
especializados como –matrix accum- que calcula productos cruzados de matrices
de cualquier número de observaciones. Hay también otras variaciones de dicho
comando como -matrix glsaccum-, -matrix vecaccum- y -matrix opaccum-.

matrix accum A = price weight mpg


matrix list A

Las matrices en STATA son útiles para guardar los resultados. También son una
forma de presentar la información de manera organizada. Muchas operaciones
no pueden ser realizadas con los comandos matrix tradicionales. Por ejemplo si
Pontificia Universidad Católica del Perú 141
Introducción a la programación

bien el comando matrix mkmat permite crear una matriz a partir de una lista de
variables, el número de observaciones de la matriz es limitado.

Por otro lado, los comandos clásicos y los del lenguaje MATA y en general
cualquier lenguaje matricial tiene limitaciones a la hora de trabajar con
expresiones matriciales complejas (panel, SUR, entre otros) sobretodo si se
consideran la memoria disponible en la PC. En estos casos es preferible trabajar
con enlaces que permitan simplificar el cálculo matricial.

Por ejemplo en vez de realizar el cálculo matricial para estimar un SUR se puede
generar un loop en donde se realice regresiones de distintas ecuaciones, los dos
procedimientos dan el mismo resultado pero el último no requiere de tantos
recursos informáticos.

7.5. Modulo MATA

MATA es un lenguaje algebraico matricial usado por programas como Matlab o


Gauss y entre sus virtudes se puede mencionar la eficiencia. Para acceder al
modulo basta iniciar la sesión con la palabra MATA, a partir de ese momento todo
lo convencional utilizado hasta este momento deja de funcionar siendo sólo
posible ejecutar comandos que guarden relación con el módulo. Algunas
utilidades que se deberían conocer son:

 Solicitar ayuda general del módulo: -help mata-


 Solicitar ayuda específica: -help mata cholesky-
 Búsqueda con palabra clave: -search mata determinant-

Para cerrar la sesión MATA y volver al formato convencional del STATA se tiene
que ejecutar la orden -end-. A modo de ilustración las siguientes líneas permiten
cargar los datos a un formato matricial y estimar las pendientes bajo MCO de la
siguiente especificación: price=f(mpg, weight).

1 sysuse auto
2 mata X=st_data(.,("mpg","weight","foreign"))
4 Y=st_data(.,("price"))
5 X=J(rows(X),1,1),X 6 invsym(X'X)*X'Y
142 Instituto de Informática
STATA 11 para economistas

Otra aplicación que ilustra la flexibilidad del comando y que prescinde


convenientemente de la orden -end- es la siguiente:

sysuse auto
mkmat price mpg,matrix(y)
mata: y2=st_matrix("y")
mata: mean(y2)
mata: rows(y2)
mata: cols(y2)

7.6. Comandos return y ereturn

Los principales comandos de análisis de STATA, incluidos los nuevos comandos


que el propio usuario define, pueden ser clasificados en las siguientes clases:

r-class: comandos diversos (excluidos los de estimación) tales como table,


sumaries, entre otros.

e-class: comandos de estimación como regress, xtreg, entre otros que


estiman modelos estadísticos.

Cada clase de comando determina si los resultados son guardados en r() o


e(). Existen otras clases s-class, n-class y c-class que se utilizan con menor
frecuencia (véase h return). Con el comando -return list- o -ereturn list-, según
sea el caso, se pueden ver los elementos guardados en r() ( e())
correspondiente a los comandos de clase r (e).

Ejemplos:

cd "..."
use auto
des
return list

Pontificia Universidad Católica del Perú 143


Introducción a la programación

La ejecución consecutiva de comandos r-class reemplazarán la lista return


con los respectivos valores de return. Si se quiere trabajar con dichos item
estos se tienen que guardar como macros local o como escalares.

sum mpg
return list
di "La media estandariza es `r(mean)'/`r(sd)'"

La mayoría de comandos e-class retornan cuatro tipos de objetos de STATA:


escalares, macros, matrices y una función de STATA e(sample) que asigna 1
a cada observación incluida en la estimación y 0 en otro caso.

reg mpg weight foreign


ereturn list

144 Instituto de Informática


STATA 11 para economistas

8. Análisis de datos con diseño muestral complejo


Una de las ventajas que ofrece el Stata para el análisis de Encuestas como la
ENAHO, con Diseño muestral complejo, es que permite calcular los estimadores
teniendo en cuenta el diseño muestral de la misma (diferente al muestreo
aleatorio simple – MAS -).

Además, Stata proporciona estadísticos con los cuales se puede evaluar la


confiabilidad del resultado en forma simultánea a su estimación. De esta manera
el usuario está en la capacidad de interpretar y utilizar adecuadamente cada
estimación proveniente de la encuesta.

Los principales elementos que se deben tener en cuenta en el trabajo con datos
de encuestas por muestreo son:

 Ponderación: En las encuestas por muestreo, las observaciones son


seleccionadas mediante un proceso aleatorio, donde cada observación
puede tener una probabilidad de selección diferente. La ponderación (o
peso) de una observación (hogar, por ejemplo) es igual a la inversa de la
probabilidad de pertenecer a la muestra. Es usual que luego del trabajo de
campo se realicen ajustes sobre esta ponderación, debido, por ejemplo, al
efecto de la ―No-Respuesta‖. Un peso wj de una observación j significa
que la observación, j representa a wj elementos de la población. Si
no se toman en cuenta las ponderaciones, las estimaciones que se
obtengan estarán sesgadas.

 Conglomerados o cluster: Algunas veces se utiliza el muestreo por


conglomerados, es decir las observaciones son muestreadas en grupos o
―clusters‖, por ejemplo, provincias dentro de departamentos, distritos
dentro de provincias y finalmente viviendas dentro de los distritos
seleccionados, que son el objetivo final del muestreo. Todas las
observaciones de un mismo cluster no son independientes entre sÍ, si no
se toma en cuenta este hecho, los errores estándar que se obtengan
serán menores a los verdaderos.

Pontificia Universidad Católica del Perú 145


Análisis de datos con diseño muestral complejo

 Estratos: En algunos casos, también se emplea el muestreo estratificado,


donde diferentes grupos de observaciones o estratos, son muestreados en
forma independiente. Al igual que el caso anterior, si no se toma en cuenta
este hecho, se obtendrán sub estimaciones de los errores estándar
verdaderos.

Stata permite incorporar el DISEÑO MUESTRAL (ponderaciones, conglomerados y


estratos) antes de ejecutar las estimaciones. Es decir, utiliza las fórmulas de estimación
de estadísticos propias de cada tipo de muestreo. Todos los comandos para el análisis
de datos provenientes de encuestas comienzan con las letras svy

8.1. Especificación del Diseño Muestral: SVYSET

Encuestas como la Enaho, que posee un diseño complejo, es necesario


especificar las variables que contienen las ponderaciones, los conglomerados y
los estratos, antes de obtener cualquier estimación.

146 Instituto de Informática


STATA 11 para economistas

. svydes

Estimación de Promedios: SVYMEAN


 Se utiliza para calcular promedio de variables cuantitativas
 Por defecto presenta el promedio estimado, el error estándar, el intervalo
de 95% de confianza y el efecto de diseño de esta estimación
 Se pueden utilizar las opciones if y by.

. svy: mean mieperho percepho

Pontificia Universidad Católica del Perú 147


Análisis de datos con diseño muestral complejo

Estimación de Proporciones: SVYPROP

 Presenta el número de observaciones, la proporción estimada y el error


estándar de esta estimación de los casos de la muestra respecto a las
categorías de una variable dada

 Se pueden utilizar las opciones if y by.

. svy: prop pobreza

Cruce de dos variables : SVY: TAB

 Produce una tabla de dos entradas con la proporción de la muestra que


pertenece a cada celda (cruce da variables), respecto al total de la muestra.
 Para modificar el contenido de la tabla se deben especificar los estadísticos
después de una coma

148 Instituto de Informática


STATA 11 para economistas

 En caso de que se desee estimar las proporciones respecto a filas o columnas,


basta con indicar row o column después de la coma.
 Se puede utilizar la opción if

. svy: tab estrato pobreza

Pontificia Universidad Católica del Perú 149


Análisis de datos con diseño muestral complejo

Pearson:
Uncorrected chi2(8) = 624.9913
Design-based F(6.75,6288.86) = 45.3989 P = 0.0000
. svy: tab,se ci deff

150 Instituto de Informática


STATA 11 para economistas

. svytab pobreza estrato if (urru5==1)

Regresión Lineal: SVY: REG

 Produce la estimación de un modelo de regresión lineal con variable


dependiente cuantitativa.

 Por defecto, el comando svyreg muestra el valor estimado, el error estándar,


el intervalo de 95% de confianza y el efecto del diseño de cada uno de los
coeficientes de regresión

 Se pueden utilizar las opciones if y by

Pontificia Universidad Católica del Perú 151


Análisis de datos con diseño muestral complejo

152 Instituto de Informática


STATA 11 para economistas

. svy: reg gashpcmd inghpcmd

Survey linear regression

. svyreg gashpcmd inghpcmd mieperho percepho

Survey linear regression

Pontificia Universidad Católica del Perú 153


Análisis de datos con diseño muestral complejo

. svyreg gashpcmd inghpcmd mieperho percepho if(urru5==1)

Survey linear regression

. svyreg, deft

Survey linear regression

154 Instituto de Informática


STATA 11 para economistas

NOTAS

Pontificia Universidad Católica del Perú 155


NOTAS

156 Instituto de Informática


STATA 11 para economistas

Pontificia Universidad Católica del Perú 157


NOTAS

158 Instituto de Informática

You might also like