Documentos de Académico
Documentos de Profesional
Documentos de Cultura
R
El Distribuidor de Software Científico Líder en Latinoamérica
SOFTWARE shop
3020 Issaquah Pine Lake Rd
Sammamish WA, 98075 USA
________________________________________________________________________________
Ni la totalidad ni parte de esta publicación pueden reproducirse, registrarse o transmitirse, por un sistema de
recuperación de información, en ninguna forma ni por ningún medio, sea electrónico, mecánico, fotoquímico,
magnético o electroóptico, por fotocopia, grabación o cualquier otro, sin permiso previo por escrito del autor.
DARWIN MARCELO
Darwin Marcelo tiene nueve años de experiencia en investigación aplicada en economía a través
de distintos países de América Latina. El principal área de enfoque de su trabajo ha sido el
desarrollo sostenible, con énfasis en infraestructura, desarrollo rural, violencia, empleo y pobreza.
BRAYAN ROJAS
Economista de la Universidad Nacional de Colombia, con especialización en Gestión de Riesgo y
Control de Instituciones Financieras de la Universidad de los Andes, realizando posgrado en
estadística en la Universidad Nacional de Colombia.
1. INTRODUCCIÓN ........................................................................................................................... 1
1.1 Descripción del libro ...............................................................................................................................1
2. MANEJO FUNDAMENTAL DE STATA 12 ....................................................................................... 3
2.1 Conociendo el entorno de Stata .............................................................................................................3
2.2 Barras .....................................................................................................................................................5
2.3 El menú de ayuda ...................................................................................................................................5
2.3.1 Actualizaciones en Stata:............................................................................................. 8
2.4 Tipos de archivo .....................................................................................................................................8
2.5 Estructura de comandos .........................................................................................................................9
2.6 Ventana de comandos ..........................................................................................................................10
2.7 Configuración de la memoria de Stata ..................................................................................................11
2.8 Cambiar el directorio de trabajo de Stata .............................................................................................11
2.9 Bases de datos de ejemplo ..................................................................................................................11
2.10 Tipos de variables.................................................................................................................................12
2.10.1 Formato de las variables: .......................................................................................... 13
3. MANEJO DE BASE DE DATOS ..................................................................................................... 15
3.1 Fundamentos de bases de datos..........................................................................................................15
3.1.1 Creación de un archivo log ........................................................................................ 15
3.1.2 Abrir una base de datos ............................................................................................ 16
3.1.3 Importar una base de datos .CSV o TXT .................................................................... 16
3.1.4 Importar una base de datos .XLS o .XLSX .................................................................. 17
3.1.5 Importar otros tipos de archivo ................................................................................ 20
3.2 Salvando una base de datos ................................................................................................................20
3.3 Descripción de la base de datos ...........................................................................................................20
Cargar una base de datos del programa ........................................................................... 21
Observar los datos............................................................................................................. 21
Describir los datos ............................................................................................................. 21
3.4 Creación de Variables ..........................................................................................................................22
3.4.1 Extensiones en la creación de variables .................................................................... 26
3.5 Ordenar variables y bases de datos .....................................................................................................26
3.6 Cálculos por grupos ..............................................................................................................................27
3.7 Codebook e Inspect ..............................................................................................................................28
3.8 Conservar y recargar bases de datos ...................................................................................................29
3.9 Filtros de la base de datos ....................................................................................................................29
3.10 Administrador de variables ...................................................................................................................30
3.10.1 Rename ..................................................................................................................... 32
3.10.2 Label Variable ............................................................................................................ 32
3.10.3 Notes ......................................................................................................................... 32
3.11 Creación de categorías .........................................................................................................................32
3.12 Modificación y transformación de variables ..........................................................................................34
3.12.1 Recode ....................................................................................................................... 34
3.12.2 División de Variables de texto ................................................................................... 36
3.13 Combinación de bases de datos...........................................................................................................36
3.13.1 Combinación Vertical – Append ................................................................................ 36
3.13.2 Combinación Horizontal – Merge ............................................................................. 37
3.14 Cambio en la organización de los datos ...............................................................................................39
3.14.1 Collapse ..................................................................................................................... 39
3.14.2 Reshape ..................................................................................................................... 40
3.14.3 Xpose ......................................................................................................................... 43
3.14.4 Stack .......................................................................................................................... 44
3.15 Problemas en el manejo de bases de datos .........................................................................................45
3.15.1 Replicar información ................................................................................................ 45
3.15.2 Verificación de datos ................................................................................................. 46
3.15.3 Contador y reporte de datos repetidos..................................................................... 47
3.16 Análisis de duplicados ..........................................................................................................................47
3.17 Creación de programas – editor de texto ..............................................................................................50
3.18 Ejemplo aplicado ..................................................................................................................................51
3.18.1 Cambiando la orientación de la base de datos: De horizontal a vertical y viceversa 53
3.18.2 Ejercicio ..................................................................................................................... 53
3.19 Comandos usados ................................................................................................................................54
3.19.1 Otros comandos recomendados ............................................................................... 55
capture ...................................................................................................................................... 55
4. ANÁLISIS ESTADÍSTICOS CON STATA ......................................................................................... 56
4.1 Estadística descriptiva ..........................................................................................................................57
4.2 Ponderadores -weight- ........................................................................................................................58
4.3 Calculo de medias ................................................................................................................................58
4.4 Intervalos de confianza .........................................................................................................................59
4.5 Pruebas de hipótesis ............................................................................................................................60
4.5.1 Media ........................................................................................................................ 60
4.5.2 Varianza ..................................................................................................................... 61
4.5.3 Proporciones ............................................................................................................. 61
4.6 Manejo de tablas de datos ....................................................................................................................61
4.6.1 Tabstat ....................................................................................................................... 62
4.6.2 Tabulate (tab) ............................................................................................................ 63
4.6.3 Table .......................................................................................................................... 64
4.7 Pruebas no paramétricas ......................................................................................................................66
4.8 Ejemplo aplicado ..................................................................................................................................68
4.8.1 Comandos Básicos ..................................................................................................... 68
4.8.2 Ayuda visual table y tabstat ..................................................................................... 69
4.8.3 Tablas de contingencia .............................................................................................. 71
4.8.4 Tablas de frecuencia.................................................................................................. 72
4.8.5 Correlaciones............................................................................................................. 73
4.8.6 Prueba para la media ................................................................................................ 74
4.8.7 Prueba para detectar normalidad ............................................................................. 75
4.8.8 Pruebas para la media: dos muestras independientes ............................................. 75
4.8.9 Comparación de k medias independientes ............................................................... 76
4.8.10 Exportar tablas .......................................................................................................... 79
4.8.11 Ejercicio ..................................................................................................................... 80
4.9 Comandos usados ................................................................................................................................80
4.9.1 Otros comandos recomendados ............................................................................... 81
5. GRAFICAS CON STATA ............................................................................................................... 82
5.1 Histograma ...........................................................................................................................................84
5.2 Gráfico de tortas ...................................................................................................................................85
5.3 Graficas twoway ...................................................................................................................................87
5.4 Editor de gráficos de Stata ...................................................................................................................90
5.4.1 Haciendo doble clic sobre el área de la grafica ......................................................... 91
5.5 Gráfico de series de tiempo ..................................................................................................................92
5.6 Gráfico de dispersión ............................................................................................................................93
5.7 Gráfico de puntos .................................................................................................................................95
5.8 Gráfico de barras ..................................................................................................................................96
5.9 Generando Funciones ..........................................................................................................................98
5.10 Combinando gráficas ............................................................................................................................98
5.11 Ejemplo aplicado ..................................................................................................................................99
5.11.1 Transformaciones Tukey ........................................................................................... 99
5.11.2 Gráficos de matriz ................................................................................................... 100
5.11.3 Gráficos de líneas .................................................................................................... 101
5.11.4 Edición de gráficos .................................................................................................. 101
5.11.5 Gráfica de histogramas............................................................................................ 102
5.11.6 Diagramas de dispersión ......................................................................................... 103
5.11.7 Exportar gráficos ..................................................................................................... 105
5.12 Comandos usados ..............................................................................................................................107
6. REGRESIÓN LINEAL EN STATA ................................................................................................. 108
6.1 Ejercicio ..............................................................................................................................................108
6.2 Descripción estadística de la información ...........................................................................................109
6.3 Relación lineal entre las variables dependientes e independientes ....................................................109
6.4 Representación gráfica de las relaciones entre variables ...................................................................110
6.5 Estimación del modelo lineal de regresión .........................................................................................112
6.5.1 Pruebas de hipótesis lineales .................................................................................. 114
6.5.2 Ejercicio ................................................................................................................... 114
6.6 Comprobación del cumplimiento de los supuestos de M.C.O. ...........................................................115
6.6.1 Multicolinealidad (Asociación lineal entre variables) ............................................. 115
6.6.2 Homocedasticidad ................................................................................................... 115
6.6.3 Normalidad de los residuos..................................................................................... 117
6.6.4 Exogeneidad de las variables independientes ........................................................ 119
6.6.5 Ejercicio ................................................................................................................... 120
6.7 Pronóstico ...........................................................................................................................................120
6.7.1 Representación gráfica del pronóstico de la variable dependiente y su relación con
los regresores .......................................................................................................................... 120
6.7.2 Ejercicio ................................................................................................................... 121
6.8 Exportar tabla de contenido ................................................................................................................121
6.9 Ejemplo aplicado ................................................................................................................................122
6.9.1 Prueba de hipótesis ................................................................................................. 123
6.9.2 Supuestos para mínimos cuadrados ordinarios ...................................................... 123
6.10 Comandos usados ..............................................................................................................................127
7. MODELOS DE VARIABLE DEPENDIENTE BINARIA: MODELOS LOGIT Y PROBIT ....................... 128
7.1 Representación de las relaciones entre variables ..............................................................................129
7.1.1 Participación y Género ............................................................................................ 129
7.1.2 Participación y Nivel Educativo ............................................................................... 130
7.1.3 Participación y Edad ................................................................................................ 131
7.2 El modelo tipo Logit encuesta Casen 2006. .......................................................................................131
7.2.1 Interpretación de resultados................................................................................... 132
7.2.2 Odds - Ratio (p/q) .................................................................................................... 133
7.2.3 Post – estimación .................................................................................................... 133
7.3 Modelo Lineal de probabilidad y modelo tipo Probit ...........................................................................135
7.3.1 Modelo Lineal .......................................................................................................... 135
7.3.2 Modelo tipo Probit .................................................................................................. 136
7.3.3 Comprobación de supuestos ................................................................................... 139
7.3.4 Pronóstico ............................................................................................................... 143
7.3.5 Ejercicio ................................................................................................................... 143
7.4 Ejemplo aplicado ................................................................................................................................144
7.4.1 Modelos con variable dependiente binaria MLP, Logit y Probit ............................ 144
7.5 Comandos usados ..............................................................................................................................148
8. MODELOS DE SERIES DE TIEMPO ............................................................................................ 149
8.1 Serie de tiempo en Stata modelos autorregresivos de media movil (arma) .......................................149
8.1.1 Generación de variables con formato de fecha ...................................................... 149
8.1.2 Designando la variable que representa al tiempo .................................................. 150
8.1.3 Variables con rezago ............................................................................................... 151
8.2 Metodología Box Jenkins (BJ) aplicada al caso de selección y estimación de un modelo arma para
pronóstico de la inflación. ................................................................................................................................152
8.2.1 Fase de identificación .............................................................................................. 152
8.2.2 Fase de estimación .................................................................................................. 154
8.2.3 Fase de verificación y diagnostico ........................................................................... 155
8.2.4 Pronósticos .............................................................................................................. 156
8.2.5 Ejercicio ................................................................................................................... 157
8.2.6 Ejemplo aplicado: FILTROS, ARIMA, SARIMA. ......................................................... 158
8.3 Modelos ARCH y GARCH, modelo condicional autorregresivo generelazidado con heterocedasticidad
171
8.3.1 Antecedentes .......................................................................................................... 171
8.3.2 El modelo GARCH(1,0) ............................................................................................. 172
8.3.3 Metodología ARCH EN STATA ................................................................................. 173
8.3.4 Ejemplo aplicado ..................................................................................................... 173
8.4 Comandos usados ..............................................................................................................................179
9. MODELOS DE DATOS PANEL O LONGITUDINALES .................................................................. 179
9.1 Análisis de datos panel .......................................................................................................................180
9.1.1 Estructura de bases de datos panel ........................................................................ 181
9.2 Ejemplo Práctico – El caso de la CASEN ...........................................................................................182
9.2.1 Gráficos de evolución .............................................................................................. 184
9.2.2 Modelos econométricos para datos de panel......................................................... 187
9.2.3 Comparación de modelos ....................................................................................... 192
9.2.4 Interpretación de los parámetros de efectos fijos. ................................................. 193
9.3 Comandos usados ..............................................................................................................................193
10. INTRODUCCIÓN A LA PROGRAMACIÓN .............................................................................. 195
10.1 Local macros ......................................................................................................................................195
10.2 Creando ciclos ....................................................................................................................................195
10.2.1 Comando IF ............................................................................................................. 195
10.2.2 Comando For ........................................................................................................... 196
10.2.3 Comando Forvalues ................................................................................................. 196
10.2.4 Comando While: ...................................................................................................... 196
10.3 ESCALARES Y MATRICES ...............................................................................................................196
10.3.1 Ejercicio ................................................................................................................... 199
11. TRUCOS CON STATA ............................................................................................................ 200
11.1 Algunos consejos con Stata ...............................................................................................................200
11.2 Ejecutando comandos en Stata sin resultados (quietly) .....................................................................203
11.3 Herramienta de calificación de Stata 12 .............................................................................................205
11.4 Archivos en PDF de logs y gráficas con Stata 12 ...............................................................................207
11.5 Material de apoyo ...............................................................................................................................209
12. BIBLIOGRAFIA ...................................................................................................................... 210
1. INTRODUCCIÓN
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 Corp 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.
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 investigaciones.
Este manual es de carácter académico y representa una guía para los usuarios de Stata.
1
El manual contiene 216 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ísticas
Rutas de acceso por medio de los menús Se describe el nombre del Menú seguido por el
símbolo “”
2
2. MANEJO FUNDAMENTAL DE STATA 12
Nota: Además del sistema operativo Windows, Stata Corp ha desarrollado la plataforma para los
sistemas operativos en Mac y Unix, con sus respectivos manuales de introducción.
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.
1
Para conocer todas las diferencias entre las versiones de Stata, dirigirse a la ayuda por medio del comando
help limits.
3
VENTANA DE
VARIABLES
VENTANA DE
REVISIÓN
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.
4
Ventana de Propiedades: Presenta la información de cada variable, como nombre, tipo
de variable, formato, las notas de la base de datos (puede
usar el comando notes para verlas en la ventana de
resultados), entre otras características.
2.2 Barras
Barra de Nombre
Barra de
Menús
Barra de
Herramientas
Para acceder a los manuales de ayuda debe seguir la ruta Help PDF Documentation
5
Buscar información sobre algún tema, la rutina que permite ejecutarla en Stata, o el
sitio desde donde es posible descargar la macro para alimentar el programa.
Instalar programas de Stata escritas por otros usuarios, desde el “Stata Journal” o del
boletín técnico “Stata Technical Bulletin”.
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.
6
La ayuda de Stata ofrece información sobre:
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, suponga que se quiere calcular en Stata el coeficiente de concentración gini
(procedimiento muy conocido en economía y estadística), pero no se sabe si Stata realiza
este cálculo y, además, si es posible hacerlo, no se conoce 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
7
Figura 4. Comando search
. update all
. adoupdate, update
Antes de iniciar una sesión de trabajo es importante tener en cuenta que Stata opera a
través de diferentes tipos de archivos.
8
Tipo de Archivo Extensión
La creación de las variables se realiza por medio del comando generate, los comandos en
Stata no son necesarios escribirlos 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 y 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
[by varlist:] Command [varlist] [=exp] [if exp] [in range] [weight] [using filename] [,options]
Por ejemplo:
Se debe tener en cuenta que Stata distingue entre letras mayúsculas y minúsculas. Todos
los comandos del programa se deben escribir en letras minúsculas. De lo contrario el
programa no lo reconoce. Los paréntesis cuadrados indican que no es un carácter
obligatorio dependiendo el comando específico.
Es posible usar con Stata prefijos para algunos comandos, por ejemplo, el comando
regress que permite realizar el procedimiento de regresión se puede ejecutar digitando
solamente los tres primeros caracteres, es decir al tener reg ejecuta la misma función que
al escribir regress.
Para conocer mayor información sobre la estructura de los comandos de Stata, busque
información así: help syntax
9
2.6 Ventana de comandos
Es común encontrar en las ventanas emergentes de Stata el nombre del comando que
permite realizar la instrucción que se le ordenará al programa para que realice, por
ejemplo, al seguir la ruta
Comando
Limpiar la
Ejecutar No Ejecutar Ejecutar y
ventana
mantener
la ventana
Figura 5. Características de una ventana activa
10
2.7 Configuración de la memoria de Stata
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.
11
dado que la ayuda en muchas ocasiones se referencia a las bases de datos del software,
para acceder a ellas siga la ruta File Example Datasets Example datasets installed
with Stata o para acceder a todas las bases de datos seleccione Stata 12 manual
datasets pero debe tener acceso a internet.
VARIABLE
CUANTITATIVA CUALITATIVA
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.
12
RANGO
TIPO DE VARIABLE FORMATO
MÍNIMO MÁXIMO
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.
Variables de cadena
% 20 s Variable “String”
Variable numérica
13
Formato general “g”, Notación científica “e”,
formato fijo “f”
. sysuse auto
. describe Price
. recast float price
14
3. MANEJO DE BASE DE DATOS
Hay ciertas características que usted podrá aprender para el manejo de la información,
entre ellas los pasos fundamentales, como son, importar una base de datos, eliminación,
transformación de bases de datos, entre otros.
Un archivo tipo texto con extensión “.log” o “.smcl”4, 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.
4
Iniciales de Stata Markup and Control Language.
15
Figura 7. Creación de un archivo Log
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 o mediante el teclado
CTRL+ O 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 2.8 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
16
En este caso el comando insheet tiene la siguiente estructura
Por ejemplo:
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
17
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 “CTRL+8”, o haciendo clic en
Variable Properties
Filter Observations
Snapshots
Edit Mode Variables Manager
Browse Mode
18
Busque el
archivo de
Excel
Seleccione
la hoja a Active la casilla si en
Seleccione el
importar su hoja la primera fila
rango de los
contiene los nombres
datos
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.
19
3.1.5 Importar otros tipos de archivo
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
A través del cuadro de comandos empleando el comando “save”, por ejemplo:
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 se trabaja 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.
20
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 (ver más información en la sección 3.4).
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
21
storage display value
variable name type format label variable label
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 se puede encontrar opciones como crear nuevas variables
22
Figura 12. Comando generate
23
Tabla 9. 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
. gen dummy = 1 if TV >5 *crea una variable con valores = 1 si TV > 5, perdido en otro caso.
. 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
24
f/# Condición desde la primera observación (f) hasta una observación
-#/# Condición desde las últimas # observaciones hasta # que puede ser la última
con l, *L minúscula*
Ejemplo:
. gen lny=ln(i_laboral)
. gen lnm=ln(htm)
. gen exp2=exp^2
. gen horas=int(htm)
. gen uniforme=uniform()
25
*Horas de trabajo al mes expresadas en números enteros (redondeado)
. gen horasr=round(htm)
* Si cumple la condición (ser menor de 25 años) marcar con el número “1”
Para recodificar variables (cambiar los valores de una variable) se pueden utilizar los
comandos recode (ver más información en la sección 3.12.1) o replace. Por ejemplo, si se
quiere reemplazar en la variable men25 los valores perdidos “.” por “0” una opción es
emplear el comando replace así:
Ejemplo:
26
Figura 14. Ordenar datos
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.
Ejemplo:
27
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
28
. 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
Snapshot
Remover Snapshot
Cambiar el nombre
Agregar
Restaurar
Snapshot
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.
Uso del in
29
. browse pop in 1/10
. browse pop in f/10 f = FIRST, l = LAST
. browse pop in 10/l hasta el último
Se puede combinar con que realizar el filtro puede usar los comandos browse, edit, keep,
drop y list.
drop elimina observaciones y/o variables, keep conserva observaciones y/o variables, list
presenta variables y/o observaciones en la ventana de resultados, 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.
keep/drop variables
keep/drop if expression
keep/drop in rango
Ejemplo:
. 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
. varmanage
30
Figura 16. Administrador de variables.
En la versión 12, Stata ha incluido una nueva ventana que es la ventana de propiedades
en la cual se pueden modificar la información de cada variable:
31
3.10.1 Rename
Este comando permite cambiar el nombre de una variable. Por ejemplo:
3.10.3 Notes
Se pueden crear dos tipos de notas, una para las variables 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
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
debe seleccionar la variable que codificará, luego debe dar clic en Manage que se
encuentra a la derecha de la opción Value label
32
Figura 19. Administrador de Value Labels
Para crear una nueva etiqueta haga clic en Create Label, en la figura 17 podrá agregar,
eliminar y editar las categorías con su correspondiente descripción.
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.
33
Figura 21. Asignación de etiquetas
. 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
3.12.1 Recode
Este comando permite recodificar algún valor de una variable
34
Figura 22. Recode
Suponga que se quiere generar una variable que segmente a la población en grupos de
edad (menores de 18 años, entre 18 y 25 años, entre 26 y 40 años, entre 41 y 60 años,
mayores de 60 años), con un numero distintivo para cada categoría. Una opción es
emplear el comando recode y generate (desde el do-file editor ) así:
o en forma alternativa
recode e02 (min/17=1 "Menores de edad") (18/25=2 "Entre 18 y 25 años") (26/40=3 "Entre 26 y 40 años")
(41/60=4 "Entre 41 y 60 años") (61/max=5 "Mayores de 60 años"), gen(gedad)
La variable gedad es una recodificación de e02 (edad). Note que se han aplicado
etiquetas a cada una de las categorías entre comillas.
. codebook gedad
35
Tabla 15. Comando codebook
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
36
. use hombres, clear
. append using MUJERES
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.
37
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.
. isid id num
. use EDUCACION
. sort numero e01
.d
. save EDUCACION, replace
. use PERSONAS
. sort numero e01
.d
38
. save PERSONAS, replace
3. Se aplica el comando merge para pegar horizontalmente las dos bases así:
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)
3.14.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.
En Stata es posible colapsar bases de datos a través del comando collapse. Debe
tenerse en cuenta:
39
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.
Por ejemplo, a partir de la base personas.dta, se puede obtener una base de datos
agregada por localidad y sexo así:
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.
3.14.2 Reshape
En algunas ocasiones dependiendo del estudio muestral y de la construcción de la base
de datos, usted encontrará su información en dos formatos, ancho (wide) y largo (long), el
formato ancho es aquel en el cual usted tiene un conjunto i de individuos y un número j de
variables, donde j es generalmente una variable con información para diferentes períodos
de tiempo.
. list
40
state pop1970 pop1980 pop1990 pop2000 area
>
Number of obs. 6 -> 24
Number of variables 6 -> 4
j variable (4 values) -> año
xij variables:
pop1970 pop1980 ... pop2000 -> pop
. list
41
state año pop area
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 se usará la siguiente sintaxis
42
Tabla 21. Comando list después de Reshape wide
3.14.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.
43
. sysuse auto , replace
. snapshot save, label(“base original”)
. keep mpg foreign
. xpose , clear varname
3.14.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.
44
Figura 27. Base de datos después del comando stack
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 se presenta un conjunto de comandos que
presentan algunos casos típicos en el manejo de bases de datos.
45
make price
. expand 3
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
46
. assert edad < 0 | edad > 100
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
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, el comando duplicates se analiza en la siguiente sección.
Uno de los problemas comunes en el manejo de una base de datos es analizar si hay
presencia de observaciones duplicadas
47
Figura 28. Administración de Duplicados
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.
48
Duplicates in terms of make
1 1 Cad. Eldorado
1 6 Cad. Eldorado
1 7 Cad. Eldorado
2 2 Cad. Seville
2 8 Cad. Seville
2 9 Cad. Seville
3 3 Linc. Mark V
3 10 Linc. Mark V
3 11 Linc. Mark V
4 4 Linc. Versailles
4 12 Linc. Versailles
4 13 Linc. Versailles
5 5 Peugeot 604
5 14 Peugeot 604
5 15 Peugeot 604
Como se puede observar para cada marcar de automóvil hay dos valores adicionales, lo
que ya nos había indicado la opción report informando que habían tres observaciones
para cada categoría.
La siguiente opción Tags duplicates permite crear una variable que indica el número de
valores adicionales en este caso será 2, si se utiliza el tag y se realiza una lista se
apreciará el resultado.
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
49
Uno de los objetivos es eliminar los valores duplicados
make
1. Cad. Eldorado
2. Cad. Seville
3. Linc. Mark V
4. Linc. Versailles
5. Peugeot 604
50
*.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 CTRL+9 o haciendo clic en el
submenú –Do-file Editor– en el menú –Window– en la barra de herramientas5.
En ocasiones las bases de datos no se encuentran completas, por un lado por datos
faltantes en columnas o en filas, por lo tanto en esta sección se explica cómo añadir
nuevas observaciones de bases de datos externas utilizando comandos como merge y
append.
1. Se utiliza la base de datos llamada “REGION19572004”, la cual contiene datos de
1957 hasta 2004 para países de la región latinoamericana excluyendo a Chile para
efectos de aprendizaje, la cual fue descargada de la base de datos de
https://pwt.sas.upenn.edu/.
3. Se utiliza la base de datos llamada “CHILE19572004”, la cual contiene las misma
variables que el punto uno y dos, pero solo para el país de Chile, se aplicara el
comando append, con el objetivo de agregar una nueva observación de orden
horizontal.
. cd "C:\Users\SOFWARESHOPFILES"
. use "POBLACION19572004"
. sort country year
. browse
. save "POBLACION19572004.dta", replace
. use "REGION19572004"
. sort country year
. merge 1:1 country year using "POBLACION19572004"
. br
.codebook _merge
.drop _merge
5
Es posible usar el comando doeditor para abrir el editor de programación.
51
Tabla 29. Merge 1:1
Por ejemplo, se desea que se mantenga en memoria los países de Brazil y Chile para los
años 2000 y 2004.
Por ejemplo, se desea mantener en memoria aquellas variables que cumplan con alguna
condición en este caso para aquella población que sea mayor a 30.000.000.
. keep if pop>=30000
Por ejemplo, se desea que se eliminen las dos primeros años para cada país.
52
3.18.1 Cambiando la orientación de la base de datos: De horizontal a vertical
y viceversa
3.18.2 Ejercicio
1. Utilizar las bases de datos de calidad de vida para el país Colombia año 2010:
Dbfp_encv_547_1, Dbfp_encv_547_4, Dbfp_encv_547_5.
2. Se debe aplicar el comando merge 1:1 para consolidar las tres bases de datos,
siendo la base de datos Dbfp_encv_547_1 master.
3. Recomendaciones: elegir la llave correcta, eliminar los datos que se desean
excluir de la muestra (e.g. Nro_encuesta, nro_encuesta) “drop”, organizar de forma
ascendente la llave “sort”, guardar la bases de datos con nombre alternos (e.g.
20101, 20102, 20103) “save”, aplicar el comando “merge”.
53
3.19 Comandos usados
append invnormal()
browse keep
by label
bysort list
cd log
clear merge
codebook mvdecode
compress mvencode
db open
decode order
describe outfile
destring prefix
drawnorm recode
drop rename
duplicates replace
edit reshape
encode save
egen snapshot
exit sort
format sysuse
generate use
gsort uniform()
infile varmanage
insheet xpose
54
3.19.1 Otros comandos recomendados
capture mat
cf more
count notes
cross sample
datasignature seed
expand separate
filin split
format stack
infile svy
inspect tostring
joinby translate
label language version
language operators
55
4. ANÁLISIS ESTADÍSTICOS CON STATA
Stata tiene una amplia posibilidad de realizar los procedimientos generalmente es posible
encontrar varios comandos en diferentes menús. Por ejemplo para poder obtener las
estadísticas descriptivas de una variable es posible usando inicialmente los comandos o
por medio de ventanas de ejecución.
Clear--more
Break
Pero es posible desactivar la opción para que aparezca 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 manual. Por ejemplo en Statistics Summary,
tables, and test Summary and descriptive statistics:
56
Finalmente en Statistics Summarize, tables and test, se pueden realizar varias
operaciones como son cálculo del intervalo de confianza, test para medias, varianzas, dos
muestras, etc., pruebas parámetricas y no parámetrica
Lo que se genera:
fweight: frequency weights, indica el número de casos que representa realmente cada
observación muestral. La variable debe contener enteros positivos.
Esta opción permite calcular la media: aritmética, geométrica o armónica. Para una
variable en específico o para toda la base de datos en caso de dejar el espacio variables
en vacio. Los comandos que se pueden utilizar para realizar el cálculo son: ameans,
gmeans o hmeans
58
Figura 34. Media para las variables
59
Figura 35. Intervalos de confianza para las variables
. ci price
4.5.1 Media
Con Stata se pueden realizar test de hipótesis sobre la media
. ttest horas = 15
60
4.5.2 Varianza
Este comando realiza una prueba en la igualdad de varianzas (desviaciones estándar).
Este prueba tiene tres formas para ser evaluada, en la primer forma se demuestra que la
desviación estándar es igual a un número, en la segunda se demuestra si una variable1 y
otra vairable2 tienen la misma desviación estándar y la última forma se realiza la misma
prueba pero utilizando una variable grupo. Esta prueba utiliza la tradicional prueba F para
la homogeneidad entre varianzas entre muestras con n-1 grados de libertad, donde la
hipótesis nula describe la igualdad entre varianzas y una hipótesis alternativa
describiendo la diferencia que existe en la varianza de las muestras
. sdtest variable1=1
. sdtest variable1=variable2
. sdtest variable1, by(variablegrupal)
4.5.3 Proporciones
Este comando realiza pruebas en la igualdad de proporciones utilizando grandes
muestras estadísticas. Y posee las mismas características y formas de emplear que el
comando de la sección 4.5.2.
. prtest variable1=variable2
Los comandos tabulate y table ofrecen a los usuarios de Stata una amplia gama de
posibilidades de descripción y análisis de datos a través de diferentes tipos de
estadísticos y cruces de variables en cuadros de frecuencias y tablas de resumen.
61
Figura 36. Tablas
Gran variedad de opciones para analizar encuestas como tablas de doble y múltiple
entrada, de igual forma permite ver la tabla de frecuencias y de contingencia
4.6.1 Tabstat
Para la generación de tablas descriptivas, Stata ofrece diferentes opciones, la opción
tabstat puede calcular la media, desviación estándar, varianza, el número de
observaciones, entre otras.
62
Figura 38. Opciones Tabstat
. tabulate rep78
Repair
Record 1978 Freq. Percent Cum.
1 2 2.90 2.90
2 8 11.59 14.49
3 30 43.48 57.97
4 18 26.09 84.06
5 11 15.94 100.00
Total 69 100.00
Combinado con la opción plot, el comando tabulate genera un histograma horizontal que
describe gráficamente la frecuencia de cada una de las categorías.
63
Se puede tabular de forma separada más de una variable con el comando tab1. Para
visualizar las frecuencias de cada una de las variables creadas con el procedimiento
anterior se podrá usar la siguiente sintaxis:
. tab1 ed1 ed2 ed3 ed4 ed5 ed6
4.6.3 Table
De otro lado, el comando table permite crear tablas de contingencia doble o múltiple y a
su vez definir el tipo de contenido estadístico para los campos de una tabla. La forma más
simple de una tabla de contingencia es un cuadro de frecuencias absolutas. La sintaxis
para generar tablas de contingencia es:
Genera una tabla de frecuencia simple con el sub-total de personas que alcanzaron cada
nivel educativo. La tabla resultante tan sólo tiene en cuenta las unidades sin expansión
disponibles en la muestra. Sin embargo, las opciones del comando table, permiten
obtener reportes mucho más elaborados como se muestra a continuación:
1. Con la opción [weight=…] es posible expandir la información de la muestra para que
se ajuste a la población (universo) total proyectado. Esto se logra a través de
64
ponderadores de frecuencia, de muestra, ponderadores analíticos y de importancia.
Siguiendo con el ejemplo:
La primera variable edu004 define las categorías de cada una de las filas de la tabla
de contingencia y la segunda variable e03 las categorías de cada columna.
3. Los totales por columna y por fila para una o más variables se obtienen con las
opciones col y row respectivamente así:
4. La opción format permite dar formato a los contenidos de la tabla para facilitar la
lectura de los resultados. Por ejemplo, para desplegar la información con separadores
de miles y cero decimales la sintaxis es:
5. Además de las frecuencias absolutas, el usuario puede definir otro tipo de contenido
c(…) estadístico para los campos de la tabla. Por ejemplo, se pueden obtener en una
tabla de contingencia la edad promedio de hombres y mujeres por nivel educativo así:
65
Tabla 40. Comando table con estadística descriptiva
Finalmente puede crear una variable dummy para cada categoría, simplemente, se
agrega la opción generate.
66
Figura 39. Prueba de Sperman
Con el anterior test se comprueba que el precio y las millas por hora de un vehículo tienen
una relación dependiente negativa.
67
Tabla 42. Prueba Kolmogorov-Smirnov
A través de esta prueba se puede inferir que la distribución del precio de los vehículos es
igual para el grupo de vehículos que provienen del extranjero y los nacionales. Por lo
tanto se acepta la hipótesis nula de que la muestra proviene de una distribución normal.
68
4.8.2 Ayuda visual table y tabstat
Por ejemplo, se quiere saber los aspectos generales de la muestra, alguna variable en
específico o algún momento estadístico de una variable.
. sum
. sum c101_edad_anio, d
69
Tabla 44. Estadística descriptiva para la variable años
. tabstat c101_edad_anio c104 c107, stat (count mean sd p50 min max skew kurt n) by ( c101_sexo)
70
Nota: Puede notar que el valor máximo para talla en centímetros es igual 999.9. Para codificar esta
variable se digita el siguiente comando recode c107 (999.9=.). (Ver más información en la sección
3.12.1)
Se requiere una tabla que contenga el peso promedio neto y el número de individuos por
edad y sexo, teniendo en cuenta la ocupación profesional del individuo.
71
Tabla 48. Tabla de contingencia por ocupación profesional.
Se requiere una tabla de frecuencia que tenga en cuenta la población entre los 16 y 18
años y que muestre el porcentaje del total en forma de fila y una siguiente en forma de
porcentaje por filas y columnas.
72
Tabla 50. Tabla de frecuencia para individuos Tabla 49. Tabla de frecuencia por fila de
menores de 18 años individuos entre 16 y 18 años
4.8.5 Correlaciones
Se requiere medir el grado de asociación entre las variables de edad y peso neto, con
dos medidas de correlación. Una de manera paramétrica y la otra de manera no
paramétrica.
73
. pwcorr c101_edad_anio c104, sig *Lineal
. spearman c101_edad_anio c104 *No lineal
Para los dos tipos de prueba existe evidencia que el peso está altamente correlacionado
con la edad del individuo, con una correlación positiva..
. sum c101_edad_anio
. ttest c101_edad_anio=29.78994
74
Tabla 55. Prueba de medias
Mediante las dos pruebas que se realizaron para detectar la presencia de normalidad en
la variable de años del individuo se llega a la conclusión que esta variable no sigue una
distribución normal.
75
. tabstat c101_edad_anio, by( c101_sexo)
En caso de que las varianzas de las dos muestras sean diferentes, se utiliza unequal o el
test de Welch w.
76
4.8.9.1 ANOVA de una Vía
. tabstat c104, by ( c101_sexo)
Primero se crea una variable con los residuales para comprobar su normalidad.
. pnorm residuales
. qnorm residuales
. swilk residuals
.sktest residuals
100
1.00
0.75
50
Normal F[(residuales-m)/s]
residuales
0.50
0
0.25
-50
-100
0.00
Figura 44. Distribución normal estandarizada Figura 43. Cuantiles de los residuales vs
cuantiles de la distribución normal
77
Tabla 62. Prueba de normalidad de los errores
Cuarto, se lleva a cabo el ANOVA, y se coloca como opción elaborar una tabla descriptiva
t y algunas opciones útiles para hacer comparaciones b anova, sc anova, si anova, para
hacer comparaciones Bonferroni, Scheffe y Sidak, respectivamente.
78
4.8.10 Exportar tablas
Existen algunas aplicaciones dentro de STATA 12, para exportar tablas las cuales son
tabout y outreg2, outreg2 solo será útil después de una estimación econométrica. Pero
antes de ser utilizadas deben ser instaladas y mirar su aplicabilidad dentro del software.
Después de instalar las aplicaciones y la posterior apertura al software Stata 12, se digita
el comando adoupdate, update, para mostrar si existe alguna nueva actualización de la
aplicación.
. help tabout
79
Tabla 67. Archivo de texto
. help outreg2
4.8.11 Ejercicio
1. Utilizar la base de datos que se consolido en la sección manejo de base de
datos.
ameans keep
anova ksmirnov
by, sort level
ci mean
collapse misstable
contract normprob
correlate oneway
display oneway
egen outreg2
estat pnorm
gen pwcorr
gmeans pwcorr
help tabout qnorm
hmeans quietly
80
recode tab1
replace tab2
robvar table
scalar table
sdtest tabstat
sktes tabstat
sktest tabulate
sktest tabulate
spearman test
ssc describe ttest
ssc install ttest
summarize use
swilk xi
compare
ereturn
ktau
ladder
outreg
outreg2
Return
set level 90
Signtest
spearman
stem
tabi
weight
81
5. GRAFICAS CON STATA
Stata cuenta con una poderosa herramienta gráfica, permitiendo obtener gráficas de
excelente calidad y con varias opciones de edición de las mismas, es posible realizar
gráficas como histogramas, barras, de torta, series de tiempo, Box plot, dispersión, para
datos panel y para otros tipos de análisis como son de supervivencia, multivariado, control
de calidad, etc.
Stata tiene dos formas de generar múltiples gráficos, a través de la ventana de comandos
con el comando graph o utilizando la barra de herramientas en Graphics. El comando
graph se utiliza con el tipo de gráfico a realizar. A continuación se presenta la lista de
posibles gráficos
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
82
mband median-band line plot
mspline spline line plot
lowess Lowess line plot
lfit linear prediction plot
qfit quadratic prediction plot
fpfit fractional polynomial plot
lfitci linear prediction plot with CIs
qfitci quadratic prediction plot with CIs
fpfitci fractional polynomial plot with CIs
function line plot of function
histogram histogram plot
kdensity kernel density plot
lpoly local polynomial smooth plot
lpolyci local polynomial smooth plot with CIs
Tabla 68. Gráficos twoway
Plottype Description
graph matrix Matrices de gráficos
Ejemplo:
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 se quiere traer de nuevo se
usará graph use graph.gph
Es posible combinar gráficos por medio del comando combine graph1 graph2..
83
5.1 Histograma
Histograma: GraphicsHistogram
84
3.0e-04
2.0e-04
Density
1.0e-04
. graph pie, over(foreign) title(Gráfico de tortas) legend(on rows(2)) pie(2, explode) plabel(1 percent, gap(30))
plabel(2 percent) legend(position(9))
85
Figura 49. Gráfico de tortas porcentajes como etiqueta
. graph pie, over(foreign) title(Gráfico de tortas) plabel(_all name, gap(-5)) plabel(_all percent, gap(5))
legend(off)
86
5.3 Graficas twoway
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
87
40
30
Mileage (mpg)
20
10
Usando los comandos para hacer esta gráfica solo es necesario escribir
Domestic Foreign
40
30
Mileage (mpg)
20
10
88
Figura 55. Ayuda visual para crear gráficos por grupo
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.
. twoway scatter mpg weight || lfit mpg weight – *Con una notación diferente de separación
. twoway (scatter mpg weight) (lfit mpg weight)
89
40
30
20
10
90
Figura 59. Opciones en la edición de gráficos
91
5.5 Gráfico de series de tiempo
Figura 61. Gráfico del precio de la acción de Coca Cola a través del tiempo
Otra manera de graficar series de tiempo, primero se debe crear una variable de tiempo
con el comando tsset y utilizar el comando tsline con la variables que se desean gráficar.
. tsset date, m
. tsline Coke
92
Figura 62. Gráficos con series de tiempo
93
Figura 63. Gráficos de dispersión.
. graph matrix pop medage death marriage, maxes(ylab(none) xlab(none)) by( region)
94
Figura 65. Gráfico de dispersión por región
95
5.8 Gráfico de barras
. db graph bar
96
8
6
4
2
0
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.
97
5.9 Generando Funciones
0 5 10 15 20
x
98
5.11 Ejemplo aplicado
. use"C:\Users\SOFWARESHOPFILES\CALIDADDEVIDA2011COLOMBIA.dta", clear
. gen w=exp(Ln_w)
. gladder w, title(Transformacion Tukey) ylabel(none) xlabel(none)
99
Figura 74. Escalera de Potencias de Tukey
100
5.11.3 Gráficos de líneas
Existen dos comandos que permiten aplicar este tipo de gráficos. El primero connect
dibuja los puntos y los conecta. El segundo line hace la conexión de los puntos pero los
deja invisible. Se recomienda utilizar la opción sort, que ordena los casos en función de
las variables independientes para que la conexión se produzca entre casos continuos y no
se produzca crucen entre líneas dibujadas.
101
Para editar colores y tamaños en los ejes será necesario dar un doble clic sobre el área a
editar.
102
Figura 79. Histograma de la Edad
103
Figura 81. Diagrama de dispersión
Algunas opciones como ylabel y xlabel, permite editar los ejes de las ordenadas y
abscisas dentro de un rango y un intervalo, lfit, permite hacer una gráfico bidimensional
trazando una línea que mejor se ajuste a las variables de la muestra.
. scatter w edu, mlabel(nivele) || Lfit w edu ,ylabel(0(200000)3000000, angle(horizontal)) xlabel(0(1)15, grid) ///
name(Scatter4,replace) title(Ingresos vs Educacion) ytitle(Ingreso promedio) xtitle(Años de educación
promedio) by(p6020)
104
Figura 82. Dispersión Ingresos vs Educación Figura 83. Dispersión Ingresos vs Educación por género.
105
Con el objeto de utilizar los gráficos al momento que se necesitan y no se tenga a
disposición el software Stata 12, exportar gráficos es la mejor solución, existen tres
maneras de exportar gráficos.
106
3. La opción de exportar en formato ps|eps|wmf|emf|png|tif|pict|pdf, con el siguiente
comando:
bar pie
box qnorm
cchart quantile
combine rchart
dot rvpplot
graph scatter
histogram title
kdensity tslinetwoway
matrix xchart
pchart
107
6. REGRESIÓN LINEAL EN STATA
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
6.1 Ejercicio
108
6.2 Descripción estadística de la información
Por ejemplo:
Se puede obtener más detalles estadísticos de cada una de las variables con la opción
“detail” así:
Con el fin de analizar la relación lineal entre las variables independientes del modelo se
calcula la matriz de correlaciones. A través de la instrucción pwcorr se obtiene la matriz de
correlación de las variables que van a ser incluidas en el modelo de regresión así:
109
lny lnm edu007 exp exp2
lny 1.0000
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.
110
9 0 20000 17500
10 0 15000 17500
Tabla 73. Ejemplo de una base de datos
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)
1. Se genera 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í:
2. A continuación, se grafica 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 se tiene 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”.
111
De otro lado, la relación entre los ingresos laborales promedio y los años de experiencia
es de tipo cuadrático.
Para estimar la ecuación (1) a través de MCO se utiliza el comando regress (en forma
abreviada reg) así:
El comando regress genera una amplia gama de estadísticas además de los coeficiente
de regresión.
6
Help regress
Findit aboutreg
112
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.
𝐻 : 𝛽 = 𝛽 = 𝛽 = 𝛽 = 0
Interpretación de los betas estimados de acuerdo a la forma como están expresadas las
variables del modelo
. estat sum
. 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.
6.5.2 Ejercicio
2. 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.
. test lnm=edu007=exp=exp2=0
. 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.
6.6.1.1 Ejercicio
4. Calcule cada uno de los VIF de la regresión anterior.
6.6.2 Homocedasticidad
Es uno de los principales supuestos de MCO. En términos generales, en presencia de
heroscedasticidad la varianza de los estimadores está sesgada (sobrestimada o
subestimada). En estos casos no se puede confiar en las pruebas t y F. Visto de otro
modo, si el modelo está bien especificado no debería existir un patrón definido entre los
residuales del modelo y la variable dependiente pronosticada. Cuando la varianza de los
residuales no es constante se dice que la varianza de los residuales es heteroscedástica.
Existen métodos gráficos y métodos formales para detectar heterocedasticidad.
115
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)
. imtest, white
7
WHITE H. 1980. A Heteroscedasticity Consistent Covariance Matriz Estimator and Direct Test of
Heteroscedasticity. Econometrica, vol 48.
117
Figura 90. Prueba kdensity para detectar normalidad en los errores.
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
118
Tabla 81. Prueba sktest para detectar normalidad en los errores.
A continuación, se estima otro modelo (el cual tiene en cuenta la variable que deseamos
comprobar si es exógena) que se supone consistente y eficiente. En tercer lugar, se
emplea el estadístico de HAUSMAN el cual 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. Estimar el modelo consistente pero ineficiente (no tiene en cuenta la variable lnm)
8
HAUSMAN J,. Specification Test in Econometrics, Econométrica Vol. 46. No. 6. 1978.
119
Tabla 82. Prueba de Hausman para detectar endogeneidad.
6.6.5 Ejercicio
5. Pruebe la hipótesis de exogeneidad de cada una de las variables del modelo.
6.7 Pronóstico
─ Gráfico que representa los ingresos estimados y observados por año de educación y los
años de educación
120
Figura 92. Grafica de los datos observados vs pronóstico.
Ahora se tiene una idea bastante clara de la aproximación lineal que se ha llevado a cabo
entre los ingresos promedio y los años de educación a través de MCO.
6.7.2 Ejercicio
6. Grafique la relación promedio entre las variables dependiente y dependiente
pronosticada contra cada uno de los regresores del modelo.
7. Estime una ecuación que además tenga en cuenta el sexo como variable
explicativa
9. ¿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?
Para exportar los resultados de la tabla de regresión, existe un comando llamado outreg2
que permite hacer esta labor. Se utilizará después de evaluar el modelo de regresión. En
caso de que Stata 12 no tenga el comando en necesario instalarlo mediante el comando
ssc install outreg2.
1. Por ejemplo, se desea exportar una tabla a Excel que contenga una regresión
diferenciada por género, con las mismas variables independientes vistas en la
sección de la función de ingresos.
121
Tabla 83. Hoja de cálculo con la exportación de parámetros
Donde,
El comando general para evaluar un modelo de regresión lineal se llama regress o reg.
122
Tabla 84. Ecuación Minceriana.
Figura 93. Prueba de hipótesis conjunta Figura 94. Prueba de hipótesis individual
123
Tabla 85. Correlaciones entre variables independientes
3. Utilizar el comando vif, el cual se utiliza para crear el estimador que mide el factor
inflador de varianza, la regla de decisión consiste en que si el VIF es mayor o igual
a 10, existe multicolinealidad. La variable exp demuestra que existe
multicolinealidad, será necesario excluirla pero por propósitos académicos existe
evidencia empírica de que la experiencia afecta de manera positiva el ingreso del
individuo.
6.9.2.2 Heterocedasticidad
Existen dos métodos para detectar la presencia de heterocedasticidad dentro del modelo
por un lado se encuentra el análisis gráfico y otro que hace parte del análisis formal como
son las pruebas de Park, Glejser, White y Breush-Pagan.
124
Figura 95. Residuos en función de la predicción de Ln_w
Prueba White
Con esta prueba se concluye que hay presencia de heterocedasticidad, una de las
maneras que existen para corregir este problema es a través de la opción robust en la
estimación por M.C.O así:
Figura 97. Método gráfico qnorm Figura 98. Método gráfico Kdensity
126
Tabla 89. Prueba para detectar endogeneidad.
Se concluye que el modelo que describe una función de salario con variables observables
omite algunas variables que afectan el salario del individuo.
by outreg2
e(sample predict
egen pwcorr
est store qnorm
estat regress
estat ovtest res
hausman rvfplot
imtest sktest
kdensity sort
lincom summ
line test
mean vif
normal xb
127
7. MODELOS DE VARIABLE DEPENDIENTE BINARIA: MODELOS LOGIT Y PROBIT
Algunas de las opciones que se pueden utilizar para analizar la variable de participación
son:
2,000,000
1,000,000
Hombre Mujer
9
La función logística es 𝑓(𝑧) = y la función probabilística es 𝑓(𝑧) = Φ(z), donde z es una combinación
lineal de las variables independientes y Φ es la función cumulativa de la distribución normal.
129
Participa en el Mercado
Laboral
Sexo No Si Total
Hombre 1,622,038 4,303,680 5,925,718
Mujer 3,666,137 2,794,002 6,460,139
Total 5,288,175 7,097,682 12,385,857
Tabla 92. Participación laboral por género.
Hombre Mujer
1
.8
.6
.4
.2
0
BASICA INC
BASICA INC
BASICA COMP
BASICA COMP
SIN EDUC.
M.HUM. COMPL
M.HUM. INCOM
M.HUM. INCOM
SIN EDUC.
Graphs by Sexo
130
7.1.3 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
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 se ha cambiado los nombres por los valores de las categorías.
131
Figura 103. Modelo Logit.
También se puede 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 se utilizaron para analizar el modelo.
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.
132
consideradas. La significancia de las variables está testeada individualmente en el
resultado de la estimación y la interpretación es igual al caso de regresión lineal clásica.
chi2( 7) =60644.47
Para obtener las probabilidades estimadas, que es lo que finalmente se desea saber,
Stata 11 creo el comando “margins”. El siguiente comando va a modelar todas las
10
Para una prueba formal ver Applied Logistic Regression p.50.
133
probabilidades para cada valor de SEXO, empezando por el 0 hasta 1 con un ancho de
intervalo de 1.
Predictive Number of
margins obs = 12350554
Model VCE :
OIM
Expression :
predict()
Pr(PARTI),
…(lista de
1._at :
medias
SEXO= 0
…(lista de
medias
…(lista de
2._at :
medias)
SEXO= 1
…(lista de
medias)
[95% Interval
Margin Std. Err. z P>z
Conf. ]
_at
1 0.7362227 0.0002468 2982.78 0.000 0.7357389 0.736706
2 0.4423416 0.0002768 1598.17 0.000 0.4417992 0.442884
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:
134
7.3 Modelo Lineal de probabilidad y modelo tipo Probit
135
fácil concluir que el procedimiento de MCO no genera un modelo capaz de explicar el
comportamiento de los datos.
La alternativa es utilizar un modelo de regresión con una función no lineal que genere una
estimación en el rango comprendido entre 0 y 1. Las funciones de densidad acumulada
normal y logística cumplen con esta propiedad y dan origen a los modelos probit y logit
respectivamente.
Para llevar a cabo las estimaciones de este modelo primero se debe generar la variable
edad al cuadrado:
En STATA se utiliza el comando probit para estimar modelos con variable discreta a partir
del método de máxima verosimilitud. Para analizar los resultados del comando, se
comienza con estimar un modelo vacío:
. probit pea, r
136
Tabla 94. Probit con restricciones
Además de los coeficientes de regresión, el comando probit genera una amplia gama de
estadísticas:
LR 2 ( Loglikelih ood F
Loglikelih ood 0
)
137
necesario calcular el efecto marginal en varios valores de las variables. El cálculo que se
( X i )
tendría que hacer es , donde corresponde a la función de densidad estándar.
La función podría ser evaluada en el valor medio de la variable Xi. Por lo tanto, el primer
paso consiste en calcular el valor medio de las variables que se incluyeron en el modelo
probit a través del comando estat sum, que reporta las principales estadísticas de los
datos utilizados en el modelo de regresión:
. estat sum
7.3.2.1 Ejercicio
1. Calcule los efectos marginales de las demás variables incluidas en el modelo
probit.
138
Tabla 97. Efectos marginales del modelo.
Las columnas que le siguen a los coeficientes nos ayudan a realizar la inferencia de cada
uno de ellos. La columna “Robust Std. Err.” muestra el error estándar de cada coeficiente
a partir de una matriz de varianzas y covarianzas robusta, y la columna “z” muestra el
estadístico de una normal estándar que resulta de dividir el coeficiente de cada variable
sobre su propio error estándar. La columna “P>|z|” muestra la información
correspondiente a la probabilidad acumulada que le pertenece a cada estadístico z y la
columna “[95% Conf. Interval]” nos informan sobre los límites superior e inferior en los que
podrían variar los parámetros estimados con un 95% de confianza.
. estat gof
139
Los resultados señalan que la hipótesis nula es rechazada y por lo tanto, el modelo no
presenta un buen nivel de ajuste a los valores actuales. La principal consecuencia de este
resultado, es que no se puede utilizar el modelo para hacer inferencias acerca de la
relación entre las variables explicativas y la probabilidad de participar en el mercado de
trabajo. Sin embargo, el modelo aún posee algún valor predictivo y puede utilizarse para
pronosticar casos.
Bajo la hipótesis nula de que el modelo presenta un buen nivel de ajuste, el estadístico de
H-L sigue una distribución chi2 con G-2 grados de libertad. Al comparar las frecuencias
observadas y estimadas a través del estadístico de H-L y analizar el p-valor asociado a la
prueba, se rechaza la hipótesis nula. Una vez más, el modelo de participación laboral falló
una prueba de bondad de ajuste.
. estat class
140
Tabla 100. Estadística de clasificación
El resultado general de esta prueba es que el 66% de los valores originales están
clasificados correctamente. De la tabla de clasificación también se puede analizar la
siguiente información:
El primer cuadro de la tabla realiza una comparación entre los valores observados
y los pronosticados por el modelo. Las filas corresponden a los valores “1”(+) y
“0”(-) clasificados por el modelo, y las columnas corresponden a los valores
observados (D=1 y ~D=0).
La sensibilidad mide el porcentaje de los valores “1” que fueron clasificados
correctamente. En nuestro ejemplo el 89.11% de la población que hace parte de
la Población Económicamente Activa (PEA) fue clasificada correctamente por el
modelo.
La especificidad corresponde al porcentaje de “0” que fueron pronosticados
correctamente por el modelo. En el ejemplo, el 24.9% de los “0” observados ó la
población que no hace parte de la PEA, fueron clasificados correctamente por el
modelo.
La predicción de los valores positivos o negativos mide el porcentaje de valores
pronosticados que acertaron correctamente en la clasificación de “1” o “0”. En el
caso de los “1” (+), el 67.9% de los datos pronosticados corresponden a los
verdaderos valores de “1”, en otras palabras, del total de personas que fueron
catalogadas como PEA por el modelo, el 67,9% de los casos realmente hacía
parte de la PEA. En caso contrario, el 56.2% de los valores “0” pronosticados
equivalen a los valores originales de los “0”.
Los errores de clasificación miden el porcentaje de valores observados que fueron
incorrectamente clasificados. Por ejemplo, el 75% de los valores “0” observados
fueron clasificados incorrectamente por el modelo, es decir, del total de personas
141
que no hacen parte de la fuerza de trabajo, en el 75% de los casos el modelo las
clasifico incorrectamente como población PEA.
Una interpretación similar se realiza para el caso de los unos. El 10.8% de los
valores “1” ó de la población que en la muestra hace parte de la PEA, fueron
clasificados como 0 por la predicción del modelo.
La tasa de falsos unos (ceros) corresponde al porcentaje de valores “1” (“0”)
pronosticados que en realidad son valores “0”. En el ejemplo, el 32.1% de las
personas que fueron clasificadas en la PEA por el modelo, no hacen parte de este
grupo. De manera análoga, el 43.7% de los valores “0” pronosticados, son valores
“1”
De manera análoga, el 43.7% de las personas que el modelo clasificó como “0” o
que no hacían parte de la PEA, corresponden a valores “1” que debieron
pronosticarse como parte de la PEA.
. lroc
En nuestro ejemplo, el área bajo la cuerva ROC (0.68) estaría indicando que el modelo
tiene alguna capacidad predictiva.
A través del comando lsens, es posible identificar el punto óptimo de corte que resulta de
la intersección de las curvas de sensibilidad y especificidad:
. lsens
7.3.4 Pronóstico
El pronóstico de la probabilidad de un estado u ocurrencia de un evento se realiza
empleando el comando predict y adicionando la opción pr así:
. predict prob if e(sample), pr
7.3.5 Ejercicio
2. Calcule el valor de la variable latente o la función índice. (Utilice el comando
invnormal).
3. Replique todo nuevamente teniendo en cuenta la variable tenencia de vivienda
propia
4. Calcule el efecto de la tenencia de vivienda en la probabilidad de entrar al
mercado de trabajo para los jefes de hogar
5. Calcule el efecto de la tenencia de vivienda en la probabilidad de entrar al
mercado de trabajo para las mujeres
6. Calcule las estadísticas de clasificación
7. ¿Qué criterio emplearía para escoger entre modelos?
143
7.4 Ejemplo aplicado
Para este ejemplo aplicado se utiliza la base de datos de calidad de vida para el país de
Colombia en el año 2010. Primero se evalúa un modelo lineal de probabilidad, después un
modelo tipo Logit y finalmente un modelo tipo Probit, todo esto con el fin de obtener
características de cada modelo.
Donde,
Edad: edad del individuo i, Edad2: edad al cuadrado del individuo i, pri, sec, uni, post:
variable binaria que toman el valor de uno cuando el individuo i ha alcanzado el nivel
educativo respectivo, spouse: variable binaria que toma el valor de uno si el individuo i
está casado y cero en cualquier otro caso y h_head: variable binaria que toma el valor de
uno si el individuo i es jefe de hogar y cero en cualquier otro caso.
Con un simple ejemplo se puede probar porque se deben utilizar otros instrumentos de
estimación diferentes a M.C.O cuando la variables dependiente es binaria es decir toma el
valor de 1 en un caso afirmativo y cero en caso contrario.
Para el valor de las predicciones por M.C.O existe un rango que toma valores negativos,
por lo tanto no se puede evaluar la probabilidad de participar en el mercado laboral para el
año 2011, las probabilidades predichas de cualquier medida deben estar entre 0 y 1.
144
Tabla 102. Modelo Logit sin restricciones
145
Tabla 104. Resultados modelo Probit
1. Prueba de Pearson
. estat gof
146
Tabla 106. Prueba Pearson
3. Estadística de clasificación
. estat class
4. Curvas Roc
147
. lroc
atmeans lsens
display margins
dprobit mfx
estat class normalden
estat gof predict
estat gof, group(10) probit
estat sum recode
gen regress
invnormal tab
keep test
label define tw
label values w
label variable xi: logi
lroc
t
148
8. MODELOS DE SERIES DE TIEMPO
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 se sigue la metodología de BOX y JENKINS
(1976)11 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.
. use INFLACION.dta
Es posible generar variables con formato de fecha a partir del comando generate. Por
ejemplo, para crear una variable con formato mensual se emplea la siguiente sintaxis:
11
BOX G. & JENKINS G. Time Series Analiysis, Forecasting and Control. Holden Day, San Francisco. 1976
149
Como la base de datos es relativamente pequeña se puede listar la información en la
base de datos por medio del comando list así:
. list
La opción monthly indica la periodicidad mensual de la variable de tiempo “fecha”.
Nota: Para hacer pronósticos varios períodos hacia delante es necesario que la variable
que representa el tiempo se extienda tantos períodos hacia delante como períodos de la
variable dependiente se quieran pronosticar. En nuestro ejemplo, 7 períodos hasta
diciembre de 2006. Se dispone de información de inflación hasta mayo de 2006.
. g rezago = inflacion[_n-1]
“Inflación” es el nombre de la variable que será rezagada.
“-1” en este caso indica que la variable “inflacion” será rezagada 1 período.
Al listar las variables “fecha”, “inflacion” y “rezago” se puede visualizar la nueva variable
“rezago” correspondiente a la inflación rezagada un período.
151
Tabla 111. Comando list después de generar rezago.
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 se
seguirán estos pasos para obtener un modelo de pronóstico tipo ARMA para la inflación
mensual.
. tsline inflacion
152
Figura 109. Grafico en series de tiempo
Nota: Previamente se comprobó 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.
12
DICKEY D. & FULLER W. 1991. Distribution of the Estimates for Autoregressive Time Series With a Unit
Root. Journal of the American Statistical Association 74.
153
Al 1% de significancia se rechaza la hipótesis de existencia de raíz unitaria, en otras
palabras, se puede pensar que la variable inflación ha sido generada por un proceso
estacionario.
El paso a seguir consiste en identificar la naturaleza del proceso generador de datos (en
nuestro ejemplo, la inflación). Para llevar a cabo esta tarea se suele recurrir a las
funciones de autocorrelación (para identificar el componente de media móvil MA del
modelo) y autocorrelación parcial (para identificar el orden la parte autorregresiva AR del
modelo). En Stata ambas funciones se pueden graficar con los comandos ac y pac
respectivamente así:
. ac inflación
. pac inflacion
154
Tabla 113. Modelo ARIMA
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,
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
Figura 112. Autocorrelación de los residuales Figura 113. Autocorrelación parcial de los residuales
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
8.2.4 Pronósticos
Finalmente, se puede emplear el modelo para hacer pronósticos. El pronóstico se puede
hacer tantos periodos hacia delante como horizonte temporal tenga la variable de tiempo
“fecha” la cual está definida entre el mes 1 de 2001 y el mes 12 de 2006, mientras que se
tiene dato mensual de inflación hasta el mes 5 de 2006. A través del comando predict
seguido de la opción xb, se podrá pronosticar la inflación para los siguientes 7 meses así:
predict inf_p, xb
El pronóstico de inflación para el mes 6 de 2006 (según este proceso ARMA) es del
0.366%. Se elabora una lista de las variables “fecha”, “inflación” e “inf_p” a través del
comando list así:
156
. list fecha inflacion inf_p
Finalmente, a través del comando tsline es posible visualizar los valores observados y
pronosticados de la inflación hasta diciembre de 2006.
8.2.5 Ejercicio
1. Replique las fases 7.4.1, 7.4.2 y 7.4.3 de la metodología de BJ para generar un
proceso ARMA para la inflación.
2. Comparé entre varios modelos posibles la bondad de ajuste de los mismos para
seleccionar el mejor modelo.
3. Pronostique la inflación para los próximos 6 meses y grafique los resultados frente
a los valores observados.
157
8.2.6 Ejemplo aplicado: FILTROS, ARIMA, SARIMA.
En esta sección de utilizará la base de datos del índice de precio del consumidor de orden
mensual para el país de México para una serie temporal de 1995 a 2013.
2. Por lo tanto se debe en primera instancia dividir la variable Fecha en dos partes la
primera que contenga los meses en letras y la segunda la fecha, el comando que
se utilizará es Split, después se debe renombrar las variable, respectivamente
rename, segundo generar una variable de tiempo que contenga valores numéricos
ordenados a partir de la variable años bysort year: gen, tercero generar la
variables de tiempo con el formato año mes, ym, cuarto definir el formato de la
variable de tiempo format, y por último se designa la variable que representa al
tiempo con el comando tsset.
158
Tabla 118. Generar fechas en Stata.
El comando a utilizar es tsfilter hp, donde trend crea una nueva variable denominada
tendencia atenuada y smooth representa la constate de suavizamiento que para datos
mensuales es igual a 14400, en caso de trimestres es igual a 1600 y en caso de años
corresponderá a 1000.
. gen LnIPC=ln(IPC)
. tsfilter hp IPC_hp=LnIPC, trend(tendenciaLnIPC) smooth(14400)
. tsline LnIPC tendenciaLnIPC
. tsline IPC_hp
159
Figura 116. Serie observada VS tendencia Figura 117. Filtro H-P
. tsline IPC
. tsappend, add(2)
. range tendencia 1 220 220
. boxcox IPC tendencia, model(theta) lrtest
160
Tabla 119. Regresión BOX-COX
Según la prueba ninguna función se ajusta a la tendencia del IPC, por lo tanto el
pronóstico no se puede llevar a cabo mediante esta metodología. En caso contrario se
evalúa una regresión del IPC en función de la tendencia teniendo en cuenta la hipótesis
nula del anterior test de prueba. Por ejemplo, si theta=lambda=1 entonces, regress IPC
tendencia, para luego pronosticar la variable IPC con el comando, predict IPCF, xb
Para lo cual se sugieren modelos tales como promedio móvil, promedio móvil doble,
atenuación simple, atenuación doble. En caso de que el modelo tenga tendencia se puede
pronosticar mediante Holt-Winters no estacional, Holt-Winters estacional multiplicativo o
Holt-Winters estacional aditivo.
161
Tabla 120. IPC Dickey-Fuller test
162
Figura 119. IPC VS Pronóstico
. ac IPC
. corrgram IPC
. dfuller IPC, drift lags(12) regress
. dfuller IPC, trend lags(12) regress
163
Figura 120. Grafica de autocorrelación del IPC
164
Tabla 124. Prueba Dickey Fuller con tendencia
165
. gen LnIPC=ln(IPC)
. gen dLnIPC=D.LnIPC
. tsline dLnIPC
. ac dLnIPC
. corrgram dLnIPC
. dfuller dLnIPC, drift lags(12) regress
Figura 121. Variación porcentual mensual IPC Figura 122. Autocorrelación de la serie diferenciada
166
Tabla 127. Prueba Dickey- Fuller de la serie diferenciada
. gen dlnipc12=DS12.LnIPC
. tsline dlnipc12
. ac dlnipc12
. corrgram dlnipc12
. dfuller dlnipc12,lags(1) regress noconstant
167
Figura 123. Autocorrelación de la serie estacionalizada.
168
Tabla 129. Prueba Dickey- Fuller series desestacionalizada.
8.2.6.3.2 Estimación
Ahora para modelar la variable de debe escoger el orden ARIMA y SARIMA con el
correlograma de la diferencia logarítmica desestacionalizada.
8.2.6.3.3 Verificación
Antes de ir a la parte de pronóstico de la serie de tiempo se deben validar algunos
parámetros como por ejemplo los estimadores sean estadísticamente significativos lo cual
pasan la prueba al 1% de nivel de significancia, segundo se realiza una prueba de ruido
blanco para los errores.
. predict residuales, r
169
. wntestq residuales
Bajo esta prueba se confirma que los residuales del modelo son ruido blanco.
8.2.6.3.4 Pronóstico
Ahora se prosigue al pronóstico de la serie para lo cual se agregan n observaciones para
el pronóstico, se predicen los valores de la variables IPC y luego se halla el antilogaritmo
de la diferencia logarítmica con el fin de obtener el IPC en niveles.
. tsappend, add(10)
. predict forescastlnipc, y dymamic(tm(2013m3))
. gen IPCF=exp(forescastlnipc)
Después de este procedimiento se hace una evaluación de la calidad del pronóstico con
la serie observada, primero un análisis gráfico, segundo observar si el dato pronosticado
está por encima o por debajo del valor real mediante el comando rmse y tercero observar
si la predicción está bien ajustada con el comando inequal7
170
Figura 124. Gráfica IPC VS Pronóstico Tabla 133. Prueba RMSE e INEQUAL7
Por lo tanto, al valor pronosticado de 108.573 para el mes de abril de 2013 se le debe
restar 0.245356 para que la proyección se aproxime mejor a la observación de ese
periodo, es decir un IPC de 108.327. También se puede observar si el pronóstico está
bien ajustado de acuerdo con el Theil index de 0.028 que se aproxima a cero.
8.3.1 Antecedentes
En el estudio de Engle (1982), se pretende analizar la volatilidad de la tasa de inflación y
su respectivo pronóstico para el Reino Unido con un modelo tipo ARCH, con lo cual se
trataba de una crítica a los modelos básicos por M.C.O, en donde se coloca de relieve el
concepto de una varianza constante en el periodo de pronóstico. Para lo cual Engle
introduce un método econométrico basado en que la varianza no condicional es constante
en el tiempo, mientras que la varianza condicional es variable en el tiempo. Para tales
procesos, el pasado reciente da información acerca de la varianza del pronóstico de un
periodo. La eficiencia del modelo ARCH se calcula y puede ser infinita. Para comprobar si
los choques siguen un proceso ARCH, el procedimiento que se emplea son los
multiplicadores de Lagrange. La prueba se basa simplemente en la autocorrelación de los
residuos al cuadrado. Por lo tanto el modelo realizado por Engle se utilizó para estimar las
medias y las varianzas de la inflación en el Reino Unido. Este estudio obtuvo un gran éxito
para estimar la volatilidad de la serie por lo cual desde ese entonces se empezó a utilizar
esto procesos para pronosticar variables que tienen periodos con bastante volatilidad.
Engle concluye que el efecto ARCH es significativo y que las varianzas estimadas
aumentan sustancialmente durante los años 70’s (los años setenta fueron caóticos con un
sistema de precios volátiles).
171
Después de 5 años de permanecer el modelo ARCH aparece en 1987 Bollerslev, con un
método innovador donde se introduce al modelo básico un término no observable aditivo
de error en la ecuación de la varianza condicional. En donde la evidencia empírica de
estos modelos se comprueba para una conjunto de datos de tipos de cambio e índices de
precios de acciones. La principal conclusión del modelo radica en el hecho de que los
precios bursátiles y las tasas de retornos no tienen autocorrelación a través del tiempo
pero se caracterizan por una alta volatilidad y tiempos apacibles en el rango de la serie de
tiempo, la misma conclusión de las revisiones de la literatura en hallazgos previos. El
autor coloca en relieve la utilización se un modelo simple GARCH (1,1), el cual se ajusta a
la serie de datos y a su descripción. Y coloca una nueva pregunta de investigación para
posteriores investigaciones y es lo concerniente a si existen otras distribuciones
condicional de los errores, proporciona una mejor estimación y aún más la utilización de
otro orden es la especificación GARCH, para modelar otras series de tiempo financieras.
𝜎 =𝛼 + 𝛼 𝜎 +𝜈
Donde
𝛼 < 1: 𝑝𝑒𝑟𝑠𝑖𝑠𝑡𝑒𝑛𝑐𝑖𝑎 𝑑𝑒𝑙 𝑚𝑜𝑑𝑒𝑙𝑜; 𝑠𝑖𝑛𝑜 𝑠𝑒 𝑐𝑢𝑚𝑝𝑙𝑒 𝑛𝑜 ℎ𝑎𝑦 𝑟𝑒𝑣𝑒𝑟𝑠𝑖ó𝑛 𝑎 𝑙𝑎 𝑚𝑒𝑑𝑖𝑎.
𝜎 =𝛼 + 𝛼 𝜎 + 𝛽𝜈 +𝜈
𝛼
𝜎 =
1 − ∑𝛼 − ∑𝛽
GARCH (1,1)
172
𝜎 =𝛼 +𝛼 𝜎 +𝛽 𝜈 +𝜈
8.3.2.2 VARIANZAS
1 𝛽
𝑉𝐴𝑅(𝑌) =
1−𝑎 1−𝛽
AR(1) ARCH(1)
8.3.3 Metodología ARCH EN STATA
Para determinar si una serie de tiempo tiene efecto ARCH, se debe primero
estacionarizar la serie, por lo general en series financieras una manera de resolver
este problema es utilizar la fórmula de rendimientos continuos 𝑌 % = 𝐿𝑜𝑔(𝑌 ⁄𝑌 ).
Segundo evaluar un modelo de regresión en donde incluya la metodología
previamente vista Box Jenkins (BJ) y utilizar los comandos estat archlm y estat
bgodfrey, donde la hipótesis nula describe que no existe la existencia de un efecto
ARCH y una hipótesis alternativa que describe la presencia de un efecto ARCH.
Tercero, el orden del Arch (autocorrelación) y del Garch (autocorrelación parcial)
serán determinados a partir de los residuos al cuadrado del modelo, para este
caso se debe utilizar el comando armadiag, arch, el cual no viene preinstalado en
Stata 12 por lo tanto se debe instalar con el comando ssc install armadiag para
más ayuda sobre productores de programación utilizar el comando findit armadiag.
Cuarto, después de evaluar el modelo correspondiente se debe hacer diagnóstico
de los residuos para detectar ruido blanco en los errores y un diagnóstico a los
residuos al cuadrado si sigue la persistencia en la varianza condicional. Los
comandos a utilizar son armadiag y armadiag, arch, respectivamente.
Por último se hace un análisis de pronóstico graficando la serie original y la serie
pronosticada con el comando tsline.
. gen tiempo=_n
. tsset tiempo
. gen Lncoke=ln(Coke)
. gen rendimientos= D.Lncoke
. regress D.Lncoke
. estat archlm, lags(1)
. estat bgodfrey, lags(1)
173
Tabla 134. Regresión para detectar presencia de varianza condicional
. ac rendimientos
. pac rendimientos
174
Figura 125. Autocorrelación de los rendimientos Figura 126. Autocorrelación parcial de los rendimientos
175
Tabla 138. Correlograma de los residuos al cuadrado
176
8.3.4.1 Ejercicio
1. Evaluar el modelo incluyendo los parámetros ar(2) ma(2) GARCH (2,2) y verificar
individualmente la significancia de los coeficientes al 5% como nivel de
significancia.
. armadiag
. armadiag, arch
177
Figura 128. Diagnóstico de los residuos al cuadrado.
8.3.4.3 Pronóstico
Por último se realiza el pronóstico para los siguientes 7 días hábiles en el mercado
accionario, con el fin de predecir hasta el fin del mes. Además de predecir el precio se
utiliza la opción variance con el fin de pronosticar la varianza sujeta a nuestro modelo
econométrico.
. tsappend, add(7)
. predict pronosticolncoke, y dynamic(1565)
. predict cond_var, variance
. gen pronosticocoke=exp(pronosticolncoke)
. tsline Coke pronosticocoke in 1400/1571
178
8.4 Comandos usados
%td list
_n-1 lrtest
ac ma
add model(theta)
ar noconstant
arch pac
arima predict
arima range
armadiag regress
boxcox rename
bysort res
corrgram rmse
D. robust
date sarima
destring smooth(14400)
dfuller split
drift ssc install
drop tin
DS12 trend
dymamic tsappend
estat archlm, lags(1) tsfilter hp
estat bgodfrey, lags(1) tsline
estat ic tsset
forecast tssmooth dexponential
format use
g weight
garch wntestq
inequal7 wntestq
lags(7) xb
list ym
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, suponga que se
tienen las variables de 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.
179
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.
En lo que se refiere a los efectos individuales específicos, se dice que estos son aquellos
que afectan de manera desigual a cada uno de los agentes de estudio contenidos en la
muestra (individuos, empresas, bancos) los cuales son invariables en el tiempo y que
afectan de manera directa las decisiones que tomen dichas unidades. Usualmente se
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.
180
Identificador de bases de datos de Stata
. xtset id t
. xtdescribe
. xttab south
Reshape
WIDE
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
181
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 constante al interior de un grupo, en este caso el id y una variable que
varía en el interior del grupo que es el año.
De Long a Wide
De Wide a Long
182
En primera instancia se delimita que se va a trabajar con una base de datos de orden
panel con el comando xtset(i,j), donde i denota la variable que determina el corte
transversal y j determina el periodo con que se denomina la base de datos. Es pertinente
que la variable de serie de tiempo debe ir organizada en fila y no en columnas, el
comando que se utiliza es reshape.
Al igual que series de tiempo con el comando ts, datos de panel trabaja con un comando
especial xt, por ejemplo si se desea describir las variables de la base de datos de xtdes,
para hacer algún tipo de estadística descriptiva xtsum, para realizar tablas de frecuencias
xttab y para calcular matrices de transición se utilizará el comando xttrans.
Tener en cuenta que overrall hace referencia a todos los individuos de la muestra en todo
los n periodos, between es una muestra entre individuos y within es una variación entre la
variable de tiempo, manteniendo a los mismos individuos.
Para entender un poco mejor el anterior análisis, preste atención a la columna overall freq,
quiere decir que sobre todas las observaciones se encontraron 3640 ocasiones donde el
individuo está casado, 456 ocasiones donde los individuos se encontraron solteros. Ahora
observe la columna between freq. Por ejemplo el número 406, indica que 406 individuos
estuvieron solteros alguna vez. Ahora observe la columna within percent, indica que del
total de la muestra el 89.68% de las personas estaban alguna en otro estado conyugal
diferente al casado.
183
Tabla 141. Matriz de transición para el estado conyugal
184
Figura 130. Gráfico de evolución entre el salario y las horas de trabajo
Ahora para la realizar gráficos de dispersión scatter con ajustes paramétricos qfit y no
paramétricos lowess se utilizará el comando graph twoway. Por ejemplo se quiere el
gráfico del comportamiento del salario con respecto a los años de experiencia de los
individuos de la muestra, con un ajuste cuadrático para observar si existe un efecto lineal
y un ajuste no paramétrico para observar que tanto se desvía del ajuste paramétrico.
. graph twoway (scatter lwage exp) (qfit lwage exp) (lowess lwage exp), title(Dinamica: Salario vs experiencia)
ytitle(Logaritmo Salario) xtitle(Años de experiencia) legend(label(1 "Datos reales") label(2 "Ajuste Cuadratico")
label(3 "Lowess")) name(Gráfico)
185
Figura 131. Ajustes de la gráfica de dispersión entre el salario y la experiencia
Por otro lado también se pueden realizar gráficos en donde solo se incluya el efecto within
y between de la muestra que se elige. Por ejemplo si se quisiera realizar el anterior grafico
pero solo entre el cambio de cada individuo a través del tiempo se utilizará el comando
xtdata, fe, mientras que para realizar análisis entre individuos between se utilizará xtdata,
be.
*variacion within*
*variacion between*
186
Figura 132. Análisis comparativo between y within
𝑌 =𝛼 +𝑥 𝛽 +𝜀
Bajo supuestos distintos sobre el intercepto y los componentes de error, el modelo puede
ser
187
𝐶𝑜𝑣(𝑥 , 𝛼 ) = 0.
Exogeneidad 𝐶𝑜𝑣(𝑥 , 𝜀 ) = 0.
El modelo resultante es el modelo de efectos aleatorios.
. gen sexo=genero==1
. global xvarlist exp exp2 horas esc sexo
𝑦 = 𝑥̅ 𝛽 +∝ + 𝑒̅
(𝑦 − 𝑦 ) = (𝑥 − 𝑥̅ )𝛽 + (𝑒 − 𝑒̅ )
𝑦⃛ = 𝑥̈ 𝛽 + 𝑒̅
Con este método no se pueden estimar los coeficientes de aquellas variables que no
varían en el tiempo. El comando que se utiliza es xtreg, fe. Para detectar
heterocedasticidad se utiliza el comando xttest3, para corregir el efecto de
heterocedasticidad se utiliza el comando vce(cluster idpersona). Para detectar
autocorrelación en los residuos se utiliza el comando xtserial, para corregir este problema
se utiliza el comando xtregar.
189
Por medio de las anteriores pruebas se demuestra que por medio de la regresión por
efectos fijos existe presencia de heterocedasticidad y la no presencia de autocorrelación
seria.l
Tabla 146. Regresión datos de panel por efectos fijos y corrección de heterocedasticidad.
Se puede observar que Stata 12 omite la variable que no cambia a través del tiempo
entre los individuos, que es el género. A diferencia del modelo por mínimos cuadrados
ordinarios las variables de años de escolaridad y de experiencia al cuadrado no son
significativas al 5%.
190
Tabla 147. Regresión datos de panel por efectos aleatorios y corrección de heterocedasticidad.
Con la anterior prueba que demuestra que al evaluar el modelo por efectos aleatorios
existe presencia de heterocedasticidad y autocorrelación, para corregir estos dos
problemas se utiliza la opción vce(cluster idpersona) y el comando xtregar.
191
9.2.3 Comparación de modelos
En esta parte se utilizaran los comando quietly para realizar la estimación sin que muestre
los resultados en la pantalla, est store para que guarde en memoria los resultados de la
estimación y est table para mostrar los resultados en una tabla con las opciones que se
quieran mostrar, por ejemplo b, se, r2, para los coeficientes, la desviación estándar y el r
cuadrado, respectivamente.
Para elegir el mejor modelo a estimar se puede hacer una prueba con el comando
hausman.
192
Tabla 149. Prueba Hausman
$ reshape long
by reshape wide
clean resid
est store sigmamore
gen use
global vce(cluster
graph combine xtdata, be.
hausman xtdata, fe
list xtdescribe
predict xtgls
quietly xtline
reshape xtpcse
193
xtregar xttab
xtse xttest0
xtserial xttest1
xtset xttest3
xtsum xttrans
194
10. INTRODUCCIÓN A LA PROGRAMACIÓN
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 se vayan a utilizarlas.
Por ejemplo
Luego para hacer referencia al grupo de variable utilizando algún comando, se debe
anteponer el símbolo $ al nombre del grupo
Por ejemplo
keep $grupo1
10.2.1 Comando IF
If expression {
Comandos Stata
}
else if expression {
comandos stata
}
else {
comandos stata
195
10.2.2 Comando For
set obs 100
For new u1-u10: gen x=uniform()
For any . : replace z=. If y= X
For new x2-x5 \ num 2/5: gen X =variable^Y
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
196
. sum price, detail
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
Vea en este caso, que al hacer un comando de sum e indicando la opción de detail, Stata
se muestran 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
nlsw88.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
Mediana
No. Observaciones
Tabla 152. Tabla de ejemplo
. sysuse nlsw88.dta
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
. matrix list A
A[4,2]
c1 c2
r1 8.0829994 6.8445578
r2 6.5458913 5.434783
r3 35.462848 25.767671
r4 1637 583
. matrix list A
A[4,2]
Blanco Negro
Promedio 8.0829994 6.8445578
Media 6.5458913 5.434783
Varianza 35.462848 25.767671
Observacio~s 1637 583
. svmat A
10.3.1 Ejercicio
1. Ahora haga una prueba de igualdad de medias de los salarios, por la raza
2. Cree una tabla de resultados tal como se presenta a continuación
BLANCO NEGRO ESTADÍSTICAS
Promedio Observaciones Promedio Observaciones Diferencia Error T-test
std
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.
199
matrix C[`i',4]=r(N_2)
matrix C[`i',5]=r(mu_1) - r(mu_2)
matrix C[`i',6]=r(se)
matrix C[`i',7]=r(t)
restore
}
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().
Ejemplo:
. 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 caracteres de texto en gráficas, crear variables, tablas, puede utilizar
el comando char() , en su interior debe ingresar el código ASCII
Ejemplo:
13
Retomado del libro “Seventy-six of Stata tips”.
200
. scatter price mpg, xtitle(MPG) ytitle(Precio $copyr)
di “`c(ALPHA) ’”
ABCDEFGHIJKLMNOPQRSTUVWXYZ
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 3
. gen y = _n
. gen x = y
. fillin y x
Ejemplo:
. global F4 = char(96)
201
. global F4 = char(180)
. global F4 = “list;;”
. net cd stb
. net cd stb42
. net install sbe16_1
202
Figura 135. Pestaña Internet
. help update
. help ssc
. help net
. help sj
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:
203
. sysuse auto, clear
. quietly summarize mpg, detail
Ejemplo 2:
Ejemplo 3:
Ejemplo 4:
204
Figura 136. Comando nosily
. help quietly
La versión de Stata 12 liberada el mes de agosto de 2012, 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.
205
Figura 137. Stata directory
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.
206
Figura 140. Exportar reporte
En Stata 12 los archivos log (archivos de registro) se siguen generando como SMCL o
texto. Pero en esta última versión estos archivos pueden ser convertidos a formato PDF.
Esto se puede hacer fácilmente con el comando translate, por ejemplo:
207
Figura 141. Comando translate
Además, en Stata 12 se puede producir un PDF de un gráfico desde Stata. Por ejemplo:
208
Para ayuda sobre un comando específico digite:
. help
. help translate
. help graph export
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
209
12. BIBLIOGRAFIA
[1] Adkins, L. & Hill, R. (2008). Using Stata for Principles of Econometrics. Wiley, Third
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.
[9] Rabe, S & Everitt, B. (2004). A Handbook of Statistics Analyses using Stata. Chapman
& Hall/CRC, Third Edition.
210
Introducción al Análisis y Modelación
de Datos con Stata 12
STATA es un programa estadístico desarrollado para el manejo y análisis de datos. En la
actualidad, es ampliamente usado por investigadores de diferentes disciplinas,
incluyendo desde bioestadísticos hasta investigadores sociales. Los diferentes tipos de
análisis integrados a STATA están documentados y respaldados por numerosos libros,
publicaciones y revistas.