Está en la página 1de 160

SOFTWARE SHOP

MANEJO DE BASES DE DATOS Y ANÁLISIS


ECONOMÉTRICO CON Stata 12

CONFERENCISTA:
BRAYAN RICARDO ROJAS ORMAZA*

*
Economista, Certificado en Administración del Riesgo, realizando curso de Posgrado en Gestión de
Riesgos Financieros, actualmente se desempeña como Director Técnico Cuantitativo de Software Shop para
Latinoamérica y es profesor de la Universidad del Rosario y de la Universidad Piloto, ha trabajado en el área
de Investigaciones del Banco de la República de Colombia, y como asistente de investigación en la
Universidad Nacional, tiene publicaciones en modelos econométricos y en software aplicado.

Como instructor a nivel internacional ha dictado cursos y conferencias de Stata, EViews y Risk Simulator en
entidades estatales, instituciones financieras y universidades en países como Chile, Venezuela, Colombia,
Ecuador, México, entre muchos otros.

Contacto a: brayan.rojas@software-shop.com.
INTRODUCCIÓN

Hoy en día es común encontrar diferentes aplicaciones computacionales capaces de realizar sin fin
de procedimientos en milésimas de segundo, desde hace varios años el computador ha sido una
herramienta muy útil para las diferentes áreas del conocimiento y las ciencias económicas no han
sido la excepción, los grandes avances teóricos han llevado a necesitar cada vez más de las
aplicaciones computacionales para poder pasar de la teoría a la práctica.

Las ciencias económicas, sociales y aplicadas se han vinculado desde hace varias décadas a las
ciencias puras para poder por medio de los métodos cuantitativos verificar los hechos sociales, el
uso de la estadística, la matemática y la física cada día van en incremento; pero de igual forma éstos
métodos han necesitado de diferentes recursos para su aplicación, es en busca de suplir estas
necesidades que Stata se ha comprometido día a día en apoyar al desarrollo de la teoría con la
práctica haciendo uso del total de recursos disponibles.

Se aclara que Stata no es un software libre ni gratuito, para poder acceder a él es necesario adquirir
un plan de licenciamiento, para mayor información ingresar a www.stata.com. Una de las ventajas
del software es la posibilidad de trabajo por ambiente GUI (interactivo) y/o por ambiente de
comandos con una programación bastante potente, incluyendo un lenguaje de programación para
matrices conocido como MATA.

Este material es dirigido a todo tipo de usuario, para el estudiante que se está involucrando al
mundo de la estadística y econometría, el docente que utiliza la herramienta para impartir sus clases
usando para ello un software de alto nivel como es Stata y para profesionales e investigadores que
día a día requieren una herramienta que les sirva para apoyar sus labores y sus tesis.

El documento se ha dividido en 8 capítulos, en los primeros tres podrá encontrar información sobre
la introducción manejo y manipulación de datos así como la presentación de resultados por medio
de gráficas y tablas; en el capítulo 4 encontrará el tema de regresión, capítulo 5 modelos de
regresión para variable discreta, capítulo 6 modelos de series de tiempo ARIMA, capítulo 7
modelos de datos de panel y los últimos dos capítulos es introducción a la programación y algunos
trucos y recomendaciones.

DESCRIPCIÓN DEL LIBRO

Este manual es de carácter académico y representa una guía para los usuarios de Stata.

El manual contiene #### páginas, las cuales describe los principales usos para un usuario de
diferente nivel y estudios. Para el mejor entendimiento del manual se describe el siguiente cuadro:

DESCRIPCIÓN CARACTERÍSTICA
Comando Tipo de Letra cursiva, fuente Times New
Roman, tamaño de letra 11
Notas o recomendaciones Resaltado en un cuadro de texto
Rutas de acceso por medio de los menús Se describe el nombre del Menú seguido por el
símbolo “”
Mensajes de Error Color de Fuente Rojo
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

TABLA DE CONTENIDO

1. MANEJO FUNDAMENTAL DE Stata 12 ....................................................... 5


1.1 CONOCIENDO EL ENTORNO DE Stata ......................................................................... 5
1.2 EL MENÚ DE AYUDA ..................................................................................................... 7
1.3 TIPOS DE ARCHIVOS .................................................................................................... 11
1.4 ESTRUCTURA DE COMANDOS .................................................................................. 11
1.5 VENTANAS DE COMANDOS ....................................................................................... 11
1.6 CONFIGURANDO LA MEMORIA DE Stata ................................................................. 12
1.7 CAMBIANDO EL DIRECTORIO DE TRABAJO DE Stata........................................... 13
1.8 BASES DE DATOS DE EJEMPLO ................................................................................. 13
1.9 TIPOS DE VARIABLES .................................................................................................. 13
2. MANEJO DE BASES DE DATOS ................................................................ 15
2.2 SALVANDO UNA BASE DE DATOS ........................................................................... 21
2.3 DESCRIPCIÓN DE LA BASE DE DATOS .................................................................... 21
2.4 CONSERVAR Y RECARGAR BASES DE DATOS ...................................................... 29
2.5 FILTROS DE LA BASE DE DATOS .............................................................................. 29
2.6 ADMINISTRADOR DE VARIABLES ............................................................................ 30
2.7 CREACIÓN DE CATEGORÍAS ...................................................................................... 31
2.10 CAMBIO EN LA ORGANIZACIÓN DE LOS DATOS ................................................. 37
2.11 PROBLEMAS EN EL MANEJO DE BASES DE DATOS ............................................. 42
2.12 ANÁLISIS DE DUPLICADOS ........................................................................................ 44
2.13 CREACIÓN DE PROGRAMAS – EDITOR DE TEXTO ............................................... 48
3 ANÁLISIS ESTADÍSTICO CON Stata ......................................................... 49
3.1 ESTADÍSTICAS DESCRIPTIVAS .................................................................................. 50
3.2 PONDERADORES – WEIGHT- ...................................................................................... 51
3.3 CALCULO DE MEDIAS ................................................................................................. 52
3.4 INTERVALOS DE CONFIANZA ................................................................................... 52
3.5 PRUEBAS DE HIPÓTESIS ............................................................................................. 53
3.6 MANEJO DE Tablas DE DATOS .................................................................................... 53
3.7 PRUEBAS PARAMÉTRICAS ......................................................................................... 55
3.8 PRUEBAS NO PARAMÉTRICAS .................................................................................. 55
4 GRÁFICAS CON Stata ................................................................................... 57
4.1 HISTOGRAMAS .............................................................................................................. 58
4.2 GRÁFICO DE TORTAS .................................................................................................. 60
4.3 GRÁFICO DE CAJAS ...................................................................................................... 65
4.4 GRAFICAS TWOWAY ................................................................................................... 66
4.5 EDITOR DE GRÁFICOS DE Stata .................................................................................. 67
4.6 GRAFICA DE SERIES DE TIEMPO .............................................................................. 71
4.7 SCATTER GRAPH .......................................................................................................... 73
4.8 GRAFICA DE PUNTOS .................................................................................................. 74
4.9 GRAFICOS DE BARRAS ................................................................................................ 75
4.10 OPCIONES Y EJEMPLOS............................................................................................... 78
4.11 COMBINANDO GRÁFICAS .......................................................................................... 85
4.12 OTRAS GRÁFICAS ......................................................................................................... 85

3
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

5 REGRESIÓN LINEAL EN Stata .................................................................... 94


6 MODELOS ARIMA ..................................................................................... 106
7 MODELOS DE VARIABLE DEPENDIENTE DICOTÓMICA MODELOS
LOGIT Y PROBIT .................................................................................................. 115
8 MODELOS DE DATOS PANEL O LONGITUDINALES ......................... 122
8.1 ANÁLISIS DE DATOS PANEL .................................................................................... 122
VENTAJAS DE ESTIMACIÓN POR PANEL .............................................................................. 123
8.2 ANÁLISIS DE DATOS PANEL DE DOS PERÍODOS ................................................ 124
8.3 ANÁLISIS DE POLÍTICAS POR MEDIO DE DATOS PANEL .................................. 126
8.4 ANÁLISIS DE MÁS DE DOS PERÍODOS ................................................................... 127
8.5 EFECTOS FIJOS ............................................................................................................ 130
8.6 EFECTOS ALEATORIOS ............................................................................................. 131
8.7 ANÁLISIS DE DATOS PANEL EN Stata ..................................................................... 131
8.8 ESTRUCTURA DE BASES DE DATOS PANEL ........................................................ 132
8.9 REGRESIÓN AGRUPADA ........................................................................................... 133
8.10 EFECTOS ALEATORIOS ............................................................................................. 134
8.11 EFECTOS FIJOS ............................................................................................................ 135
8.12 EFECTOS ALEATORIOS vs. FIJOS............................................................................. 136
8.13 AUTOCORRELACIÓN Y HETEROSCEDASTICIDAD ............................................. 138
8.14 CORRECCIÓN DE HETEROCEDASTICIDAD Y AUTOCORRELACIÓN .............. 140
8.15 MODELOS DINÁMICOS CON DATOS PANEL ........................................................ 140
9 INTRODUCCIÓN A LA PROGRAMACIÓN ............................................. 142
9.1 LOCAL MACROS.......................................................................................................... 142
9.2 CREANDO CICLOS ...................................................................................................... 142
9.3 ESCALARES Y MATRICES ......................................................................................... 143
10 TRUCOS CON Stata ..................................................................................... 147
11 BIBLIOGRAFIA ........................................................................................... 160

4
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

1. { TC "MANEJO FUNDAMENTAL DE STATA 11" }MANEJO


FUNDAMENTAL DE Stata 12{ TC "MANEJO FUNDAMENTAL DE
STATA 11" }

Stata es un programa estadístico para investigadores de diferentes disciplinas, como bioestadísticos


investigadores sociales y económicos. Los diferentes tipos de análisis integrados a Stata están
documentados y soportados teóricamente por numerosos documentos, publicaciones y revistas. Los
manuales de Stata reúnen en 19 volúmenes con ejemplos estadísticos, explicaciones teóricas,
métodos, fórmulas y documentos de referencia. Al tratarse de un programa en ambiente Windows,
su interface es similar a la de todos los programas bajo este ambiente.

Stata está disponible en 4 tipos de versión.

Small Stata Versión estudiantil de Stata


Intercooled Stata Versión estándar de Stata
Stata/SE Versión especial de Stata para manejo de
bases de datos grandes.
Stata/MP Versión especial de Stata diseñada para
trabajar en equipos con más de un
procesador o núcleo (2 a 32 procesadores)
Tabla 1. Tipos de versión Stata

A continuación se presentan las principales diferencias entre las versiones Intercooled y SE de


Stata2:

Small Stata/IC Stata/MP and Stata/SE


Número de observaciones 1,200 2,147,483,647 2,147,483,647
Número de Variables 99 2,047 32,767
Tabla 2. Diferencia entre versiones

1.1 CONOCIENDO EL ENTORNO DE Stata

Una vez que se hace clic en el icono de Stata en el menú de inicio, se despliegan los siguientes
cuadros de trabajo. Estas ventanas constituyen el cuerpo básico Stata para llevar a cabo un análisis
de datos, teniendo una interface bastante amigable.

2
Para conocer todas las diferencias entre las versiones de Stata, dirigirse a la ayuda por medio del comando
help limits

5
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

VENTANA DE

VENTANA DE
REVISIÓN

VARIABLES

VENTANA DE RESULTADOS

VENTANA DE
PROPIEDADES
DE VARIABLES
VENTANA DE COMANDOS

Figura 1. Ventanas de Stata

Ventana de Variables: Muestra el listado de variables de la base de datos activa.

Ventana de Comandos: En este cuadro se escriben y almacenan las líneas de comandos, si


se desea recuperar un comando previo puede utilizar las teclas
RePág o AvPág y podrá autocompletar el nombre de la variable
utilizando la tecla TAB.

Ventana de Resultados: Permite visualizar la sintaxis, y los resultados de los procedimientos


ejecutados por el usuario. Aquí encontrará el logo de Stata,
indicando la versión y el tipo de licencia y el número máximo de
variables a importar. Una de las características de ésta ventana es
que por medio de colores el programa informa si un comando ha
sido correctamente ejecutado, si aparece en color negro no hubo
problema en la realización, rojo indicar error y el azul es un
hipervínculo al menú de ayuda.

Ventana de Revisión: Bitácora que Permite llevar un completo registro de todos los
procedimientos ejecutados durante una sesión de Stata ya sea que se
ejecutaron por el ambiente GUI, por la ventana de comandos o por
un editor .do. Una de las propiedades de la ventana Review es que
si se desea repetir un comando simplemente debe hacer doble clic
sobre el comando deseado y Stata lo ejecutará de nuevo.

Ventana de Propiedades: Presenta la información de cada variable, como nombre, tipo de


variable, formato, las notas de la base de datos (puede usar el

6
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

comando notes para verlas en la ventana de resultados), entre otras


características.

BARRAS
Barra de Nombre

Barra de Menús

Barra de Herramientas
Figura 2. Menús de Stata

Barra de Nombre: Indica la versión de Stata disponible, el nombre y la ruta de la base


de datos activa.

Barra de Menús: Es el conjunto de las diferentes herramientas que tiene Stata las
cuales le permiten al usuario cargar, transformar, modificar,
analizar, graficar y solicitar información y ayuda del programa.

Barra de Herramientas: Es el conjunto de íconos de acceso rápido a herramientas


fundamentales como son abrir, salvar, creación de un archivo Log,
un archivo .do, abrir el editor, el visor y el administrador de
variables.

1.2 EL MENÚ DE AYUDA

Stata ha incorporado en la versión 11 un conjunto de nuevas opciones en el menú de ayuda para


facilitarle al usuario la mejor forma de entender cómo funciona el programa. Una de las novedades
principales es que se ha agregado la opción de tener disponibles los manuales de Stata en formato
PDF.

Para acceder a los manuales de ayuda debe seguir la ruta Help  PDF Documentation

El menú de ayuda de Stata le permite:

- Ver el índice de contenidos del programa


- Buscar información sobre algún tema, la rutina que permite ejecutarla en Stata, o el sitio desde
donde es posible descargar la macro para alimentar el programa.
- Obtener ayuda sobre algún comando de Stata
- Listar y descargar las últimas actualizaciones del programa.
- Instalar programas de Stata escritas por otros usuarios, desde el “Stata Journal” o del boletín
técnico “Stata Technical Bulletin”.
- Acceder a lugares de interés en el sitio Web de Stata.

7
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

El sistema de ayuda para los comandos de Stata es una de las herramientas que más rápidamente
puede familiarizar al usuario con el manejo de Stata. Alternativamente al sistema de ventanas, el
usuario puede digitar en el cuadro de comandos help seguido del comando del cual desea
información.

Por ejemplo al digitar en el cuadro de comandos: help describe emerge la siguiente ventana

Figura 3. La Ayuda de Stata

La ayuda de Stata ofrece información sobre:

- La sintaxis completa y abreviada de letra(s) subrayadas) de cada comando,

8
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

- Descripción del comando,


- Opciones adicionales para ejecutar el comando,
- Ejemplos sobre cómo usar el comando,
- Hipervínculos a otros comandos relacionados y/o similares y,
- El manual impreso de Stata en el que puede consultar los detalles sobre el comando.

Con frecuencia, el usuario desconoce el nombre del comando específico que realiza algún
procedimiento en Stata. En estos casos es conveniente realizar una búsqueda temática por medio del
comando search. A través de este comando Stata realiza una búsqueda en línea en:

- Los ejemplos oficiales de Stata disponibles en su sitio web,


- El sitio de preguntas frecuentes “Frequently Asked Questions” de Stata,
- Ejemplos en línea compilados por la universidad de UCLA,
- Las referencias bibliográficas en “Stata Journal” y “Stata Technical Bulletin”.

Por ejemplo, supongamos que queremos calcular en Stata el coeficiente de concentración gini
(procedimiento muy conocido en economía y estadística), pero no sabemos si Stata realiza este
cálculo y, además, si es posible hacerlo, no conocemos el comando para ejecutarlo. En estos casos
el comando search resulta de gran ayuda. Por ejemplo al escribir en el cuadro de comandos

search gini
adoupdate, update

Se despliega el siguiente cuadro de ayuda:

9
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Figura 4. Search

En el cuadro de ayuda aparecen en azul hipervínculos a sitios oficiales (Stata Journal “SJ”, o Stata
Technical Bulletin “STB”) desde donde se pueden descargar macros relacionadas con el
procedimiento que calcula el coeficiente de concentración gini.

ACTUALIZACIONES DE Stata: Automáticamente Stata hace actualizaciones periódicas del


programa. Sin embargo el usuario puede pedir manualmente al programa que se actualice a través
del comando update así:

update all

10
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

1.3 TIPOS DE ARCHIVOS

Antes de iniciar una sesión de trabajo es importante tener en cuenta que Stata opera a través de
diferentes tipos de archivos.

Tipo de Archivo Extensión


Archivos de datos *.dta
Archivos gráficos *.gph
Bitácoras de salida *.smcl
Archivos de comandos *.do
Archivos de programación *.ado
Tabla 3. Tipos de Archivos

1.4 ESTRUCTURA DE COMANDOS


[by varlist:] Command [varlist] [=exp] [if exp] [in range] [weight] [using filename] [,
options]

Por ejemplo:

Se debe tener en cuenta que Stata distingue entre letras mayúsculas y minúsculas. Todos los
comandos del programa se deben escribir en letras minúsculas. De lo contrario el programa no lo
reconoce. Los paréntesis cuadrados indican que no es un carácter obligatorio dependiendo el
comando específico.

Es posible usar con Stata prefijos para algunos comandos, por ejemplo, el comando regress que
permite realizar el procedimiento de regresión se puede ejecutar digitando solamente los tres
primeros caracteres, es decir al tener reg ejecuta la misma función que al escribir regress.

Para conocer mayor información sobre la estructura de los comandos de Stata, busque información
así: help syntax

1.5 VENTANAS DE COMANDOS

Es común encontrar en las ventanas emergentes de Stata el nombre del comando que permite
realizar la instrucción que se le ordenará al programa para que realice, por ejemplo, al seguir la ruta

File  Import  ASCII data created by a Spreedsheet

11
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

En este caso es el comando insheet. A continuación se explican algunas características generales de


las ventanas emergentes de Stata para la realización de procedimientos, este manual no presentará
las ventanas en las cuales se ejecutan las instrucciones sino los comandos y las opciones
correspondientes.
Descripción del comando

Comando

Ejecutar y
Ayuda de Copiar mantener la
la como ventana
instrucción comando activa

Limpiar la Ejecutar No Ejecutar


ventana

Figura 5. Características de una ventana

1.6 CONFIGURANDO LA MEMORIA DE Stata

Stata funciona exclusivamente desde la memoria RAM. El programa únicamente interactúa con el
disco duro del computador cuando se hacen salvados de bases de datos, gráficos, archivos log, o
archivos de comandos. En la versión 12 Stata configura automáticamente el tamaño de la memoria
para poder trabajar con bases de datos muy grandes.

Para versiones inferiores a la 12 las versiones SE y MP del programa trabajan con 10 megas de
memoria RAM. Sin embargo, cuando se trabaja con bases de datos muy grandes, es posible
configurar la cantidad de memoria RAM disponible para una sesión de trabajo a través del comando
set memory.3 Por ejemplo, para trabajar con 100 megas de memoria RAM la sintaxis es4:

3
Si desea conocer qué versión tiene de Stata y la configuración de la memoria y la licencia del programa
escriba el comando about y creturn list.

12
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

set mem 100m

Es muy importante que antes de empezar una sesión de trabajo el usuario configure la cantidad de
memoria RAM que necesita de lo contrario emergerá el siguiente error:

no room to add more observations


r (901);

1.7 CAMBIANDO EL DIRECTORIO DE TRABAJO DE Stata

La sintaxis para cargar y salvar datos puede ser muy extensa dependiendo de la ruta de acceso a las
bases de datos o el lugar en el disco duro donde se quieran almacenar los resultados. Una forma
práctica de abreviar la sintaxis en ambos casos consiste en indicarle a Stata, antes de comenzar la
sesión de trabajo, el lugar en el disco duro de donde se desean tomar los datos y donde se quieren
almacenar los resultados. Este procedimiento se lleva a cabo a través del comando cd así:

cd "C:\...."

La otra opción es por medio del Menú File  Change Working Directory

Entre comillas se debe encontrar la dirección o ruta de la carpeta donde se encuentran las bases de
datos que serán empleadas en la sesión de trabajo de Stata.

1.8 BASES DE DATOS DE EJEMPLO

En el momento en que Stata se instala en su equipo se incluyen bases de datos de ejemplo


las cuales le permitirán trabajar con el software, tenga en cuenta estos archivos dado que la
ayuda en muchas ocasiones se referencia a las bases de datos del software, para acceder a
ellas siga la ruta File  Example Datasets  Example datasets installed with Stata o para
acceder a todas las bases de datos seleccione Stata 12 manual datasets pero debe tener
acceso a internet.

El comando asociado es

sysuse dir * para ver el directorio de bases de ejemplo en su equipo


sysuse auto.dta * cargará la base auto.dta que es una base de ejemplo de Stata

1.9 TIPOS DE VARIABLES

Una de las preguntas comunes en el manejo de un software estadístico es cómo el programa


clasifica o categoriza las variables, es decir que formato es posible asignarle a una variable, para
ello es necesario primero que el usuario tenga claro el tipo de variable.

4
Se recomienda revisar la ayuda sobre el comando set y el comando memory

13
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Las variables las podemos dividir de acuerdo al siguiente esquema

VARIABLE

CUANTITATIVA CUALITATIVA

Continua Discreta

Stata es “case sensitive”, es decir, distingue entre mayúsculas y minúsculas, de forma que las
variables var1 es diferente a Var1.

Para Stata se manejan los datos cuantitativos por diferentes tipos de variables los cuales se
diferencian por el rango de los datos o por el tamaño en el número de caracteres disponibles a
continuación se presenta una tabla que describa los tipos de datos.

RANGO
TIPO DE VARIABLE FORMATO
MÍNIMO MÁXIMO
Byte -127 100 %8.0g
Int -32,767 32,740 %8.0g
Long -2,147,483,647 2,147,483,620 %12.0g
Float -1.70141E+38 1.70141173319*10^38 %9.0g
Doublé -8.9885E+307 8.9884656743*10^307 %10.0g
Precisión para FLOAT 3.795x10^-8.
Precisión para DOBLE 1.414x10^-16.
Tabla 4. Tipos de Variable

El número que aparece después del símbolo % es el número máximo de dígitos enteros o ancho que
soporta el formato y el número a la derecha índica el número de decimales, posteriormente se
encuentra una letra. Donde [f] es aproximación al entero más cercano, [e] indica notación científica
y [g] indica decimales.

Stata por defecto selecciona el formato FLOAT, el otro tipo de variables son las variables
alfanuméricas, estas variables en las que se encuentran principalmente las variables cualitativas,
Stata define un formato especial para ellas, y es el formato STRING, %str# es la visualización de
este formato, en el cual el carácter # indica el largo de la cadena.

14
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

FORMATO DE LAS VARIABLES: El formato de las variables hace referencias a la forma como
son almacenadas y desplegadas las variables en STATA. Para cambiar el formato de una de una
variable a través del lenguaje de sintaxis debe tener en cuenta que el formato de toda variable
siempre antecedido por el símbolo “%”.

Variables de cadena
% 20 s Variable “String”

Inicio de un formato número de caracteres

Variable numérica
Formato general “g”, Notación científica “e”,
formato fijo “f”

% 10. 0 g c opcional, separados de


miles por comas
Inicio de un formato
Dígitos antes del punto decimal
Dígitos después del punto decimal

Si desea cambiar el formato de una variable utilice el comando recast.

sysuse auto
describe Price
recast float price

Para mayor información: help data_types y help recast

2. { TC "MANEJO FUNDAMENTAL DE STATA 11" }MANEJO DE


BASES DE DATOS

Antes de realizar usted un análisis de la información ya sea de tipo descriptivo, inferencial, debe
contar con la información lo mejor posible para poder realizar los correspondientes análisis, por ello
en éste capítulo podrá ver como realizas manejo de bases de datos financieras y económicas.

Una de las ventajas de Stata es su fortaleza en el manejo de bases de datos, principalmente porque
permite al usuario manejar gran cantidad de variables y de observaciones, además, es posible
realizar manipulación y transformaciones como es crear, eliminar, modificar, concatenar y demás
funciones a variables, de igual forma permite agregar variables y observaciones a una base de datos
con otras bases.

Entre opciones avanzadas se encuentran la protección de bases de datos, la creación de firmas y


restricciones a usuarios. Stata permite a los usuarios manejar bases de datos de formatos como son

15
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

MS Excel, texto, SQL, SAS, entre otros, de igual forma permite exportar archivos a dichos
formatos.

El capítulo se divide en cuatro secciones, la primera un manejo de bases de datos básico, en la


segunda sección datos de corte transversal, la tercera datos de series de tiempo y en la última
manejo de datos de panel.

1.1 FUNDAMENTOS DE BASES DE DATOS

Hay ciertas características que usted podrá aprender para el manejo de la información, entre ellas
los pasos fundamentales, como son, importar una base de datos, eliminación, transformación de
bases de datos, entre otros.

1.1.1 Creación de un archivo log

Un archivo tipo texto con extensión “.log” o “.smcl”5, permite guardar todo lo que usted digite y
ejecute en la línea de comandos así como las salidas obtenidas en la ventana de resultados
realizadas durante la sesión activa de Stata.

Se recomienda que la extensión sea SMCL, dado que le permite conservar las fuentes y colores de
su ventana de resultados y además podrá configurarlo para imprimir.

Figura 6. Creación de un archivo Log

Para la creación de un archivo log por medio de comandos debe usar

log using tables.log, replace

1.1.2 Abrir una base de datos

El primer paso es cargar una base de datos, para ello depende el formato de la base de
datos. Es común que los usuarios contengan su información en archivos tipo Excel, para
ello es necesario tener claro que Stata requiere que el separador decimal debe ser el punto
(.), para ello se recomienda utilizar la herramienta de buscar-reemplazar de Excel o hacer
cambio de la configuración de Excel o de la configuración regional de su equipo.

5
Iniciales de Stata Markup and Control Language.

16
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Recuerde que las bases de datos de Stata finalizan con la extensión .dta, cuando se tiene un
base tipo Stata para abrirla puede utilizar la ruta File  Open y seleccionar el archivo o por
el ícono abrir de la barra de herramientas, por medio de comandos podrá usar la instrucción
use

use "C:\Users\Brayan\Desktop\ipc_raw.dta", clear

Recuerde la sección 1.7 en donde se indica como activar un directorio de trabajo para no
tener que referenciar la ruta o path en donde se encuentra el archivo; si ya tiene un
directorio activo la instrucción es:

use ipc_raw, clear

Dado que la instrucción solo importa bases de datos de formato Stata no se requiere
ingresar la extensión .dta.

Finalmente con el comando use podrá seleccionar solamente las variables que desea usando
la opción using importar por ejemplo

use fecha ipc inflación using ipc_ra, clear

2.1.1 Importar una base de datos .CSV o TXT

Uno de los formatos más comunes en el manejo de información estadística es el formato


Separado por Comas (CSV), para importar una base de dato se sigue la ruta:

File  Import  ASCII data created by a Spreedsheet

Como se mencionó anteriormente en la parte superior de cada ventana aparece el nombre del
comando correspondiente, si el usuario desea llamar una ventana puede hacerlo desde la ventana de
comandos por medio de db nombre_comando.

En este caso el comando insheet tiene la siguiente estructura


insheet [variables] using ruta , opciones

Por ejemplo:

insheet using "C:\Users\USER\Documents\Software Shop\Stata\Taller docentes\Docentes_01.csv",


delimiter(":") clear

En el caso que el usuario no requiera importar la totalidad de la base de datos debe especificar
después del comando insheet el nombre de las variables; entre las opciones encontramos el tipo de
formato que separa los datos, como son tabulaciones (tab), comas (comma) o especificado por el
usuario (delimiter(“x”)).

17
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

La función anterior es similar para archivos con extensión .TXT.

2.1.2 Importar una base de datos .XLS o .XLSX

2.1.2.1 Pegar bases de datos de Hojas de cálculo

Es común que las bases de datos y los archivos que se usan a diario por las empresas y sus
trabajadores sean de hojas de cálculo, para facilitar el trabajo de uso de Stata cuando las
bases son de una hoja de cálculo se puede sin mayor problema copiar los datos de la hoja
correspondiente y posteriormente en la ventana edit dar clic derecho y seleccionar pegar o
la secuencia CTRL + V, de ésta forma Stata reconoce los datos correspondientes.

Nota: El usuario debe tener sumo cuidado con el formato de la base original dado que Stata
trabaja los separadores decimales con el punto y no con la coma como se usa en la
configuración de los computadores con idioma español. Para ello se recomienda al usuario
cambiar el formato de separador decimal y de miles en su hoja de cálculo o directamente
desde la configuración regional de su equipo. De igual forma usar la técnica de buscar y
reemplazar le permite obtener un buen resultado.

Se recomienda ver información adicional con help input, infix e infile.

Editor de datos en stata

Los datos pueden ser visualizados o introducidos en Stata haciendo clic en el ícono de la ventana
“Data Editor”, presionando “control+7”, o haciendo clic en
Data  Data Editor  Editor

Ícono de EDIT

Figura 7. Editor de datos de Stata

La ventana emergente presenta un formato similar a una hoja de cálculo y le permite a un usuario
hacer manipulación de variables y observaciones similares a las que se realizan en una hoja de
cálculo. La opción más sencilla para cargar una base de datos es copiar y pegar la información de su
hoja de cálculo a la ventana de Edit de Stata.

18
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

 Snapshots: Permite preservar y restaurar la base de datos a un punto


predeterminado por el usuario.
 Hide/Show Variables: Sólo para efectos de visualización, esta opción permite
ocultar parte de una base de datos.
 Filter Observations: Mientras esté abierto el editor de datos, a través de esta
opción es posible mantener un filtro sobre la base la base de datos.
 Variable Properties: Esta opción permite renombrar variables, asignar etiquetas a
variables y valores de variables categóricas, y ajustar los tipos de variables y los
formatos de las variables.
 Variable Manager: Similar a la opción anterior, además permite visualizar
simultáneamente varias variables y adicionar notas a estas.

2.1.2.2 Asistente de Importación de Excel files

La versión 12 de Stata ha incorporado una nueva herramienta para importar bases de datos
tipo .xls o .xlsx, para acceder al asistente siga la ruta File  Import  Excel Spreadsheet
(*.xls, *.xlsx) emergerá la siguiente ventana:

19
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Busque el
archivo
de Excel

Seleccione Seleccione
la hoja a Active la casilla si en el rango de
importar su hoja la primera fila los datos
contiene los nombres
de las variables

Figura 8. Asistente Importación Archivos de Excel

Nota: Para poder importar la base de datos debe tener cerrada la base de datos de lo
contrario el asistente no realizará la importación.

La estructura del comando es:

import excel [using] filename [, import_excel_options]

En las opciones podrá seleccionar:


- sheet("sheetname") Nombre de la hoja a importar
- cellrange([start][:end]) Rango de celdas a cargar
- firstrow Tomar la primera fila como los nombres de las variables
- allstring Importar todas las variables como texto
- clear Reemplazar los datos en la memoria

Para el ejemplo la instrucción es:

import excel "C:\Users\Brayan\Desktop\base1.xlsx", sheet("base 1") firstrow

2.1.3 Importar otros tipos de archivo

20
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Hay otro tipo de archivos que Stata le permite importar automáticamente como archivo
para ello se recomienda tener en cuenta las siguientes recomendaciones:

TIPO DE BASE COMANDO


ODBC Odbc
Archivo de Texto sin diccionario Infile
(.raw)
Archivo de Texto con ancho fijo Infix
(.raw)
Archivo de Texto con infile2
diccionario (
Formatos SAS XPORT o .xpf import sasxport
Formato tipo haver haver
XML files Xmlsave
Tabla 5. Otros comandos para importar archivos

Finalmente si tiene otro tipo de archivos se recomienda que adquiera el software


Stat/transfer, para mayor información ingrese a
http://www.stata.com/products/transfer.html, éste programa le permite importar archivos
tipo SPSS, SAS, R, RATS, Statistica, MATLAB, GAUSS, entre otros.

2.2 SALVANDO UNA BASE DE DATOS

Como los datos han sido cargados en la memoria RAM, sólo puede modificarse la base de datos
original de tres formas

 Haciendo clic en el icono de salvado en la barra de herramientas

 Haciendo clic en ctrl+S

 A través del cuadro de comandos empleando el comando “save”, por ejemplo

save base1.dta, replace

La opción replace le permite sobre escribir un archivo que tenga en el mismo directorio de trabajo
activo y con el mismo nombre.

Una vez que los datos han sido guardados o abiertos es posible optimizar el espacio que estos
ocupan utilizando el comando compress este comando comprime la base de datos. Es muy útil
cuando trabajamos con bases de datos grandes.

2.3 DESCRIPCIÓN DE LA BASE DE DATOS

Una vez se tenga una base de datos cargada, es necesario empezar a revisarla y obtener
información de ella, para ellos Stata le permite al usuario por medio de diferentes
procedimientos entender cada variable y su contenido.
21
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Lo primero que debe realizar el usuario una vez importa o abre una base de datos es
observar la base, para ello se encuentran diferentes formas de visualizar los datos, entre
ellas las opciones de edit y de browse, las cuales abren una ventana con forma de hoja de
cálculo, la otra opción es por medio del comando list que permite visualizar la o las
variables en la ventana de resultados, se recomienda usar los comandos edit, browse y list
con las opciones if – in.

Adicional a esto el usuario puede recibir información específica de cada variable por medio
de las opciones del menú Data  Describe Data. En éste menú las opciones de describe
data in memory, describe data contents e inspect variables, le da la posibilidad al usuario de
obtener información correspondiente al nombre, la etiqueta, el tipo y formato de la variable,
notas, etiquetas sobre valores, el número de valores perdidos, entre otras. A continuación se
presenta un ejemplo del uso de estos comandos

*cargar una base de datos del programa


sysuse auto
*observar los datos
browse

Figura 9. Browse

22
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

*Describir los datos


describe make price mpg

storage display value


variable name type format label variable label

make str18 %-18s Make and Model


price int %8.0gc Price
mpg int %8.0g Mileage (mpg)

.
Cuando se desea aplicar un comando para todas las variables de la base de datos podrá hacerlo
ingresando el comando sin incluir ninguna variable de esta forma Stata tomará la instrucción para
toda la base de datos, otra alternativa es escribir _all posterior al comando por ejemplo:

sysuse auto
describe _all

storage display value


variable name type format label variable label

make str18 %-18s Make and Model


price int %8.0gc Price
mpg int %8.0g Mileage (mpg)
rep78 int %8.0g Repair Record 1978
headroom float %6.1f Headroom (in.)
trunk int %8.0g Trunk space (cu. ft.)
weight int %8.0gc Weight (lbs.)
length int %8.0g Length (in.)
turn int %8.0g Turn Circle (ft.)
displacement int %8.0g Displacement (cu. in.)
gear_ratio float %6.2f Gear Ratio
foreign byte %8.0g origin Car type

2.3.1 Creación de Variables

Por medio del menú Data podemos encontrar opciones como crear nuevas variables Data  Create
or Change variables  Create New Variable:

23
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Figura 10. Generate

La creación de las variables se realiza por medio del comando generate, los comandos en Stata no
es necesario escribirlo en su totalidad, la mayoría de los comandos pueden ser reducidos en un
prefijo, para conocer el prefijo de cada comando escriba help nombre del comando en la ayuda
aparecerá subrayado el nombre hasta cierto carácter indicando que puede usar solamente ese texto
para ejecutar el comando, por ejemplo g es igual a generate

Figura 11. Prefijo de un comando

Algunos ejemplos de creación de variables:

generate suma = var1 + var2


gen resta = var1 – var2
g multiplicación = var1 * var2

Para la creación de las variables se recomienda usar el siguiente cuadro

24
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Tabla 6. Operadores

En algunas ocasiones se requieren algunos caracteres especiales, uno de ellos son los caracteres _n
y _N o denominadas variables del sistema, _n es un contador del número de observaciones, y _N
indica el total de observaciones de la base de datos.

gen tendencia = _n
gen totales = _N

Para la creación de variables con condiciones puede utilizar la opción de la estructura de comandos
[if] [in], estas opciones le permitirán poner restricciones no solo para la creación de variables si no
para la gran mayoría de comandos que contiene Stata, debe tener en cuenta que solo debe escribir
una vez el carácter if o in, a continuación algunos ejemplos en el uso de estos caracteres especiales:

gen dummy = 1 if TV >5 * crea una variable con valores = 1 si TV > 5, perdido en otro caso.
list make mpg if mpg>25
list price in 10/20 * crea una lista para las observaciones entre la 10 y 20
list price in -10/l * crea una lista con las últimas 10 observaciones

Para la opción in se puede utilizar las siguientes estructuras:

#  Condición sobre una única observación


#/#  Condición sobre un rango de observaciones
#/l  Condición sobre una observación hasta la última (l)
f/#  Condición desde la primera observación (f) hasta una observación
-#/#  Condición desde las últimas # observaciones hasta # que puede ser la última con l

25
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

A continuación listamos algunas funciones matemáticas, estadísticas y de fecha importantes en la


creación de variables

FUNCIÓN EJEMPLO DESCRIPCIÓN


ln() g lpib = ln(pib) Logaritmo natural
exp() g epib = exp(pib) Exponencial
sqrt() g y = sqrt(epib) Raíz cuadrada
abs() g x = abs(y) Valor absoluto
cos() g coseno = cos() Coseno
logit() g logit = logit(x) Retorna el logaritmo de los odds ratio de x
runiform() g uniforme = runiform() Genera números aleatorios de una distribución
uniforme [0,1)
rnormal() g normal = rnormal() Genera números aleatorios de una distribución
normal estándar (0,1)
rnormal(m,s) g normal = rnormal(10,2) Genera números aleatorios de una distribución
normal con media m y desviación estándar s
int() g enteros = int(pib) Convierte una variable o dato en entero
invnormal(p) g inversa = invnormal(prob) Genera una variable como la inversa de la
probabilidad de una distribución normal
length(s) g largo = length(nombre) Presenta el número de caracteres de una
variable string
Tabla 7. Ejemplos Funciones generate

2.3.2 Extensiones en la creación de variables

Podemos utilizar algunos comandos adicionales para la creación de variables con algunas
condiciones, tales como el comando egen y la función cond()

Ejemplos:

gen dummy = cond(TV>5,1,0)


gen dummy = (TV>5)
egen concatenar = concatenate(“variable1” “ “ “variable”)

FUNCIÓN EJEMPLO DESCRIPCIÓN


max() egen maximo = max(ingresos) Presenta el máximo de una variable
min() egen minimo = min(ingresos) Presenta el mínimo de una variable
mean() egen promedio = mean(ingresos) Presenta el promedio de una variable
kurt() egen curtosis = kurt(ingresos) Presenta la curtosis de una variable
sd() egen desviación = sd(ingresos) Presenta la desviación estándar de una variable

2.3.3 Ordenar variables y bases de datos

Ordenar datos Data  Sort  Ascending Sort:

26
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Figura 12. Ordenar datos

Para ordenar en forma descendente se recomienda usar el comando gsort de la siguiente forma:

gsort – var1 – var2 +var3

El comando anterior nos produce un ordenamiento descendente primero por la variables VAR1,
seguido por la variable VAR2 y de forma ascendente por la variable VAR3, indicando que se debe
ubicar un signo (-) para establecer descendente y un signo (+) para orden ascendente, aunque este
último no es necesario en el comando.

Existe otro caso y es en el caso que se deseé ordenar las variables, es decir cambiar el orden en la
base de datos, por medio del comando order es posible realizar esto, de igual forma es posible
utilizar aorder para que las variables queden ordenadas en forma alfabética. Finalmente el comando
move permite modificar la ubicación de las variables, pero a partir de la versión 11, este comando es
reemplazado por order.

2.3.4 Cálculos por grupos

En algunas ocasiones el usuario requiere de verificar la información por una característica


particular, grupales, entre otras, para ellos Stata cuenta con el prefijo by el cual se ubica previo al
comando estadístico, gráfico o de modelo.

Ejemplos

use http://www.stata-press.com/data/imeus/census2d, clear


gsort region -pop
by region: generate totpop = sum(pop)
by region: list region totpop if _n = = _N

27
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

by region: egen meanpop = mean(pop)


by region popsize, sort: egen meanpop2 = mean(pop)
by sex age: regress wage expert expert2 occup

El comando by permite generar variables por diversas categorías, además, permite ordenar de
acuerdo a alguna variable. En el último ejemplo hace una regresión por cada categoría entre el
género y la edad.

2.3.5 Codebook e Inspect

codebook, escribe el contenido de las variables, indicando número de observaciones, valores


perdidos, percentiles, entre otros.

codebook foreign

foreign

type: numeric (byte)


label: origin

range: [0,1] units: 1


unique values: 2 missing .: 0/15

tabulation: Freq. Numeric Label


12 0 Domestic
3 1 Foreign

codebook price

price

type: numeric (int)

range: [12990,15906] units: 1


unique values: 5 missing .: 0/15

tabulation: Freq. Value


3 12990
3 13466
3 13594
3 14500
3 15906

inspect, entrega el número de observaciones de una variable identificando los valores positivos,
negativos, cero, missing, y si estos corresponden a números enteros o no. Los “missing values” se

28
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

señalan en Stata mediante un punto (.). Se considera que un missing value es mayor que cualquier
valor.
. inspect rep78

rep78: Repair Record 1978 Number of Observations

Total Integers Nonintegers


# Negative - - -
# Zero - - -
# Positive 69 69 -
# #
# # # Total 69 69 -
. # # # # Missing 5

1 5 74
(5 unique values)

2.4 CONSERVAR Y RECARGAR BASES DE DATOS

Es importante cuidar la base de datos que se está trabajando, por eso se recomienda salvar la base
de datos, pero además, Stata ofrece opciones que le permitirán al usuario guardar la base de datos
de forma virtual, por medio de los comandos preserve y snapshot y para recuperar la base con el
comando restore

preserve
restore
snapshot save, label("nombre del elemento guardado")
snapshot restore 1

La diferencia entre el snapshot y el preserve es que este último solo permite guardar una vez la base
de datos, mientras el snapshot varias veces.

2.5 FILTROS DE LA BASE DE DATOS

Ejemplos de filtros

browse if pop > 10000000


browse if pop > 10000000 & marriage > 100000
browse if pop > 10000000 & marriage > 100000 & popurban > 10000000
browse if pop > 10000000 | marriage > 100000 & popurban > 10000000

Uso del in

browse pop in 1/10


browse pop in f/10  f = FIRST, l = LAST
browse pop in 10/l  hasta el último

Se puede combinar con que realizar el filtro puede usar los comandos browse, edit, keep, drop y list.

drop elimina observaciones y/o variables.


keep conserva observaciones y/o variables.
list presenta variables y/o observaciones en la ventana de resultados.

29
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

edit permite visualizar los datos en una hoja de datos y podrá editar y modificar los datos.
browse realiza las mismas opciones de edit pero no se puede modificar la información.

El comando keep y drop tienen la misma estructura


keep/drop variables
keep/drop if expresión
keep/drop in rango

Ejemplos

sysuse census
drop death divorce * Elimina las variables death y divorce
keep state pop* medage marriage * Conserva las variables indicadas
drop if medage > 30 * Elimina las observaciones donde medage sea mayor a 30
sort popurban
keep in -10/l * Conserva las últimas 10 observaciones con mayor popurban

2.6 ADMINISTRADOR DE VARIABLES

En la versión 11 de Stata se incluyó la ventana del administrador de variables, este


administrador de variables permite modificar información de cada variable, principalmente
el cambio de nombre, etiquetas, tipo de variable, formato, notas y creación de categorías y
etiquetas.

Figura 13. Administrador de variables.

Para la modificación de la variable, deberá ser seleccionada la variable y una vez


modificada la información correspondiente debe dar click en Apply.

En la versión 12 Stata ha incluido una nueva ventana que es la ventana de propiedades en la


cual se pueden modificar la información de cada variable:

30
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Figura 14. Ventana de Propiedades

Entre los cambios del administrador de variables y la ventana de propiedades se encuentran


las siguientes opciones, se describe el comando correspondiente para automatización de
tareas.

2.6.1 Rename

Este comando permite cambiar el nombre de una variable. Por ejemplo

rename nombreviejo nombrenuevo


rename price precio

2.6.2 Label Variable

Para ponerle nombre o etiqueta al variable

label var nombrevariable “etiqueta variable”


lable var precio “Precio del auto”

2.6.3 Notes

Se pueden crear dos tipos de notas, una para la base de datos o para la base de datos, a
continuación un ejemplo para cada caso:

notes divorce: 1 si la persona es divorciada, 0 en otro caso * nota para la variable divorce
notes _dta: Censo 1994 * nota para la base de datos

2.7 CREACIÓN DE CATEGORÍAS

La forma más sencilla de crear categorías de variables es por medio del administrador de
variables, la variable que seleccionará debe ser discreta, una vez inicie el administrador
31
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

debe seleccionar la variable que codificará, luego debe dar clic en Manage que se encuentra
a la derecha de la opción Value label

La figura 14 presenta el administrador de etiquetas, en el cual podrá crear, editar o eliminar


etiquetas y para las etiquetas ya creadas puede agregar, editar o eliminar valores que se
encuentran en una etiqueta creada.

Figura 14. Administrador de Value Labels

Para crear una nueva etiqueta haga clic en Create Label, en la figura 15 podrá agregar,
eliminar y editar las categorías con su correspondiente descripción.

32
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Figura 15. Creación de Labels

Una vez haya creado la etiqueta deberá asignarla a la(s) variable(s) que correspondan, para
ello en el administrador de variable a la izquierda de Manage seleccione el nombre de la
etiqueta.

Figura 16. Asignación de etiquetas

Por medio de comandos

label define respuestas 1 “si” 2 “no” * Creación de la etiqueta con sus valores
label values pregunta1 respuestas *Se asigna a la variable pregunta1 la etiqueta respuestas

2.8 MODIFICACIÓN Y TRANSFORMACIÓN DE VARIABLES

En la sección anterior se presentó la forma de creación de variables por medio de los comandos gen
y egen, de igual forma el comando replace. Pero existen otras formas de modificar variables ya sea
en su formato, tipo de variable, codificación entre otras, a continuación se presentan las más
importantes.

2.8.1 Recode

Este comando permite recodificar algún valor de una variable

recode x (1=2), gen(nx)

33
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

recode x1 (1=2), gen(nx1)

En el ejemplo 1 se recodifica la variable x, cambiando los valores 1 por valores 2, la variable


transformada se guarda como nx.

Figura 17. Recode

En el ejemplo 2 se cambia de 1 a 2 y de 2 a 1, generando la variable nx1.

2.8.2 División de Variables de texto

Split divide una variable texto en nuevas variables por el espacio o un carácter específico

split var1, parse(,) gen(geog)

2.9 COMBINACIÓN DE BASES DE DATOS

La combinación de bases de datos es un problema muy común para el investigador o el analista de


información, Stata le permite realizar diferentes tipos de fusiones de bases de datos, a continuación
presentaremos los dos formatos más importantes, la adición vertical (merge) y horizontal (append).

34
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

HOMBRES.dta

Adición de variables:


Adición casos: merge
append Es necesaria variable llave. EDUCACION.dta
No es necesaria Las bases de datos deben
variable llave estar ordenadas.
Revisar la variable _merge

MUJERES.dta

2.9.1 Combinación Vertical – Append

Este comando agrega filas a la base de datos, las variables deben como regla contener los mismos
nombres, el mismo tipo de variable y además la base de datos sus variables deben estar ordenadas
de igual forma. Para combinar conjuntos de datos verticalmente se emplea el comando append.

En nuestro ejemplo, a la base de datos HOMBRES vamos a adicionar los casos correspondientes la
información de las mujeres así:

use hombres, clear


append using MUJERES

En la nueva base de datos se ha combinado la información hombres y mujeres en una única base de
datos.
d

35
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

En este punto se deben tener en cuenta dos aspectos.


1. El comando append debe estar acompañado de la palabra using la cual indica que el
nombre a continuación corresponde a la base de datos de datos que será adicionada
verticalmente.
2. Como la base de datos cargada en la memoria RAM ha cambiado es conveniente que el
usuario salve la nueva información con otro nombre así.

save PERSONAS, replace

2.9.2 Combinación Horizontal – Merge

Se usa cuando se quieren traer nuevas variables de una base llamada using a una base de datos ya
existente o master, éste comando une dos bases de datos utilizando una variable en común
(generalmente es una ID, llave o código que identifica las observaciones de la base de datos). Las
dos bases de datos deben estar guardadas en formato .dta, y deben estar ordenadas de acuerdo a la
variable que se va a pegar. El objetivo de este comando es agregar variables (columnas).

Para pegar dos bases de datos (A.dta y B.dta), se deben realizar los siguientes pasos:

1. Ordenar (sort) la base de datos B de acuerdo a las variables con las que se hará la unión de
las bases, es decir de acuerdo al ID, y guardar.
2. Abrir la base A y ordenarla de acuerdo al paso 1.
3. Usar el comando merge
4. Guardar la base de datos (save)

Si la base no está ordenada y contiene datos repetidos emerge el siguiente error:

Using data not sorted


Master data not sorted

Para verificar que usted tenga un identificador único se recomienda que lo verifique por medio del
comando isid.

36
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

isid id num

Si emerge error es porque el identificador se repite y si va hacer una fusión tendrá inconvenientes.
Al momento de realizar el merge se crea una variable denominado _merge, que contiene tres
valores:

_merge = = 1 Las observaciones son originarias del archivo “master” o base


_merge = = 2 Las observaciones son originarias del archivo “using”
_merge = = 3 Las observaciones se encuentran en ambos archivos

Siguiendo con el ejemplo anterior, vamos a agregar a la base de datos PERSONAS.dta, nuevas
variables con la información sobre el nivel educativo y los años de educación aprobados de las
personas. Esta información se encuentra en la base de datos EDUCACION.dta. Los pasos a seguir
para realizar este tipo de pegue son:

1. Cargar la base “using” (EDUCACION.dta) de donde queremos traer las nuevas variables, la
ordenamos de acuerdo con la(s) variable(s) identificadora(s) “numero y e01” y salvamos los
cambios. El comando para ordenar las observaciones es sort así:

use EDUCACION
sort numero e01
d
save EDUCACION, replace

En este caso, el comando save está acompañado de la opción replace la cual denota que se
está sobrescribiendo en la base EDUCACION original.

2. Cargar la base “master” (PERSONAS.dta), la ordenamos por el mismo criterio anterior y


salvamos los cambios.

use PERSONAS
sort numero e01
d
save PERSONAS, replace

3. Aplicamos el comando merge para pegar horizontalmente las dos bases así:

La base de datos PERSONAS.dta contiene ahora las variables de la base de datos


EDUCACION.dta, creando automáticamente la variable _merge.

2.10 CAMBIO EN LA ORGANIZACIÓN DE LOS DATOS

37
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Cuando una base de datos tiene más de una observación por unidad de estudio (individuo, país,
empresa, etc.) nos puede interesar sólo trabajar con una observación por unidad (collapse) o
mantener las observaciones distintas para cada individuo pero que se creen como variables o
columnas distintas (reshape)

2.10.1 Collapse

Si se tiene una base de datos de hogares, cada observación es un miembro del hogar. Si cada hogar
dispone de un identificador único, entonces se puede formar una base de datos alternativa que
contenga una sola observación por hogar (en lugar de una observación por individuo) para cada una
de las variables deseadas. Esta observación puede contener la media, desviación estándar, suma u
otro estadístico. Ejemplo:

collapse (mean) edad (max) educación (p50) ingreso, by(hogar)

Lo anterior crea una base de datos con cuatro variables, hogar, edad, ingreso y educación.

Con frecuencia, la información estadística tiene algún grado de reserva o confidencialidad que la
hace no accesible al público en su forma original. La mayor parte de la información proveniente de
bases de datos grandes, por ejemplo las encuestas (de personas, de hogares, de empresas de la
industria manufacturera, etc.) o los censos (de población, de instituciones educativas, de
edificaciones, etc.) suele ser presentada en tablas resumen y en bases de datos colapsadas o
agregadas.

En Stata es posible colapsar bases de datos a través del comando collapse. Debe tenerse en cuenta:

1) La(s) variable(s) de agregación: Variable(s) que definen las nuevas unidades de observación
u observaciones agregadas.
2) El(Los) criterio(s) de agregación: Es la(s) operación(es) matemática(s) que será(n)
aplicados a la base de datos original para obtener las nuevas unidades de observación colapsadas:
suma, media, mediana, cuenta, percentil, etc.
3) La base de datos original ha sido modificada. Debería salvarse con un nuevo nombre.

Por ejemplo, a partir de la base personas.dta, se puede obtener una base de datos agregada por
localidad y sexo así:

collapse (mean) edu007, by(localid e03)

38
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

La variable edu007 corresponde a los años de educación promedio y jefe a la suma de los jefes de
hogar, en ambos casos, por localidad y sexo.

2.10.2 Reshape

En algunas ocasiones dependiendo del estudio muestral y de la construcción de la base de datos,


usted encontrará su información en dos formatos, ancho (wide) y largo (long), el formato ancho es
aquel en el cual usted tiene un conjunto i de individuos y un número j de variables, donde j es
generalmente una variable con información para diferentes períodos de tiempo.

Para mostrar un ejemplo, utilizaremos la base de datos reshapeState descrita en el libro [1]:

use http://www.stata-press.com/data/imeus/reshapeState, clear


list

state pop1970 pop1980 pop1990 pop2000 area

1. CT .1369841 .6184582 .4241557 .2648021 .871691


2. MA .6432207 .0610638 .8983462 .9477426 .4611429
3. ME .5578017 .5552388 .5219247 .2769154 .4216726
4. NH .6047949 .8714491 .8414094 .1180158 .8944746
5. RI .684176 .2551499 .2110077 .4079702 .0580662

6. VT .1086679 .0445188 .5644092 .7219492 .6759487

En este caso se encuentran seis códigos de estados de nueva Inglaterra, y aparece la información de
la población desde 1970 hasta el 2000 calculada cada década, a continuación transformaremos la
base de datos de formato wide a long por medio del comando reshape, la estructura de este
comando es:

reshape long variable_j, i(variable_individuos) j(nombre nueva variable)


reshape wide variable_j, i(variable_individuos) j(variable_temporal)

39
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

con la base de datos actual pasaremos de wide a long

reshape long pop, i(state) j(año)


Data wide -> long

>
Number of obs. 6 -> 24
Number of variables 6 -> 4
j variable (4 values) -> año
xij variables:
pop1970 pop1980 ... pop2000 -> pop

list

state año pop area

1. CT 1970 .1369841 .871691


2. CT 1980 .6184582 .871691
3. CT 1990 .4241557 .871691
4. CT 2000 .2648021 .871691
5. MA 1970 .6432207 .4611429

6. MA 1980 .0610638 .4611429


7. MA 1990 .8983462 .4611429
8. MA 2000 .9477426 .4611429
9. ME 1970 .5578017 .4216726
10. ME 1980 .5552388 .4216726

11. ME 1990 .5219247 .4216726


12. ME 2000 .2769154 .4216726
13. NH 1970 .6047949 .8944746
14. NH 1980 .8714491 .8944746
15. NH 1990 .8414094 .8944746

16. NH 2000 .1180158 .8944746


17. RI 1970 .684176 .0580662
18. RI 1980 .2551499 .0580662
19. RI 1990 .2110077 .0580662
20. RI 2000 .4079702 .0580662

21. VT 1970 .1086679 .6759487


22. VT 1980 .0445188 .6759487
23. VT 1990 .5644092 .6759487
24. VT 2000 .7219492 .6759487

Si se encuentra usted con una base de datos similar a la generada con el comando reshape, podrá
pasarla a formato wide, en nuestro caso usaremos la siguiente sintaxis

reshape wide pop, i(state) j(year)

Continuando con el ejemplo de la encuesta de hogares. Se puede hablar de orientación vertical u


horizontal cuando a cada una de las observaciones i en una base de datos, se las segmenta por algún
criterio j (v.g., diferentes periodos de tiempo). En nuestro ejemplo, cada una de las localidades i,
ha sido segmentada por sexo j, mientras que la base de datos en conjunto ha sido desplegada de
forma vertical. En este caso sin embargo, puede resultar más cómodo emplear una base de datos
orientada horizontalmente, en particular si se quieren hacer comparaciones para cada una de las
localidades entre hombres y mujeres. Podemos emplear el comando reshape, acompañado de las
opciones wide (despliegue horizontal) o long (despliegue vertical), para cambiar la orientación de la
base de datos colapsada así:

reshape wide edu007, i(localid) j(e03)

40
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Para volver a la forma vertical

reshape long edu007, i(localid) j(e03)

2.10.3 Xpose

Usted podrá modificar la orientación de una forma completa en su base de datos, es decir, pasar de
filas a columnas (similar a realizar un transponer en Excel), debe tener cuidado dado que no podrá
retornar a la posición inicial.

sysuse auto , replace


snapshot save, label(“base original”)

41
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

keep mpg foreign


xpose , clear

2.10.4 Stack

El comando stack le permitirá a usted fusionar variables por ejemplo tiene los meses de cada año
ordenados en columnas y quiero formar una sola variable con todos los meses para todos los años

2.10.5 Extraer una muestra aleatoria de su base

En algunas ocasiones para hacer estudios muestrales requiere que la base de datos sea dividida por
un método aleatorio, para ello podrá hacer uso del comando simple

sample 80 || tomará el 80% de la muestra


sample 20, count || tomará 20 observaciones a la zar

2.11 PROBLEMAS EN EL MANEJO DE BASES DE DATOS

Cuando usted trabaja con bases de datos en el día a día se encontrará con diferentes problemas y
situaciones que lo pondrán a prueba en el manejo no solo de Stata sino en el conocimiento de su
información, por eso es importante que siempre se pregunte antes de hacer cualquier cambio en su
base de datos, qué quiere hacer y cuál es el resultado esperado, de esta forma podrá pensar más
fácilmente que tipo de ejecución requiere en Stata para llegar a su objetivo, a continuación
presentaremos un conjunto de comandos que presentan algunos casos típicos en el manejo de bases
de datos.

2.11.1 Replicar información

Dependiendo su análisis podrá requerir replicar algún tipo de información de su base de datos, por
ejemplo un cliente, un usuario, un grupo, una empresa, un país, aunque no es una alternativa muy
común, Stata le ayudará a realizar la reproducción de sus datos, expand, es el comando para
duplicar información, pero con la característica que lo puede hacer n veces

sysuse auto, clear


keep if price > 12000
list make price

make price

1. Cad. Eldorado 14,500


2. Cad. Seville 15,906
3. Linc. Mark V 13,594
4. Linc. Versailles 13,466
5. Peugeot 604 12,990

expand 3

42
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

De acuerdo al comando usado, los datos se encontrarán 3 veces en la base de datos, tal y como se
presenta a continuación.

sort make price


list make price

make price

1. Cad. Eldorado 14,500


2. Cad. Eldorado 14,500
3. Cad. Eldorado 14,500
4. Cad. Seville 15,906
5. Cad. Seville 15,906

6. Cad. Seville 15,906


7. Linc. Mark V 13,594
8. Linc. Mark V 13,594
9. Linc. Mark V 13,594
10. Linc. Versailles 13,466

11. Linc. Versailles 13,466


12. Linc. Versailles 13,466
13. Peugeot 604 12,990
14. Peugeot 604 12,990
15. Peugeot 604 12,990

2.11.2 Verificación de datos

El comando assert le permitirá verificar la valides de sus datos, este comando le ofrece la
posibilidad de incluir en un archivo de programación una condición, si la condición se cumple
parará la ejecución de la programación, y de esta forma usted podrá chequear si hay algo que no es
correcto en su base de datos, por ejemplo, usted tiene una base de datos con la edad de las personas,
podrá utilizar assert para verificar que en ésta variable no hayan datos extraños, como una edad
mayor a 100 años o menor a 0. La estructura sería

assert edad < 0 | edad > 100

Y aún más completo recomendaríamos incluir evaluar valores perdidos

assert edad < 0 | edad > 100 | edad = =.

2.11.3 Contador y reporte de datos repetidos

El comando count cuantifica el número de observaciones con ciertas características. La


instrucción por sí sola, presenta el número total de observaciones, pero es posible
determinar algunas restricciones

43
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Data  Data Utilities  Count obsevations


count if foreign ==1

El comando isid nos permite asegurar que una variable es una codificación única dentro de
una base de datos, este comando se usa generalmente para chequear que no existan
observaciones duplicadas dentro de una base de datos. Si la variable tiene exactamente
valores únicos entonces no emerge ningún mensaje, de lo contrario aparece lo siguiente:

isid foreign
variable foreign does not uniquely identify the observations

Otro comando que permite verificar si una variable no tiene valores duplicados es
duplicates report, que entrega información respecto a la cantidad de veces que se replica la
información.

2.12 ANÁLISIS DE DUPLICADOS

Uno de los problemas comunes en el manejo de una base de datos es analizar si hay
presencia de observaciones duplicadas

En muchas ocasiones el analista de la información se enfrenta con un problema muy común


y es la réplica de la información, por problemas de digitación y/o captura de la información,
se puede repetir un caso, para ello Stata cuenta con un grupo de diferentes opciones que le
ayudarán a solucionar este problema tan común, con las herramientas vistas hasta el
momento como la creación de variables, condicionales, transformación entre otras tiene a la
mano diferentes formas de conocer cuándo hay un valor repetido o similar en la base de
datos,

Data  Data utilities  Manage Duplicate Observations

Figura 18. Administración de Duplicados

44
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

En la figura 18 puede observar las opciones disponibles para el manejo de datos duplicados, se
recomienda seguir cada una de las opciones, Report Duplicates le ofrece la opción de seleccionar
bajo que variable(s) desea analizar si existen duplicados o no, por ejemplo:

sysuse auto, clear


keep if price > 12000
expand 3
duplicates report make

Lo que nos generareport


. duplicates el siguiente
makeresultado

Duplicates in terms of make

copies observations surplus

3 15 10

El resultado indica que hay 15 observaciones en total de las cuales hay 10 en exceso o duplicadas,
indica adicionalmente que para cada observación hay 3 copias.

Para ver el listado total de elementos duplicados

duplicates list make

45
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Duplicates in terms of make

group: obs: make

1 1 Cad. Eldorado
1 6 Cad. Eldorado
1 7 Cad. Eldorado
2 2 Cad. Seville
2 8 Cad. Seville

2 9 Cad. Seville
3 3 Linc. Mark V
3 10 Linc. Mark V
3 11 Linc. Mark V
4 4 Linc. Versailles

4 12 Linc. Versailles
4 13 Linc. Versailles
5 5 Peugeot 604
5 14 Peugeot 604
5 15 Peugeot 604

Como se puede observar para cada marcar de automóvil hay dos valores adicionales, lo que ya nos
había indicado la opción report informando que habían tres observaciones para cada categoría.

La siguiente opción Tags duplicates permite crear una variable que indica el número de valores
adicionales en este caso será 2, si utilizamos el tag y hacemos una lista se apreciará el resultado.

duplicates tag make, generate(duplicado)


list make duplicado

46
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

make duplic~o

1. Cad. Eldorado 2
2. Cad. Eldorado 2
3. Cad. Eldorado 2
4. Cad. Seville 2
5. Cad. Seville 2

6. Cad. Seville 2
7. Linc. Mark V 2
8. Linc. Mark V 2
9. Linc. Mark V 2
10. Linc. Versailles 2

11. Linc. Versailles 2


12. Linc. Versailles 2
13. Peugeot 604 2
14. Peugeot 604 2
15. Peugeot 604 2

Uno de los objetivos es eliminar los valores duplicados

Para ello use la opción drop duplicates

FIGURA 19. Eliminación de duplicados


duplicates drop make, force
list make

47
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

make

1. Cad. Eldorado
2. Cad. Seville
3. Linc. Mark V
4. Linc. Versailles
5. Peugeot 604

2.13 CREACIÓN DE PROGRAMAS – EDITOR DE TEXTO

El usuario puede abrir un editor de texto donde puede crear programas (archivos “.do” y “.ado” de
Stata) haciendo clic en el icono de la ventana “New Do-file Editor” como se muestra en la siguiente
ilustración o presionando “control+8” o haciendo clic en el submenú “Do-file Editor” en el menú
“Window” en la barra de herramientas.

FIGURA 19. Creación de un archivo .do

El usuario puede ejecutar uno o más comandos simultáneamente, generar (macros) o crear rutinas
nuevas para STATA desde un editor de texto al que se accede haciendo clic en el icono –New Do-
file Editor–. A través de este editor se pueden crear archivos tipo *.do y *.ado. Los archivos *.do
son conjuntos de comandos y macros que únicamente se pueden ejecutar cuando el archivo está
activo. En contraste, los archivos *.ado son rutinas que se incorporan a STATA permanentemente y
pueden ser ejecutadas desde la el cuadro de comandos o incluso desde otros archivos *.do y *.ado.
Se accede a este editor como se muestra en la siguiente ilustración, presionando control+8 o
haciendo clic en el submenú –Do-file Editor– en el menú –Window– en la barra de herramientas.
(Darw.)

2.14 COMENTARIOS ADICIONALES LOG FILES

COMANDOS USADOS

append bysort
browse cd
by clear

48
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

codebook list
compress log
db merge
decode mvdecode
describe mvencode
destring open
drawnorm order
drop outfile
duplicates prefix
edit recode
encode rename
egen replace
exit reshape
format save
generate snapshot
gsort sort
infile sysuse
insheet use
invnormal() uniform()
keep varmanage
label xpose

OTROS COMANDOS RECOMENDADOS

capture mat
cf more
count notes
cross sample
datasignature seed
expand separate
filin split
format stack
infile svy
inspect tostring
joinby translate
label language versión
language operators

3 { TC "MANEJO FUNDAMENTAL DE STATA 11" }ANÁLISIS


ESTADÍSTICO CON Stata

Stata tiene una amplia posibilidad de realizar los procedimientos generalmente es posible encontrar
varios comandos en diferentes menús. Por ejemplo para poder obtener las estadísticas descriptivas
de una variable es posible usando inicialmente los comandos o por medio de ventanas de ejecución.

49
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Algunos comandos despliegan mucha información que se va mostrando por secciones, para que
sigan apareciendo los resultados es necesario dar clic en el botón GO, o en el mensaje de –more-
que aparece en la parte inferior de la ventana de resultados.

Pero es posible desactivar la opción para que emerga todo el resultado inmediatamente por medio
de set more off.

Para el análisis estadístico el menú Statistics permite obtener gran cantidad de opciones para poder
desarrollar los temas del curso. Por ejemplo en Statistics Summary, tables, and test Summary
and descriptive analysis:

pueden realizar varias operaciones


como son cálculo del intervalo de confianza, test para medias, varianzas, dos muestras, etc., pruebas
parámetricas y no parámetrica

3.1 ESTADÍSTICAS DESCRIPTIVAS

Para poder realizar este tipo de procedimiento se escribe en la barra de comandos el comando sum
que es el prefacio del comando summarize es un comando estándar para generar estadísticos
descriptivos, proporciona información acerca del número de observaciones, la media, la desviación
típica, el mínimo y el máximo de la variable especificada,

50
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Lo que nos genera:

Si agregamos la opción detail, se agrega el coeficiente de asimetría, y curtosis y varios percentiles


de la(s) variable(s) dadas:

3.2 PONDERADORES – WEIGHT-

51
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

fweight: frequency weights, indica el número de casos que representa realmente cada observación
muestral. La variable debe contener enteros positivos.

pweight: sampling weights, indica la inversa de la probabilidad de selección muestral de cada


observación. Han de ser positivos, pero no necesariamente enteros.

aweight: analytic weights, indica los pesos inversamente proporcionales a la varianza de cada
observación. Un uso típico de este tipo de ponderación es cuando las observaciones son medias y el
peso representa el número de elementos que generan la media. Han de ser positivos, pero no
necesariamente enteros.

Iweight (importance weights): estos comandos no tienen definición estadística formal, simplemente
representan de alguna forma la importancia que se atribuye a cada observación. Cada comando que
los acepta explica cómo los utiliza puede tener cualquier forma.

3.3 CALCULO DE MEDIAS

Medias Statistics Summarize, tables and test


Arith/Geometric/Armonic means

. mean price

Mean estimation Number of obs = 74

Mean Std. Err. [95% Conf. Interval]

price 6165.257 342.8719 5481.914 6848.6

3.4 INTERVALOS DE CONFIANZA

52
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Intervalos de confianza Statistics Summarize, tables and test Summary and descriptive

. ci price

Variable Obs Mean Std. Err. [95% Conf. Interval]

price 74 6165.257 342.8719 5481.914 6848.6

3.5 PRUEBAS DE HIPÓTESIS

3.5.1 Media
Con Stata puede hacer pruebas de hipótesis de diferencia de medias

ttest horas = 15
ttest horas = wporhora

3.5.2 Varianza
3.5.3 Proporciones

3.6 MANEJO DE Tablas DE DATOS

53
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Gran variedad de opciones para analizar encuestas como tablas de doble y múltiple entrada, de igual
forma permite ver la tabla de frecuencias.

3.6.1 tabstat

Para la generación de tablas descriptivas y de doble entrada, Stata ofrece diferentes opciones, la
opción tabstat la cual calcula la media de cada variable

54
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

3.6.2 Tabulate (tab)

Este comando permite construir tablas de frecuencias.


. tabulate rep78

Repair
Record 1978 Freq. Percent Cum.

1 2 2.90 2.90
2 8 11.59 14.49
3 30 43.48 57.97
4 18 26.09 84.06
5 11 15.94 100.00

Total 69 100.00

Si se desean que aparezcan los porcentajes, se debe agregar la siguiente opción

Finalmente puede crear una variable dummy para cada categoría, simplemente, agregue la opción
generate.

tabulate rep78, generate(dummy)

3.7 PRUEBAS PARAMÉTRICAS

3.8 PRUEBAS NO PARAMÉTRICAS

55
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Statistics Summarize, tables and test Nonparametric Test of


hyphotesis

. ksmirnov price = mpg

One-sample Kolmogorov-Smirnov test against theoretical distribution


mpg

Smaller group D P-value Corrected

price: -11.0270 0.000


Cumulative: -40.4189 0.000
Combined K-S: 40.4189 0.000 0.000

COMANDOS USADOS

anova quietly
ci scalar
collapse sktest
contract summarize
correlate table
display tabulate
estat tabstat
level tab1
mean tab2
misstable test
oneway ttest
pwcorr xi

OTROS COMANDOS RECOMENDADOS


56
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

compare Stem
Ereturn tabi
ktau Weight
ladder set level 90
Return outreg2
Signtest outreg
spearman

4 { TC "MANEJO FUNDAMENTAL DE STATA 11" }GRÁFICAS CON


Stata

Stata cuenta con una poderosa herramienta gráfica, permitiendo obtener gráficas de excelente
calidad y con varias opciones de edición de las mismas, es posible realizar gráficas como
histogramas, barras, de torta, series de tiempo, Box plot, dispersión, para datos panel y para otros
tipos de análisis como son de supervivencia, multivariado, control de calidad, etc.

Stata tiene dos formas de generar múltiples gráficos, a través de la ventana de comandos con el
comando graph o utilizando la barra de herramientas en Graphics. El comando graph se utiliza con
el tipo de gráfico a realizar. A continuación se presenta la lista de posibles gráficos

Gráficos TWOWAY:

Plottype description
---------------------------------------------------------------------
scatter scatterplot
line line plot
connected connected-line plot
scatteri scatter with immediate arguments
area line plot with shading
bar bar plot
spike spike plot
dropline dropline plot
dot dot plot
rarea range plot with area shading
rbar range plot with bars
rspike range plot with spikes
rcap range plot with capped spikes
rcapsym range plot with spikes capped with symbols
rscatter range plot with markers
rline range plot with lines
rconnected range plot with lines and markers
pcspike paired-coordinate plot with spikes
pccapsym paired-coordinate plot with spikes capped with symbols
pcarrow paired-coordinate plot with arrows
pcbarrow paired-coordinate plot with arrows having two heads
pcscatter paired-coordinate plot with markers

57
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

pci pcspike with immediate arguments


pcarrowi pcarrow with immediate arguments
tsline time-series plot
tsrline time-series range plot
mband median-band line plot
mspline spline line plot
lowess LOWESS line plot
lfit linear prediction plot
qfit quadratic prediction plot
fpfit fractional polynomial plot
lfitci linear prediction plot with CIs
qfitci quadratic prediction plot with CIs
fpfitci fractional polynomial plot with CIs
function line plot of function
histogram histogram plot
kdensity kernel density plot
lpoly local polynomial smooth plot
lpolyci local polynomial smooth plot with CIs

Otros tipos de gráficos

graph matrix Matrices de gráficos


graph bar Gráficos de barras – vertical
graph hbar Gráficos de barras – horizontal
graph dot Gráficos de medias
graph box Gráficos de cajas
graph pie Gráficos de tortas

Ejemplos:

graph twoway connected var1 var3


graph twoway scatter var3 var1 var4
graph box var5 if dummy = =1
graph pie var3 var1 in 1/30

Para grabar un gráfico, se usa el comando graph save graph.gph y el nombre del archivo, recuerde
que la extensión de los gráficos de Stata es .gph. Si lo queremos llamar de nuevo usamos graph use
graph.gph

Es posible combinar gráficos por medio del comando combine graph1 graph2..

A continuación se presenta una explicación más detallada de la creación de los diferentes tipos de
gráficos

4.1 HISTOGRAMAS

58
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Histograma: Graphics Histogram

- histogram price, normal


(bin=33, start=2006, width=258942.94)

59
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

3.0e-04
2.0e-04
Density
1.0e-04

0 5,000 10,000 15,000


Price

4.2 GRÁFICO DE TORTAS

Gráfica de Tortas : Graphics Pie Chart

60
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

29.73%

70.27%

Domestic Foreign

GRAFICAS DE TORTAS

61
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Utilizando la base NLSW.DTA, genere las siguientes gráficas:


graph pie, over(occ7) legend(on cols(1) position(9))

Prof
Mgmt
Sales
Cler.
Operat.
Labor
Other

graph pie, over(occ7) pie(4, explode(large)) legend(on cols(3)) scheme(economist)

Prof Mgmt Sales


Cler. Operat. Labor
Other

graph pie, over(occ7) pie(4, explode(large)) plabel(_all percent, color(black) size(large)


format(%9.2f)) legend(on cols(3)) scheme(economist)

62
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Prof Mgmt Sales


Cler. Operat. Labor
Other

13.58% 14.11%

12.73% 11.75%

10.95%

4.54% 32.32%

graph pie, over(occ7) pie(4, explode(large)) plabel(_all name, color(black) size(medlarge)


format(%9.2f)) legend(on cols(3)) scheme(economist)

Prof Mgmt Sales


Cler. Operat. Labor
Other

Other Prof

Labor Mgmt

Operat.

Cler. Sales

63
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

graph pie, over(occ7) pie(4, explode(large)) plabel(_all name, color(black) size(medlarge)


format(%9.2f)) legend(off) scheme(economist)

Other Prof

Labor Mgmt

Operat.

Cler. Sales

graph pie, over(occ7) plabel(_all name, gap(-5)) plabel(_all percent, gap(5)) legend(off)

13.58% 14.11%

Other Prof

12.73% 11.75%
Labor Mgmt

Operat.
10.95%

Cler.
Sales
4.541%
32.32%

64
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

graph pie, over(occ7) scheme(vg_s2c) by(union) pie(2, explode)

nonunion union

Prof Mgmt
Sales Cler.
Operat. Labor
Other
Graphs by union worker

4.3 GRÁFICO DE CAJAS

Box Plot: Graphics Box Plot

65
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

15,000
Price 10,000
5,000

4.4 GRAFICAS TWOWAY

TWOWAY GRAPH

Todos los comandos para graficas empiezan por graph, pero esto es opcional dependiendo el tipo de
gráfico solo se pone la opción TWOWAY

66
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

40
30
Mileage (mpg)

20
10

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


Weight (lbs.)

4.5 EDITOR DE GRÁFICOS DE Stata

67
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

HACIENDO DOBLE CLIC SOBRE EL ÁREA DE LA GRAFICA

Podemos agregar líneas horizontales o verticales indicando el valor del eje Y/o X donde deseamos
agregar la línea

68
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Usando los comandos para hacer esta gráfica solo es necesario escribir

Scatter mpg weight

PODEMOS CREAR GRÁFICOS POR GRUPOS USANDO EL COMANDO BY

twoway scatter mpg weight, by(foreign)

Domestic Foreign
40
30
Mileage (mpg)

20
10

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


Weight (lbs.)
Graphs by Car type

Para acceder por medio de ventanas

69
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Es posible crear varios tipos de gráficas en un solo gráfico algo muy usual es el uso de la gráfica
SCATTER con una recta de regresión ajustada.

Debemos Crear un nuevo grafico sin eliminar el anterior

70
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

40
30
20
10

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


Weight (lbs.)

Mileage (mpg) Fitted values

twoway scatter mpg weight || lfit mpg weight – CON UNA NOTACIÓN DIFERENTE DE
SEPARACION
twoway (scatter mpg weight) (lfit mpg weight)

ALGUNOS EJEMPLOS:
- twoway (qfitci mpg weight, stdf) (scatter mpg weight), by(foreign)

Domestic Foreign
40
30
20
10
0

2000 3000 4000 5000 2000 3000 4000 5000


Weight (lbs.)
95% CI Fitted values
Mileage (mpg)
Graphs by Car type

4.6 GRAFICA DE SERIES DE TIEMPO

sysuse uslifeexp
twoway line le_wm year || line le_bm year

71
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

80
70
60
50
40

1900 1920 1940 1960 1980 2000


Year

Life expectancy, males Life expectancy, females

Usando la base sp2001ts.dta

72
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

1400
1300
High price/Low price

1200
1100
1000
900

1Jan01 1Apr01 1Jul01 1Oct01 1Jan02


Date

Hacer con los mismos datos usando las opciones de: area, rarea, rconnected, rcap y rbar

4.7 SCATTER GRAPH

73
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

graph matrix popgrowth lgnppc safewater lexp


6 8 10 50 60 70 80
4
Avg.
annual 2
%
growth
0

10

8 lgnppc

6
100

safewater 50

0
80

70 Life
expectancy
60 at birth
50
0 2 4 0 50 100

4.8 GRAFICA DE PUNTOS

Installar archivos y esquemas de “A visual guide to Stata Graphics”


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

net spjanfeb2001.dta
twoway (dropline close tradeday, sort)

74
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

1400
1350
Closing price

1300
1250

0 10 20 30 40
Trading day number

Realizar con los mismos datos pero usando los formatos: spike, dot, line y connected
Usando la base allstate3.dta, genere la siguiente gráfica

WV
75

DE
AL MS

AR
% who own home

SC
OK KY

TN
70

NC
FL
LA
MD VA
GA

TX
65

30 40 50 60 70 80
% born in state of residence

4.9 GRAFICOS DE BARRAS

Usando la base de datos nlsw.dat

75
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

76
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

8
6
4
2
0

Prof/Mgmt Sales Clerical Labor/Ops Other


mean of tenure mean of prev_exp

Genere la misma gráfica pero que en el eje Y aparezca el porcentaje.

graph bar (mean) tenure (mean) prev_exp, over(occ5) percentages

graph bar (mean) tenure (mean) prev_exp, over(occ5) stack


15
10
5
0

Prof/Mgmt Sales Clerical Labor/Ops Other


mean of tenure mean of prev_exp

77
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

La opción de STACK produce una gráfica donde cada barra sería de dos o más barras apiladas, por
lo que la división muestra la relación de las variables con respecto a total de la suma de las
variables.

4.10 OPCIONES Y EJEMPLOS

Gráficas con weight


Allstates.dta
twoway scatter ownhome borninstate [aweight = propval100], msymbol(oh)
80
70
% who own home

60
50
40

20 40 60 80
% born in state of residence

twoway (scatter propval100 region), xlabel(, valuelabel)

78
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

100
80
60
40
20
0

NE N Cntrl South West


Census region

Generando Funciones:

79
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

5
4
3
y
2
1
0

0 5 10 15 20
x

Genere el logaritmo de X, una distribución normal, el valor absoluto, x2, x3, seno, coseno y
tangente.

Pirámides poblacionales

Por medio de la gráfica de barras es posible realizar una pirámide poblacional, para ello se usará la
base de datos pop2000mf.dta, primero se calcularán algunas variables por millón de personas:

gen fenmil = femtotal/1000000


gen malmil = -maletotal/1000000
gen zero = 0

80
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

81
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

10
5
0
-5
-10

0 5 10 15 20
Age category

malmil fenmil

82
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

20
15
Age category

10
5
0

-10 -5 0 5 10

malmil fenmil

83
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

84
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

80 to 84
75 to 79
70 to 74
65 to 69
60 to 64
55 to 59
50 to 54
45 to 49
40 to 44
35 to 39
30 to 34
25 to 29
20 to 24
15 to 19
10 to 14
5 to 9
Under 5

10 5 0 5 10
Población en Millones
malmil fenmil

4.11 COMBINANDO GRÁFICAS

graph combine "C:\Users\USER\Desktop\Graph1.gph" "C:\Users\USER\Desktop\Graph2.gph"

4.12 OTRAS GRÁFICAS

85
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

4.12.1 Kdensity

sysuse auto
kdensity length

Kernel density estimate


.015
.01
Density

.005

140 160 180 200 220 240


Length (in.)
kernel = epanechnikov, bandwidth = 8.4732

4.12.2 Qnorm

qnorm price
15,000
Price 10,000
5,000

0 5,000 10,000 15,000


Inverse Normal

86
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

4.12.3 Quantile

quantile price
15000
10000
Quantiles of Price

5000

0 .25 .5 .75 1
Fraction of the data

COMANDOS USADOS

bar Quantile
box Cchart
combine pchart
dot Rchart
graph Xchart
Histogram rvpplot
kdensity scatter
Matrix title
Pie Twoway
Qnorm Tsline

EJERCICIO 1

Los datos correspondientes a los profesores de la Universidad Rafael Núñez se encuentran


contenidos en el documento Docentes1.csv. Se le ha encomendado a usted la tarea de analizarlos en
Stata. Las variables que contiene el archivo son las siguientes:

Nombre de la variable Etiqueta de la variable


Num Código interno de identificación

87
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Nombres
Apellidos
Documento Documento de identidad
Dependencia Lugar en que labora
Dedicación Categoría bajo la cual fue contratado
fecha_ingreso
estado_civil
Sueldo
Carro Respuesta a pregunta tiene o no carro
Categoría Cargo que desempeña

Para iniciar el análisis de los datos deberá llevar a cabo las siguientes tareas:

 Importar los datos al programa: Las variables no tienen nombre. Usted deberá ingresarlos
manteniendo el orden y sintaxis del cuadro anterior, por el método que considere conveniente.

- Pistas: El cuadro de diálogo del comando con el cual importa los datos en formato csv.
Los nombres de las variables no deben contener espacios.

- Problema: Datos mal importados


Pista: Separador de variables

 Crear y asignar etiquetas a variables numéricas

El siguiente cuadro le indica las etiquetas que debe crear para cada variable:

Variable Valor Etiqueta


Dependencia 1 Agronomía
2 Artes
3 Ciencias
4 Ciencias Agropecuarias
5 Ciencias Económicas
6 Ciencias Humanas
7 Derecho
8 Divulgación Cultural
9 Enfermería
10 Estudios Ambientales
11 Generación 125 años
12 I.C.T.A.
13 Idiomas Extranjeros
14 Ingeniería
15 Instituto de Biotecnología

88
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

16 Instituto de Estudios
17 Políticos
18 Instituto de Genética
19 Medicina
20 Odontología
Veterinaria y Zootecnia
Estado Civil 1 Casado
2 Separado
3 Soltero
4 Unión Libre
5 Viudo
Carro 1 No
2 Si
Categoría 1 Experto DOS
2 Instructor Asistente
3 Instructor Asociado
4 Profesor Asistente
5 Profesor Asociado

 Crear etiqueta para variable de texto Dedicación

- Pista: El contenido de la variable debe ser reconocido como una etiqueta (encode).

 Adicionar datos y variables: Resulta que la persona que digitó los datos lo hizo de forma
incompleta, omitiendo datos y variables. Los datos adicionales (802) fueron posteriormente
almacenados en el archivo Docentes2.dta y la variable género, para el total de los encuestados
(2302), fue introducida en el archivo Genero_docentes.dta. Usted deberá introducirlos en la
base que está trabajando correctamente, es decir, manteniendo la correspondencia entre los
datos.

Una vez incorporada la variable género, cree la etiqueta, conforme al formato de la variable.

 Filtros (browse , list, edit, keep y drop)


NOTA: PRIMERO GUARDE LA BASE DE DATOS EN EL SNAPSHOT

- Filtre por las siguientes condiciones, los docentes hombres que trabajan en la dependencia
Ciencias Económicas (5), tienen un salario inferior a 1500000 y son viudos (5). Exporte
el resultado en un archivo formato csv con el nombre filtro_01,

- Exporte en un archivo formato csv con el nombre filtro_02, los datos correspondientes a
las personas mujeres que no tienen carro (1) , viven en unión libre (4) , son profesor
asociado o asistente (4 – 5) y trabajan en las dependencias de Ciencias, Artes o Ingeniería
(2 – 3 – 14).

89
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

EJERCICIO 2

Durante el año 2001, se realizó una Encuesta sobre la Juventud Española. La muestra era de 10.000
jóvenes, de la que se han seleccionado tan sólo aquellos entrevistados con estudios universitarios
(717 sujetos). De las 60 preguntas de que constaba el cuestionario, el archivo de datos (base.dta)
sólo recoge 20 preguntas mostradas a continuación, tal como se plantearon a los entrevistados.

Organice la información, no olvide crear el archivo LOG, debe crear las etiquetas (labels) a
las variables y sus valores.

NOTA: Al final usted debe enviar al correo brayanrojas2@gmail.com el archivo log y el


archivo .do

Los nombres que tienen las variables (V1 a V20) en la base de datos corresponden a las siguientes
variables, por ejemplo v1 = OCIO.

OCIO
HORAS
TV
INFANCIA
CAMA
LIMPIAR
NIÑOS
HIJOS1
HIJOS2
AMOR
COLEGIO
LIBROS
RELIGION
ESCALA
INGRESO1
INGRESO2
INGRESO3
INGRESOT
GENERO
EDAD

ENCUESTA

P.1 Para empezar y refiriéndonos a lo que haces en tus días de ocio, quisiéramos saber ¿cuál es la
actividad que más te gusta hacer fuera de casa cuando dispones de tiempo libre?
- Beber, ir de copas, bailar 1
- Hacer deporte 2
- Viajes, excursiones 3 OCIO
- Ir al cine, al teatro 4
- Ir a museos, ir a conciertos 5
- Leer 6

90
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

P.2 En total, ¿cuántas horas libres tienes a la semana para tu ocio o diversión?
_______ HORAS

P.3 Aproximadamente y por término medio, ¿cuántas horas semanales dedicas a ver la televisión?
__________ TV

P.4 ¿Cómo dirías que ha sido tu infancia, la definirías como...


- La etapa más feliz de tu vida 1
- Una etapa más feliz que otras 2
- Una etapa igual de feliz que otras 3
- Una etapa menos feliz que otras 4 INFANCIA
- La etapa menos feliz de tu vida 5

P.5 ¿Podrías decirme cuál es tu grado de dedicación en las siguientes tareas de tu hogar?

- Hacer la cama 1 2 3 4 CAMA


- Limpiar la casa 1 2 3 4 LIMPIAR
- Cuidar de los hijos o hermanos pequeños 1 2 3 4 NIÑOS

1. No suelo hacerlo nunca


2. Sólo lo hago en ocasiones
3. Comparto esta tarea con otra/s personas
4. Recae en mí toda la responsabilidad, y suelo hacerlo siempre

P.6 ¿Cuántos hijos crees que llegarás a tener?

P.7 Y en el plano ideal, ¿cuántos hijos te gustaría llegar a tener?


Llegará a tener Le gustaría
HIJOS1 HIJOS2
- Uno 1 1
- Dos 2 2
- Tres 3 3
- Cuatro 4 4
- Cinco 5 5
- Ninguno 0 0

P.8 ¿En cuál de las siguientes situaciones te encuentras?


- Tienes novio/a formal 1
- Ahora no tienes novio/a formal 2
- Hasta ahora sólo has tenido relaciones afectivas pasajeras 3 AMOR
- Nunca has tenido una relación afectiva especial con un chico/a 4

P9. Vamos a hablar ahora de tus estudios. ¿En que centro realizaste la totalidad o la mayor parte de
tus estudios?

-En un centro estatal, público 1


-En un centro privado no religioso 2 COLEGIO
-En un centro privado religioso 3

P10. Excluyendo los libros de texto, ¿Cuántos libros has leído en los últimos doce meses?

91
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

______________ LIBROS

P11. ¿Cómo te defines en materia religiosa?


-Católico practicante 1
-Católico no practicante 2
-Creyente de otra religión 3 RELIGION
-No creyente 4
-Indiferente 5

P12. Cuando se habla de política se utilizan normalmente las expresiones izquierda y derecha. ¿En
que casilla te colocarías? ESCALA

IZQUIERDA DERECHA
01 02 03 04 05 06 07 08 09 10

P13. Que cantidad aproximadamente de dinero (en miles de pesetas) ingresas al mes por cada uno
de los conceptos siguientes?

Ingresos personales _________________ INGRESO1


Ingresos de tu pareja _________________ INGRESO2
Aportaciones familiares _________________ INGRESO3

P14. Actualmente, entre todos los miembros de tu hogar y por todos los conceptos, ¿de cuantos
ingresos netos (sin descuentos) dispones por término medio en tu hogar al mes?

-Menos o igual a 500 Euros. 1


-De 501 a 1000 Euros. 2
-De 1001 a 1500 Euros. 3
-De 1501 a 2000 Euros. 4
-De 2001 a 3000 Euros. 5 INGRESOT
-De 3001 a 4000 Euros. 6
-De 4001 a 5000 Euros. 7
-De 5001 a 7500 Euros. 8
-De 7501 a 10 Mil Euros. 9
-Más de 10 Mil Euros. 10

P15. Sexo:
-Hombre 1 GÉNERO
-Mujer 2

P16. ¿Cuántos años cumpliste en tu último cumpleaños?


____________años EDAD

Responda las siguientes preguntas:

Envíe un archivo .doc con las respuestas correspondientes.

1. Cree una variable ingreso bruto que va a ser la suma de ingreso1, ingreso2 e ingreso3.

92
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

2. Calcule los estadísticos descriptivos de cada una de las variables y analice cuáles tienen
valores perdidos?

Para los valores perdidos asígneles un valor verdadero de la siguiente forma

VARIABLE VALOR PERDIDO A:


OCIO 6
INFANCIA 5
HIJOS1 e HIJOS2 0
COLEGIO 1
LIBROS Depende la variable INGRESOT, por ejemplo
si INGRESOT = 1, entonces LIBROS = 9,
INGRESOT =2  LIBROS = 8, etc.
RELIGION El Valor 9 es un valor perdido

3. Realice una prueba de comparación de medias, donde compare si la media de la variable


ingreso1 es igual a ingreso2
4. Calcule las correlaciones entre los ingresos, libros y TV, son estadísticamente
correlacionados?
5. ¿Cuántos hombres y cuántas mujeres tienen novio y les gusta el cine?
6. Cree tres grupos para la variable INGRESOT en una sola variable que se llame
situacion_economica así: personas que ganan hasta 2000 Euros. Personas que ganan hasta
5000 Euros. y los demás. Asígneles en una nueva variable el calificativo de POBRES,
ACOMODADOS Y RICOS respectivamente. (Recomendación use: generate y replace o
recode)

7. ¿Cuántos POBRES, ACOMODADOS Y RICOS hay por GENERO y por EDAD


8. ¿Cuántos individuos ven menos de 18 horas de TV?.
9. En promedio, ¿Cuántas horas ven semanalmente la TV según la situación económica?
10. ¿Cuántos libros han leído por SEXO y por COLEGIO las personas que sostienen un
noviazgo formal?
11. ¿Cuántos jóvenes españoles respondieron que no suelen hacer nunca al menos uno de los
oficios del hogar?
12. ¿Calcule el porcentaje total por fila de la variable religión independientemente del sexo?,
mencione cuál es el porcentaje de columna de los que son religión: No creyente y son
mujeres, é indique este valor en porcentaje con respecto al total de personas?
13. Grafique las siguientes variables, es bajo su criterio el formato de presentación:

a. Genero e IngresoT
b. Genero, Religión e Ingreso
c. Religión, amor e hijos1
d. Ocio, horas y tv
e. Genero con ingreso1 e ingreso2

93
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

5 { TC "MANEJO FUNDAMENTAL DE STATA 11" }REGRESIÓN


LINEAL EN Stata6

Una de las principales fortalezas de Stata tiene que ver con la gran versatilidad, flexibilidad y
facilidad que ofrece para estimar modelos de regresión. Uno de los principales objetivos de los
modelos de regresión es explicar el comportamiento de uno o más fenómenos (variables
dependientes) a partir de un conjunto de regresores (o variables independientes) que, en la mayoría
de los casos, han sido identificados por la teoría como los factores que explican el fenómeno que se
está estudiando. Sin duda, por la facilidad de su interpretación, los modelos de regresión lineal son
los más populares y los más empleados por los investigadores de diferentes disciplinas.

A continuación se presentan los pasos para estimar un modelo lineal a través de mínimos cuadrados
ordinarios (MCO) a partir de la información de la base de datos “ECUACION INGRESO.dta”. El
ejercicio propuesto busca establecer la relación existente entre los ingresos laborales mensuales
(expresada en logaritmos) y un conjunto de variables de contexto de los individuos (horas de trabajo
al mes, años de educación aprobados, años de experiencia laboral, sexo, etc.). La teoría económica
establece que la relación entre los ingresos laborales y el conjunto de variables de contexto
individual se puede representar (en su forma más simple) a través de la ecuación

Donde el conjunto de variables empleadas en la estimación son:

Variable Descripción de la variable


lny Logaritmo natural del ingreso laboral mensual (Dependiente)
lnm Logaritmo natural de las horas de trabajo al mes (Independiente)
edu007 Número de años de educación aprobados (Independiente)
exp Años de Experiencia laboral (Independiente)
exp2 Años de experiencia laboral al cuadrado (Independiente)
e03 Dummy de sexo "1=hombre; 0=Mujer" (Independiente)

EJERCICIO:
6. A partir de la información de la base de datos “ECUACION INGRESO.dta”, generar las
variables necesarias con sus respectivas etiquetas para estimar la ecuación (1)

DESCRIPCIÓN ESTADÍSTICA DE LA INFORMACIÓN: Antes de estimar la ecuación de


ingreso (1), es conveniente realizar una primera aproximación a los datos de forma descriptiva. El
comando summarize (en forma abreviada summ) genera las estadísticas descriptivas básicas de
una o más variables. La sintaxis del comando se describe a continuación:

6
omando aboutreg
Findit aboutreg

94
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Por ejemplo
summ lny lnm edu007 exp exp2 e03

Se obtiene el siguiente reporte:

 Número de observaciones de cada variable (Obs),


 Promedio de cada variable (Mean)
 Desviaciones estándar (Std. Dev.)
 Valor mínimo de cada variable (Min)
 Valor máximo (Max).

Se puede obtener más detalles estadísticos de cada una de las variables con la opción “detail” así:

summ lny lnm edu007 exp exp2 e03, d

RELACIÓN LINEAL ENTRE LAS VARIABLES DEPENDIENTES E INDEPENDIENTES:


Con el fin de analizar la relación lineal entre las variables regresoras del modelo calculamos la
matriz de correlaciones. A través de la instrucción pwcorr se obtiene la matriz de correlación de las
variables que van a ser incluidas en el modelo de regresión así:

pwcorr lny lnm edu007 exp exp2, sig

lny lnm edu007 exp exp2

lny 1.0000

lnm 0.3674 1.0000


0.0000

edu007 0.4995 -0.0127 1.0000


0.0000 0.0812

exp -0.0766 -0.0211 -0.3772 1.0000


0.0000 0.0037 0.0000

exp2 -0.1373 -0.0541 -0.4213 0.9425 1.0000


0.0000 0.0000 0.0000 0.0000

95
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

El comando “pwcorr” estima los coeficientes de correlación del conjunto de variables del modelo.
En la matriz de correlaciones aparece el coeficiente de correlación que es un valor número que va
desde 0 a 1 e indica el grado de asociación lineal entre las variables, este coeficiente viene
acompañado del nivel de significancia (con la adición de la opción “sig”), que permite decidir sobre
la hipótesis nula de que el coeficiente de correlación vale cero. En nuestro ejemplo, el coeficiente de
correlación entre años de educación (edu007) e ingreso salarial en logaritmos (lny) es de 0,4 y tiene
una significancia de 0, lo cual indica que existe una relación significativa entre estas dos variables.

REPRESENTACIÓN GRAFICA DE LAS RELACIONES ENTRE VARIABLES: En segundo


lugar, y como paso previo al proceso de estimación, analizamos gráficamente la relación entre la
variable dependiente y cada uno de los regresores del modelo. Por ejemplo, para representar la
relación entre los ingresos y los años de educación aprobados, es conveniente que primero
generemos una variable que indique el ingreso promedio por año de educación así:

Col1 Col2 Col3 Col4


id Años de educación Ingreso (Miles de pesos) Ingreso promedio por año de educación
1 6 20000 25000
2 6 30000 25000
3 6 25000 25000
4 5 25000 24000
5 5 24000 24000
6 5 23000 24000
7 2 24000 22000
8 2 20000 22000
9 0 20000 17500
10 0 15000 17500

La variable “ingreso promedio por año de educación” en la columna 4 se grafica respecto a los años
de educación (el usuario puede comprobar que es más fácil identificar la relación entre la variable
dependiente y los regresores si se generan variables promedio)

Como se observa en la tabla anterior, la operación realizada en la columna 4 (ingreso promedio por
año de educación), resulta de efectuar un cálculo al interior de la columna 3 (Ingreso), teniendo en
cuenta como criterio de agrupación la columna 2 (años de educación). Este tipo de operaciones se
pueden efectuar en Stata a través del comando egen.

Como en nuestro caso la variable dependiente es el logaritmo de los ingresos laborales

1. Generamos la variable “lny_ed” que será promedio del logaritmo natural de los ingresos por
año de educación aprobado. Esta operación, se realiza a través del comando egen y la opción by
así:

egen lny_ed=mean(lny), by(edu007)

96
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

2. A continuación, graficamos el promedio del logaritmo natural de los ingresos por año de
educación respecto a los años de educación aprobados por medio del comando line así:

line lny_ed edu007, sort

Ahora tenemos una idea bastante clara de la relación promedio observada entre el logaritmo de los
ingresos laborales y los años de educación y de qué tan realista es la aproximación lineal en este
caso. El gráfico parece indicar que sería conveniente estimar la relación entre estas dos variables a
través de una transformación de tipo “spline”.

De otro lado, la relación entre los ingresos laborales promedio y los años de experiencia es de tipo
cuadrático.

Observamos que la variable de experiencia tiene un comportamiento exponencial, lo cual justifica el


uso de la variable experiencia al cuadrado en las estimaciones.

97
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

ESTIMACIÓN DEL MODELO LINEAL DE REGRESIÓN: Para estimar la ecuación (1) a


través de MCO empleamos el comando regress (en forma abreviada reg) así:

regress lny lnm edu007 exp exp2

El comando regress genera una amplia gama de estadísticas además de los coeficiente de regresión.

 La tabla “source” también, conocida como tabla de análisis de varianza ANOVA, presenta
la información relacionada con la suma de cuadrados “SS”, los grados de libertad “df” y los
cuadrados promedio “MS” del modelo y de los residuos. El cálculo del R2 se puede obtener
manualmente dividiendo la suma de cuadrados del modelo entre la suma de cuadrados
totales.

 Al lado derecho de la tabla fuente se presenta otro paquete de estadísticas. El estadístico F


resulta de calcular la razón entre la suma de cuadrados promedio del modelo y la suma de
cuadrados promedio de los residuos. A través de este estadístico se puede probar la
hipótesis de que todos los coeficientes excluyendo la constante son estadísticamente iguales
a cero.

 Significancia e intervalos de confianza de los coeficientes: A través del estadístico


̂⁄ ̂ puede probar la hipótesis de que cada uno de los coeficientes estimados es
estadísticamente igual a cero, mientras que en la columna “95% Conf. Interval” se presenta
el intervalo, al 95% de confianza, para cada uno de los coeficientes.

 Interpretación de los coeficientes: La interpretación de los coeficientes varía dependiendo


de la forma como están expresadas las variables en el modelo así:

Interpretación de los betas estimados de acuerdo a la forma como están expresadas las
variables del modelo
Variable independiente en Variable independiente en niveles
logaritmos

98
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Variable Elasticidad: Cambio porcentual Semi-elasticidad: Cambio porcentual


dependiente en esperado en y ante un cambio esperado en y ante un cambio marginal
logaritmos porcentual en x. En nuestro ejemplo en x. En nuestro ejemplo , ˆ , ˆ y
3
, ˆ1
2
ˆ 4

Variable Cambio esperado en nivel en y ante Efecto marginal: Cambio esperado en


dependiente en un cambio porcentual en x nivel en y ante un cambio marginal en
niveles x.

 Resumen estadístico de la muestra empleada en la estimación: Raras veces el número de


observaciones empleadas en las estimaciones coincide exactamente con las observaciones
que originalmente estaban disponibles en la base de datos. Para obtener una descripción
resumida de la muestra empleada efectivamente en la estimación después realizar MCO
empleamos el comando estat sum el cual genera el siguiente resultado.
estat sum

Es fácil comprobar que las características de las personas en la muestra empleada en la estimación
difieren de las observadas en la base de datos original.

PRUEBAS DE HIPÓTESIS LINEALES: Una vez realizada una regresión lineal es posible
probar hipótesis lineales sobre los coeficientes estimados a través del comando test así:

test lnm=1

En el primer caso se probó que si el coeficiente estimado asociado a las horas de trabajo al mes es
igual a 1. La probabilidad de que el coeficiente sea 1 es cero, por los tanto no se acepta la hipótesis.
En términos económicos se podría afirmar que no hay elasticidad unitaria entre horas de trabajo al
mes y el ingreso laboral.

99
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

EJERCICIO:
9. Pruebe la hipótesis de que todos los coeficientes del modelo exceptuando el intercepto son
estadísticamente iguales a cero. Compare con la prueba F generada por Stata en la regresión lineal
antes estimada.

10. ¿Cuántos años de experiencia laboral serian necesarios para maximizar los ingresos laborales
mensuales?

lincom -0.0347/(2*-0.0003987)

COMPROBACIÓN DEL CUMPLIMIENTO DE LOS SUPUESTOS DE MCO

MULTICOLINEALIDAD (Asociación lineal entre variables): Pese a que en presencia de


multicolinealidad los estimadores son MELI (Mejores Estimadores Lineales Insesgados), los errores
estándar de los coeficientes estimados tienden a estar inflados (sobreestimados), haciendo más fácil
que se acepte que uno o más regresores son estadísticamente iguales a cero. La velocidad con la
cual se incrementan las varianzas y las covarianzas de los estimadores puede analizarse a través del
factor inflador de varianza, el cual calcula Stata a través del comando vif después de ejecutar
regress así:

Vif

Los VIF de cada uno de los estimadores cuyo valor sea superior a 10 (algunos menos conservadores
consideran 30) indican que la variable a la que acompañan puede considerarse como una
combinación lineal de otras variables independientes. Alternativamente suele observarse el índice
de Tolerancia (1/VIF). Un índice de tolerancia igual a 0.1 es equivalente a un VIF de 10. Valores de
tolerancia inferiores a 0.1 (0.333 para los menos conservadores) indican presencia moderada o
severa de multicolinealidad.

EJERCICIO:
11. Calcule cada uno de los VIF de la regresión anterior.

HOMOSCEDASTICIDAD: Es uno de los principales supuestos de MCO. En términos generales,


en presencia de heroscedasticidad la varianza de los estimadores está sesgada (sobrestimada o
subestimada). En estos casos no se puede confiar en las pruebas t y F. Visto de otro modo, si el
modelo está bien especificado no debería existir un patrón definido entre los residuales del modelo
y la variable dependiente pronosticada. Cuando la varianza de los residuales no es constante se dice
100
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

que la varianza de los residuales es heteroscedástica. Existen métodos gráficos y métodos formales
para detectar heteroscedasticidad.

Método Gráfico: A través de un gráfico que relacione los residuales del modelo contra los
valores estimados de la variable dependiente se puede hacer una primera comprobación
visual de posibles patrones de interrelación entre estas dos variables. Siguiendo con nuestro
ejemplo, en Stata se puede obtener este gráfico a través del comando rvfplot así:

rvfplot, yline(0)

No parece haber un patrón definido en los residuales del modelo.

Método formal: Stata ofrece una gran variedad de pruebas de heteroscedasticidad para
modelos lineales estimados a través de MCO. Sin embargo, una de las pruebas de
heteroscedasticidad más ampliamente difundida es la prueba de WHITE. Esta prueba se
puede obtener después de emplear el comando regress así:

imtest, white

Claramente se rechaza la prueba de homoscedasticidad. Así mismo se puede constatar que los
residuales tienen problemas de asimetría (skewness) y apuntalamiento (kurtosis). Una forma simple

101
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

de corregir heteroscedasticidad según el criterio de WHITE (1980)7 es a través de la opción robust


en la estimación por MCO así:

regress lny lnm edu007 exp exp2, robust

Aunque el problema de heteroscedasticidad no era importante (la significancia de los coeficientes se


mantuvo inalterado), se puede constatar que los errores estándar en el modelo corrección de
heteroscedasticidad son mayores, lo cual prueba que inicialmente estaban subestimados.

NORMALIDAD DE LOS RESIDUOS: Es un supuesto necesario únicamente garantizar la


validez de las pruebas t y F en MCO. En realidad, MCO tan solo requiere que los residuales estén
idéntica e independientemente distribuidos. Después de ejecutar el comando regress, podemos
emplear el comando predict seguido por la opción res para estimar los residuales así:

predict residual, res

Método Gráfico: A continuación empleamos los comandos kdensity y qnorm para


constatar gráficamente si los residuos siguen una distribución normal así: kdensity
residual, normal

7
WHITE H. 1980. A Heteroscedasticity Consistent Covariance Matriz Estimator and Direct Test of
Heteroscedasticity. Econometrica, vol 48.

102
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

La opción normal permite comparar la función de densidad de los residuales con una función de
densidad normal. Se puede observar apuntalamiento y asimetría en los residuales. Otra
comprobación gráfica de normalidad muy conocida es aquella que contrasta cuantiles de una
variable contra cuantiles de una distribución normal. Cuanto más cerca estén los cuantiles de la
variable a los cuantiles de la distribución normal (línea diagonal continua) más cerca está la variable
de ser normal. Stata la representa a través del comando qnorm así:

qnorm residual

Método formal: Claramente hay problemas en los residuales que nos hacen pensar en que
no se cumple el supuesto de normalidad. Sin embargo, para estos casos en los que la
variable tiene muchas observaciones, Stata ofrece una prueba formal de normalidad a través
del comando sktest así:

sktest residual

103
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Se rechaza la hipótesis de normalidad en los residuales del modelo.

EXOGENEIDAD DE LAS VARIABLES INDEPENDIENTES: Otro supuesto básico en


regresión lineal es que las variables explicativas están determinadas por fuera del modelo que
estamos estimando. En otras palabras, suponemos que ninguno de los regresores está determinado
por otro u otros regresores dentro del modelo. A través de la prueba de HAUSMAN (1978) 8 es
posible establecer si un regresor es exógeno o no. La prueba se realiza en etapas: en primer lugar,
estimamos un modelo que consideramos consistente pero ineficiente (en el sentido que no
empleamos toda la información disponible para explicar la variable dependiente).

A continuación, estimamos otro modelo (el cual tiene en cuenta la variable que deseamos
comprobar si es exógena) que suponemos consistente y eficiente. En tercer lugar, empleamos el
estadístico de HAUSMAN el compara los coeficientes comunes en ambos modelos y sus
respectivas matrices de varianzas y covarianzas. Si no hay diferencias sistemáticas en los
coeficientes la nueva variable se puede considerar exógena. Los pasos y los comandos necesarios
para realizar esta comprobación en Stata son:

1. Estimamos el modelo consistente pero ineficiente (no tiene en cuenta la variable lnm)
regress lny edu007 exp exp2, robust

2. Lo almacenamos con el comando est store así:


est store reg

3. Estimamos el modelo que suponemos consistente y eficiente (tiene en cuenta la variable lnm)
regress lny lnm edu007 exp exp2, robust

4. Calculamos el estimador de HAUSMAN


hausman reg ., eq(1:1)

Existen diferencias sistemáticas en los coeficientes, por lo tanto la variable lnm es endógena, en
otras palabras, puede estar explicada por los otros regresores del modelo.

EJERCICIO:

12. Pruebe la hipótesis de exogeneidad de cada una de las variables del modelo.

8
HAUSMAN J,. Specification Test in Econometrics, Econométrica Vol. 46. No. 6. 1978.

104
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

PRONOSTICO: El pronóstico de la variable dependiente se realiza empleando el comando


predict

predict lnyp if e(sample), xb

La opción e(sample) restringe la estimación a la muestra efectivamente empleada en la estimación.

REPRESENTACIÓN GRAFICA DEL PRONÓSTICO DE LA VARIABLE DEPENDIENTE


Y SU RELACIÓN CON LOS REGRESORES: Finalmente es posible visualizar la aproximación
del modelo de regresión lineal a través de MCO, graficando el ingreso estimado promedio respecto
a cada una de las variables independientes. Por ejemplo, la relación entre el ingreso estimado
promedio por año de educación y los años de educación se obtiene siguiendo los siguientes pasos:

egen plny_ed=mean(lnyp), by(edu007)


─ Generación de los ingresos promedio estimados por año de educación ─

line plny_ed lny_ed edu007, sort


─ Gráfico que representa los ingresos estimados y observados por año de educación y los años de
educación

Ahora tenemos una idea bastante clara de la aproximación lineal que hemos llevado a cabo entre los
ingresos promedio y los años de educación a través de MCO.

EJERCICIO:
13. Grafique la relación promedio entre las variables dependiente y dependiente pronosticada contra
cada uno de los regresores del modelo.

14. Estime una ecuación que además tenga en cuenta el sexo como variable explicativa

15. Compruebe si se cumplen los supuestos de MCO

16. ¿Cómo decidirá cuál de los dos modelos estimados (sin sexo y con sexo) es el mejor y como lo
haría en Stata?

105
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

6 MODELOS ARIMA9

SERIE DE TIEMPO EN Stata MODELOS AUTORREGRESIVOS DE MEDIA MOVIL


(ARMA)

Los modelos autorregresivos (AR), de media móvil (MA) y autorregresivos de media móvil
(ARMA) se caracterizan por incorporar en la explicación futura de la variable dependiente su
propio comportamiento pasado. Esta forma de modelar la conducta de una serie de datos temporales
hace posible, en su forma más simple en modelos univariados, la generación de pronósticos sin
emplear información adicional proveniente de otros regresores. En las secciones siguientes
seguiremos la metodología de BOX y JENKINS (1976)10 para estimar y pronosticar modelos
univariados de serie de tiempo a través de Stata. En particular se hará uso de la información
mensual de inflación contenida en la base de datos INFLACION.dta.

Antes de desarrollar la metodología de BOX y JENKINS aprenderemos a generar variables con


formato de fecha, variables rezagadas y a designar la variable que representará el tiempo en las
estimaciones. Cargamos la base de datos INFLACION.dta use INFLACION.dta

GENERACIÓN DE VARIABLES CON FORMATO DE FECHA Las variables de tiempo;


fechas en años, semestres, trimestres, meses, semanas y días deben tener un formato especial en el
análisis de serie de tiempo y panel de datos. Los formatos de estas variables en cada caso se
describen a continuación:

Formato Descripción Codificación

%td ó %d Diario 0 = 01jan1960; 1 = 02jan1960

%tw Semanal 0 = 1960w1; 1 = 1960w2

%tm Mensual 0 = 1960m1; 1 = 1960m2

%tq Trimestral 0 = 1960q1; 1 = 1960q2

%th Semestral 0 = 1960h1; 1 = 1960h2

%ty Anual 1960 = 1960; 1961 = 1961

Es posible generar variables con formato de fecha a partir del comando generate. Por ejemplo, para
crear una variable con formato mensual empleamos la siguiente sintaxis:

9
Findit arimafit, Arimafit
Para crear una dummy para una fecha especifica
g dummy = (fecha ==tm(2008m10))
10
BOX G. & JENKINS G. Time Series Analiysis, Forecasting and Control. Holden Day, San Francisco. 1976

106
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Como la base de datos es relativamente pequeña podemos listar la información en la base de datos
por medio del comando list así: list

La variable “fecha” tiene un formato numérico general que corresponde al número de meses desde
1960. En el mes 1 del año 2001 el número de meses transcurridos desde 1960 son 492. Sin
embargo a la variable fecha se le puede dar un formato numérico mensual así:

VARIABLES CON REZAGO

En análisis de serie de tiempo resulta muy útil generar variables con uno o más rezagos. En estos
casos suele acompañarse al comando generate con los operadores [_N] y [_n]. El operador _N se
usa para contar el número total de observaciones en una variable y, el operador _n numera las
observaciones dentro de una variable.

107
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Por ejemplo, podemos generar una variable rezagada un periodo así:


g rezago = inflacion[_n-1]

En este ejemplo se debe tener en cuenta:


 “Inflación” es el nombre de la variable que será rezagada.
 Los corchetes en este caso deben ser cuadrados.
 No puede hacer separación entre la variable a rezagar y el corchete cuadrado de apertura.
 “-1” en este caso indica que la variable “inflacion” será rezagada 1 período.

Al listar las variables “fecha”, “inflacion” y “rezago” se puede visualizar la nueva variable “rezago”
correspondiente a la inflación rezagada un período.

list fecha inflacion rezago

DESIGNANDO LA VARIABLE QUE REPRESENTA AL TIEMPO: Antes de estimar


cualquier modelo de serie de tiempo es necesario que Stata reconozca la variable que representa el
tiempo (en nuestro ejemplo, la variable fecha). Este paso se logra a través del comando tsset así:

tsset fecha, monthly

La opción monthly indica la periodicidad mensual de la variable de tiempo “fecha”.

NOTA: Para hacer pronósticos varios períodos hacia delante es necesario que la variable que
representa el tiempo se extienda tantos períodos hacia delante como períodos de la variable
dependiente se quieran pronosticar. En nuestro ejemplo, 7 períodos hasta diciembre de 2006. Se
dispone de información de inflación hasta mayo de 2006.

108
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

METODOLOGÍA BOX JENKINS (BJ) APLICADA AL CASO DE SELECCIÓN Y


ESTIMACIÓN DE UN MODELO ARMA PARA PRONOSTICO DE LA INFLACIÓN.

BOX JENKINS difundieron una metodología en tres fases para identificar, estimar y validar
modelos de serie de tiempo univariada y generar pronósticos. A continuación seguiremos estos
pasos para obtener un modelo de pronóstico tipo ARMA para la inflación mensual.

1. FASE DE IDENTIFICACIÓN: La primera aproximación a los datos es gráfica. Al


graficar la variable a pronosticar respecto al tiempo obtenemos información sobre posibles
“outliers”, valores perdidos “missing values” o cambios estructurales en la serie de datos.
Así mismo, si la variable a pronosticar es no estacionaria podrán observarse tendencias
pronunciadas o comportamientos sin media y/o varianza constante a través del tiempo. Con
el comando tsline es posible efectuar esta primera constatación así:

tsline inflacion

A su vez es posible constatar si se viola el supuesto de estacionariedad comprobando la existencia


de raíces unitarias por medio de la prueba de DICKEY y FULLER DF (1979) 11. En Stata la prueba
se puede efectuar a través del comando dfuller así:

dfuller inflacion, trend regress lags(7)

Nota: Previamente se comprobó la no que no eran significativos los rezagos 7,…,12 (se probaron
12 rezagos porque la serie es mensual). Para tener en cuenta la tendencia en la prueba se emplea la
opción trend. La opción regress se puede omitir si tan sólo se desea el valor del estadístico DF.
Para omitir la constante se emplea la opción noconstant.

11
DICKEY D. & FULLER W. 1991. Distribution of the Estimates for Autoregressive Time Series With a
Unit Root. Journal of the American Statistical Association 74.

109
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Al 1% de significancia se rechaza la hipótesis de existencia de raíz unitaria, en otras palabras, se


puede pensar que la variable inflación ha sido generada por un proceso estacionario.

El paso a seguir consiste en identificar la naturaleza del proceso generador de datos (en nuestro
ejemplo, la inflación). Para llevar a cabo esta tarea se suele recurrir a las funciones de
autocorrelación (para identificar el componente de media móvil MA del modelo) y autocorrelación
parcial (para identificar el orden la parte autorregresiva AR del modelo). En Stata ambas funciones
se pueden graficar con los comandos ac y pac respectivamente así:

ac inflacion

pac inflacion

110
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

2. FASE DE ESTIMACIÓN: Las funciones de autocorrelación y autocorrelación parcial


sugieren varios procesos ARMA factibles para la inflación. La selección de los modelos
debe tener en cuenta los criterios de parsimonia (menor parametrización posible)
estacionariedad e invertibilidad de la variable dependiente y bondad de ajuste del
modelo. A continuación presentamos una de los posibles procesos ARMA para la inflación.
El comando para estimarlos en Stata es arima y a través de las opciones ar(número de los
rezagos de la variable dependiente separados por comas) ma(número de los rezagos
separados por comas) se puede especificar el componente autorregresivo y de media móvil
así:

arima inflacion tendencia, ar(1,12) ma(5,8,11) robust

Nota: El orden de integración en este caso es 0. Sin embargo a través del prefijo D1., D2.,
D3.,…,etc., antecediendo la variable dependiente (por ejemplo, D1.inflacion, D2.inflacion,

111
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

D3.inflacion,…) se pueden lograr diferenciaciones de orden superior. La opción robust genera una
matriz de varianzas y covarianzas consistente con posibles problemas de heteroscedasticidad.

A través del comando estat ic se puede obtener el criterio de información de Akaike (AIC) y el
criterio bayesiano de Schwartz (BIC) los cuales son las dos medidas más comunes de bondad de
ajuste. Cuanto más pequeño es el valor de los estadísticos (AIC) y (BIC) mejor ajuste tiene el
modelo. Estos criterios se pueden emplear para seleccionar el modelo más apropiado de un conjunto
de posibles modelos.

estat ic

3. FASE DE VERIFICACIÓN Y DIAGNOSTICO: Es muy importante que los residuales


del modelo estimado no estén serialmente correlacionados. Cualquier evidencia de
correlación serial implicaría movimientos sistemáticos en la variable dependiente que no
han sido tenidos en cuenta por los coeficientes incluidos en el modelo ARMA. Para
chequear correlación en los residuales se pueden construir las funciones de autocorrelación
y autocorrelación parcial para los residuales. A través del comando predict seguido de la
opción res podemos estimar los residuales así:

predict residual, res


ac res

112
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

pac res

En una prueba más general, se puede constatar si los residuales son “ruido blanco”, en otras
palabras, tienen media cero, varianza constante y no están serialmente correlacionados. A través del
comando wntestq realizar esta prueba así:

wntestq residual

No hay evidencia para rechazar que la serie de residuales es ruido blanco.

PRONÓSTICOS Finalmente, podemos emplear el modelo para hacer pronósticos. El pronóstico


se puede hacer tantos periodos hacia delante como horizonte temporal tenga la variable de tiempo
“fecha” la cual está definida entre el mes 1 de 2001 y el mes 12 de 2006, mientras que se tiene dato
mensual de inflación hasta el mes 5 de 2006. A través del comando predict seguido de la opción xb
podemos pronosticar la inflación para los siguientes 7 meses así:

predict inf_p, xb

El pronóstico de inflación para el mes 6 de 2006 (según este proceso ARMA) es del 0.366%.
Listamos las variables “fecha”, “inflación” e “inf_p” a través del comando list así:

list fecha inflacion inf_p

113
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Finalmente, a través del comando tsset es posible visualizar los valores observados y pronosticados
de la inflación hasta diciembre de 2006.

tsline inflacion inf_p

EJERCICIO:
24. Replique las fases 1, 2 y 3 de la metodología de BJ para generar un proceso ARMA para la
inflación.

25. Comparé entre varios modelos posibles la bondad de ajuste de los mismos para seleccionar el
mejor modelo.

26. Pronostique la inflación para los próximos 6 meses y grafique los resultados frente a los valores
observados.

114
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

7 MODELOS DE VARIABLE DEPENDIENTE DICOTÓMICA


MODELOS LOGIT Y PROBIT

Si queremos analizar los factores que determinan que una persona participe o no en el mercado
laboral, o que un individuo apoye o no a un determinado candidato político, o que un estudiante
alcance o no la titulación. Todas esas variables de análisis pueden tomar uno de dos valores:
participación vs. no participación; apoyo vs. no apoyo; titulación vs. no titulación. Esa característica
recibe el nombre de respuesta binaria o dicotómica.

En la encuesta CASEN 2006 se encuentra la variable ACTIV, que considera a la población en edad
de trabajar (15 años y superior). El comando “tab” acompañado de los pesos relativos nos permite
alcanzar una descripción de la condición actividad en Chile para dicho año:

ACTIVIDAD Freq. Percent Cum.


Ocupados 6,578,325 53.11 53.11
Desocupados 519,357 4.19 57.3
Inactivos 5,288,175 42.7 100

Total 12,385,857 100

De la Población en Edad de Trabajar el 53% se encontraba ocupada, el 4% de la población se


encontraba desempleada y un 42% no se estaba ni trabajando ni buscando empleo. La Población
Económicamente Activa está determinada por aquella población ocupada o buscando activamente
empleo, por lo que el 57% participaba activamente en el mercado laboral. Podemos generar una
variable de participación a partir la variable ACTIV. La siguiente cadena de comandos genera la
variable PARTI:

gen PARTI=1 if ACTIV==1 | ACTIV==2


recode PARTI (mis=0) if ACTIV==3
label variable PARTI "Participa en el mercado laboral"
label define part 1 "si" 0 "no"
label values PARTI part
tab PARTI [w=EXPR]

Participa Freq. Percent Cum.


No 5,288,175 42.7 42.7
Si 7,097,682 57.3 100
Total 12,385,857 100

Para el propósito de este ejemplo vamos a considerar las variables de género, edad, estado civil,
nivel de estudios, nivel de ingresos del hogar, relación con el jefe de hogar y el número de personas
en el hogar. Sin embargo, en un modelo ampliado podrían considerarse otras variables.

Algunas de las opciones que se pueden utilizar para analizar la variable de participación son:
-Modelo de regresión logística (el usado en el presente ejemplo)

115
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

-Modelo de regresión probabilística. Los resultados bajo este tipo de análisis producen resultados
similares a los resultados de la regresión logística. La escogencia entre uno y otro modelo depende
de las preferencias del investigador. Estos dos modelos construyen una función de probabilidad
acerca de la ocurrencia del evento a describir, (en este caso que un individuo participe en el
mercado laboral) y la diferencia está en la forma funcional que asume cada modelo12.

-Mínimos cuadrados ordinarios. Cuando se utiliza esta metodología sobre una variable dicotómica
se le conoce como un modelo lineal de probabilidad. Sin embargo, los residuos de la estimación
violan los supuestos de homocedasticidad y de normalidad del modelo clásico, lo que resulta en
errores estándar y pruebas de hipótesis inválidas13.

REPRESENTACIÓN DE LAS RELACIONES ENTRE VARIABLES

Participación y Género
4,000,000
3,000,000
PARTICIPAN

2,000,000
1,000,000

Hombre Mujer

Participa en el Mercado Laboral


Sexo no si Total
Hombre 1,622,038 4,303,680 5,925,718
Mujer 3,666,137 2,794,002 6,460,139
Total 5,288,175 7,097,682 12,385,857

Participación y Nivel Educativo

12
La función logística es y la función probabilística es , donde z es una combinación
lineal de las variables independientes y es la función cumulativa de la distribución normal.

116
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Hombre Mujer

1
.8
.6
.4
.2
0

BASICA INC

BASICA INC
BASICA COMP

TEC. O UNI. COMP

BASICA COMP

TEC. O UNI. COMP


SIN EDUC.
TEC. O UNI. INC.

TEC. O UNI. INC.


M.HUM. COMPL

M.HUM. COMPL
M.HUM. INCOM

M.HUM. INCOM
SIN EDUC.

Graphs by Sexo

Comparar el número de participantes entre los diferentes niveles educativos, no hace sentido cuando
las poblaciones no son comparables en términos relativos. Si la Tasa Global de Participación está
determinada por la cantidad de personas que participan en el mercado laboral sobre el PET, para
comprender el efecto del nivel educativo se deben comparar las tasas globales de participación para
cada grupo. El promedio aritmético de la variable PARTI nos dará la TGP total y para diferentes
grupos.

Participación y Edad
Hombre Mujer
1
.8
.6
TGP

.4
.2
0

25 30 35 40 45 50 25 30 35 40 45 50
Edad
Graphs by Sexo

117
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

EL MODELO

El comando logit (probit) nos permite obtener los resultados de la estimación logística
(probabilística). La estimación se hace a través de la metodología de máxima verosimilitud por lo
que en el proceso de estimación, Stata primero muestra las iteraciones necesarias para alcanzar la
convergencia.

Cuando existen variables categóricas con más de dos categorías (parentesco, estado civil) Stata las
puede codificar automáticamente para que cada una de las categorías cuente como una dummy.
Para eso se antepone el prefijo “xi:” frente a toda la expresión de la regresión y el prefijo “i.” antes
de cada variable.

El comando para nuestra regresión sería:

xi: logit PARTI EDAD ESC NUMPER YTOTHAJ i.PCO1 i.ECIVIL [w=EXPR], or

En este caso las variables de parentesco con el jefe de hogar (PCO1) y de estado civil (ECIVIL) son
codificadas por Stata y la codificación responde al orden en que las variables categóricas adoptan
valores. Por ejemplo PCO1, ordinalmente la primera etiqueta es “Jefe de Hogar” y Stata crea una
dummy _IPCO1_1 para nombrarla. En la siguiente tabla hemos cambiado los nombres por los
valores de las categorías.

A través del menú se puede acceder a través de la siguiente ventana:

118
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

INTERPRETACIÓN DE RESULTADOS

Logistic regression Number of obs = 12350554


LR chi2(26) = 5343508.93
Prob > chi2 = 0.0000
Log likelihood = -5757734.7 Pseudo R2 = 0.3170

PARTI Coef. Std. Err. z P>z [95% Conf. Interval]


EDAD 1.405421 0.0004208 1136.8 0.000 1.404597 1.406246
EDAD2 0.9959793 3.35E-06 -1197 0.000 0.9959728 0.9959859
ESC 1.079306 0.0002364 348.4 0.000 1.078843 1.07977
NUMPER 0.9488846 0.0004178 -119.15 0.000 0.948066 0.9497039
ln_yh 1.411687 0.001251 389.07 0.000 1.409237 1.414141
SEXO 0.2841959 0.0005004 -714.53 0.000 0.2832169 0.2851784
Esposo(a)/pareja 0.2011062 0.000529 -609.71 0.000 0.200072 0.2021458
Hijo(a) de ambos 0.3484257 0.0012295 -298.8 0.000 0.3460244 0.3508438
Hijo(a) sólo del jefe 0.4514981 0.0016216 -221.4 0.000 0.4483311 0.4546876
Hijo(a) sólo pareja 0.4635512 0.0032046 -111.22 0.000 0.4573128 0.4698748
Padre o madre 0.4341893 0.0040822 -88.74 0.000 0.4262617 0.4422644
Suegro(a) 0.2939172 0.0037459 -96.07 0.000 0.2866663 0.3013516
Yerno o nuera 0.5033273 0.0028171 -122.66 0.000 0.4978361 0.5088792
Nieto(a) 0.3610026 0.0019264 -190.93 0.000 0.3572466 0.3647982
Hermano(a) 0.4379944 0.0027837 -129.9 0.000 0.4325723 0.4434844
Cuñado(a) 0.3344293 0.0033597 -109.03 0.000 0.3279089 0.3410794
Otro familiar 0.5141375 0.0031495 -108.6 0.000 0.5080015 0.5203477
No familiar 0.5903649 0.0046445 -66.99 0.000 0.5813316 0.5995385
Serv. Doméstico PA 1648.008 141.3405 86.37 0.000 1393.017 1949.674
Conviviente o pareja 1.592905 0.0039783 186.41 0.000 1.585126 1.600721
Anulado(a) 0.9038334 0.0149046 -6.13 0.000 0.8750879 0.9335232
Separado(a) 1.309596 0.0051878 68.09 0.000 1.299467 1.319803
Divorciado 0.7064578 0.0132978 -18.46 0.000 0.6808696 0.7330077
Viudo(a) 0.6516602 0.0030059 -92.84 0.000 0.6457954 0.6575784
Soltero(a) 0.940806 0.0029598 -19.4 0.000 0.9350227 0.946625
Sin dato 0.4601236 0.0165179 -21.62 0.000 0.4288618 0.4936642

Los primeros resultados observados anteriormente se refieren al máximo de la función de


verosimilitud, que puede ser utilizado como un criterio de información para comparar modelos
anidados (nested). Por ejemplo si adicionamos más variables a nuestro modelo y mantenemos las
mismas, esos dos modelos estarán anidados porque el modelo extendido (el nuevo) contiene al
modelo reducido (con menos variables).

También podemos observar que del total de observaciones iniciales con descripción de
participación (12,385,857) hemos perdido algunas observaciones por los missing values en las
variables que utilizamos para analizar el modelo.
119
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

La prueba de hipótesis de significancia conjunta del modelo está establecida por la razón de
verosimilitud que se distribuye como una Chi-cuadrado con k+1 g.l.. Stata presenta el estadístico
(LR chi2 (25)) y su p value. La interpretación es que nuestro modelo representa mejor a los datos
que un modelo sin variables.

Para la interpretación de la relación entre las variables independientes e independientes, el


coeficiente nos da un efecto parcial (el signo) y nos da el efecto total sobre la función lineal z, pero
no sobre la función de probabilidad de ocurrencia de la variable dependiente. Lo anterior debido a
que un cambio en una variable dependiente genera un cambio sobre la probabilidad de ocurrencia
que depende del nivel de todas las demás variables consideradas. La significancia de las variables
está testeada individualmente en el resultado de la estimación y la interpretación es igual al caso de
regresión lineal clásica.

Odds - Ratio (p/q). La interpretación de los coeficientes de las variables categóricas14 viene de la
relación entre el coeficiente y el logaritmo del radio de probabilidad de ocurrencia del evento (log
odds ratio) es igual a . El odds ratio aproxima el qué tanto es más probable que el evento ocurra
dado que se tiene la característica descrita por la variable categórica con respecto a la referencia.
Para observar el odds ratio , directamente se puede combinar la opción “or” con el comando “logit”.

En el caso de nuestro ejemplo, las mujeres son menos propensas a participar en el mercado laboral
hasta en un 72%, teniendo en cuenta que el coeficiente fue de -1.25. Las otras variables categóricas
generaron cada una subsecuentes variables dicotómicas, y la interpretación se hace en comparación
a la referencia.

La relación entre los coeficientes y la probabilidad en el caso de las variables continuas es un poco
más compleja, la comparación se hace con la distancia a la media. Sin embargo, la dirección del
efecto sobre la probabilidad es igual al efecto sobre la función lineal “z”.

En el ejemplo un aumento en el salario también aumenta la participación relativa de una personal


igual que la escolaridad. Un aumento de un 1% en el salario con respecto a la media ($351,000)
hace que la razón de participar en el mercado laboral (vs. no participar) aumente con un factor de
1.41 (= exp(0.3447)). Un aumento de la edad aumenta la probabilidad de participar en el mercado
laboral, pero a una tasa decreciente. El número de personas en el hogar disminuye la probabilidad
de que no se participe

POST – ESTIMACIÓN

Un primer paso de la post estimación consiste en probar la significancia conjunta de las variables
dummies que conforman las categóricas. Para esto se puede correr una prueba de Wald ajustada a
través del comando “test”. Por ejemplo, podemos rechazar la hipótesis nula de que la variable de
estado civil es conjuntamente no significativa:

test _IECIVIL_2 _IECIVIL_3 _IECIVIL_4 _IECIVIL_5 _IECIVIL_6 _IECIVIL_7 _IECIVIL_9

( 1) [PARTI]_IECIVIL_2 = 0
( 2) [PARTI]_IECIVIL_3 = 0

14
Para una prueba formal ver Applied Logistic Regression p.50.

120
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

( 3) [PARTI]_IECIVIL_4 = 0
( 4) [PARTI]_IECIVIL_5 = 0
( 5) [PARTI]_IECIVIL_6 = 0
( 6) [PARTI]_IECIVIL_7 = 0
( 7) [PARTI]_IECIVIL_9 = 0

chi2( 7) =60644.47
Prob > chi2 = 0.0000

Para obtener las probabilidades estimadas, que es lo que finalmente deseamos saber, Stata 11 creo
el comando “margins”. El siguiente comando va a modelar todas las probabilidades para cada valor
de SEXO, empezando por el 0 hasta 1 con un ancho de intervalo de 1.

margins, at(SEXO=( 0 (1) 1)) atmeans

Variable Valor Ancho Valor


de Interés Inicial Intervalo Final

Predictive margins Number of obs = 12350554


Model VCE : OIM

Expression : Pr(PARTI), predict()


1._at : ...(lista de medias)
SEXO = 0
…(lista de medias
2._at : …(lista de medias)
SEXO = 1
…(lista de medias)

[95%
Margin Std. Err. z P>z Conf. Interval]
_at
1 0.7362227 0.0002468 2982.78 0.0000 0.7357389 0.7367065
2 0.4423416 0.0002768 1598.17 0.0000 0.4417992 0.4428841

La probabilidad de que una persona trabaje siendo hombre (1. at SEXO = 0) es el 73.6%, mientras
que la probabilidad de que una persona trabaje siendo mujer es de 44.2%, manteniendo todas las
demás variables en su media.

Si quiere fijarse el valor de más de una variable, o fijar los intervalos de variables continuas, o en
cortes de distribución de las variables independientes:
margins, at(SEXO=(0(1)1) PCO1=1) atmeans noatlegend
margins, at(ln_yh=(11 11.5 12 13 13.5) PCO1=1) atmeans noatlegend
margins, at((p25) _all) atmeans noatlegend
margins, at((p25) _all (mean) ESC ) atmeans noatlegend

121
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

8 MODELOS DE DATOS PANEL O LONGITUDINALES

Un conjunto de datos panel (o longitudinales) consta de una serie temporal para cada
miembro del corte transversal en el conjunto de datos. Como ejemplo, supongamos que
tenemos salario, educación y experiencia de un grupo de individuos a los que se les hace
seguimiento por 5 años. De igual forma es posible recopilar información en unidades
geográficas. Por ejemplos, datos de municipios de un país sobre impuestos, salarios, gastos
estatales, niveles de educación, entre otros.
La característica principal de los datos panel, que los distinguen de las combinaciones de
cortes transversales, es el hecho de que se da seguimiento a las mismas unidades
transversales ya sean individuos, países, regiones, entre otros, durante cierto período de
tiempo.
Como los datos de panel exigen la repetición de las mismas unidades con el tiempo, los
conjuntos de estos datos, en particular de los individuos, hogares y empresas, son más
difíciles de conseguir que en las combinaciones de cortes transversales. La ventaja es que al
tener las mismas unidades es posible controlar ciertas características inobservadas de
individuos, empresas, etc.
Es decir es posible capturar inferencias causales que no es posible capturar con los cortes
transversales. La segunda ventaja de los datos panel es que permite estudiar la importancia
de los rezagos en el comportamiento o el resultado de tomar una decisión. Esta información
puede ser significativa, puesto que es de esperar que muchas políticas económicas tengan
efecto sólo al paso del tiempo.

La idea de los panel es poder capturar esos factores inobservables, por ejemplo, lo que
influye en el salario de un individuo en 1990 también influirá en el mismo individuo en
1991, ese factor inobservable puede ser la capacidad o habilidades.

8.1 ANÁLISIS DE DATOS PANEL

El principal objetivo de aplicar y estudiar los datos en panel, es capturar la heterogeneidad


no observable, ya sea entre agentes económicos o de estudio asó como también en el
tiempo, dado que esta heterogeneidad no se puede detectar ni con estudios de series
temporales ni tampoco en corte transversal.

La aplicación de esta metodología permite analizar dos aspectos de suma importancia


cuando se trabaja con este tipo de información y que forman parte de la heterogeneidad no
observable: i) los efectos individuales específicos y ii) los efectos temporales.
En lo que se refiere a los efectos individuales específicos, se dice que estos son aquellos
que afectan de manera desigual a cada uno de los agentes de estudio contenidos en la
muestra (individuos, empresas, bancos) los cuales son invariables en el tiempo y que
afectan de manera directa las decisiones que tomen dichas unidades. Usualmente se

122
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

identifica este tipo de efectos con cuestiones de capacidad empresarial, eficiencia operativa,
capitalización de la experiencia, acceso a la tecnología, etc.

Los efectos temporales serían aquellos que afectan por igual a todas las unidades
individuales del estudio pero que no varían en el tiempo. Este tipo de efectos pueden
asociarse, por ejemplo, a los choques macroeconómicos que pueden afectar por igual a
todas las empresas o unidades de estudio.

VENTAJAS DE ESTIMACIÓN POR PANEL

 La técnica permite al investigador económico disponer de un mayor número de


observaciones incrementando los grados de libertad y reduciendo la colinealidad
entre las variables explicativas y, en última instancia, mejorando la eficiencia de las
estimaciones econométricas.

 Tal y como se mencionó anteriormente, la técnica permite capturar la


heterogeneidad no observable ya sea entre unidades individuales de estudio como
en el tiempo. Con base en lo anterior, la técnica permite aplicar una serie de pruebas
de hipótesis para confirmar o rechazar dicha heterogeneidad y cómo capturarla.

 Los datos en panel suponen, e incorporan en el análisis, el hecho de que los


individuos, firmas, bancos o países son heterogéneos. Los análisis de series de
tiempo y de corte transversal no tratan de controlar esta heterogeneidad corriendo el
riesgo de obtener resultados sesgados.

 Permite estudiar de una mejor manera la dinámica de los procesos de ajuste. Esto es
fundamentalmente cierto en estudios sobre el grado de duración y permanencia de
ciertos niveles de condición económica (desempleo, pobreza, riqueza).

 Permite elaborar y probar modelos relativamente complejos de comportamiento en


comparación con los análisis de series de tiempo y de corte transversal. Un ejemplo
claro de este tipo de modelos, son los que se refieren a los que tratan de medir
niveles de eficiencia técnica por parte de unidades económicas individuales
(empresas, bancos, etc).

Desventajas

 En términos generales, las desventajas asociadas a la técnica de datos de panel se


relacionan con los procesos para la obtención y el procesamiento de la información
estadística sobre las unidades individuales de estudio, cuando esta se obtiene por
medio de encuestas, entrevistas o utilizando algún otro medio de levantamiento de
los datos. Ejemplos de este tipo de limitaciones son: cobertura de la población de
interés, porcentajes de respuesta, preguntas confusas, distorsión deliberada de las
respuestas, etc.

123
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

8.2 ANÁLISIS DE DATOS PANEL DE DOS PERÍODOS


Utilizando la base de datos CRIME2.dta, tenemos t = 1 y t = 2, la base contiene los índices
de delincuencia y de desempleo de 46 ciudades para 1982 y 1987, por lo tanto t = 1 = 1982
y t = 2 = 1987. Si hacemos una regresión t = 2, qué coeficiente se esperaría para la variable
desempleo?, son significativos los coeficientes?
Los resultados son:
. reg crmrte unem if year == 87

Source SS df MS Number of obs = 46


F( 1, 44) = 1.48
Model 1775.90927 1 1775.90927 Prob > F = 0.2297
Residual 52674.6465 44 1197.15106 R-squared = 0.0326
Adj R-squared = 0.0106
Total 54450.5558 45 1210.01235 Root MSE = 34.6

crmrte Coef. Std. Err. t P>|t| [95% Conf. Interval]

unem -4.161134 3.416456 -1.22 0.230 -11.04655 2.72428


_cons 128.3781 20.75663 6.18 0.000 86.54589 170.2104

Si se interpreta el resultado se observa que un aumento en el índice de desempleo


disminuye el delictivo. Es significativo y coherente?.
El problema puede ser causado por variables omitidas tales como edad, género, educación.
Pero por medio de datos panel es posible observar como la inclusión del año 82 puede
ayudar a controlar el hecho de que distintas ciudades tienen históricamente diferentes
índices de delincuencia.

Por medio de análisis de datos agrupados, se hace el análisis que el efecto inobservable es
de dos tipos, el constante y el que varía en el tiempo. En la ecuación anterior la constante es
t = 1, y t =2 es Bo + δo.

La variable ai captura todos los efectos inobservables constantes en el tiempo que influyen
en Yit, ai es denominada EFECTO INOBSERVABLE, en este caso denominada EFECTO
FIJO, dado que no se modifica en el tiempo. La ecuación anterior es un modelo de
EFECTOS INOBSERVABLES O MODELO DE EFECTOS FIJOS. Uit se denomina error
idiosincrático o error de variación temporal., pues representa factores inobservables que
cambian en el tiempo. De acuerdo al ejemplo anterior, el modelo a estimar es

La variable d87, será el efecto fijo en este caso URBANO, que pueden ser las
características demográficas, si no hay un cambio en las políticas puede encontrarse la
educación, la raza y la edad. Ahora por los supuestos de MCO, U no debe estar
correlacionado con las X, por lo tanto se hace un cambio en la ecuación

124
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Donde Vit = ai + uit, se denomina ERROR COMPUESTO. Realizando la estimación del


ejemplo

. reg crmrte unem d87

Source SS df MS Number of obs = 92


F( 2, 89) = 0.55
Model 989.717223 2 494.858612 Prob > F = 0.5788
Residual 80055.7995 89 899.503365 R-squared = 0.0122
Adj R-squared = -0.0100
Total 81045.5167 91 890.610074 Root MSE = 29.992

crmrte Coef. Std. Err. t P>|t| [95% Conf. Interval]

unem .4265473 1.188279 0.36 0.720 -1.934538 2.787633


d87 7.940416 7.975325 1.00 0.322 -7.906385 23.78722
_cons 93.42025 12.73947 7.33 0.000 68.10719 118.7333

El resultado no es bueno, dados la insignificancia, lo que indica que el supuesto de no


correlación está afectado el modelo, además, MCO con variables dicotómicas no soluciona
el problema de variables omitidas, además, uno de los objetivos de panel es capturar
correlaciones entre a y X.
En la mayor parte de las aplicaciones, la razón de data panel es permitir que el efecto
inobservable se correlacione con las variables explicativas. Por ejemplo, en la delincuencia,
deseamos dejar que los factores urbanos no contemplados en ai que influyen en el índice de
delincuencia, se correlacionen también con el índice de desempleo.
Es sencillo realizarlo: Como ai es constante en el tiempo, diferenciamos a lo largo de los
dos años. De manera se escribe la ecuación de esta forma

El efecto ai es eliminado al diferenciar, la ecuación anterior es denominada ecuación de


diferencia de primer orden. Lo importante es que no exista correlación entre U y X. Para
poder estimar este modelo debe haber cambio en las X, dado que si hay una variable que no
cambie, como por ejemplo el sexo de una persona la estimación es incorrecta. Reestimando
este modelo tenemos

125
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

. reg ccrmrte cunem

Source SS df MS Number of obs = 46


F( 1, 44) = 6.38
Model 2566.43744 1 2566.43744 Prob > F = 0.0152
Residual 17689.5497 44 402.035219 R-squared = 0.1267
Adj R-squared = 0.1069
Total 20255.9871 45 450.133047 Root MSE = 20.051

ccrmrte Coef. Std. Err. t P>|t| [95% Conf. Interval]

cunem 2.217999 .8778658 2.53 0.015 .4487771 3.987222


_cons 15.4022 4.702117 3.28 0.002 5.92571 24.8787

by var35: gen ccrmrte= crmrte - crmrte[_n-1]

El resultado ahora proporciona una relación positiva, entre los índices. La interceptción
revela que cuando el cambio en el desempleo = 0, el índice delicitivo es de 15.4, esto
refleja un aumento secular en los índices delictvos en USA de 1982 a 1987.

Ejercicio 1
1. Use la base de datos SLP75_81.dta para estimar el intercambio entre el tiempo
dedicado a dormir y a trabajar. El modelo es descrito por

Estime el modelo correspondiente e intérprete.


2. Utilice la base CRIME3.dta y estime el siguiente modelo diferenciándolo

El modelo de índice de delincuencia para Noruega, tiene como dependiente el porcentaje de


casos resuletos, los rezagos van a permitir que se observe si el índice de casos resueltos
pasados ejerce influencia sobre el índice de hoy. Si son significativos indicaría que un
mayor porcentaje de casos resueltos hace t períodos disuadiría delitos de este año. Qué
decisión de política tomaría usted?

8.3 ANÁLISIS DE POLÍTICAS POR MEDIO DE DATOS PANEL

Dado que se hace un seguimiento a los mismos individuos, nos permite analizar después de
cierta implementación de política su efecto, permitiendo tener grupos de control. El
siguiente ejemplo es para observar el efecto de las leyes de conducir en estado de ebriedad
con las muertes de tránsito.

La ley implementada es la ley sobre recipientes abiertos, la cual se vuelve ilegal contener
recipientes de bebidas alcohólicas dentro del vehículo, se desea comparar contra la ley
administrativa que cancela la licencia una vez el conductor es encontrado en estado de
embriaguez, el archivo TRAFFIC1.DTA contiene datos de 1985 y 1990 para los 50 estados
y el distrito de Columbia. La variable dependiente es el número de muertes de transito por
cada 100 millones de millas conducidas (dhrte). Estime el modelo en diferencias para dhrte

126
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

con respecto a la variable open la que indica si contaba o no con la ley, y la variable admin,
que indica la existencia de la ley administrativa.

Cuál ley tiene mayor efecto?.

8.4 ANÁLISIS DE MÁS DE DOS PERÍODOS

El modelo para tres períodos es dado por

El intercepto para el primer período es δ1 y para el segundo es δ1+δ2. Para hacer el


análisis de más períodos simplemente se diferencia la ecuación anterior, resultando

Al realizar el procedimiento anterior el intercepto no se incluye, pero en muchas ocasiones


este intercepto es necesario, por lo tanto se reajusta la ecuación anterior y se incluye
solamente un período de tiempo.

De manera general

Este tipo de análisis es muy útil para análisis de políticas.

Utilizando la base de datos EZUNEM.dta, con la cual se busca capturar el efecto de las
zonas empresariales en los reclamos de los seguros de desempleo, la variable ZE captura el
efecto del programa de zonas empresariales en los reclamos del seguro de desempleo. Se
analizaron 22 ciudades de 1980 a 1988, la variable de estudio es UCLMS la cual indica el
número de reclamos de seguro de desempleo del año t y la ciudad i. El modelo a estimar es

La variable dependiente en la ecuación es la tasa de crecimiento anual aproximada de los


reclamos del seguro de desempleo del año t- 1 a t. el tamaño de la muestra es 22*8 = 176.

127
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

. reg guclms d82-d88 cez

Source SS df MS Number of obs = 176


F( 8, 167) = 34.50
Model 12.8826331 8 1.61032914 Prob > F = 0.0000
Residual 7.79583815 167 .046681666 R-squared = 0.6230
Adj R-squared = 0.6049
Total 20.6784713 175 .118162693 Root MSE = .21606

guclms Coef. Std. Err. t P>|t| [95% Conf. Interval]

d82 .7787595 .0651444 11.95 0.000 .6501469 .9073721


d83 -.0331192 .0651444 -0.51 0.612 -.1617318 .0954934
d84 -.0171382 .0685455 -0.25 0.803 -.1524655 .1181891
d85 .323081 .0666774 4.85 0.000 .1914417 .4547202
d86 .292154 .0651444 4.48 0.000 .1635413 .4207666
d87 .0539481 .0651444 0.83 0.409 -.0746645 .1825607
d88 -.0170526 .0651444 -0.26 0.794 -.1456652 .1115601
cez -.1818775 .0781862 -2.33 0.021 -.3362382 -.0275169
_cons -.3216319 .046064 -6.98 0.000 -.4125748 -.2306891

La presencia de Zonas Empresariales hace que los reclamos del seguro se reduzcan en
aproximadamente (exp(-1.818) – 1) el 16.6%. los demás parámetros indican la intercepción
en cada t, indicando si bajaron o subieron los reclamos del seguro de desempleo.

Ejercicio 2.
1. Utilizando la base CRIME4.DTA , la cual es el índice de delincuencia en Carolina
del Norte, desde 1981 a 1987, la variable a estudiar CRMRTE es el índice de
delincuencia, PRBARR es la probabilidad estimada de arresto, PRBCON es la
probabilidad de condena dado un arresto, PRBPRIS es la probabilidad de cumplir
una sentencia en prisión dada una condena, LAVGSENS es la duración de la
sentencia promedio cumplida y POPLC es el número de efectivos policiacos per
cápita, de los 90 condados estudiados. Estime el modelo diferenciado y analice la
existencia de heterocedasticidad y corrija si es el caso.

TALLER15
1. Utilice el archivo GPA3.DTA para este ejercicio. El conjunto de datos es para 366
estudiantes atletas de una universidad grande para los semestres de otoño y primavera.
Como se cuenta con dos términos de datos para cada estudiante, resulta adecuado un
modelo de efectos inobservables. La primera interrogante de interés es la siguiente.
Tiene un menor aprovechamiento en la escuela los atletas durante el semestre en que si
deporte está en temporada?

a. Determine los estimadores de MCO agrupados para el modelo que tiene como
variable dependiente GPA (trmgpa) y como explicativas spring, sat, hsperc,

15
Wooldridge. Introducción a la econometría

128
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

female, black, white, frstsem, tothrs, crsgpa, y season. Interprete el coeficiente


de season. Es estadísticamente significativo?
b. La mayoría de los atletas que realizan su deporte sólo en el otoño son jugadores
de fútbol americano. Suponga que sus niveles de capacidad difieren en forma
sistemática de los otros atletas. Si no se captura adecuadamente la capacidad por
medio de las puntuaciones de la prueba de aptitud académica SAT( Scholastic
Aptitute test) y el percentil de preparatoria hsperc. Explique por qué los
estimadores obtenidos estarían sesgados?
c. Ahora utilice los datos diferenciados a través de los dos términos. Qué variables
se descartan?. Ahora pruebe el efecto del deporte de temporada
d. Considera que hay una o más variables potencialmente importantes, que varían
en el tiempo y que se hayan omitido en el análisis

2. El archivo VOTE2.DTA incluye datos de panel sobre las elecciones para la cámara de
representantes de los estados unidos de 1988 y 1990. Sólo los ganadores de 1988 que
también estaban compitiendo en 1990 están en la muestra; se trata de los titulares del
cargo. Un modelo de efectos inobservables que explica la parte del voto de los títulos
del cargo en términos de gastos de los dos candidatos es

En donde incshres la parte del total de gastos de campaña de los titulares del cargo en
porcentaje. El efecto inobservable ai , contiene características del titular del cargo – como la
calidad- además de cosas sobre el distrito que son constantes. El género y el partido del
titular son constantes en el tiempo, de modo que estos se agregan en ai. Nos interesa el
efecto de los gastos de la campaña en los resultados de las elecciones.
a. Diferencie la ecuación dada a lo largo de los dos años y estime la ecuación en
diferencias por MCO. Cuáles variables son significativas al 5%.
b. En la ecuación anterior, haga una prueba de significancia conjunta de las
variables D.loginexp y D.logchexp
c. Vuelva a estimar la ecuación del punto a., pero solamente estime contra la
variable D.inchsr. Interprete el coeficiente. Por ejemplo, si los gastos del titular
aumentan en un 10%. Cómo se predice que esto influya en la parte proporcional
de los votos del titular del cargo?

3. Utilizando la base JTRAIN.dta (capacitación), para determinar el efecto del subsidio


para la capacitación laboral sobre las horas de capacitación para el trabajo por
empleado. El modelo básico para los tres años es

a. Estime la ecuación en la primera diferencia. Cuántas empresas se emplean


en la estimación?, cuántas observaciones totales se utilizarían si cada

129
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

compañía tuviera datos sobre todas las variables, en particular sobre hrsemp
para los tres períodos
b. Interprete el coeficiente de grant y comente si es significativo
c. Es sorprendente que grant-1 sea no significativo?
d. Las empresas más grandes capacitan más o menos, en promedio, a sus
empleados. Qué tan grandes son las diferencias en la capacitación?

8.5 EFECTOS FIJOS

La primera diferencia es sólo una de las formas de eliminar el efecto fijo, ai, el método más
usado se denomina estimación de Efectos Fijos. El modelo consiste en realizar la siguiente
transformación para el siguiente modelo

Se calcula el promedio de cada variable

Donde en la última ecuación se encuentran los datos centrados, a ésta transformación se le


denomina Transformación Intra-Grupos, que desaparece el efecto inobservable, se estima
por MCO, a estos estimadores se denominan estimadores de Efectos Fijos o Intra –Grupo
(within), los cuales aprovechan la variación temporal en y y x dentro de cada observación
transversal.

En este modelo se supone la existencia de correlación entre ai y X, en caso de no existir


correlación la estimación se realiza por Efectos Aleatorios. Lastimosamente los coeficientes
de la última ecuación no permite una interpretación de los coeficientes.

En algunas ocasiones es de interés estimar el panel para analizar las intercepciones


estimadas, es decir, ai, esto sucede en el caso que se desee estudiar la distribución asociada,
o si se desea tomar una determinada empresa o ciudad para ver si su ai, está por encima o
por debajo de su valor promedio muestral.
Efectos fijos o primera diferencia?

La primera diferencia generalmente es más fácil de calcular en el caso de que el programa


econométrico no cuente con la estimación correspondiente, ambos estimadores son
insesgados y consistentes. Cuando las Uit no se correlacionan serialmente, los estimadores
de EF son más eficientes, cuando T es grande y N pequeño, el estimador de EF
generalmente presenta problemas dado que N hace que no se cumplan algunos supuestos y
se recomienda usar primera diferencia.

130
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

8.6 EFECTOS ALEATORIOS


Teniendo

Al utilizar efectos fijos o la primera diferencia, el objetivo es eliminar ai,dado que se


considera que se correlaciona con una o más de las X, pero si no están correlacionadas y se
estima un modelo por EF, el estimador es insesgado.

La ecuación anterior se vuelve Efectos Aleatorios cuando se supone que el efecto


inobservable no se correlaciona con cada variable explicativa. El estimador de EA es dado
por

Donde λ es una transformación de la varianza, que permite eliminar la correlación serial en


los errores. A esta transformación se le denomina datos casi centrados, esta transformación
permite que las variables explicativas sean constantes en el tiempo, y está es una ventaja de
los EA sobre EF y primera diferencia.

Ejercicio

Usando la base de datos WAGEPAN.dta para estimar la ecuación de salario para los
hombres. Debe emplear los tres métodos de estimación, MCO agrupados, EA y EF., la
variable dependiente es lwage, y las explicativas, educación (educ), la raza (black) y el
origen (hisp), la experiencia y la experiencia al cuadrado, si es casado o no (married), y si
pertenece a una asociación sindical (union).
Cuál es el efecto de estar casado?, a qué se deberá?

8.7 ANÁLISIS DE DATOS PANEL EN Stata


Stata con un conjunto de procedimientos que le permiten al usuario trabajar bases de datos
de Stata, para ello se debe utilizar el prefijo xt, el cual le indica a Stata que se está
trabajando con datos panel. Los comandos para iniciar Stata con panel y hacer su
descripción son:
 Identificador de bases de datos de Stata
xtset id t
 Descripción de bases de datos tipo panel
xtdescribe
 Resumen de estadísticas con variaciones WITHIN y BETWEEN
xtsum id t lwage ed exp exp2 wks south tdum1
 Tabulación de datos para una variable panel
xttab south

131
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

 Calculo de probabilidades de transición para una variable


xttrans south, freq

8.8 ESTRUCTURA DE BASES DE DATOS PANEL

Stata requiere un ajuste de la base de datos panel, dado que solo trabaja con bases de datos
micropanel, es decir con N grande y T pequeño.
Reshape
reshape long stubnames, i(varlist) [options]
reshape wide stubnames, i(varlist) [options]
WIDE
i ....... x_ij ........
id sex inc80 inc81 inc82
-------------------------------
1 0 5000 5500 6000
2 1 2000 2200 3300
3 0 3000 2000 1000

En la base de datos en forma horizontal (wide form), existe una sola observación por id, pero más
de una variable por ingreso.

LONG
i j x_ij
id year sex inc
-----------------------
1 80 0 5000
1 81 0 5500
1 82 0 6000
2 80 1 2000
2 81 1 2200
2 82 1 3300
3 80 0 3000
3 81 0 2000
3 82 0 1000

En la base de datos de forma vertical (long form) se puede observar que existe una variable que es
contante al interior de un grupo, en este caso el id, tenemos una variable que varía en el interior del
grupo que es el año.

De Long a Wide
reshape wide stub, i(i) j(j) – j es una variable existente
De Wide a Long
reshape long stub, i(i) j(j) – j es una nueva variable

 Wide form data (observation is a state)

use mus08cigarwide.dta, clear

132
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

list, clean
 Convert from wide form to long form (observation is a state-year pair)

reshape long lnp lnc, i(state) j(year)


 Long-form data (observation is a state)

list in 1/6, sepby(state)


 Reconvert from long form to wide form (observation is a state)

reshape wide lnp lnc, i(state) j(year)

Ejercicio
Replique los ejemplos presentados sobre este comando en help reshape

8.9 REGRESIÓN AGRUPADA

El enfoque más simple de analizando datos tipo panel es omitir las dimensiones del espacio
y el tiempo de los datos agrupados y sólo calcular la regresión MCO. Este modelo es
expresado de la siguiente forma

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


Con la base nls_panel.dta, entre las variables:
lwage exper exper2 tenure tenure2 south union black educ,

Recordar hacer descripción de las variables y además decirle a Stata que es una base tipo panel.

log using ch15_nls_re, replace text


use nls_panel, clear

. reg lwage educ exper exper2 tenure tenure2 black south union educ
note: educ omitted because of collinearity

Source SS df MS Number of obs = 3580


F( 8, 3571) = 215.50
Model 251.535045 8 31.4418807 Prob > F = 0.0000
Residual 521.026185 3571 .14590484 R-squared = 0.3256
Adj R-squared = 0.3241
Total 772.56123 3579 .215859522 Root MSE = .38197

lwage Coef. Std. Err. t P>|t| [95% Conf. Interval]

educ .0714488 .0026894 26.57 0.000 .0661759 .0767217


exper .0556851 .0086072 6.47 0.000 .0388096 .0725605
exper2 -.0011475 .0003613 -3.18 0.002 -.0018559 -.0004392
tenure .01496 .0044073 3.39 0.001 .006319 .023601
tenure2 -.000486 .0002577 -1.89 0.059 -.0009913 .0000192
black -.1167139 .0157159 -7.43 0.000 -.1475269 -.0859008
south -.1060026 .0142008 -7.46 0.000 -.1338451 -.07816
union .1322432 .0149616 8.84 0.000 .102909 .1615774
educ (omitted)
_cons .4766 .0561559 8.49 0.000 .3664993 .5867008

133
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

8.10 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 se necesite controlar el carácter
“individual” de cada individuo. El modelo de efectos aleatorios permite suponer que cada
unidad transversal tiene un intercepto diferente. Este modelo se expresa como:

Donde . Es decir, en vez de considerar a α como fija, suponemos que es una


variable aleatoria con un valor medio α y una desviación aleatoria ui de este valor medio.
Sustituyendo , en (2) tenemos:

Stata realiza la estimación de efectos aleatorios con el comando xtreg, re.


.
. xtreg lwage educ exper exper2 tenure tenure2 black south union, re

Random-effects GLS regression Number of obs = 3580


Group variable: id Number of groups = 716

R-sq: within = 0.1411 Obs per group: min = 5


between = 0.3543 avg = 5.0
overall = 0.3191 max = 5

Random effects u_i ~ Gaussian Wald chi2(8) = 860.08


corr(u_i, X) = 0 (assumed) Prob > chi2 = 0.0000

lwage Coef. Std. Err. z P>|z| [95% Conf. Interval]

educ .0732536 .0053308 13.74 0.000 .0628055 .0837017


exper .043617 .0063576 6.86 0.000 .0311564 .0560776
exper2 -.000561 .0002626 -2.14 0.033 -.0010757 -.0000463
tenure .0141541 .0031666 4.47 0.000 .0079478 .0203605
tenure2 -.0007553 .0001947 -3.88 0.000 -.001137 -.0003737
black -.1167366 .0302087 -3.86 0.000 -.1759446 -.0575286
south -.0818117 .0224109 -3.65 0.000 -.1257363 -.0378871
union .0802353 .0132132 6.07 0.000 .0543379 .1061327
_cons .5339294 .0798828 6.68 0.000 .377362 .6904968

sigma_u .32904965
sigma_e .19511039
rho .73986872 (fraction of variance due to u_i)

Si se analiza (3), se puede observar que si ui es igual a cero, es decir , no existe


diferencia entre (1) y (3).
Para saber si utilizó efectos aleatorios o datos agrupados entonces debo realizar la prueba
de Breusch - Pagan, la prueba del Multiplicador de Lagrange para Efectos Aleatorios. La
hipótesis nula de esta prueba es que , entonces, si rechazo la hipótesis, sí existe
diferencia entre (1) y (3) y debo estimar efectos aleatorios.
La prueba se realiza por medio de xttest0

134
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Breusch and Pagan Lagrangian multiplier test for random effects

lwage[id,t] = Xb + u[id] + e[id,t]

Estimated results:
Var sd = sqrt(Var)

lwage .2158595 .4646068


e .0380681 .1951104
u .1082737 .3290497

Test: Var(u) = 0
chi2(1) = 3859.28
Prob > chi2 = 0.0000
El p –value indica que debo rechazar Ho, por lo tanto los efectos aleatorios son relevantes.

8.11 EFECTOS FIJOS

Otra forma de modelar el efecto individual, es por medio de efectos fijos, este modelo no
supone que las diferencias entre individuos sean aleatorios, sino constantes o fijas y por ello
se debe estimar el intercepto u. Cómo se puede permitir que el intercepto varíe con respecto
a cada individuo?. Una de las formas es a través de variables dicotómicas de intersección
diferencial, expresada así

Donde vi es un vector de variables dicotómicas para cada estado. El modelo se estima de la


siguiente forma
. reg lwage educ exper exper2 tenure tenure2 black south union educ i. id
note: educ omitted because of collinearity
note: 715.id omitted because of collinearity
note: 716.id omitted because of collinearity

Source SS df MS Number of obs = 3580


F(721, 2858) = 24.18
Model 663.762704 721 .920614014 Prob > F = 0.0000
Residual 108.798526 2858 .038068064 R-squared = 0.8592
Adj R-squared = 0.8236
Total 772.56123 3579 .215859522 Root MSE = .19511

lwage Coef. Std. Err. t P>|t| [95% Conf. Interval]

educ .2095154 .1238721 1.69 0.091 -.0333723 .4524031


exper .0410832 .00662 6.21 0.000 .0281027 .0540637
exper2 -.0004091 .0002733 -1.50 0.135 -.000945 .0001269
tenure .0139089 .0032778 4.24 0.000 .0074818 .0203361
tenure2 -.0008962 .0002059 -4.35 0.000 -.0012999 -.0004926
black .4436098 .1296263 3.42 0.001 .1894394 .6977803
south -.0163224 .036149 -0.45 0.652 -.0872031 .0545584
union .0636972 .0142538 4.47 0.000 .0357485 .091646
educ (omitted)

id
2 -.6097623 .5683056 -1.07 0.283 -1.724093 .5045682
3 .5301255 .1301154 4.07 0.000 .2749959 .785255
4 .8530533 .1311647 6.50 0.000 .5958663 1.11024
5 .7703423 .2173306 3.54 0.000 .3442017 1.196483
6 .2891988 .4476351 0.65 0.518 -.5885216 1.166919
7 .3502798 .3298208 1.06 0.288 -.296431 .9969906
8 .1714799 .3293968 0.52 0.603 -.4743996 .8173593
9 .0862207 .3293165 0.26 0.793 -.5595012 .7319426
El cual estima una dummy para cada individuo, (la base tiene 716). Pero la opción más
sencilla es por medio de xtreg

135
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

. xtreg lwage educ exper exper2 tenure tenure2 black south union educ, fe
note: educ omitted because of collinearity
note: black omitted because of collinearity
note: educ omitted because of collinearity

Fixed-effects (within) regression Number of obs = 3580


Group variable: id Number of groups = 716

R-sq: within = 0.1430 Obs per group: min = 5


between = 0.1162 avg = 5.0
overall = 0.1170 max = 5

F(6,2858) = 79.46
corr(u_i, Xb) = 0.0952 Prob > F = 0.0000

lwage Coef. Std. Err. t P>|t| [95% Conf. Interval]

educ (omitted)
exper .0410832 .00662 6.21 0.000 .0281027 .0540637
exper2 -.0004091 .0002733 -1.50 0.135 -.000945 .0001269
tenure .0139089 .0032778 4.24 0.000 .0074818 .0203361
tenure2 -.0008962 .0002059 -4.35 0.000 -.0012999 -.0004926
black (omitted)
south -.0163224 .036149 -0.45 0.652 -.0872031 .0545584
union .0636972 .0142538 4.47 0.000 .0357485 .091646
educ (omitted)
_cons 1.450034 .04014 36.12 0.000 1.371328 1.52874

sigma_u .40231926
sigma_e .19511039
rho .80959194 (fraction of variance due to u_i)

F test that all u_i=0: F(715, 2858) = 15.15 Prob > F = 0.0000

Ahora se debe seleccionar agrupados o fijos?, (1) ó (4), el modelo (1) es más restringido
dado que asume un intercepto común para todos los estados, es decir, no incluye variables
dicotómicas individuales. Por lo tanto, utilizando la prueba F, la cual la hipótesis nula es
que , es decir todas las variables dicotómicas individuales son
iguales a cero. Si la prueba se rechaza, significa que al menos una variable pertenece al
modelo, y por lo tanto es necesario estimar el modelo por efectos fijos.

En el ejemplo el p – value es menor a 0.05 por lo tanto es preferible usar el modelo de


efectos fijos.

BETWEEN = Componente TEMPORAL aleatorio que es invariante a través de los individuos, pero
que varía a través del tiempo.

WITHIN = El error Ui tiene un componente INDIVIDUAL aleatorio que es invariante a través del
tiempo ALPHA, que se caracteríaza a cada uno de los agentes sociales.

8.12 EFECTOS ALEATORIOS vs. FIJOS

Las pruebas de Breusch- Pagan para efectos aleatorios y la prueba F, para fijos nos
permiten comparar entre cada uno de estos modelos y el de datos agrupados. Pero entre
ellos cuál usar?

136
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

La respuesta depende de la correlación que exista entre las variables X y el componente de


error individual ui. El modelo de efectos aleatorios supone que esta correlación es igual a
cero, el no incluir a u en el modelo puede generar problemas de omisión de variables
ocasionando un sesgo de variable omitida en los coeficientes de X.

Hausman demostró que la diferencia entre los coeficientes de efectos fijos y aleatorios
puede ser usada para probar la hipótesis nula de que ui y las variables X no
están correlacionadas. Por lo tanto la hipótesis nula del test de Hausman es

Ho: Los estimadores de efectos fijos y aleatorios no difieren sustancialmente.

Si se rechaza Ho, hay diferencia entre ellos y la conclusión es que los efectos fijos son más
convenientes que los efectos aleatorios. Si no se puede rechazar Ho., no hay sesgo de que
preocuparse y es preferible los efectos aleatorios que al no estimar con dummies, es un
modelo más eficiente.

Utiliza para ello una prueba Chi-cuadrado con la hipótesis nula de que el modelo de efectos
aleatorios es el que mejor explica la relación de la variable dependiente con las
explicativas, y por tanto se tiene la hipótesis alternativa de que el mejor método que se
ajusta es el de efectos fijos.
. estimates store aleatorios

. hausman fijos aleatorios

Coefficients
(b) (B) (b-B) sqrt(diag(V_b-V_B))
fijos aleatorios Difference S.E.

exper .0410832 .043617 -.0025338 .0018455


exper2 -.0004091 -.000561 .0001519 .0000758
tenure .0139089 .0141541 -.0002452 .0008468
tenure2 -.0008962 -.0007553 -.0001409 .0000668
south -.0163224 -.0818117 .0654893 .0283637
union .0636972 .0802353 -.0165381 .0053462

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(6) = (b-B)'[(V_b-V_B)^(-1)](b-B)
= 20.73
Prob>chi2 = 0.0021

En el ejemplo se rechaza Ho., es decir la diferencia entre los coeficientes de efectos fijos y
aleatorios es sistemática, por lo tanto se debe estimar efectos fijos.

Si se desea hacer inferencias con respecto a la población, es decir que se trabaja con una
muestra aleatoria, lo mejor es utilizar una especificación del tipo aleatoria. En caso de que
el interés sea limitado a una muestra que se ha seleccionado a conveniencia o bien que se
está trabajando con la población, la estimación de efectos fijos será la correcta.

137
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Adicionalmente, si el interés del estudio particular está puesto en los coeficientes de las
pendientes de los parámetros, y no tanto en las diferencias individuales, se debería elegir un
método que relegue estas diferencias y tratar la heterogeneidad no observable como
aleatoria.

El modelo de efectos fijos se ve como un caso en que el investigador hace inferencia


condicionada a los efectos que ve en la muestra. El de efectos aleatorios se ve como uno en
el cual el investigador hace inferencia condicional o marginal respecto a una población.

Se deja al investigador que decida si hace inferencia con respecto a las características de
una población o solo respecto a los efectos que están en la muestra.

8.13 AUTOCORRELACIÓN Y HETEROSCEDASTICIDAD

Los modelos de datos panel, modelan tanto la heterogeneidad temporal y la espacial, de


acuerdo a los supuestos de MCO los errores deben ser independientes entre si y se deben
distribuir idénticamente con varianza constante. . Pero los datos panel generalmente
presentan problemas en el cumplimiento de este supuesto. La independencia se viola
cuando los errores de diferentes individuos se correlacionen entre ellos, es decir correlación
contemporánea, o cuando los errores dentro de cada unidad se correlacionan
temporalmente, correlación serial, o ambos. De igual forma en el momento de la presencia
de heteroscedasticidad no se cumple la distribución idéntica.

Solo se tratará el tema de la correlación temporal es decir la autocorrelación, es muy


probable que existan correlaciones entre los salarios durante los períodos de estudio.

Existen varias pruebas para verificar autocorrelación entre ellas panelauto, pantest2 y
xtserial. La prueba más robusta es la xtserial desarrollada por Wooldridge, la hipótesis
nual consiste en que No existe Autocorrelación, el comando xtserial requiere el listado de
variables dependientes e independientes.

Si se rechaza la hipótesis nual entonces hay problemas de autocorrelación, y para corregirlo


se hace a través de un modelo de efectos fijos o aleatorios con término p autorregresivo de
grado AR(1) que controla la dependencia de t a t -1 . El modelo es dado por

Donde , es decir, los errores tienen una correlación de primer grado. El


modelo AR1 es ejecutable con xtregar

138
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

. xtregar lwage exper exper2 tenure south union black edu, fe


note: black dropped because of collinearity
note: educ dropped because of collinearity

FE (within) regression with AR(1) disturbances Number of obs = 2864


Group variable: id Number of groups = 716

R-sq: within = 0.3964 Obs per group: min = 4


between = 0.1091 avg = 4.0
overall = 0.0995 max = 4

F(5,2143) = 281.50
corr(u_i, Xb) = -0.1087 Prob > F = 0.0000

lwage Coef. Std. Err. t P>|t| [95% Conf. Interval]

exper .2108687 .0074041 28.48 0.000 .1963487 .2253888


exper2 -.0062753 .0003279 -19.14 0.000 -.0069184 -.0056323
tenure .0026851 .0027579 0.97 0.330 -.0027233 .0080935
south -.0334198 .0483105 -0.69 0.489 -.1281602 .0613205
union .0569314 .0160276 3.55 0.000 .0255002 .0883627
black (omitted)
educ (omitted)
_cons .3561069 .0216711 16.43 0.000 .3136082 .3986055

rho_ar .60413957
sigma_u .41798855
sigma_e .20057178
rho_fov .81283897 (fraction of variance because of u_i)

F test that all u_i=0: F(715,2143) = 4.13 Prob > F = 0.0000

La correlación contemporánea se da cuando ciertos individuos están correlacionados con


las observaciones de otros individuos en el mismo período de tiempo. El problema de la
correlación contemporánea se refiere a la correlación de los errores en al menos dos
unidades en el mismo tiempo t. Es decir existen características inobservables de ciertos
individuos que se relacionan con las características inobservables de otros individuos.
El comando xttest2 ejecuta la prueba de Breusch-Pagan para identificar autocorrelación
contemporánea en los residuales de efectos fijos. La hipótesis nula es que existen
Independencia Transversal, es decir que los errores son independientes entre sí.
Breusch-Pagan LM test of independence: chi2(255970) = 3.92e+05, Pr = 0.0000
Based on 5 complete observations
En este caso se rechaza Ho. Por lo tanto es necesario corregir la correlación contemporánea.

En el momento de que la varianza de los errores no sea contante en cada unidad transversal,
se está violando uno de los supuestos, para verificar si existe o no heteroscedasticidad es
por medio del test de Lagrange de Breusch-Pagan. La Ho consiste en que No hay
Heteroscedasticidad, es decir, , para todo i. Para verificar la violación de este
supuesto utilizamos xttest3 después de estimar efectos fijos.
. xttest3

Modified Wald test for groupwise heteroskedasticity


in fixed effect regression model

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

chi2 (716) = 1.6e+06


Prob>chi2 = 0.0000

La prueba indica que no existe homocedasticidad.


139
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

8.14 CORRECCIÓN DE HETEROCEDASTICIDAD Y AUTOCORRELACIÓN

La solución se realiza por medio de Mínimos Cuadrados Generalizados Factibles (FGLS) o


por medio de Errores Estándar Corregidos para Panel (PCSE), algunos estudios han
demostrado que PCSE es más preciso que FGLS pero para muestras pequeñas.
Los comandos son
xtgls
xtpcse
Estos modelos no estimando efectos fijos, por lo tanto es necesario incluir variables
dicotómicas con el comando xi.
De acuerdo al problema la solución es dada de acuerdo al siguiente cuadro:
PROBLEMA HETEROSCEDASTICID CORRELACIÓN AUTOCORRELACI
AD CONTEMPORAN ÓN
EA
HETEROSCEDASTICID xtgls vardep varsind, xtgls vardep varsind, xtgls vardep varsind,
AD panel(h) p(c) p(h) c(ar1)
xtpcse vardep varsind, het xtpcse vardep xtpcse vardep varsind,
varsind, het c(ar1)
CORRELACIÓN xtgls vardep varsind, p(c)
CONTEMPORANEA xtpcse vardep varsind,
AUTOCORRELACIÓN xtgls vardep varsind, p(h) xtregar vardep varsind,
c(ar1) fe ó re
xtpcse vardep varsind, het
c(ar1)

En caso de presentar los trés problemas Heterocedasticidad, correlación contemporánea y


autocorrelación se corrige por:
xtgls vardep varsind, p(c) c(ar1)
xtpcse vardep varsind, c(ar1)

TALLER 2
1. Usando la base de datos nls_panel.dta, que esun panel de datos para 716 mujeres
por 5 años.
a. Abra la base de datos y realice análisis descriptivo de las variables claves
(lwage, exper, exper2, tenure, tenure2, south, union, black y educ)
b. Utilizando el archivo Ejemplo datos panel.do, realice los procedimientos
para calcular el modelo por MCO Agrupados, EF y EA y seleccione el mejor
modelo.

8.15 MODELOS DINÁMICOS CON DATOS PANEL

Es habitual que los investigadores utilicen los modelos de panel con retardos de la variable
dependiente. En estos casos se incluye en el modelo, como variable dependiente, un retardo o

140
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

incluso más retardos de la variable dependiente más otras variables exógenas que también pueden
incluir retardos de Xit.

Donde k = 1, …, K variables independientes de interés, i = 1, …, N unidades sociales y t = 1, …, T


observaciones en el tiempo. La variable Yt es la endógena y Yt-1 es la variable endógena rezagada
un período en el tiempo, xt son las variables explicativas o exógenas cuyos retardos en el tiempo
también pueden ser incluidos en el modelo causal y ut es el error del modelo.

Lo anterior es una solución para evitar el problema de errores correlacionados entre sí cuando se
realiza la estimación por MCO.

Además el hecho de que yt-1 se incluya en el modelo permite controlar por el efector qué valores
precios de la variable endógena tienen en el valor presente, y con ello, el efecto de las variables
independientes puede ser más acertado y preciso que en cualquier otro caso. El coeficiente
asociado con yt-1 representa lo que se denomina la tasa de descuento, es decir, la tasa de
decrecimiento del efecto de valores pasado de yt-1.

Incluir rezagos genera problemas de estabilidad de los parámetros y además la inclusión de rezagos
no necesariamente soluciona totalmente el problema de autocorrelación serial, para ello se podría
incluir un comportamiento autorregresivo para el error. Otro problema es que las estimaciones
pueden ser sesgadas dificultando muchas veces la estimación del modelo. Una solución a este
problema es la realización de modelos incluyendo variables instrumentales.

MÉTODO DE ARELLANO – BOND PARA PANEL CON REZAGOS

Comando xtabond

use http://www.stata-press.com/data/r9/abdata

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

RAICES UNITARIAS Y COINTEGRACIÓN

Los contrastes de raíces unitarias con datos de panel son similares a los contrastes de raíces
unitarias efectuados en modelos de única seria. Se parte de la siguiente ecuación:

Se evalúa por medio de los test de Fisher – ADF y Fisher – PP para contrastar la existencia de raíces
unitarias en datos de panel, combinan lo p – valores de los test de raíces unitarias individuales. La
hipótesis nula de que hay una raíz unitaria en todos los N cortes transversales, una de las formas
más sencillas para verificar COINTEGRACIÓN es comprobar mediante un contraste de raíces
unitarias de panel, que los residuos del modelo de panel están exentos de raíces unitarias.

141
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

9 INTRODUCCIÓN A LA PROGRAMACIÓN

Help comments
Capture
Ejecuta el comando y no muestra resultados ni errores

9.1 LOCAL MACROS

Las macros locales de Stata le van a permitir trabajar más fácilmente con Stata, estas
macros le permitirán alojar objetos como números, variables o varios conjuntos de objetos.
Estos objetos pueden contener caracteres alfanuméricos y hasta 8000 caracteres. El
comando para definir una macro es con local seguido por el nombre del objeto y sus
características.

Ejemplos:
local country US UK DE FR
local ctycode 111 112 136 134
display “´country´”
US UK DE FR

El comando global le permite crear nombres de listas de variables, para así poder referirse a ellas de
forma conjunta y evitar tener que escribir cada una de ellas cada vez que vayamos a utilizarlas.
Por ejemplo
global grupo1 var1 var2 var3

Luego para hacer referencia al grupo de variable utilizando algún comando, se debe anteponer el
símbolo $ al nombre del grupo

Por ejemplo keep $grupo1

9.2 CREANDO CICLOS

Una de las utilidades principales de la programación es la creación de loops estos le permiten al


usuario crean rutinas para evaluar diferentes alternativas o para crear ciclos de comandos. Los
comandos más importantes para estos ciclos son forvalues y foreach.

Comando IF

If expression {
Comandos Stata
}
else if expression {
comandos stata
}

142
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

else {
comandos stata

Comando For

set obs 100


For new u1-u10: gen x=uniform()
For any . : replace z=. If y= X
For new x2-x5 \ num 2/5: gen X =variable^Y

Comando Forvalues

forvalues nueva_macro = rango {


comandos referidos a nueva_macro
}

program define diez


forvalues i = 1(1)10 {
display "`i'"
}
End

Comando While:

while condicion {
comandos Stata
}

local i = 1
while `i' <= 10 {
display `i'
local i = `i' + 1
}

9.3 ESCALARES Y MATRICES

scalar raiz2 = sqrt(9)


generate raizPIB = PIB*raiz2

Los estadísticos, pruebas y resultados que genera Stata es posible visualizarlos por medio del
comando return y ereturn. Por ejemplo

143
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

. sum price, detail

Price

Percentiles Smallest
1% 3291 3291
5% 3748 3299
10% 3895 3667 Obs 74
25% 4195 3748 Sum of Wgt. 74

50% 5006.5 Mean 6165.257


Largest Std. Dev. 2949.496
75% 6342 13466
90% 11385 13594 Variance 8699526
95% 13466 14500 Skewness 1.653434
99% 15906 15906 Kurtosis 4.819188

Luego se obtienen los resultados

. return list

scalars:
r(N) = 74
r(sum_w) = 74
r(mean) = 6165.256756756757
r(Var) = 8699525.97426879
r(sd) = 2949.49588476892
r(skewness) = 1.653433511704859
r(kurtosis) = 4.819187528464004
r(sum) = 456229
r(min) = 3291
r(max) = 15906
r(p1) = 3291
r(p5) = 3748
r(p10) = 3895
r(p25) = 4195
r(p50) = 5006.5
r(p75) = 6342
r(p90) = 11385
r(p95) = 13466
r(p99) = 15906

Veamos en este caso, al hacer un comando de sum e indicando la opción de detail, Stata nos
muestra los resultados generales más otras medidas de percentiles, la curtosis y la simetría. Ahora
suponiendo que se quiere armar una tabla que muestre para la base de nlsw.dta, por raza, el
promedio del salario, la mediana, la varianza y el número de observaciones. Para ello se usará la
construcción de una matriz.

Para la creación de la matriz se construye indicando el tamaño que se quiere.

La matriz a generar es:

BLACK WHITE
Promedio
Varianza

144
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Mediana
No. Observaciones

Usamos el comando matrix, help matrix_functions

matrix define A=J(4,2,0)

. sum wage if race ==1, d

hourly wage

Percentiles Smallest
1% 2.090301 1.004952
5% 2.875546 1.032247
10% 3.344482 1.392914 Obs 1637
25% 4.516906 1.501798 Sum of Wgt. 1637

50% 6.545891 Mean 8.082999


Largest Std. Dev. 5.955069
75% 9.758451 40.19808
90% 13.14009 40.19808 Variance 35.46285
95% 17.34411 40.19808 Skewness 3.00474
99% 38.70926 40.19808 Kurtosis 14.74577

matrix A[1,1] = r(mean)


matrix A[2,1] = r(p50)
matrix A[3,1] = r(Var)
matrix A[4,1] = r(N)

Debe hacer lo mismo para los negros


. matrix list A

A[4,2]
c1 c2
r1 8.0829994 6.8445578
r2 6.5458913 5.434783
r3 35.462848 25.767671
r4 1637 583

Ahora a continuación le damos los nombres a las filas y a las columnas

matrix rown A = Promedio Media Varianza Observaciones


matrix coln A = Blanco Negro
. matrix list A

A[4,2]
Blanco Negro
Promedio 8.0829994 6.8445578
Media 6.5458913 5.434783
Varianza 35.462848 25.767671
Observacio~s 1637 583

Para pasar de matriz a variable, se usa el comando svmat.

145
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

svmat A

Ejercicio.

1. Ahora haga una prueba de igualdad de medias de los salarios, por la raza
2. Cree una tabla de resultados tal como se presenta a continuación

BLANCO NEGRO ESTADÍSTICAS


Promedio Observaciones Promedio Observaciones Diferencia Error std T-test

La primera fila no es posible crearla en Stata, entonces solamente ingrese como nombres la segunda
fila.

Ahora utilizando loops realice la siguiente tabla por las variables tenure, hours, wage grade

SINGLE MARRIED ESTADÍSTICAS


Promedio Observaciones Promedio Observaciones Diferencia Error std T-test
tenure
hours
wage
grade

global grupo tenure hours wage grade

Definimos una matriz 4x7

matrix def C=J(4,7,0)

Se genera el indicador del loop i que comience desde cero

local i = 0

Utilizando el comando foreach me dice que para cada variable en el grupo que acabo de formar
realice los comandos dentro del loop.

foreach var in $grupo {


local i = `i'+1
preserve
qui ttest `var', by(married)
matrix C[`i',1]=r(mu_1)
matrix C[`i',2]=r(N_1)
matrix C[`i',3]=r(mu_2)
matrix C[`i',4]=r(N_2)
matrix C[`i',5]=r(mu_1) - r(mu_2)
matrix C[`i',6]=r(se)
matrix C[`i',7]=r(t)
restore

146
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

}
matrix rown C = tenure hours wage grade
matrix coln C = Prom1 Obs1 Prom2 Obs2 Dif ErrSt T-test
matrix list C

10 TRUCOS CON Stata

ALGUNOS CONSEJOS CON Stata16

1. Si quiere redondear los números en su base de datos podrá usar los comandos floor(),
round() y ceil().

Ejemplos:

Sysuse auto
gen g_ratio = floor(gear_ratio)
gen g_ratio = ceil(gear_ratio)

2. En algunas ocasiones se recomienda que el usuario antes de ejecutar algún comando o un


archivo .do, verifique que las condiciones se cumplan, una de las formas para verificarlo es
usando el comando assert.

Ejemplo:

Sysuse bplong
Assert sex == 0 | sex ==1
Replace sex = 3 in 1
Assert sex == 0 | sex == 1

3. Para ingresar carácteres de texto en gráficas, crear variables, tablas, puede utilizar el
comando char() , en su interior debe ingresar el código ASCII
Ejemplos

gen arroba = char(64)


local copyr = char(169)
scatter Price mpg, xtitle(“MPG”) ytitle(“Precio `copyr’”)

4. El commando creturn, c(), le permite al usuario obtener la información parametrizada del


sistema, tal como, meses, días, fecha actual, versión de Stata. Algunos ejemplos son:
display “`c(alpha) ’”
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec

di “`c(ALPHA) ’”
ABCDEFGHIJKLMNOPQRSTUVWXYZ

16
Retomado del libro “Seventy-six of Stata tips”.

147
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

di “`c(Mons) ’”
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec

di “`c(current_date) ’”
di “`c(current_time) ’”
di “`c(sysdir_stata) ’”
di “`c(N) ’”
di “`c(k) ’”
di “`c(memory) ’”
di “`c(more) ’”
di “`c(virtual) ’”
di “`c(pi) ’” - Genera el número Pi –

5. Fillin

Clear
Set obs 20
Gen y = _n
Gen x = y
Fillin y x

6. Predefiniendo teclas, Stata, le permite al usuario la posibilidad de usar las teclas funtions,
para el llamado de comandos, funciones, caracteres, entre otros.
Ejemplo:

Global F4 = char(96)
Global F4 = char(180)
Global F4 = “list;”

7. Si desea ejecutar un comando y que el resultado no aparezca utilice el comando quietly

Ejemplo
quietly summarize x

8. Descargar programas escritos por usuarios


net from http://www.stata.com
net cd stb
net cd stb42
net install sbe16_1

9. Actualización Menores de Stata


Stata es un programa que continuamente se encuentra en desarrollo, además, al contar con
una amplia comunidad de usuarios en diferentes partes del mundo le brinda la oportunidad
de estar frecuentemente mejorado por los Statistical Software Components (SSC) que
continuamente generan los usuarios.

148
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Pero Stata en su versión 11.0 ha generado ya dos actualizaciones menores dentro de esta
versión, siendo la más actual la versión 11.2, los usuarios que tengan registrado el software
y que cuenten con una conexión a Internet podrán acceder a la última actualización de
forma gratuita, lo primero que debe verificar es la conexión a internet, si se encuentra en un
equipo que pertenece a una red deberá consultar si su conexión requiere proxy, para
configurar el proxy en Stata debe ir a Edit – Preferences – General Preferences

Posteriormente en la pestaña de Internet, configuré el proxy, el puerto y el usuario y


contraseña en caso de ser necesario.

En la misma pestaña de Internet podrá activar la opción de actualización automática, si


activa esta opción debe tener en cuenta que cada vez que Stata se inicie se actualizará con
la frecuencia que usted seleccione y el tiempo de la actualización dependerá de su conexión
a internet.
En caso de no activar la actualización automática, usted podrá realizar la actualización en el
momento que lo desee, ingresando en la ventana de comandos el comando update all el
cual le indicará paso a paso las instalaciones que desea.

149
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Recomendamos también ver la ayuda de


help update
help ssc
help net
help sj

10. Ejecutando comandos en Stata sin resultados (quietly)

El comando quietly de Stata permite ejecutar otros comandos de Stata sin presentar los
resultados o salidas en la ventana de resultados, la instrucción se ubica como prefijo al
comando principal. Esta es una herramienta clave si se requiere retornar algunos resultados
por ejemplo: media, varianza, coeficientes, etc., (ver listado de la opción r() por medio de
help return list) sin necesidad de ver la salida completa.

Ejemplo 1.

sysuse auto, clear


quietly summarize mpg, detail

Ejemplo 2.

quietly: summarize mpg, detail

De igual forma se pueden ejecutar un bloque o grupo de comandos con quiet

Ejemplo 3.

sysuse auto, clear


quietly {
summarize mpg, detail
local a=r(mean)
summarize price, detail
local a=r(mean)
}

En el caso que se desee mostrar un resultado completo en un bloque de comandos, se usa el


comando noisily como prefijo al comando principal.

Ejemplo 4.

sysuse auto, clear

150
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

quietly {
summarize mpg, detail
local a=r(mean)
noisily summarize price, detail
local a=r(mean)
}

Para más información ver:

help quietly

11. HERRAMIENTA DE CALIFICACIÓN DE Stata 12

La versión de Stata 12 liberada el pasado mes de agosto, incluyó una nueva herramienta
denominada Installation Qualification Tool (IQT) la cual verifica que el software y todas
sus actualizaciones estén instaladas correctamente, en éste momento se cuenta con IQT
para Windows y Mac y también para las versiones 11 y 12.
Para descargar la herramienta ingrese a http://www.stata.com/support/installation-
qualification/, una vez descargado el programa, instálelo, se requiere que tenga permisos de
administrador para ejecutar la aplicación.

151
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Una vez ejecutado la IQT deberá instalar un recurso de evaluación, para ello haga clic en
Browse de la opción de Qualification source, seleccione una ubicación, puede ser la carpeta
de Stata 12, e instale el complemento.

Al instalar el complemento, la aplicación buscará la versión de Stata actual y las


actualizaciones realizadas, seleccione la que desee y de clic en RUN TEST.

El programa empezará a evaluar su correcta instalación del software y generará un reporte


sobre los resultados del análisis el cual podrá exportar a PDF haciendo clic en Export.

152
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Para mayor información diríjase a http://www.stata.com/support/installation-qualification/

12. Archivos en PDF de logs y gráficas con Stata 12


En Stata 12 los archivos log (archivos de registro) se siguen generando como SMCL o texto. Pero
en esta última versión estos archivos pueden ser convertidos a formato PDF. Esto se puede hacer
fácilmente con el comando translate, por ejemplo:

log using c:/log1, replace

sysuse auto, clear

tab rep78 foreign

log close

translate c:/log1.smcl c:/log1.pdf , translator(smcl2pdf)

153
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

La visualización del PDF será la siguiente:

Además, en Stata 12 se puede producir un PDF de un gráfico desde Stata. Por ejemplo

sysuse auto, clear

scatter mpg weight //, name(g1)

graph export c:/graph.pdf //name(windowname)

154
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

40
30
Mileage (mpg)

20
10

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


Weight (lbs.)

Al exportar a PDF

Para ayuda sobre un comando específico digite:


help
Y por ejemplo especifique un comando
help translate
help graph export

Utilizar variables del sistema _n y _N

Las variables del sistema de Stata _n y _N se puede utilizar para hacer un gran número de
tareas que de otra manera sería difícil. En este truco vamos a ilustrar algunas de las cosas en
que estos pueden ser utilizados.

155
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

Definición:

_n: la observación actual


_N: El número total de observaciones en el conjunto de datos actualmente en la memoria

** Ejemplo 1
Generación de observaciones que son una secuencia de números igual al número de
observación de Stata. Variable de resultado: number

Genera observaciones igual al número de la última observación. La variable resultante:


number_T

clear all
set obs 10
generate number=_n
generate number_T=_N

El resultado de ejecutar lo anterior es:

+-------------------+
| number number_T |
|-------------------|
1. | 1 10 |
2. | 2 10 |
3. | 3 10 |
4. | 4 10 |
5. | 5 10 |
|-------------------|
6. | 6 10 |
7. | 7 10 |
8. | 8 10 |
9. | 9 10 |
10. | 10 10 |
+-------------------+

** Ejemplo 2
Invertir los datos para que la _N (última) observación se convierta en la primera. Se realiza
para una variable en particular.

clear
set obs 10
generate number=_n
generate rev_number=number[_N-_n+1]
list
El resultado de ejecutar lo anterior es:

+-------------------+

156
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

| number rev_nu~r |
|-------------------|
1. | 1 10 |
2. | 2 9|
3. | 3 8|
4. | 4 7|
5. | 5 6|
|-------------------|
6. | 6 5|
7. | 7 4|
8. | 8 3|
9. | 9 2|
10. | 10 1|
+-------------------+

** Ejemplo 3
Usando _N el comando con bysort para generar una variable que tiene el número total de
niños en las familias.

clear

input ///
famid child
11
21
22
23
31
32
33
34
end

bysort famid: generate number=_N

list, sepby(famid)

The result of running the above is:


+------------------------+
| famid child number |
|------------------------|
1. | 1 1 1|
|------------------------|
2. | 2 1 3|
3. | 2 2 3|
4. | 2 3 3|
|------------------------|
5. | 3 1 4|
6. | 3 2 4|
7. | 3 3 4|
8. | 3 4 4|

157
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

+------------------------+

** Ejemplo 4
_n y _N también pueden ser utilizados como un calificativo. En este ejemplo se marca, para
cada familia, el niño que tiene el mayor ingreso. La variable ingreso está entre paréntesis
que indica a Stata ordenar por esta variable. Cuando se ordena por la última observación
(_N), por familia, es el ingreso mayor por familia.

clear

input ///
famid child income
1 1 100
2 1 150
2 2 200
2 3 250
3 1 10
3 2 100
3 3 500
3 4 250
end

bysort famid (income): generate number=1 if _n==_N

l, sepby(famid)

El resultado de ejecutar lo anterior es:

+------------------------+
| famid child number |
|------------------------|
1. | 1 1 1|
|------------------------|
2. | 2 1 3|
3. | 2 2 3|
4. | 2 3 3|
|------------------------|
5. | 3 1 4|
6. | 3 2 4|
7. | 3 3 4|
8. | 3 4 4|
+------------------------+

** Ejemplo 5
Generación de rezagos y adelanto de datos.

clear

input ///

158
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

time sales
1 100
2 150
3 200
4 250
5 10
6 100
7 500
8 250
end

generate lead=sales[_n+1]
generate lag=sales[_n-1]
generate lags=(sales[_n-1]+sales[_n-2])/2

list

El resultado de ejecutar lo anterior es:

+----------------------------------+
| time sales lead lag lags |
|----------------------------------|
1. | 1 100 150 . .|
2. | 2 150 200 100 . |
3. | 3 200 250 150 125 |
4. | 4 250 10 200 175 |
5. | 5 10 100 250 225 |
|----------------------------------|
6. | 6 100 500 10 130 |
7. | 7 500 250 100 55 |
8. | 8 250 . 500 300 |
+----------------------------------+

Para obtener ayuda sobre el código anterior, véase:


Guía de usuario: [U] 13.4 Variables del Sistema (variables)
help bysort

MATERIAL DE APOYO

Algunos recursos en Internet para usuarios Stata:

- http://www.ats.ucla.edu/stat/stata/
- http://econpapers.hhs.se/paper/bocbocoec/531.htm
- http://fmwww.bc.edu/ec/res.info.php
- http://ideas.repec.org/s/boc/bocins.html

159
BRAYAN RICARDO ROJAS O.
INSTRUCTOR

11 BIBLIOGRAFIA

[1] Adkins, L. & Hill, R. (2008). Using Stata for Principles of Econometrics. Wiley, Third Edition.

[�2] Baum, Christopher. (2006). An Introduction to Moderm Econometrics Using Stata. Stata Press,
Second Edition.

[3] Baum, Christopher. (2009). An Introduction to Stata Programming.. Stata Press, First Edition.

[4] Cameron, A. & Trivedi, P. (2009). Microeconometrics Using Stata. Stata Press, Second Edition.

[5] Cox, N. & Newton, H. (2009) Seventy-six Stata Tips. Stata Press, Second Edition.

[6] Freese, J. & Long. S. (2006). Regression Models for Categorial Dependent Variables Using
Stata. Stata Press, Second Edition.

[7] Mitchell, Michael. (2008). A Visual Guide to Stata Graphics. Stata Press, Second Edition.

[8] Mitchell, Michael. (2010). Data Management Using Stata, A Practical Handbook. Stata Press,
Second Edition.

160