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.
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
3
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
4
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
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
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.
6
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
BARRAS
Barra de Nombre
Barra de Menús
Barra de Herramientas
Figura 2. Menús de Stata
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.
Para acceder a los manuales de ayuda debe seguir la ruta Help PDF Documentation
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
8
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
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:
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
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.
update all
10
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
Antes de iniciar una sesión de trabajo es importante tener en cuenta que Stata opera a través de
diferentes tipos de archivos.
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
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
11
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
Comando
Ejecutar y
Ayuda de Copiar mantener la
la como ventana
instrucción comando activa
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
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:
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.
El comando asociado es
4
Se recomienda revisar la ayuda sobre el comando set y el comando memory
13
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
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”
Variable numérica
Formato general “g”, Notación científica “e”,
formato fijo “f”
sysuse auto
describe Price
recast float price
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.
15
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
MS Excel, texto, SQL, SAS, entre otros, de igual forma permite exportar archivos a dichos
formatos.
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.
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.
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
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:
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
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.
Por ejemplo:
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
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.
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
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
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
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.
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:
Como los datos han sido cargados en la memoria RAM, sólo puede modificarse la base de datos
original de tres formas
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.
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
Figura 9. Browse
22
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
.
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
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
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
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
25
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
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:
26
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
Para ordenar en forma descendente se recomienda usar el comando gsort de la siguiente forma:
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.
Ejemplos
27
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
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.
codebook foreign
foreign
codebook price
price
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
1 5 74
(5 unique values)
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.
Ejemplos de filtros
Uso del in
Se puede combinar con que realizar el filtro puede usar los comandos browse, edit, keep, drop y list.
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.
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
30
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
2.6.1 Rename
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
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
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
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.
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
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
33
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
Split divide una variable texto en nuevas variables por el espacio o un carácter específico
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
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í:
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
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)
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:
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.
use PERSONAS
sort numero e01
d
save PERSONAS, replace
3. Aplicamos el comando merge para pegar horizontalmente las dos bases así:
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:
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í:
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
Para mostrar un ejemplo, utilizaremos la base de datos reshapeState descrita en el libro [1]:
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:
39
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
>
Number of obs. 6 -> 24
Number of variables 6 -> 4
j variable (4 values) -> año
xij variables:
pop1970 pop1980 ... pop2000 -> pop
list
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
40
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
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.
41
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
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
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
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.
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
make price
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.
make price
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
43
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
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.
Uno de los problemas comunes en el manejo de una base de datos es analizar si hay
presencia de observaciones duplicadas
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:
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.
45
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
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.
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
47
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
make
1. Cad. Eldorado
2. Cad. Seville
3. Linc. Mark V
4. Linc. Versailles
5. Peugeot 604
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.
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.)
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
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
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:
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
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.
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.
. mean price
52
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
Intervalos de confianza Statistics Summarize, tables and test Summary and descriptive
. ci price
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
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
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
Finalmente puede crear una variable dummy para cada categoría, simplemente, agregue la opción
generate.
55
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
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
compare Stem
Ereturn tabi
ktau Weight
ladder set level 90
Return outreg2
Signtest outreg
spearman
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
Ejemplos:
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
59
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
3.0e-04
2.0e-04
Density
1.0e-04
60
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
29.73%
70.27%
Domestic Foreign
GRAFICAS DE TORTAS
61
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
Prof
Mgmt
Sales
Cler.
Operat.
Labor
Other
62
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
13.58% 14.11%
12.73% 11.75%
10.95%
4.54% 32.32%
Other Prof
Labor Mgmt
Operat.
Cler. Sales
63
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
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
nonunion union
Prof Mgmt
Sales Cler.
Operat. Labor
Other
Graphs by union worker
65
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
15,000
Price 10,000
5,000
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
67
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
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
Domestic Foreign
40
30
Mileage (mpg)
20
10
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.
70
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
40
30
20
10
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
sysuse uslifeexp
twoway line le_wm year || line le_bm year
71
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
80
70
60
50
40
72
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
1400
1300
High price/Low price
1200
1100
1000
900
Hacer con los mismos datos usando las opciones de: area, rarea, rconnected, rcap y rbar
73
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
10
8 lgnppc
6
100
safewater 50
0
80
70 Life
expectancy
60 at birth
50
0 2 4 0 50 100
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
75
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
76
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
8
6
4
2
0
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.
60
50
40
20 40 60 80
% born in state of residence
78
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
100
80
60
40
20
0
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:
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
85
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
4.12.1 Kdensity
sysuse auto
kdensity length
.005
4.12.2 Qnorm
qnorm price
15,000
Price 10,000
5,000
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
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.
El siguiente cuadro le indica las etiquetas que debe crear para cada variable:
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
- 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.
- 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.
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.5 ¿Podrías decirme cuál es tu grado de dedicación en las siguientes tareas de tu hogar?
P9. Vamos a hablar ahora de tus estudios. ¿En que centro realizaste la totalidad o la mayor parte de
tus estudios?
P10. Excluyendo los libros de texto, ¿Cuántos libros has leído en los últimos doce meses?
91
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
______________ LIBROS
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?
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?
P15. Sexo:
-Hombre 1 GÉNERO
-Mujer 2
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?
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
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
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)
6
omando aboutreg
Findit aboutreg
94
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
Por ejemplo
summ lny lnm edu007 exp exp2 e03
Se puede obtener más detalles estadísticos de cada una de las variables con la opción “detail” así:
lny 1.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.
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.
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í:
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í:
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.
97
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
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.
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
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)
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.
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)
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
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
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
3. Estimamos el modelo que suponemos consistente y eficiente (tiene en cuenta la variable lnm)
regress lny lnm edu007 exp exp2, robust
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
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
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
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.
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í:
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
Al listar las variables “fecha”, “inflacion” y “rezago” se puede visualizar la nueva variable “rezago”
correspondiente a la inflación rezagada un período.
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
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.
tsline inflacion
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
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
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
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
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í:
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.
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
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:
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.
Participación y Género
4,000,000
3,000,000
PARTICIPAN
2,000,000
1,000,000
Hombre Mujer
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
BASICA COMP
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.
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.
118
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
INTERPRETACIÓN DE RESULTADOS
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.
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”.
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:
( 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.
[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
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.
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.
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).
Desventajas
123
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
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
125
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
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
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.
De manera general
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
127
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
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
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?
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?
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
130
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
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á?
131
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
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
132
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
list, clean
Convert from wide form to long form (observation is a state-year pair)
Ejercicio
Replique los ejemplos presentados sobre este comando en help reshape
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
Recordar hacer descripción de las variables y además decirle a Stata que es una base tipo panel.
. reg lwage educ exper exper2 tenure tenure2 black south union educ
note: educ omitted because of collinearity
133
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
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:
sigma_u .32904965
sigma_e .19511039
rho .73986872 (fraction of variance due to u_i)
134
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
Estimated results:
Var sd = sqrt(Var)
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.
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í
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
F(6,2858) = 79.46
corr(u_i, Xb) = 0.0952 Prob > F = 0.0000
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.
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.
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
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
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
Coefficients
(b) (B) (b-B) sqrt(diag(V_b-V_B))
fijos aleatorios Difference S.E.
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.
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.
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.
138
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
F(5,2143) = 281.50
corr(u_i, Xb) = -0.1087 Prob > F = 0.0000
rho_ar .60413957
sigma_u .41798855
sigma_e .20057178
rho_fov .81283897 (fraction of variance because of u_i)
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
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.
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.
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.
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)
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
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
Comando IF
If expression {
Comandos Stata
}
else if expression {
comandos stata
}
142
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
else {
comandos stata
Comando For
Comando Forvalues
Comando While:
while condicion {
comandos Stata
}
local i = 1
while `i' <= 10 {
display `i'
local i = `i' + 1
}
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
Price
Percentiles Smallest
1% 3291 3291
5% 3748 3299
10% 3895 3667 Obs 74
25% 4195 3748 Sum of Wgt. 74
. 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.
BLACK WHITE
Promedio
Varianza
144
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
Mediana
No. Observaciones
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
A[4,2]
c1 c2
r1 8.0829994 6.8445578
r2 6.5458913 5.434783
r3 35.462848 25.767671
r4 1637 583
A[4,2]
Blanco Negro
Promedio 8.0829994 6.8445578
Media 6.5458913 5.434783
Varianza 35.462848 25.767671
Observacio~s 1637 583
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
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
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.
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
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)
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
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;”
Ejemplo
quietly summarize x
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
149
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
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.
Ejemplo 2.
Ejemplo 3.
Ejemplo 4.
150
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
quietly {
summarize mpg, detail
local a=r(mean)
noisily summarize price, detail
local a=r(mean)
}
help quietly
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.
152
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
log close
153
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
Además, en Stata 12 se puede producir un PDF de un gráfico desde Stata. Por ejemplo
154
BRAYAN RICARDO ROJAS O.
INSTRUCTOR
40
30
Mileage (mpg)
20
10
Al exportar a PDF
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:
** 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
clear all
set obs 10
generate number=_n
generate number_T=_N
+-------------------+
| 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
list, sepby(famid)
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
l, sepby(famid)
+------------------------+
| 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
+----------------------------------+
| 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 |
+----------------------------------+
MATERIAL DE APOYO
- 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