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.
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.
Nos informa sobre las variables que
están disponibles en nuestra base de
datos para realizar las diversas
aplicaciones
Esta nos permite visualizar los
resultados (outputs) de los estadísticos
que pedimos calcular o de los modelos
que solicitamos estimar.
Command
Variables
Results
Figura Nº4: Entorno de STATA
Review
Variables
14
Comandos
Resultados
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
Subconjuntos de datos: comandos “if” y “in”
2.2.
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")
xtitle("Edad")
///
ytitle("Ingreso")
///
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
de coeficientes
(1),
(2) y
estimamos el conjunto
(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),
fija
(2) y
(3) es arbitrariamente fijada a 0. Si arbitrariamente se
(1)=0, los coeficientes restantes
(2) y
(3) medirán el cambio
relativo al grupo y=1.
Si en lugar de fijar
(1) y
(1)=0, fijamos
(2) =0, los coeficientes restantes
(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
102
Number of obs =
616
LR chi2(2) =
9.62
Prob > chi2 =
0.0081
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
igual a cero, es decir
2
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
O
. 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 GaussMarkov. 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
heteroscedasticidad, es decir,
i
2
2
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
Si el p-value del estadístico
2
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
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
y
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
xit
contienen regresores estrictamente exógenos
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
Group variable (i): id
132
of
obs
=
611
Number of groups = 140
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