February 14, 2017 | Author: Jesús Aviles Robles | Category: N/A
SOFTWARE SHOP
MANEJO DE BASES DE DATOS Y ANÁLISIS ECONOMÉTRICO CON Stata 12
CONFERENCISTA:
BRAYAN RICARDO ROJAS ORMAZA*
*
Economista, Certificado en Administración del Riesgo, realizando curso de Posgrado en Gestión de Riesgos Financieros, actualmente se desempeña como Director Técnico Cuantitativo de Software Shop para Latinoamérica y es profesor de la Universidad del Rosario y de la Universidad Piloto, ha trabajado en el área de Investigaciones del Banco de la República de Colombia, y como asistente de investigación en la Universidad Nacional, tiene publicaciones en modelos econométricos y en software aplicado. Como instructor a nivel internacional ha dictado cursos y conferencias de Stata, EViews y Risk Simulator en entidades estatales, instituciones financieras y universidades en países como Chile, Venezuela, Colombia, Ecuador, México, entre muchos otros. Contacto a:
[email protected].
Este documento es una introducción al manejo del Software Stata 12. Está dirigido a profesionales de todas las áreas del conocimiento que requieran manejar Stata. Trata de abarcar diversos temas del manejo del software, además de diferentes temas aplicados de estadística y econometría. El texto está acompañado de bases de datos y está totalmente basado en ejemplos a lo largo del texto para ayudar al aprendizaje. Está basado en otros textos introductorios, en material online y en cursos previos dictados en diversas universidades. Es recomendable tener conocimiento previo de estadística para entender mejor el material. Este documento es propiedad de su autor y tiene fines académicos. Toda reproducción total o parcial está prohibida.
INTRODUCCIÓN Hoy en día es común encontrar diferentes aplicaciones computacionales capaces de realizar sin fin de procedimientos en milésimas de segundo, desde hace varios años el computador ha sido una herramienta muy útil para las diferentes áreas del conocimiento y las ciencias económicas no han sido la excepción, los grandes avances teóricos han llevado a necesitar cada vez más de las aplicaciones computacionales para poder pasar de la teoría a la práctica. Las ciencias económicas, sociales y aplicadas se han vinculado desde hace varias décadas a las ciencias puras para poder por medio de los métodos cuantitativos verificar los hechos sociales, el uso de la estadística, la matemática y la física cada día van en incremento; pero de igual forma éstos métodos han necesitado de diferentes recursos para su aplicación, es en busca de suplir estas necesidades que Stata se ha comprometido día a día en apoyar al desarrollo de la teoría con la práctica haciendo uso del total de recursos disponibles. Se aclara que Stata no es un software libre ni gratuito, para poder acceder a él es necesario adquirir un plan de licenciamiento, para mayor información ingresar a www.stata.com. Una de las ventajas del software es la posibilidad de trabajo por ambiente GUI (interactivo) y/o por ambiente de comandos con una programación bastante potente, incluyendo un lenguaje de programación para matrices conocido como MATA. Este material es dirigido a todo tipo de usuario, para el estudiante que se está involucrando al mundo de la estadística y econometría, el docente que utiliza la herramienta para impartir sus clases usando para ello un software de alto nivel como es Stata y para profesionales e investigadores que día a día requieren una herramienta que les sirva para apoyar sus labores y sus tesis. El documento se ha dividido en 8 capítulos, en los primeros tres podrá encontrar información sobre la introducción manejo y manipulación de datos así como la presentación de resultados por medio de gráficas y tablas; en el capítulo 4 encontrará el tema de regresión, capítulo 5 modelos de regresión para variable discreta, capítulo 6 modelos de series de tiempo ARIMA, capítulo 7 modelos de datos de panel y los últimos dos capítulos es introducción a la programación y algunos trucos y recomendaciones. DESCRIPCIÓN DEL LIBRO Este manual es de carácter académico y representa una guía para los usuarios de Stata.
BRAYAN RICARDO ROJAS O. INSTRUCTOR
El manual contiene #### páginas, las cuales describe los principales usos para un usuario de diferente nivel y estudios. Para el mejor entendimiento del manual se describe el siguiente cuadro: DESCRIPCIÓN
CARACTERÍSTICA Tipo de Letra cursiva, fuente Times New Roman, tamaño de letra 11 Resaltado en un cuadro de texto Se describe el nombre del Menú seguido por el símbolo “” Color de Fuente Rojo
Comando Notas o recomendaciones Rutas de acceso por medio de los menús Mensajes de Error
TABLA DE CONTENIDO
1. 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9
2. 2.2 2.3 2.4 2.5 2.6 2.7 2.10 2.11 2.12 2.13
3 3.1 3.2 3.3 3.4 3.5 3.6 3.7
MANEJO FUNDAMENTAL DE Stata 12 ....................................................... 5 CONOCIENDO EL ENTORNO DE Stata ......................................................................... 6 EL MENÚ DE AYUDA ..................................................................................................... 7 TIPOS DE ARCHIVOS .................................................................................................... 12 ESTRUCTURA DE COMANDOS .................................................................................. 12 VENTANAS DE COMANDOS ....................................................................................... 12 CONFIGURANDO LA MEMORIA DE Stata ................................................................. 13 CAMBIANDO EL DIRECTORIO DE TRABAJO DE Stata........................................... 14 BASES DE DATOS DE EJEMPLO ................................................................................. 14 TIPOS DE VARIABLES .................................................................................................. 14
MANEJO DE BASES DE DATOS ................................................................ 16 SALVANDO UNA BASE DE DATOS ........................................................................... 22 DESCRIPCIÓN DE LA BASE DE DATOS .................................................................... 22 CONSERVAR Y RECARGAR BASES DE DATOS ...................................................... 30 FILTROS DE LA BASE DE DATOS .............................................................................. 30 ADMINISTRADOR DE VARIABLES ............................................................................ 31 CREACIÓN DE CATEGORÍAS ...................................................................................... 32 CAMBIO EN LA ORGANIZACIÓN DE LOS DATOS ................................................. 38 PROBLEMAS EN EL MANEJO DE BASES DE DATOS ............................................. 43 ANÁLISIS DE DUPLICADOS ........................................................................................ 45 CREACIÓN DE PROGRAMAS – EDITOR DE TEXTO ............................................... 49
ANÁLISIS ESTADÍSTICO CON Stata ......................................................... 50 ESTADÍSTICAS DESCRIPTIVAS .................................................................................. 51 PONDERADORES – WEIGHT- ...................................................................................... 52 CALCULO DE MEDIAS ................................................................................................. 53 INTERVALOS DE CONFIANZA ................................................................................... 53 PRUEBAS DE HIPÓTESIS ............................................................................................. 54 MANEJO DE Tablas DE DATOS .................................................................................... 54 PRUEBAS PARAMÉTRICAS ......................................................................................... 56
3
BRAYAN RICARDO ROJAS O. INSTRUCTOR 3.8
4 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12
PRUEBAS NO PARAMÉTRICAS .................................................................................. 56
GRÁFICAS CON Stata ................................................................................... 58 HISTOGRAMAS .............................................................................................................. 59 GRÁFICO DE TORTAS .................................................................................................. 61 GRÁFICO DE CAJAS ...................................................................................................... 66 GRAFICAS TWOWAY ................................................................................................... 67 EDITOR DE GRÁFICOS DE Stata .................................................................................. 68 GRAFICA DE SERIES DE TIEMPO .............................................................................. 72 SCATTER GRAPH .......................................................................................................... 74 GRAFICA DE PUNTOS .................................................................................................. 75 GRAFICOS DE BARRAS ................................................................................................ 76 OPCIONES Y EJEMPLOS............................................................................................... 79 COMBINANDO GRÁFICAS .......................................................................................... 86 OTRAS GRÁFICAS ......................................................................................................... 86
5
REGRESIÓN LINEAL EN Stata .................................................................... 95
6
MODELOS ARIMA ..................................................................................... 107
7 MODELOS DE VARIABLE DEPENDIENTE DICOTÓMICA MODELOS LOGIT Y PROBIT .................................................................................................. 116 8
MODELOS DE DATOS PANEL O LONGITUDINALES ......................... 123
8.1 ANÁLISIS DE DATOS PANEL .................................................................................... 123 VENTAJAS DE ESTIMACIÓN POR PANEL .............................................................................. 124 8.2 ANÁLISIS DE DATOS PANEL DE DOS PERÍODOS ................................................ 125 8.3 ANÁLISIS DE POLÍTICAS POR MEDIO DE DATOS PANEL.................................. 127 8.4 ANÁLISIS DE MÁS DE DOS PERÍODOS ................................................................... 128 8.5 EFECTOS FIJOS ............................................................................................................ 131 8.6 EFECTOS ALEATORIOS ............................................................................................. 132 8.7 ANÁLISIS DE DATOS PANEL EN Stata ..................................................................... 132 8.8 ESTRUCTURA DE BASES DE DATOS PANEL ........................................................ 133 8.9 REGRESIÓN AGRUPADA ........................................................................................... 134 8.10 EFECTOS ALEATORIOS ............................................................................................. 135 8.11 EFECTOS FIJOS ............................................................................................................ 136 8.12 EFECTOS ALEATORIOS vs. FIJOS............................................................................. 137 8.13 AUTOCORRELACIÓN Y HETEROSCEDASTICIDAD ............................................. 139 8.14 CORRECCIÓN DE HETEROCEDASTICIDAD Y AUTOCORRELACIÓN .............. 141 8.15 MODELOS DINÁMICOS CON DATOS PANEL ........................................................ 141
9
INTRODUCCIÓN A LA PROGRAMACIÓN ............................................. 143
9.1 9.2 9.3
LOCAL MACROS.......................................................................................................... 143 CREANDO CICLOS ...................................................................................................... 143 ESCALARES Y MATRICES ......................................................................................... 144
10
TRUCOS CON Stata ..................................................................................... 148
11
BIBLIOGRAFIA ........................................................................................... 161
4
BRAYAN RICARDO ROJAS O. INSTRUCTOR
1. { TC "MANEJO FUNDAMENTAL DE STATA 11" }MANEJO FUNDAMENTAL DE Stata 12{ TC "MANEJO FUNDAMENTAL DE STATA 11" } Stata es un programa estadístico para investigadores de diferentes disciplinas, como bioestadísticos investigadores sociales y económicos. Los diferentes tipos de análisis integrados a Stata están documentados y soportados teóricamente por numerosos documentos, publicaciones y revistas. Los manuales de Stata reúnen en 19 volúmenes con ejemplos estadísticos, explicaciones teóricas, métodos, fórmulas y documentos de referencia. Al tratarse de un programa en ambiente Windows, su interface es similar a la de todos los programas bajo este ambiente.
Stata está disponible en 4 tipos de versión. Small Stata Intercooled Stata Stata/SE Stata/MP
Versión estudiantil de Stata Versión estándar de Stata Versión especial de Stata para manejo de bases de datos grandes. Versión especial de Stata diseñada para trabajar en equipos con más de un procesador o núcleo (2 a 32 procesadores) Tabla 1. Tipos de versión Stata
A continuación se presentan las principales diferencias entre las versiones Intercooled y SE de Stata2: Small Número de observaciones
Stata/IC Stata/MP and Stata/SE 1,200 2,147,483,647 2,147,483,647
2
Para conocer todas las diferencias entre las versiones de Stata, dirigirse a la ayuda por medio del comando help limits
5
BRAYAN RICARDO ROJAS O. INSTRUCTOR 99 2,047 Tabla 2. Diferencia entre versiones
Número de Variables
32,767
1.1 CONOCIENDO EL ENTORNO DE Stata
VENTANA DE REVISIÓ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.
VENTANA DE VARIABLES
VENTANA DE RESULTADOS
VENTANA DE COMANDOS
VENTANA DE PROPIEDADES DE VARIABLES
Figura 1. Ventanas de Stata
Ventana de Variables:
Muestra el listado de variables de la base de datos activa.
Ventana de Comandos:
En este cuadro se escriben y almacenan las líneas de comandos, si se desea recuperar un comando previo puede utilizar las teclas RePág o AvPág y podrá autocompletar el nombre de la variable utilizando la tecla TAB.
Ventana de Resultados:
Permite visualizar la sintaxis, y los resultados de los procedimientos ejecutados por el usuario. Aquí encontrará el logo de Stata, indicando la versión y el tipo de licencia y el número máximo de variables a importar. Una de las características de ésta ventana es que por medio de colores el programa informa si un comando ha sido correctamente ejecutado, si aparece en color negro no hubo
6
BRAYAN RICARDO ROJAS O. INSTRUCTOR problema en la realización, rojo indicar error y el azul es un hipervínculo al menú de ayuda. Ventana de Revisión:
Bitácora que Permite llevar un completo registro de todos los procedimientos ejecutados durante una sesión de Stata ya sea que se ejecutaron por el ambiente GUI, por la ventana de comandos o por un editor .do. Una de las propiedades de la ventana Review es que si se desea repetir un comando simplemente debe hacer doble clic sobre el comando deseado y Stata lo ejecutará de nuevo.
Ventana de Propiedades:
Presenta la información de cada variable, como nombre, tipo de variable, formato, las notas de la base de datos (puede usar el comando notes para verlas en la ventana de resultados), entre otras características.
BARRAS
Barra de Nombre
Barra de Menús Barra de Herramientas Figura 2. Menús de Stata
Barra de Nombre:
Indica la versión de Stata disponible, el nombre y la ruta de la base de datos activa.
Barra de Menús:
Es el conjunto de las diferentes herramientas que tiene Stata las cuales le permiten al usuario cargar, transformar, modificar, analizar, graficar y solicitar información y ayuda del programa.
Barra de Herramientas:
Es el conjunto de íconos de acceso rápido a herramientas fundamentales como son abrir, salvar, creación de un archivo Log, un archivo .do, abrir el editor, el visor y el administrador de variables.
1.2 EL MENÚ DE AYUDA Stata ha incorporado en la versión 11 un conjunto de nuevas opciones en el menú de ayuda para facilitarle al usuario la mejor forma de entender cómo funciona el programa. Una de las novedades principales es que se ha agregado la opción de tener disponibles los manuales de Stata en formato PDF. Para acceder a los manuales de ayuda debe seguir la ruta Help PDF Documentation
7
BRAYAN RICARDO ROJAS O. INSTRUCTOR
El menú de ayuda de Stata le permite: -
Ver el índice de contenidos del programa Buscar información sobre algún tema, la rutina que permite ejecutarla en Stata, o el sitio desde donde es posible descargar la macro para alimentar el programa. Obtener ayuda sobre algún comando de Stata Listar y descargar las últimas actualizaciones del programa. Instalar programas de Stata escritas por otros usuarios, desde el “Stata Journal” o del boletín técnico “Stata Technical Bulletin”. Acceder a lugares de interés en el sitio Web de Stata.
El sistema de ayuda para los comandos de Stata es una de las herramientas que más rápidamente puede familiarizar al usuario con el manejo de Stata. Alternativamente al sistema de ventanas, el usuario puede digitar en el cuadro de comandos help seguido del comando del cual desea información. Por ejemplo al digitar en el cuadro de comandos: help describe emerge la siguiente ventana
8
BRAYAN RICARDO ROJAS O. INSTRUCTOR
Figura 3. La Ayuda de Stata
La ayuda de Stata ofrece información sobre: -
La sintaxis completa y abreviada de letra(s) subrayadas) de cada comando, Descripción del comando, Opciones adicionales para ejecutar el comando, Ejemplos sobre cómo usar el comando, Hipervínculos a otros comandos relacionados y/o similares y, El manual impreso de Stata en el que puede consultar los detalles sobre el comando.
9
BRAYAN RICARDO ROJAS O. INSTRUCTOR Con frecuencia, el usuario desconoce el nombre del comando específico que realiza algún procedimiento en Stata. En estos casos es conveniente realizar una búsqueda temática por medio del comando search. A través de este comando Stata realiza una búsqueda en línea en: -
Los ejemplos oficiales de Stata disponibles en su sitio web, El sitio de preguntas frecuentes “Frequently Asked Questions” de Stata, Ejemplos en línea compilados por la universidad de UCLA, Las referencias bibliográficas en “Stata Journal” y “Stata Technical Bulletin”.
Por ejemplo, supongamos que queremos calcular en Stata el coeficiente de concentración gini (procedimiento muy conocido en economía y estadística), pero no sabemos si Stata realiza este cálculo y, además, si es posible hacerlo, no conocemos el comando para ejecutarlo. En estos casos el comando search resulta de gran ayuda. Por ejemplo al escribir en el cuadro de comandos search gini adoupdate, update Se despliega el siguiente cuadro de ayuda:
10
BRAYAN RICARDO ROJAS O. INSTRUCTOR
Figura 4. Search
En el cuadro de ayuda aparecen en azul hipervínculos a sitios oficiales (Stata Journal “SJ”, o Stata Technical Bulletin “STB”) desde donde se pueden descargar macros relacionadas con el procedimiento que calcula el coeficiente de concentración gini. ACTUALIZACIONES DE Stata: Automáticamente Stata hace actualizaciones periódicas del programa. Sin embargo el usuario puede pedir manualmente al programa que se actualice a través del comando update así: update all
11
BRAYAN RICARDO ROJAS O. INSTRUCTOR
1.3 TIPOS DE ARCHIVOS Antes de iniciar una sesión de trabajo es importante tener en cuenta que Stata opera a través de diferentes tipos de archivos. Tipo de Archivo Extensión Archivos de datos *.dta Archivos gráficos *.gph Bitácoras de salida *.smcl Archivos de comandos *.do Archivos de programación *.ado Tabla 3. Tipos de Archivos
1.4 ESTRUCTURA DE COMANDOS
[by varlist:] Command [varlist] [=exp] [if exp] [in range] [weight] [using filename] [, options] Por ejemplo:
Se debe tener en cuenta que Stata distingue entre letras mayúsculas y minúsculas. Todos los comandos del programa se deben escribir en letras minúsculas. De lo contrario el programa no lo reconoce. Los paréntesis cuadrados indican que no es un carácter obligatorio dependiendo el comando específico. Es posible usar con Stata prefijos para algunos comandos, por ejemplo, el comando regress que permite realizar el procedimiento de regresión se puede ejecutar digitando solamente los tres primeros caracteres, es decir al tener reg ejecuta la misma función que al escribir regress. Para conocer mayor información sobre la estructura de los comandos de Stata, busque información así: help syntax
1.5 VENTANAS DE COMANDOS
Es común encontrar en las ventanas emergentes de Stata el nombre del comando que permite realizar la instrucción que se le ordenará al programa para que realice, por ejemplo, al seguir la ruta
File Import ASCII data created by a Spreedsheet
12
BRAYAN RICARDO ROJAS O. INSTRUCTOR En este caso es el comando insheet. A continuación se explican algunas características generales de las ventanas emergentes de Stata para la realización de procedimientos, este manual no presentará las ventanas en las cuales se ejecutan las instrucciones sino los comandos y las opciones correspondientes. Descripción del comando Comando
Ayuda de la instrucción
Ejecutar y mantener la ventana activa
Copiar como comando
Limpiar la ventana
Ejecutar
No Ejecutar
Figura 5. Características de una ventana
1.6 CONFIGURANDO LA MEMORIA DE Stata Stata funciona exclusivamente desde la memoria RAM. El programa únicamente interactúa con el disco duro del computador cuando se hacen salvados de bases de datos, gráficos, archivos log, o archivos de comandos. En la versión 12 Stata configura automáticamente el tamaño de la memoria para poder trabajar con bases de datos muy grandes. Para versiones inferiores a la 12 las versiones SE y MP del programa trabajan con 10 megas de memoria RAM. Sin embargo, cuando se trabaja con bases de datos muy grandes, es posible configurar la cantidad de memoria RAM disponible para una sesión de trabajo a través del comando set memory.3 Por ejemplo, para trabajar con 100 megas de memoria RAM la sintaxis es4: 3
Si desea conocer qué versión tiene de Stata y la configuración de la memoria y la licencia del programa escriba el comando about y creturn list.
13
BRAYAN RICARDO ROJAS O. INSTRUCTOR
set mem 100m Es muy importante que antes de empezar una sesión de trabajo el usuario configure la cantidad de memoria RAM que necesita de lo contrario emergerá el siguiente error: no room to add more observations r (901); 1.7 CAMBIANDO EL DIRECTORIO DE TRABAJO DE Stata La sintaxis para cargar y salvar datos puede ser muy extensa dependiendo de la ruta de acceso a las bases de datos o el lugar en el disco duro donde se quieran almacenar los resultados. Una forma práctica de abreviar la sintaxis en ambos casos consiste en indicarle a Stata, antes de comenzar la sesión de trabajo, el lugar en el disco duro de donde se desean tomar los datos y donde se quieren almacenar los resultados. Este procedimiento se lleva a cabo a través del comando cd así: cd "C:\...." La otra opción es por medio del Menú File Change Working Directory Entre comillas se debe encontrar la dirección o ruta de la carpeta donde se encuentran las bases de datos que serán empleadas en la sesión de trabajo de Stata. 1.8 BASES DE DATOS DE EJEMPLO
En el momento en que Stata se instala en su equipo se incluyen bases de datos de ejemplo las cuales le permitirán trabajar con el software, tenga en cuenta estos archivos dado que la ayuda en muchas ocasiones se referencia a las bases de datos del software, para acceder a ellas siga la ruta File Example Datasets Example datasets installed with Stata o para acceder a todas las bases de datos seleccione Stata 12 manual datasets pero debe tener acceso a internet. El comando asociado es sysuse dir sysuse auto.dta
* para ver el directorio de bases de ejemplo en su equipo * cargará la base auto.dta que es una base de ejemplo de Stata
1.9 TIPOS DE VARIABLES
Una de las preguntas comunes en el manejo de un software estadístico es cómo el programa clasifica o categoriza las variables, es decir que formato es posible asignarle a una variable, para ello es necesario primero que el usuario tenga claro el tipo de variable.
4
Se recomienda revisar la ayuda sobre el comando set y el comando memory
14
BRAYAN RICARDO ROJAS O. INSTRUCTOR Las variables las podemos dividir de acuerdo al siguiente esquema
VARIABLE
CUALITATIVA
CUANTITATIVA
Continua
Discreta
Stata es “case sensitive”, es decir, distingue entre mayúsculas y minúsculas, de forma que las variables var1 es diferente a Var1. Para Stata se manejan los datos cuantitativos por diferentes tipos de variables los cuales se diferencian por el rango de los datos o por el tamaño en el número de caracteres disponibles a continuación se presenta una tabla que describa los tipos de datos. TIPO DE VARIABLE
RANGO MÍNIMO MÁXIMO -127 100 -32,767 32,740 -2,147,483,647 2,147,483,620 -1.70141E+38 1.70141173319*10^38 -8.9885E+307 8.9884656743*10^307
Byte Int Long Float Doublé Precisión para FLOAT 3.795x10^-8. Precisión para DOBLE 1.414x10^-16. Tabla 4. Tipos de Variable
FORMATO %8.0g %8.0g %12.0g %9.0g %10.0g
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.
15
BRAYAN RICARDO ROJAS O. INSTRUCTOR FORMATO DE LAS VARIABLES: El formato de las variables hace referencias a la forma como son almacenadas y desplegadas las variables en STATA. Para cambiar el formato de una de una variable a través del lenguaje de sintaxis debe tener en cuenta que el formato de toda variable siempre antecedido por el símbolo “%”.
Variables de cadena
% 20 s Inicio de un formato
Variable “String”
número de caracteres
Variable numérica Formato general “g”, Notación científica “e”, formato fijo “f”
% 10. 0 g c
opcional, separados de miles por comas
Inicio de un formato Dígitos antes del punto decimal Dígitos después del punto decimal
Si desea cambiar el formato de una variable utilice el comando recast. sysuse auto describe Price recast float price Para mayor información: help data_types y help recast
2. { TC "MANEJO FUNDAMENTAL DE STATA 11" }MANEJO DE BASES DE DATOS Antes de realizar usted un análisis de la información ya sea de tipo descriptivo, inferencial, debe contar con la información lo mejor posible para poder realizar los correspondientes análisis, por ello en éste capítulo podrá ver como realizas manejo de bases de datos financieras y económicas. Una de las ventajas de Stata es su fortaleza en el manejo de bases de datos, principalmente porque permite al usuario manejar gran cantidad de variables y de observaciones, además, es posible realizar manipulación y transformaciones como es crear, eliminar, modificar, concatenar y demás funciones a variables, de igual forma permite agregar variables y observaciones a una base de datos con otras bases. Entre opciones avanzadas se encuentran la protección de bases de datos, la creación de firmas y restricciones a usuarios. Stata permite a los usuarios manejar bases de datos de formatos como son
16
BRAYAN RICARDO ROJAS O. INSTRUCTOR MS Excel, texto, SQL, SAS, entre otros, de igual forma permite exportar archivos a dichos formatos. El capítulo se divide en cuatro secciones, la primera un manejo de bases de datos básico, en la segunda sección datos de corte transversal, la tercera datos de series de tiempo y en la última manejo de datos de panel.
1.1 FUNDAMENTOS DE BASES DE DATOS Hay ciertas características que usted podrá aprender para el manejo de la información, entre ellas los pasos fundamentales, como son, importar una base de datos, eliminación, transformación de bases de datos, entre otros.
1.1.1
Creación de un archivo log
Un archivo tipo texto con extensión “.log” o “.smcl”5, permite guardar todo lo que usted digite y ejecute en la línea de comandos así como las salidas obtenidas en la ventana de resultados realizadas durante la sesión activa de Stata. Se recomienda que la extensión sea SMCL, dado que le permite conservar las fuentes y colores de su ventana de resultados y además podrá configurarlo para imprimir.
Figura 6. Creación de un archivo Log Para la creación de un archivo log por medio de comandos debe usar log using tables.log, replace
1.1.2
Abrir una base de datos
El primer paso es cargar una base de datos, para ello depende el formato de la base de datos. Es común que los usuarios contengan su información en archivos tipo Excel, para ello es necesario tener claro que Stata requiere que el separador decimal debe ser el punto (.), para ello se recomienda utilizar la herramienta de buscar-reemplazar de Excel o hacer cambio de la configuración de Excel o de la configuración regional de su equipo.
5
Iniciales de Stata Markup and Control Language.
17
BRAYAN RICARDO ROJAS O. INSTRUCTOR Recuerde que las bases de datos de Stata finalizan con la extensión .dta, cuando se tiene un base tipo Stata para abrirla puede utilizar la ruta File Open y seleccionar el archivo o por el ícono abrir de la barra de herramientas, por medio de comandos podrá usar la instrucción use use "C:\Users\Brayan\Desktop\ipc_raw.dta", clear Recuerde la sección 1.7 en donde se indica como activar un directorio de trabajo para no tener que referenciar la ruta o path en donde se encuentra el archivo; si ya tiene un directorio activo la instrucción es: use ipc_raw, clear Dado que la instrucción solo importa bases de datos de formato Stata no se requiere ingresar la extensión .dta. Finalmente con el comando use podrá seleccionar solamente las variables que desea usando la opción using importar por ejemplo use fecha ipc inflación using ipc_ra, clear
2.1.1 Importar una base de datos .CSV o TXT Uno de los formatos más comunes en el manejo de información estadística es el formato Separado por Comas (CSV), para importar una base de dato se sigue la ruta: File Import ASCII data created by a Spreedsheet Como se mencionó anteriormente en la parte superior de cada ventana aparece el nombre del comando correspondiente, si el usuario desea llamar una ventana puede hacerlo desde la ventana de comandos por medio de db nombre_comando. En este caso el comando insheet tiene la siguiente estructura insheet [variables] using ruta , opciones Por ejemplo: insheet using "C:\Users\USER\Documents\Software Shop\Stata\Taller docentes\Docentes_01.csv", delimiter(":") clear En el caso que el usuario no requiera importar la totalidad de la base de datos debe especificar después del comando insheet el nombre de las variables; entre las opciones encontramos el tipo de formato que separa los datos, como son tabulaciones (tab), comas (comma) o especificado por el usuario (delimiter(“x”)).
18
BRAYAN RICARDO ROJAS O. INSTRUCTOR La función anterior es similar para archivos con extensión .TXT.
2.1.2 Importar una base de datos .XLS o .XLSX 2.1.2.1 Pegar bases de datos de Hojas de cálculo Es común que las bases de datos y los archivos que se usan a diario por las empresas y sus trabajadores sean de hojas de cálculo, para facilitar el trabajo de uso de Stata cuando las bases son de una hoja de cálculo se puede sin mayor problema copiar los datos de la hoja correspondiente y posteriormente en la ventana edit dar clic derecho y seleccionar pegar o la secuencia CTRL + V, de ésta forma Stata reconoce los datos correspondientes. Nota: El usuario debe tener sumo cuidado con el formato de la base original dado que Stata trabaja los separadores decimales con el punto y no con la coma como se usa en la configuración de los computadores con idioma español. Para ello se recomienda al usuario cambiar el formato de separador decimal y de miles en su hoja de cálculo o directamente desde la configuración regional de su equipo. De igual forma usar la técnica de buscar y reemplazar le permite obtener un buen resultado. Se recomienda ver información adicional con help input, infix e infile. Editor de datos en stata Los datos pueden ser visualizados o introducidos en Stata haciendo clic en el ícono de la ventana “Data Editor”, presionando “control+7”, o haciendo clic en Data Data Editor Editor
Ícono de EDIT
Figura 7. Editor de datos de Stata La ventana emergente presenta un formato similar a una hoja de cálculo y le permite a un usuario hacer manipulación de variables y observaciones similares a las que se realizan en una hoja de cálculo. La opción más sencilla para cargar una base de datos es copiar y pegar la información de su hoja de cálculo a la ventana de Edit de Stata.
19
BRAYAN RICARDO ROJAS O. INSTRUCTOR
Snapshots: Permite preservar y restaurar la base de datos a un punto predeterminado por el usuario. Hide/Show Variables: Sólo para efectos de visualización, esta opción permite ocultar parte de una base de datos. Filter Observations: Mientras esté abierto el editor de datos, a través de esta opción es posible mantener un filtro sobre la base la base de datos. Variable Properties: Esta opción permite renombrar variables, asignar etiquetas a variables y valores de variables categóricas, y ajustar los tipos de variables y los formatos de las variables. Variable Manager: Similar a la opción anterior, además permite visualizar simultáneamente varias variables y adicionar notas a estas.
2.1.2.2 Asistente de Importación de Excel files La versión 12 de Stata ha incorporado una nueva herramienta para importar bases de datos tipo .xls o .xlsx, para acceder al asistente siga la ruta File Import Excel Spreadsheet (*.xls, *.xlsx) emergerá la siguiente ventana:
20
BRAYAN RICARDO ROJAS O. INSTRUCTOR
Busque el archivo de Excel Seleccione la hoja a importar
Active la casilla si en su hoja la primera fila contiene los nombres de las variables
Seleccione el rango de los datos
Figura 8. Asistente Importación Archivos de Excel
Nota: Para poder importar la base de datos debe tener cerrada la base de datos de lo contrario el asistente no realizará la importación. La estructura del comando es: import excel [using] filename [, import_excel_options] En las opciones podrá seleccionar: - sheet("sheetname") Nombre de la hoja a importar - cellrange([start][:end]) Rango de celdas a cargar - firstrow Tomar la primera fila como los nombres de las variables - allstring Importar todas las variables como texto - clear Reemplazar los datos en la memoria Para el ejemplo la instrucción es: import excel "C:\Users\Brayan\Desktop\base1.xlsx", sheet("base 1") firstrow
2.1.3 Importar otros tipos de archivo
21
BRAYAN RICARDO ROJAS O. INSTRUCTOR Hay otro tipo de archivos que Stata le permite importar automáticamente como archivo para ello se recomienda tener en cuenta las siguientes recomendaciones: TIPO DE BASE
COMANDO
ODBC Archivo de Texto sin diccionario (.raw) Archivo de Texto con ancho fijo (.raw) Archivo de Texto con diccionario ( Formatos SAS XPORT o .xpf Formato tipo haver XML files
Odbc Infile Infix infile2 import sasxport haver Xmlsave
Tabla 5. Otros comandos para importar archivos
Finalmente si tiene otro tipo de archivos se recomienda que adquiera el software Stat/transfer, para mayor información ingrese a http://www.stata.com/products/transfer.html, éste programa le permite importar archivos tipo SPSS, SAS, R, RATS, Statistica, MATLAB, GAUSS, entre otros.
2.2 SALVANDO UNA BASE DE DATOS Como los datos han sido cargados en la memoria RAM, sólo puede modificarse la base de datos original de tres formas Haciendo clic en el icono de salvado en la barra de herramientas Haciendo clic en ctrl+S A través del cuadro de comandos empleando el comando “save”, por ejemplo save base1.dta, replace La opción replace le permite sobre escribir un archivo que tenga en el mismo directorio de trabajo activo y con el mismo nombre. Una vez que los datos han sido guardados o abiertos es posible optimizar el espacio que estos ocupan utilizando el comando compress este comando comprime la base de datos. Es muy útil cuando trabajamos con bases de datos grandes. 2.3 DESCRIPCIÓN DE LA BASE DE DATOS
Una vez se tenga una base de datos cargada, es necesario empezar a revisarla y obtener información de ella, para ellos Stata le permite al usuario por medio de diferentes procedimientos entender cada variable y su contenido. 22
BRAYAN RICARDO ROJAS O. INSTRUCTOR
Lo primero que debe realizar el usuario una vez importa o abre una base de datos es observar la base, para ello se encuentran diferentes formas de visualizar los datos, entre ellas las opciones de edit y de browse, las cuales abren una ventana con forma de hoja de cálculo, la otra opción es por medio del comando list que permite visualizar la o las variables en la ventana de resultados, se recomienda usar los comandos edit, browse y list con las opciones if – in. Adicional a esto el usuario puede recibir información específica de cada variable por medio de las opciones del menú Data Describe Data. En éste menú las opciones de describe data in memory, describe data contents e inspect variables, le da la posibilidad al usuario de obtener información correspondiente al nombre, la etiqueta, el tipo y formato de la variable, notas, etiquetas sobre valores, el número de valores perdidos, entre otras. A continuación se presenta un ejemplo del uso de estos comandos *cargar una base de datos del programa sysuse auto *observar los datos browse
Figura 9. Browse
23
BRAYAN RICARDO ROJAS O. INSTRUCTOR *Describir los datos describe make price mpg
variable name
storage type
make price mpg
str18 int int
display format
value label
%-18s %8.0gc %8.0g
variable label Make and Model Price Mileage (mpg)
.
Cuando se desea aplicar un comando para todas las variables de la base de datos podrá hacerlo ingresando el comando sin incluir ninguna variable de esta forma Stata tomará la instrucción para toda la base de datos, otra alternativa es escribir _all posterior al comando por ejemplo: sysuse auto describe _all
2.3.1
storage variable name type
display format
make price mpg rep78 headroom trunk weight length turn displacement gear_ratio foreign
%-18s %8.0gc %8.0g %8.0g %6.1f %8.0g %8.0gc %8.0g %8.0g %8.0g %6.2f %8.0g
str18 int int int float int int int int int float byte
value label
variable label
origin
Make and Model Price Mileage (mpg) Repair Record 1978 Headroom (in.) Trunk space (cu. ft.) Weight (lbs.) Length (in.) Turn Circle (ft.) Displacement (cu. in.) Gear Ratio Car type
Creación de Variables
Por medio del menú Data podemos encontrar opciones como crear nuevas variables Data Create or Change Data Create New Variable:
24
BRAYAN RICARDO ROJAS O. INSTRUCTOR
Figura 10. Generate La creación de las variables se realiza por medio del comando generate, los comandos en Stata no es necesario escribirlo en su totalidad, la mayoría de los comandos pueden ser reducidos en un prefijo, para conocer el prefijo de cada comando escriba help nombre del comando en la ayuda aparecerá subrayado el nombre hasta cierto carácter indicando que puede usar solamente ese texto para ejecutar el comando, por ejemplo g es igual a generate
Figura 11. Prefijo de un comando Algunos ejemplos de creación de variables: generate suma = var1 + var2 gen resta = var1 – var2 g multiplicación = var1 * var2 Para la creación de las variables se recomienda usar el siguiente cuadro
25
BRAYAN RICARDO ROJAS O. INSTRUCTOR
Tabla 6. Operadores En algunas ocasiones se requieren algunos caracteres especiales, uno de ellos son los caracteres _n y _N o denominadas variables del sistema, _n es un contador del número de observaciones, y _N indica el total de observaciones de la base de datos. gen tendencia = _n gen totales = _N Para la creación de variables con condiciones puede utilizar la opción de la estructura de comandos [if] [in], estas opciones le permitirán poner restricciones no solo para la creación de variables si no para la gran mayoría de comandos que contiene Stata, debe tener en cuenta que solo debe escribir una vez el carácter if o in, a continuación algunos ejemplos en el uso de estos caracteres especiales: gen dummy = 1 if TV >5 * crea una variable con valores = 1 si TV > 5, perdido en otro caso. list make mpg if mpg>25 list price in 10/20 * crea una lista para las observaciones entre la 10 y 20 list price in -10/l * crea una lista con las últimas 10 observaciones Para la opción in se puede utilizar las siguientes estructuras: # #/# #/l f/# -#/#
Condición sobre una única observación Condición sobre un rango de observaciones Condición sobre una observación hasta la última (l) 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
26
BRAYAN RICARDO ROJAS O. INSTRUCTOR A continuación listamos algunas funciones matemáticas, estadísticas y de fecha importantes en la creación de variables FUNCIÓN ln() exp() sqrt() abs() cos() logit() runiform() rnormal() rnormal(m,s) int() invnormal(p) length(s)
2.3.2
EJEMPLO g lpib = ln(pib) g epib = exp(pib) g y = sqrt(epib) g x = abs(y) g coseno = cos() g logit = logit(x) g uniforme = runiform()
DESCRIPCIÓN Logaritmo natural Exponencial Raíz cuadrada Valor absoluto Coseno Retorna el logaritmo de los odds ratio de x Genera números aleatorios de una distribución uniforme [0,1) g normal = rnormal() Genera números aleatorios de una distribución normal estándar (0,1) g normal = rnormal(10,2) Genera números aleatorios de una distribución normal con media m y desviación estándar s g enteros = int(pib) Convierte una variable o dato en entero g inversa = invnormal(prob) Genera una variable como la inversa de la probabilidad de una distribución normal g largo = length(nombre) Presenta el número de caracteres de una variable string Tabla 7. Ejemplos Funciones generate
Extensiones en la creación de variables
Podemos utilizar algunos comandos adicionales para la creación de variables con algunas condiciones, tales como el comando egen y la función cond() Ejemplos: gen dummy = cond(TV>5,1,0) gen dummy = (TV>5) egen concatenar = concatenate(“variable1” “ “ “variable”) FUNCIÓN max() min() mean() kurt() sd()
2.3.3
EJEMPLO egen maximo = max(ingresos) egen minimo = min(ingresos) egen promedio = mean(ingresos) egen curtosis = kurt(ingresos) egen desviación = sd(ingresos)
Ordenar variables y bases de datos
Ordenar datos Data Sort Ascending Sort:
27
DESCRIPCIÓN Presenta el máximo de una variable Presenta el mínimo de una variable Presenta el promedio de una variable Presenta la curtosis de una variable Presenta la desviación estándar de una variable
BRAYAN RICARDO ROJAS O. INSTRUCTOR
Figura 12. Ordenar datos Para ordenar en forma descendente se recomienda usar el comando gsort de la siguiente forma: gsort – var1 – var2 +var3 El comando anterior nos produce un ordenamiento descendente primero por la variables VAR1, seguido por la variable VAR2 y de forma ascendente por la variable VAR3, indicando que se debe ubicar un signo (-) para establecer descendente y un signo (+) para orden ascendente, aunque este último no es necesario en el comando. Existe otro caso y es en el caso que se deseé ordenar las variables, es decir cambiar el orden en la base de datos, por medio del comando order es posible realizar esto, de igual forma es posible utilizar aorder para que las variables queden ordenadas en forma alfabética. Finalmente el comando move permite modificar la ubicación de las variables, pero a partir de la versión 11, este comando es reemplazado por order.
2.3.4
Cálculos por grupos
En algunas ocasiones el usuario requiere de verificar la información por una característica particular, grupales, entre otras, para ellos Stata cuenta con el prefijo by el cual se ubica previo al comando estadístico, gráfico o de modelo. Ejemplos use http://www.stata-press.com/data/imeus/census2d, clear gsort region -pop by region: generate totpop = sum(pop) by region: list region totpop if _n = = _N
28
BRAYAN RICARDO ROJAS O. INSTRUCTOR by region: egen meanpop = mean(pop) by region popsize, sort: egen meanpop2 = mean(pop) by sex age: regress wage expert expert2 occup El comando by permite generar variables por diversas categorías, además, permite ordenar de acuerdo a alguna variable. En el último ejemplo hace una regresión por cada categoría entre el género y la edad. 2.3.5
Codebook e Inspect
codebook, escribe el contenido de las variables, indicando número de observaciones, valores perdidos, percentiles, entre otros. codebook foreign foreign
type: label:
numeric (byte) origin
range: unique values:
[0,1] 2
tabulation:
Freq. 12 3
units: missing .: Numeric 0 1
1 0/15
Label Domestic Foreign
codebook price price
type:
numeric (int)
range: unique values:
[12990,15906] 5
tabulation:
Freq. 3 3 3 3 3
units: missing .:
1 0/15
Value 12990 13466 13594 14500 15906
inspect, entrega el número de observaciones de una variable identificando los valores positivos, negativos, cero, missing, y si estos corresponden a números enteros o no. Los “missing values” se
29
BRAYAN RICARDO ROJAS O. INSTRUCTOR señalan en Stata mediante un punto (.). Se considera que un missing value es mayor que cualquier valor. . inspect rep78 rep78:
.
Repair Record 1978
#
# # # # # #
Number of Observations Negative Zero Positive
# # #
# #
1
Total 69
Total Missing
Integers 69
69 5
5
Nonintegers -
69
-
74
(5 unique values)
2.4 CONSERVAR Y RECARGAR BASES DE DATOS Es importante cuidar la base de datos que se está trabajando, por eso se recomienda salvar la base de datos, pero además, Stata ofrece opciones que le permitirán al usuario guardar la base de datos de forma virtual, por medio de los comandos preserve y snapshot y para recuperar la base con el comando restore preserve restore snapshot save, label("nombre del elemento guardado") snapshot restore 1 La diferencia entre el snapshot y el preserve es que este último solo permite guardar una vez la base de datos, mientras el snapshot varias veces. 2.5 FILTROS DE LA BASE DE DATOS
Ejemplos de filtros browse if pop browse if pop browse if pop browse if pop
> 10000000 > 10000000 & marriage > 100000 > 10000000 & marriage > 100000 & popurban > 10000000 > 10000000 | marriage > 100000 & popurban > 10000000
Uso del in browse pop in 1/10 browse pop in f/10 f = FIRST, l = LAST browse pop in 10/l hasta el último Se puede combinar con que realizar el filtro puede usar los comandos browse, edit, keep, drop y list. drop elimina observaciones y/o variables. keep conserva observaciones y/o variables. list presenta variables y/o observaciones en la ventana de resultados.
30
BRAYAN RICARDO ROJAS O. INSTRUCTOR edit permite visualizar los datos en una hoja de datos y podrá editar y modificar los datos. browse realiza las mismas opciones de edit pero no se puede modificar la información. El comando keep y drop tienen la misma estructura keep/drop variables keep/drop if expresión keep/drop in rango Ejemplos sysuse census drop death divorce * Elimina las variables death y divorce keep state pop* medage marriage * Conserva las variables indicadas drop if medage > 30 * Elimina las observaciones donde medage sea mayor a 30 sort popurban keep in -10/l * Conserva las últimas 10 observaciones con mayor popurban
2.6 ADMINISTRADOR DE VARIABLES
En la versión 11 de Stata se incluyó la ventana del administrador de variables, este administrador de variables permite modificar información de cada variable, principalmente el cambio de nombre, etiquetas, tipo de variable, formato, notas y creación de categorías y etiquetas.
Figura 13. Administrador de variables.
Para la modificación de la variable, deberá ser seleccionada la variable y una vez modificada la información correspondiente debe dar click en Apply. En la versión 12 Stata ha incluido una nueva ventana que es la ventana de propiedades en la cual se pueden modificar la información de cada variable: 31
BRAYAN RICARDO ROJAS O. INSTRUCTOR
Figura 14. Ventana de Propiedades
Entre los cambios del administrador de variables y la ventana de propiedades se encuentran las siguientes opciones, se describe el comando correspondiente para automatización de tareas. 2.6.1 Rename Este comando permite cambiar el nombre de una variable. Por ejemplo rename nombreviejo nombrenuevo rename price precio 2.6.2 Label Variable Para ponerle nombre o etiqueta al variable label var nombrevariable “etiqueta variable” lable var precio “Precio del auto” 2.6.3 Notes Se pueden crear dos tipos de notas, una para la base de datos o para la base de datos, a continuación un ejemplo para cada caso: notes divorce: 1 si la persona es divorciada, 0 en otro caso * nota para la variable divorce notes _dta: Censo 1994 * nota para la base de datos
2.7 CREACIÓN DE CATEGORÍAS
La forma más sencilla de crear categorías de variables es por medio del administrador de variables, la variable que seleccionará debe ser discreta, una vez inicie el administrador 32
BRAYAN RICARDO ROJAS O. INSTRUCTOR debe seleccionar la variable que codificará, luego debe dar clic en Manage que se encuentra a la derecha de la opción Value label
La figura 14 presenta el administrador de etiquetas, en el cual podrá crear, editar o eliminar etiquetas y para las etiquetas ya creadas puede agregar, editar o eliminar valores que se encuentran en una etiqueta creada.
Figura 14. Administrador de Value Labels
Para crear una nueva etiqueta haga clic en Create Label, en la figura 15 podrá agregar, eliminar y editar las categorías con su correspondiente descripción.
33
BRAYAN RICARDO ROJAS O. INSTRUCTOR
Figura 15. Creación de Labels
Una vez haya creado la etiqueta deberá asignarla a la(s) variable(s) que correspondan, para ello en el administrador de variable a la izquierda de Manage seleccione el nombre de la etiqueta.
Figura 16. Asignación de etiquetas
Por medio de comandos label define respuestas 1 “si” 2 “no” * Creación de la etiqueta con sus valores label values pregunta1 respuestas *Se asigna a la variable pregunta1 la etiqueta respuestas 2.8 MODIFICACIÓN Y TRANSFORMACIÓN DE VARIABLES En la sección anterior se presentó la forma de creación de variables por medio de los comandos gen y egen, de igual forma el comando replace. Pero existen otras formas de modificar variables ya sea en su formato, tipo de variable, codificación entre otras, a continuación se presentan las más importantes. 2.8.1
Recode
Este comando permite recodificar algún valor de una variable recode x (1=2), gen(nx)
34
BRAYAN RICARDO ROJAS O. INSTRUCTOR recode x1 (1=2), gen(nx1) En el ejemplo 1 se recodifica la variable x, cambiando los valores 1 por valores 2, la variable transformada se guarda como nx.
Figura 17. Recode En el ejemplo 2 se cambia de 1 a 2 y de 2 a 1, generando la variable nx1.
2.8.2
División de Variables de texto
Split divide una variable texto en nuevas variables por el espacio o un carácter específico split var1, parse(,) gen(geog)
2.9 COMBINACIÓN DE BASES DE DATOS La combinación de bases de datos es un problema muy común para el investigador o el analista de información, Stata le permite realizar diferentes tipos de fusiones de bases de datos, a continuación presentaremos los dos formatos más importantes, la adición vertical (merge) y horizontal (append).
35
BRAYAN RICARDO ROJAS O. INSTRUCTOR
HOMBRES.dta
Adición casos: append No es necesaria variable llave
Adición de variables: merge Es necesaria variable llave. Las bases de datos deben estar ordenadas. Revisar la variable _merge
EDUCACION.dta
MUJERES.dta
2.9.1
Combinación Vertical – Append
Este comando agrega filas a la base de datos, las variables deben como regla contener los mismos nombres, el mismo tipo de variable y además la base de datos sus variables deben estar ordenadas de igual forma. Para combinar conjuntos de datos verticalmente se emplea el comando append. En nuestro ejemplo, a la base de datos HOMBRES vamos a adicionar los casos correspondientes la información de las mujeres así: use hombres, clear append using MUJERES
En la nueva base de datos se ha combinado la información hombres y mujeres en una única base de datos.
d
36
BRAYAN RICARDO ROJAS O. INSTRUCTOR
En este punto se deben tener en cuenta dos aspectos. 1. El comando append debe estar acompañado de la palabra using la cual indica que el nombre a continuación corresponde a la base de datos de datos que será adicionada verticalmente. 2. Como la base de datos cargada en la memoria RAM ha cambiado es conveniente que el usuario salve la nueva información con otro nombre así. save PERSONAS, replace
2.9.2
Combinación Horizontal – Merge
Se usa cuando se quieren traer nuevas variables de una base llamada using a una base de datos ya existente o master, éste comando une dos bases de datos utilizando una variable en común (generalmente es una ID, llave o código que identifica las observaciones de la base de datos). Las dos bases de datos deben estar guardadas en formato .dta, y deben estar ordenadas de acuerdo a la variable que se va a pegar. El objetivo de este comando es agregar variables (columnas). Para pegar dos bases de datos (A.dta y B.dta), se deben realizar los siguientes pasos: 1. Ordenar (sort) la base de datos B de acuerdo a las variables con las que se hará la unión de las bases, es decir de acuerdo al ID, y guardar. 2. Abrir la base A y ordenarla de acuerdo al paso 1. 3. Usar el comando merge 4. Guardar la base de datos (save) Si la base no está ordenada y contiene datos repetidos emerge el siguiente error: Using data not sorted Master data not sorted Para verificar que usted tenga un identificador único se recomienda que lo verifique por medio del comando isid.
37
BRAYAN RICARDO ROJAS O. INSTRUCTOR
isid id num Si emerge error es porque el identificador se repite y si va hacer una fusión tendrá inconvenientes. Al momento de realizar el merge se crea una variable denominado _merge, que contiene tres valores: _merge = = 1 _merge = = 2 _merge = = 3
Las observaciones son originarias del archivo “master” o base Las observaciones son originarias del archivo “using” Las observaciones se encuentran en ambos archivos
Siguiendo con el ejemplo anterior, vamos a agregar a la base de datos PERSONAS.dta, nuevas variables con la información sobre el nivel educativo y los años de educación aprobados de las personas. Esta información se encuentra en la base de datos EDUCACION.dta. Los pasos a seguir para realizar este tipo de pegue son: 1. Cargar la base “using” (EDUCACION.dta) de donde queremos traer las nuevas variables, la ordenamos de acuerdo con la(s) variable(s) identificadora(s) “numero y e01” y salvamos los cambios. El comando para ordenar las observaciones es sort así: use EDUCACION sort numero e01 d save EDUCACION, replace En este caso, el comando save está acompañado de la opción replace la cual denota que se está sobrescribiendo en la base EDUCACION original. 2. Cargar la base “master” (PERSONAS.dta), la ordenamos por el mismo criterio anterior y salvamos los cambios. use PERSONAS sort numero e01 d save PERSONAS, replace 3. Aplicamos el comando merge para pegar horizontalmente las dos bases así:
La base de datos PERSONAS.dta contiene ahora las variables de la base de datos EDUCACION.dta, creando automáticamente la variable _merge.
2.10 CAMBIO EN LA ORGANIZACIÓN DE LOS DATOS
38
BRAYAN RICARDO ROJAS O. INSTRUCTOR
Cuando una base de datos tiene más de una observación por unidad de estudio (individuo, país, empresa, etc.) nos puede interesar sólo trabajar con una observación por unidad (collapse) o mantener las observaciones distintas para cada individuo pero que se creen como variables o columnas distintas (reshape) 2.10.1 Collapse Si se tiene una base de datos de hogares, cada observación es un miembro del hogar. Si cada hogar dispone de un identificador único, entonces se puede formar una base de datos alternativa que contenga una sola observación por hogar (en lugar de una observación por individuo) para cada una de las variables deseadas. Esta observación puede contener la media, desviación estándar, suma u otro estadístico. Ejemplo: collapse (mean) edad (max) educación (p50) ingreso, by(hogar) Lo anterior crea una base de datos con cuatro variables, hogar, edad, ingreso y educación. Con frecuencia, la información estadística tiene algún grado de reserva o confidencialidad que la hace no accesible al público en su forma original. La mayor parte de la información proveniente de bases de datos grandes, por ejemplo las encuestas (de personas, de hogares, de empresas de la industria manufacturera, etc.) o los censos (de población, de instituciones educativas, de edificaciones, etc.) suele ser presentada en tablas resumen y en bases de datos colapsadas o agregadas. En Stata es posible colapsar bases de datos a través del comando collapse. Debe tenerse en cuenta: 1) La(s) variable(s) de agregación: Variable(s) que definen las nuevas unidades de observación u observaciones agregadas. 2) El(Los) criterio(s) de agregación: Es la(s) operación(es) matemática(s) que será(n) aplicados a la base de datos original para obtener las nuevas unidades de observación colapsadas: suma, media, mediana, cuenta, percentil, etc. 3) La base de datos original ha sido modificada. Debería salvarse con un nuevo nombre. Por ejemplo, a partir de la base personas.dta, se puede obtener una base de datos agregada por localidad y sexo así: collapse (mean) edu007, by(localid e03)
39
BRAYAN RICARDO ROJAS O. INSTRUCTOR
La variable edu007 corresponde a los años de educación promedio y jefe a la suma de los jefes de hogar, en ambos casos, por localidad y sexo.
2.10.2 Reshape En algunas ocasiones dependiendo del estudio muestral y de la construcción de la base de datos, usted encontrará su información en dos formatos, ancho (wide) y largo (long), el formato ancho es aquel en el cual usted tiene un conjunto i de individuos y un número j de variables, donde j es generalmente una variable con información para diferentes períodos de tiempo. Para mostrar un ejemplo, utilizaremos la base de datos reshapeState descrita en el libro [1]: use http://www.stata-press.com/data/imeus/reshapeState, clear list state
pop1970
pop1980
pop1990
pop2000
area
1. 2. 3. 4. 5.
CT MA ME NH RI
.1369841 .6432207 .5578017 .6047949 .684176
.6184582 .0610638 .5552388 .8714491 .2551499
.4241557 .8983462 .5219247 .8414094 .2110077
.2648021 .9477426 .2769154 .1180158 .4079702
.871691 .4611429 .4216726 .8944746 .0580662
6.
VT
.1086679
.0445188
.5644092
.7219492
.6759487
En este caso se encuentran seis códigos de estados de nueva Inglaterra, y aparece la información de la población desde 1970 hasta el 2000 calculada cada década, a continuación transformaremos la base de datos de formato wide a long por medio del comando reshape, la estructura de este comando es: reshape long variable_j, i(variable_individuos) j(nombre nueva variable) reshape wide variable_j, i(variable_individuos) j(variable_temporal)
40
BRAYAN RICARDO ROJAS O. INSTRUCTOR con la base de datos actual pasaremos de wide a long reshape long pop, i(state) j(año) Data
wide
> Number of obs. 6 Number of variables 6 j variable (4 values) xij variables: pop1970 pop1980 ... pop2000
->
long
-> -> ->
24 4 año
->
pop
list state
año
pop
area
1. 2. 3. 4. 5.
CT CT CT CT MA
1970 1980 1990 2000 1970
.1369841 .6184582 .4241557 .2648021 .6432207
.871691 .871691 .871691 .871691 .4611429
6. 7. 8. 9. 10.
MA MA MA ME ME
1980 1990 2000 1970 1980
.0610638 .8983462 .9477426 .5578017 .5552388
.4611429 .4611429 .4611429 .4216726 .4216726
11. 12. 13. 14. 15.
ME ME NH NH NH
1990 2000 1970 1980 1990
.5219247 .2769154 .6047949 .8714491 .8414094
.4216726 .4216726 .8944746 .8944746 .8944746
16. 17. 18. 19. 20.
NH RI RI RI RI
2000 1970 1980 1990 2000
.1180158 .684176 .2551499 .2110077 .4079702
.8944746 .0580662 .0580662 .0580662 .0580662
21. 22. 23. 24.
VT VT VT VT
1970 1980 1990 2000
.1086679 .0445188 .5644092 .7219492
.6759487 .6759487 .6759487 .6759487
Si se encuentra usted con una base de datos similar a la generada con el comando reshape, podrá pasarla a formato wide, en nuestro caso usaremos la siguiente sintaxis reshape wide pop, i(state) j(year) Continuando con el ejemplo de la encuesta de hogares. Se puede hablar de orientación vertical u horizontal cuando a cada una de las observaciones i en una base de datos, se las segmenta por algún criterio j (v.g., diferentes periodos de tiempo). En nuestro ejemplo, cada una de las localidades i, ha sido segmentada por sexo j, mientras que la base de datos en conjunto ha sido desplegada de forma vertical. En este caso sin embargo, puede resultar más cómodo emplear una base de datos orientada horizontalmente, en particular si se quieren hacer comparaciones para cada una de las localidades entre hombres y mujeres. Podemos emplear el comando reshape, acompañado de las opciones wide (despliegue horizontal) o long (despliegue vertical), para cambiar la orientación de la base de datos colapsada así: reshape wide edu007, i(localid) j(e03)
41
BRAYAN RICARDO ROJAS O. INSTRUCTOR
Para volver a la forma vertical reshape long edu007, i(localid) j(e03)
2.10.3 Xpose Usted podrá modificar la orientación de una forma completa en su base de datos, es decir, pasar de filas a columnas (similar a realizar un transponer en Excel), debe tener cuidado dado que no podrá retornar a la posición inicial. sysuse auto , replace snapshot save, label(“base original”)
42
BRAYAN RICARDO ROJAS O. INSTRUCTOR keep mpg foreign xpose , clear
2.10.4 Stack El comando stack le permitirá a usted fusionar variables por ejemplo tiene los meses de cada año ordenados en columnas y quiero formar una sola variable con todos los meses para todos los años 2.10.5 Extraer una muestra aleatoria de su base En algunas ocasiones para hacer estudios muestrales requiere que la base de datos sea dividida por un método aleatorio, para ello podrá hacer uso del comando simple sample 80 || tomará el 80% de la muestra sample 20, count || tomará 20 observaciones a la zar
2.11 PROBLEMAS EN EL MANEJO DE BASES DE DATOS Cuando usted trabaja con bases de datos en el día a día se encontrará con diferentes problemas y situaciones que lo pondrán a prueba en el manejo no solo de Stata sino en el conocimiento de su información, por eso es importante que siempre se pregunte antes de hacer cualquier cambio en su base de datos, qué quiere hacer y cuál es el resultado esperado, de esta forma podrá pensar más fácilmente que tipo de ejecución requiere en Stata para llegar a su objetivo, a continuación presentaremos un conjunto de comandos que presentan algunos casos típicos en el manejo de bases de datos. 2.11.1 Replicar información Dependiendo su análisis podrá requerir replicar algún tipo de información de su base de datos, por ejemplo un cliente, un usuario, un grupo, una empresa, un país, aunque no es una alternativa muy común, Stata le ayudará a realizar la reproducción de sus datos, expand, es el comando para duplicar información, pero con la característica que lo puede hacer n veces sysuse auto, clear keep if price > 12000 list make price make 1. 2. 3. 4. 5.
Cad. Eldorado Cad. Seville Linc. Mark V Linc. Versailles Peugeot 604
price 14,500 15,906 13,594 13,466 12,990
expand 3
43
BRAYAN RICARDO ROJAS O. INSTRUCTOR
De acuerdo al comando usado, los datos se encontrarán 3 veces en la base de datos, tal y como se presenta a continuación. sort make price list make price make 1. 2. 3. 4. 5.
Cad. Cad. Cad. Cad. Cad.
price Eldorado Eldorado Eldorado Seville Seville
14,500 14,500 14,500 15,906 15,906
6. 7. 8. 9. 10.
Cad. Seville Linc. Mark V Linc. Mark V Linc. Mark V Linc. Versailles
15,906 13,594 13,594 13,594 13,466
11. 12. 13. 14. 15.
Linc. Versailles Linc. Versailles Peugeot 604 Peugeot 604 Peugeot 604
13,466 13,466 12,990 12,990 12,990
2.11.2 Verificación de datos El comando assert le permitirá verificar la valides de sus datos, este comando le ofrece la posibilidad de incluir en un archivo de programación una condición, si la condición se cumple parará la ejecución de la programación, y de esta forma usted podrá chequear si hay algo que no es correcto en su base de datos, por ejemplo, usted tiene una base de datos con la edad de las personas, podrá utilizar assert para verificar que en ésta variable no hayan datos extraños, como una edad mayor a 100 años o menor a 0. La estructura sería assert edad < 0 | edad > 100 Y aún más completo recomendaríamos incluir evaluar valores perdidos assert edad < 0 | edad > 100 | edad = =. 2.11.3 Contador y reporte de datos repetidos El comando count cuantifica el número de observaciones con ciertas características. La
instrucción por sí sola, presenta el número total de observaciones, pero es posible determinar algunas restricciones 44
BRAYAN RICARDO ROJAS O. INSTRUCTOR Data Data Utilities Count obsevations count if foreign ==1 El comando isid nos permite asegurar que una variable es una codificación única dentro de
una base de datos, este comando se usa generalmente para chequear que no existan observaciones duplicadas dentro de una base de datos. Si la variable tiene exactamente valores únicos entonces no emerge ningún mensaje, de lo contrario aparece lo siguiente: isid foreign variable foreign does not uniquely identify the observations Otro comando que permite verificar si una variable no tiene valores duplicados es duplicates report, que entrega información respecto a la cantidad de veces que se replica la información. 2.12 ANÁLISIS DE DUPLICADOS
Uno de los problemas comunes en el manejo de una base de datos es analizar si hay presencia de observaciones duplicadas En muchas ocasiones el analista de la información se enfrenta con un problema muy común y es la réplica de la información, por problemas de digitación y/o captura de la información, se puede repetir un caso, para ello Stata cuenta con un grupo de diferentes opciones que le ayudarán a solucionar este problema tan común, con las herramientas vistas hasta el momento como la creación de variables, condicionales, transformación entre otras tiene a la mano diferentes formas de conocer cuándo hay un valor repetido o similar en la base de datos, Data Data utilities Manage Duplicate Observations
Figura 18. Administración de Duplicados
45
BRAYAN RICARDO ROJAS O. INSTRUCTOR En la figura 18 puede observar las opciones disponibles para el manejo de datos duplicados, se recomienda seguir cada una de las opciones, Report Duplicates le ofrece la opción de seleccionar bajo que variable(s) desea analizar si existen duplicados o no, por ejemplo: sysuse auto, clear keep if price > 12000 expand 3 duplicates report make Lo que nos generareport el siguiente resultado . duplicates make Duplicates in terms of make
copies
observations
surplus
3
15
10
El resultado indica que hay 15 observaciones en total de las cuales hay 10 en exceso o duplicadas, indica adicionalmente que para cada observación hay 3 copias. Para ver el listado total de elementos duplicados duplicates list make
46
BRAYAN RICARDO ROJAS O. INSTRUCTOR Duplicates in terms of make
group:
obs:
make
1 1 1 2 2
1 6 7 2 8
Cad. Cad. Cad. Cad. Cad.
2 3 3 3 4
9 3 10 11 4
Cad. Seville Linc. Mark V Linc. Mark V Linc. Mark V Linc. Versailles
4 4 5 5 5
12 13 5 14 15
Linc. Versailles Linc. Versailles Peugeot 604 Peugeot 604 Peugeot 604
Eldorado Eldorado Eldorado Seville Seville
Como se puede observar para cada marcar de automóvil hay dos valores adicionales, lo que ya nos había indicado la opción report informando que habían tres observaciones para cada categoría.
La siguiente opción Tags duplicates permite crear una variable que indica el número de valores adicionales en este caso será 2, si utilizamos el tag y hacemos una lista se apreciará el resultado. duplicates tag make, generate(duplicado) list make duplicado
47
BRAYAN RICARDO ROJAS O. INSTRUCTOR
make 1. 2. 3. 4. 5.
Cad. Cad. Cad. Cad. Cad.
duplic~o Eldorado Eldorado Eldorado Seville Seville
2 2 2 2 2
6. 7. 8. 9. 10.
Cad. Seville Linc. Mark V Linc. Mark V Linc. Mark V Linc. Versailles
2 2 2 2 2
11. 12. 13. 14. 15.
Linc. Versailles Linc. Versailles Peugeot 604 Peugeot 604 Peugeot 604
2 2 2 2 2
Uno de los objetivos es eliminar los valores duplicados Para ello use la opción drop duplicates
FIGURA 19. Eliminación de duplicados duplicates drop make, force list make
48
BRAYAN RICARDO ROJAS O. INSTRUCTOR
make 1. 2. 3. 4. 5.
Cad. Eldorado Cad. Seville Linc. Mark V Linc. Versailles Peugeot 604
2.13 CREACIÓN DE PROGRAMAS – EDITOR DE TEXTO El usuario puede abrir un editor de texto donde puede crear programas (archivos “.do” y “.ado” de Stata) haciendo clic en el icono de la ventana “New Do-file Editor” como se muestra en la siguiente ilustración o presionando “control+8” o haciendo clic en el submenú “Do-file Editor” en el menú “Window” en la barra de herramientas.
FIGURA 19. Creación de un archivo .do
El usuario puede ejecutar uno o más comandos simultáneamente, generar (macros) o crear rutinas nuevas para STATA desde un editor de texto al que se accede haciendo clic en el icono –New Dofile Editor–. A través de este editor se pueden crear archivos tipo *.do y *.ado. Los archivos *.do son conjuntos de comandos y macros que únicamente se pueden ejecutar cuando el archivo está activo. En contraste, los archivos *.ado son rutinas que se incorporan a STATA permanentemente y pueden ser ejecutadas desde la el cuadro de comandos o incluso desde otros archivos *.do y *.ado. Se accede a este editor como se muestra en la siguiente ilustración, presionando control+8 o haciendo clic en el submenú –Do-file Editor– en el menú –Window– en la barra de herramientas. (Darw.) 2.14 COMENTARIOS ADICIONALES LOG FILES
COMANDOS USADOS append browse by
bysort cd clear
49
BRAYAN RICARDO ROJAS O. INSTRUCTOR codebook compress db decode describe destring drawnorm drop duplicates edit encode egen exit format generate gsort infile insheet invnormal() keep label
list log merge mvdecode mvencode open order outfile prefix recode rename replace reshape save snapshot sort sysuse use uniform() varmanage xpose
OTROS COMANDOS RECOMENDADOS capture cf count cross datasignature expand filin format infile inspect joinby label language language
3
mat more notes sample seed separate split stack svy tostring translate versión operators
{ TC "MANEJO FUNDAMENTAL DE STATA 11" }ANÁLISIS ESTADÍSTICO CON Stata
Stata tiene una amplia posibilidad de realizar los procedimientos generalmente es posible encontrar varios comandos en diferentes menús. Por ejemplo para poder obtener las estadísticas descriptivas de una variable es posible usando inicialmente los comandos o por medio de ventanas de ejecución.
50
BRAYAN RICARDO ROJAS O. INSTRUCTOR Algunos comandos despliegan mucha información que se va mostrando por secciones, para que sigan apareciendo los resultados es necesario dar clic en el botón GO, o en el mensaje de –moreque aparece en la parte inferior de la ventana de resultados. Pero es posible desactivar la opción para que emerga todo el resultado inmediatamente por medio de set more off. Para el análisis estadístico el menú Statistics permite obtener gran cantidad de opciones para poder desarrollar los temas del curso. Por ejemplo en Statistics Summary, tables, and test Summary and descriptive analysis:
pueden realizar varias operaciones como son cálculo del intervalo de confianza, test para medias, varianzas, dos muestras, etc., pruebas parámetricas y no parámetrica 3.1 ESTADÍSTICAS DESCRIPTIVAS
Para poder realizar este tipo de procedimiento se escribe en la barra de comandos el comando sum que es el prefacio del comando summarize es un comando estándar para generar estadísticos descriptivos, proporciona información acerca del número de observaciones, la media, la desviación típica, el mínimo y el máximo de la variable especificada,
51
BRAYAN RICARDO ROJAS O. INSTRUCTOR
Lo que nos genera:
Si agregamos la opción detail, se agrega el coeficiente de asimetría, y curtosis y varios percentiles de la(s) variable(s) dadas:
3.2 PONDERADORES – WEIGHT-
52
BRAYAN RICARDO ROJAS O. INSTRUCTOR fweight: frequency weights, indica el número de casos que representa realmente cada observación muestral. La variable debe contener enteros positivos. pweight: sampling weights, indica la inversa de la probabilidad de selección muestral de cada observación. Han de ser positivos, pero no necesariamente enteros. aweight: analytic weights, indica los pesos inversamente proporcionales a la varianza de cada observación. Un uso típico de este tipo de ponderación es cuando las observaciones son medias y el peso representa el número de elementos que generan la media. Han de ser positivos, pero no necesariamente enteros. Iweight (importance weights): estos comandos no tienen definición estadística formal, simplemente representan de alguna forma la importancia que se atribuye a cada observación. Cada comando que los acepta explica cómo los utiliza puede tener cualquier forma. 3.3 CALCULO DE MEDIAS
Medias Statistics Summarize, tables and test Arith/Geometric/Armonic means
. mean price Mean estimation
Number of obs Mean
price
6165.257
=
74
Std. Err.
[95% Conf. Interval]
342.8719
5481.914
3.4 INTERVALOS DE CONFIANZA
53
6848.6
BRAYAN RICARDO ROJAS O. INSTRUCTOR Intervalos de confianza
Statistics
Summarize, tables and test
Summary and descriptive
. ci price Variable
Obs
Mean
price
74
6165.257
Std. Err.
[95% Conf. Interval]
342.8719
5481.914
3.5 PRUEBAS DE HIPÓTESIS 3.5.1 Media Con Stata puede hacer pruebas de hipótesis de diferencia de medias ttest horas = 15 ttest horas = wporhora 3.5.2 3.5.3
Varianza Proporciones
3.6 MANEJO DE Tablas DE DATOS
54
6848.6
BRAYAN RICARDO ROJAS O. INSTRUCTOR
Gran variedad de opciones para analizar encuestas como tablas de doble y múltiple entrada, de igual forma permite ver la tabla de frecuencias. 3.6.1
tabstat
Para la generación de tablas descriptivas y de doble entrada, Stata ofrece diferentes opciones, la opción tabstat la cual calcula la media de cada variable
55
BRAYAN RICARDO ROJAS O. INSTRUCTOR
3.6.2
Tabulate (tab)
Este comando permite construir tablas de frecuencias. . tabulate rep78 Repair Record 1978
Freq.
Percent
Cum.
1 2 3 4 5
2 8 30 18 11
2.90 11.59 43.48 26.09 15.94
2.90 14.49 57.97 84.06 100.00
Total
69
100.00
Si se desean que aparezcan los porcentajes, se debe agregar la siguiente opción Finalmente puede crear una variable dummy para cada categoría, simplemente, agregue la opción generate. tabulate rep78, generate(dummy) 3.7 PRUEBAS PARAMÉTRICAS 3.8 PRUEBAS NO PARAMÉTRICAS
56
BRAYAN RICARDO ROJAS O. INSTRUCTOR Statistics
Summarize, tables and test
Nonparametric Test of
hyphotesis
. ksmirnov price = mpg One-sample Kolmogorov-Smirnov test against theoretical distribution mpg Smaller group price: Cumulative: Combined K-S:
D -11.0270 -40.4189 40.4189
P-value
Corrected
0.000 0.000 0.000
0.000
COMANDOS USADOS anova ci collapse contract correlate display estat level mean misstable oneway pwcorr
quietly scalar sktest summarize table tabulate tabstat tab1 tab2 test ttest xi
OTROS COMANDOS RECOMENDADOS
57
BRAYAN RICARDO ROJAS O. INSTRUCTOR
compare Ereturn ktau ladder Return Signtest spearman
4
Stem tabi Weight set level 90 outreg2 outreg
{ TC "MANEJO FUNDAMENTAL DE STATA 11" }GRÁFICAS CON Stata
Stata cuenta con una poderosa herramienta gráfica, permitiendo obtener gráficas de excelente calidad y con varias opciones de edición de las mismas, es posible realizar gráficas como histogramas, barras, de torta, series de tiempo, Box plot, dispersión, para datos panel y para otros tipos de análisis como son de supervivencia, multivariado, control de calidad, etc. Stata tiene dos formas de generar múltiples gráficos, a través de la ventana de comandos con el comando graph o utilizando la barra de herramientas en Graphics. El comando graph se utiliza con el tipo de gráfico a realizar. A continuación se presenta la lista de posibles gráficos Gráficos TWOWAY: Plottype description --------------------------------------------------------------------scatter scatterplot line line plot connected connected-line plot scatteri scatter with immediate arguments area line plot with shading bar bar plot spike spike plot dropline dropline plot dot dot plot rarea range plot with area shading rbar range plot with bars rspike range plot with spikes rcap range plot with capped spikes rcapsym range plot with spikes capped with symbols rscatter range plot with markers rline range plot with lines rconnected range plot with lines and markers pcspike paired-coordinate plot with spikes pccapsym paired-coordinate plot with spikes capped with symbols pcarrow paired-coordinate plot with arrows pcbarrow paired-coordinate plot with arrows having two heads pcscatter paired-coordinate plot with markers
58
BRAYAN RICARDO ROJAS O. INSTRUCTOR pci pcarrowi tsline tsrline mband mspline lowess lfit qfit fpfit lfitci qfitci fpfitci function histogram kdensity lpoly lpolyci
pcspike with immediate arguments pcarrow with immediate arguments time-series plot time-series range plot median-band line plot spline line plot LOWESS line plot linear prediction plot quadratic prediction plot fractional polynomial plot linear prediction plot with CIs quadratic prediction plot with CIs fractional polynomial plot with CIs line plot of function histogram plot kernel density plot local polynomial smooth plot local polynomial smooth plot with CIs
Otros tipos de gráficos graph matrix graph bar graph hbar graph dot graph box graph pie
Matrices de gráficos Gráficos de barras – vertical Gráficos de barras – horizontal Gráficos de medias Gráficos de cajas Gráficos de tortas
Ejemplos: graph twoway connected var1 var3 graph twoway scatter var3 var1 var4 graph box var5 if dummy = =1 graph pie var3 var1 in 1/30 Para grabar un gráfico, se usa el comando graph save graph.gph y el nombre del archivo, recuerde que la extensión de los gráficos de Stata es .gph. Si lo queremos llamar de nuevo usamos graph use graph.gph Es posible combinar gráficos por medio del comando combine graph1 graph2.. A continuación se presenta una explicación más detallada de la creación de los diferentes tipos de gráficos
4.1 HISTOGRAMAS
59
BRAYAN RICARDO ROJAS O. INSTRUCTOR
Histograma: Graphics
Histogram
- histogram price, normal (bin=33, start=2006, width=258942.94)
60
0
1.0e-04
Density
2.0e-04
3.0e-04
BRAYAN RICARDO ROJAS O. INSTRUCTOR
0
5,000
10,000 Price
4.2 GRÁFICO DE TORTAS
Gráfica de Tortas : Graphics
Pie Chart
61
15,000
BRAYAN RICARDO ROJAS O. INSTRUCTOR
29.73%
70.27%
Domestic
GRAFICAS DE TORTAS
62
Foreign
BRAYAN RICARDO ROJAS O. INSTRUCTOR Utilizando la base NLSW.DTA, genere las siguientes gráficas: graph pie, over(occ7) legend(on cols(1) position(9))
Prof Mgmt Sales Cler. Operat. Labor Other
graph pie, over(occ7) pie(4, explode(large)) legend(on cols(3)) scheme(economist) Prof Cler. Other
Mgmt Operat.
Sales Labor
graph pie, over(occ7) pie(4, explode(large)) plabel(_all percent, color(black) size(large) format(%9.2f)) legend(on cols(3)) scheme(economist)
63
BRAYAN RICARDO ROJAS O. INSTRUCTOR
Prof Cler. Other
Mgmt Operat.
Sales Labor
13.58% 14.11% 12.73%
11.75%
10.95% 32.32%
4.54%
graph pie, over(occ7) pie(4, explode(large)) plabel(_all name, color(black) size(medlarge) format(%9.2f)) legend(on cols(3)) scheme(economist) Prof Cler. Other
Mgmt Operat.
Other
Sales Labor
Prof
Labor
Mgmt
Operat. Sales
Cler.
64
BRAYAN RICARDO ROJAS O. INSTRUCTOR graph pie, over(occ7) pie(4, explode(large)) plabel(_all name, color(black) size(medlarge) format(%9.2f)) legend(off) scheme(economist)
Other
Prof
Labor
Mgmt
Operat. Sales
Cler.
graph pie, over(occ7) plabel(_all name, gap(-5)) plabel(_all percent, gap(5)) legend(off)
13.58%
14.11%
Other
Prof
12.73%
11.75% Labor
Mgmt
Operat. 10.95% Cler.
Sales
4.541% 32.32%
65
BRAYAN RICARDO ROJAS O. INSTRUCTOR graph pie, over(occ7) scheme(vg_s2c) by(union) pie(2, explode)
nonunion
union
Prof
Mgmt
Sales
Cler.
Operat.
Labor
Other Graphs by union worker
4.3 GRÁFICO DE CAJAS Box Plot: Graphics
Box Plot
66
0
5,000
Price 10,000
15,000
BRAYAN RICARDO ROJAS O. INSTRUCTOR
4.4 GRAFICAS TWOWAY
TWOWAY GRAPH
Todos los comandos para graficas empiezan por graph, pero esto es opcional dependiendo el tipo de gráfico solo se pone la opción TWOWAY
67
30 10
20
Mileage (mpg)
40
BRAYAN RICARDO ROJAS O. INSTRUCTOR
2,000
3,000 Weight (lbs.)
4.5 EDITOR DE GRÁFICOS DE Stata
68
4,000
5,000
BRAYAN RICARDO ROJAS O. INSTRUCTOR
HACIENDO DOBLE CLIC SOBRE EL ÁREA DE LA GRAFICA Podemos agregar líneas horizontales o verticales indicando el valor del eje Y/o X donde deseamos agregar la línea
69
BRAYAN RICARDO ROJAS O. INSTRUCTOR
Usando los comandos para hacer esta gráfica solo es necesario escribir Scatter mpg weight
PODEMOS CREAR GRÁFICOS POR GRUPOS USANDO EL COMANDO BY twoway scatter mpg weight, by(foreign)
Foreign
30 20 10
Mileage (mpg)
40
Domestic
2,000
3,000
4,000
5,000
2,000
Weight (lbs.) Graphs by Car type
Para acceder por medio de ventanas
70
3,000
4,000
5,000
BRAYAN RICARDO ROJAS O. INSTRUCTOR
Es posible crear varios tipos de gráficas en un solo gráfico algo muy usual es el uso de la gráfica SCATTER con una recta de regresión ajustada. Debemos Crear un nuevo grafico sin eliminar el anterior
71
10
20
30
40
BRAYAN RICARDO ROJAS O. INSTRUCTOR
2,000
3,000 Weight (lbs.) Mileage (mpg)
4,000
5,000
Fitted values
twoway scatter mpg weight || lfit mpg weight – CON UNA NOTACIÓN DIFERENTE DE SEPARACION twoway (scatter mpg weight) (lfit mpg weight)
ALGUNOS EJEMPLOS: - twoway (qfitci mpg weight, stdf) (scatter mpg weight), by(foreign)
Foreign
0
10
20
30
40
Domestic
2000
3000
4000
5000
2000
3000
Weight (lbs.) 95% CI Mileage (mpg) Graphs by Car type
4.6 GRAFICA DE SERIES DE TIEMPO
sysuse uslifeexp twoway line le_wm year || line le_bm year
72
Fitted values
4000
5000
40
50
60
70
80
BRAYAN RICARDO ROJAS O. INSTRUCTOR
1900
1920
1940
1960
1980
Year Life expectancy, males
Usando la base sp2001ts.dta
73
Life expectancy, females
2000
1200 1100 1000 900
High price/Low price
1300
1400
BRAYAN RICARDO ROJAS O. INSTRUCTOR
1Jan01
1Apr01
1Jul01 Date
1Oct01
1Jan02
Hacer con los mismos datos usando las opciones de: area, rarea, rconnected, rcap y rbar
4.7 SCATTER GRAPH
74
BRAYAN RICARDO ROJAS O. INSTRUCTOR
graph matrix popgrowth lgnppc safewater lexp 6
8
10
50
60
70
80 4
Avg. annual % growth
2 0
10
lgnppc
8 6
100
safewater
50
0
80
Life expectancy at birth
70 60 50 0
2
4
0
50
100
4.8 GRAFICA DE PUNTOS Installar archivos y esquemas de “A visual guide to Stata Graphics” net from http://www.stata-press.com/data/vgsg net spjanfeb2001.dta twoway (dropline close tradeday, sort)
75
1300 1250
Closing price
1350
1400
BRAYAN RICARDO ROJAS O. INSTRUCTOR
0
10
20 Trading day number
30
40
Realizar con los mismos datos pero usando los formatos: spike, dot, line y connected Usando la base allstate3.dta, genere la siguiente gráfica
75
WV
AL MS AR
SC
OK
KY
TN
70
% who own home
DE
NC FL MD
LA VA GA
65
TX
30
40
50 60 % born in state of residence
4.9 GRAFICOS DE BARRAS Usando la base de datos nlsw.dat
76
70
80
BRAYAN RICARDO ROJAS O. INSTRUCTOR
77
0
2
4
6
8
BRAYAN RICARDO ROJAS O. INSTRUCTOR
Prof/Mgmt
Sales
Clerical
mean of tenure
Labor/Ops
Other
mean of prev_exp
Genere la misma gráfica pero que en el eje Y aparezca el porcentaje. graph bar (mean) tenure (mean) prev_exp, over(occ5) percentages
0
5
10
15
graph bar (mean) tenure (mean) prev_exp, over(occ5) stack
Prof/Mgmt
Sales
Clerical
mean of tenure
78
Labor/Ops mean of prev_exp
Other
BRAYAN RICARDO ROJAS O. INSTRUCTOR La opción de STACK produce una gráfica donde cada barra sería de dos o más barras apiladas, por lo que la división muestra la relación de las variables con respecto a total de la suma de las variables.
4.10 OPCIONES Y EJEMPLOS
60 50 40
% who own home
70
80
Gráficas con weight Allstates.dta twoway scatter ownhome borninstate [aweight = propval100], msymbol(oh)
20
40 60 % born in state of residence
twoway (scatter propval100 region), xlabel(, valuelabel)
79
80
0
20
40
60
80
100
BRAYAN RICARDO ROJAS O. INSTRUCTOR
NE
N Cntrl
South Census region
Generando Funciones:
80
West
0
1
2
y
3
4
5
BRAYAN RICARDO ROJAS O. INSTRUCTOR
0
5
10 x
15
20
Genere el logaritmo de X, una distribución normal, el valor absoluto, x2, x3, seno, coseno y tangente.
Pirámides poblacionales Por medio de la gráfica de barras es posible realizar una pirámide poblacional, para ello se usará la base de datos pop2000mf.dta, primero se calcularán algunas variables por millón de personas: gen fenmil = femtotal/1000000 gen malmil = -maletotal/1000000 gen zero = 0
81
BRAYAN RICARDO ROJAS O. INSTRUCTOR
82
-10
-5
0
5
10
BRAYAN RICARDO ROJAS O. INSTRUCTOR
0
5
10 Age category malmil
83
15 fenmil
20
10 5 0
Age category
15
20
BRAYAN RICARDO ROJAS O. INSTRUCTOR
-10
-5
0 malmil
84
5 fenmil
10
BRAYAN RICARDO ROJAS O. INSTRUCTOR
85
BRAYAN RICARDO ROJAS O. INSTRUCTOR
80 to 84 75 to 79 70 to 74 65 to 69 60 to 64 55 to 59 50 to 54 45 to 49 40 to 44 35 to 39 30 to 34 25 to 29 20 to 24 15 to 19 10 to 14 5 to 9 Under 5
10
5
0
5
10
Población en Millones malmil
fenmil
4.11 COMBINANDO GRÁFICAS
graph combine "C:\Users\USER\Desktop\Graph1.gph" "C:\Users\USER\Desktop\Graph2.gph" 4.12 OTRAS GRÁFICAS
86
BRAYAN RICARDO ROJAS O. INSTRUCTOR
4.12.1 Kdensity sysuse auto kdensity length
0
.005
Density
.01
.015
Kernel density estimate
140
160
180 200 Length (in.)
220
240
kernel = epanechnikov, bandwidth = 8.4732
4.12.2 Qnorm
0
5,000
Price 10,000
15,000
qnorm price
0
5,000
10,000 Inverse Normal
87
15,000
BRAYAN RICARDO ROJAS O. INSTRUCTOR 4.12.3 Quantile
10000 0
5000
Quantiles of Price
15000
quantile price
0
.25
.5 Fraction of the data
.75
1
COMANDOS USADOS bar box combine dot graph Histogram kdensity Matrix Pie Qnorm
Quantile Cchart pchart Rchart Xchart rvpplot scatter title Twoway Tsline
EJERCICIO 1 Los datos correspondientes a los profesores de la Universidad Rafael Núñez se encuentran contenidos en el documento Docentes1.csv. Se le ha encomendado a usted la tarea de analizarlos en Stata. Las variables que contiene el archivo son las siguientes: Nombre de la variable Num
Etiqueta de la variable Código interno de identificación
88
BRAYAN RICARDO ROJAS O. INSTRUCTOR Nombres Apellidos Documento Dependencia Dedicación fecha_ingreso estado_civil Sueldo Carro Categoría
Documento de identidad Lugar en que labora Categoría bajo la cual fue contratado
Respuesta a pregunta tiene o no carro Cargo que desempeña
Para iniciar el análisis de los datos deberá llevar a cabo las siguientes tareas: Importar los datos al programa: Las variables no tienen nombre. Usted deberá ingresarlos manteniendo el orden y sintaxis del cuadro anterior, por el método que considere conveniente. - Pistas: El cuadro de diálogo del comando con el cual importa los datos en formato csv. Los nombres de las variables no deben contener espacios. - Problema: Datos mal importados Pista: Separador de variables Crear y asignar etiquetas a variables numéricas El siguiente cuadro le indica las etiquetas que debe crear para cada variable:
Variable Dependencia
Valor
Etiqueta Agronomía Artes Ciencias Ciencias Agropecuarias Ciencias Económicas Ciencias Humanas Derecho Divulgación Cultural Enfermería Estudios Ambientales Generación 125 años I.C.T.A. Idiomas Extranjeros Ingeniería Instituto de Biotecnología
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
89
BRAYAN RICARDO ROJAS O. INSTRUCTOR 16 17 18 19 20 Estado Civil
Carro Categoría
Instituto de Estudios Políticos Instituto de Genética Medicina Odontología Veterinaria y Zootecnia Casado Separado Soltero Unión Libre Viudo No Si Experto DOS Instructor Asistente Instructor Asociado Profesor Asistente Profesor Asociado
1 2 3 4 5 1 2 1 2 3 4 5
Crear etiqueta para variable de texto Dedicación - Pista: El contenido de la variable debe ser reconocido como una etiqueta (encode).
Adicionar datos y variables: Resulta que la persona que digitó los datos lo hizo de forma incompleta, omitiendo datos y variables. Los datos adicionales (802) fueron posteriormente almacenados en el archivo Docentes2.dta y la variable género, para el total de los encuestados (2302), fue introducida en el archivo Genero_docentes.dta. Usted deberá introducirlos en la base que está trabajando correctamente, es decir, manteniendo la correspondencia entre los datos. Una vez incorporada la variable género, cree la etiqueta, conforme al formato de la variable.
Filtros (browse , list, edit, keep y drop) NOTA: PRIMERO GUARDE LA BASE DE DATOS EN EL SNAPSHOT - Filtre por las siguientes condiciones, los docentes hombres que trabajan en la dependencia Ciencias Económicas (5), tienen un salario inferior a 1500000 y son viudos (5). Exporte el resultado en un archivo formato csv con el nombre filtro_01, - Exporte en un archivo formato csv con el nombre filtro_02, los datos correspondientes a las personas mujeres que no tienen carro (1) , viven en unión libre (4) , son profesor asociado o asistente (4 – 5) y trabajan en las dependencias de Ciencias, Artes o Ingeniería (2 – 3 – 14).
90
BRAYAN RICARDO ROJAS O. INSTRUCTOR EJERCICIO 2 Durante el año 2001, se realizó una Encuesta sobre la Juventud Española. La muestra era de 10.000 jóvenes, de la que se han seleccionado tan sólo aquellos entrevistados con estudios universitarios (717 sujetos). De las 60 preguntas de que constaba el cuestionario, el archivo de datos (base.dta) sólo recoge 20 preguntas mostradas a continuación, tal como se plantearon a los entrevistados. Organice la información, no olvide crear el archivo LOG, debe crear las etiquetas (labels) a las variables y sus valores. NOTA: Al final usted debe enviar al correo
[email protected] el archivo log y el archivo .do
Los nombres que tienen las variables (V1 a V20) en la base de datos corresponden a las siguientes variables, por ejemplo v1 = OCIO. OCIO HORAS TV INFANCIA CAMA LIMPIAR NIÑOS HIJOS1 HIJOS2 AMOR COLEGIO LIBROS RELIGION ESCALA INGRESO1 INGRESO2 INGRESO3 INGRESOT GENERO EDAD
ENCUESTA P.1 Para empezar y refiriéndonos a lo que haces en tus días de ocio, quisiéramos saber ¿cuál es la actividad que más te gusta hacer fuera de casa cuando dispones de tiempo libre? - Beber, ir de copas, bailar 1 - Hacer deporte 2 - Viajes, excursiones 3 OCIO - Ir al cine, al teatro 4 - Ir a museos, ir a conciertos 5 - Leer 6
91
BRAYAN RICARDO ROJAS O. INSTRUCTOR P.2 En total, ¿cuántas horas libres tienes a la semana para tu ocio o diversión? _______ HORAS P.3 Aproximadamente y por término medio, ¿cuántas horas semanales dedicas a ver la televisión? __________ TV P.4 ¿Cómo dirías que ha sido tu infancia, la definirías como... - La etapa más feliz de tu vida 1 - Una etapa más feliz que otras 2 - Una etapa igual de feliz que otras 3 - Una etapa menos feliz que otras 4 INFANCIA - La etapa menos feliz de tu vida 5 P.5 ¿Podrías decirme cuál es tu grado de dedicación en las siguientes tareas de tu hogar? - Hacer la cama - Limpiar la casa - Cuidar de los hijos o hermanos pequeños
1 2 3 4 CAMA 1 2 3 4 LIMPIAR 1 2 3 4 NIÑOS
1. No suelo hacerlo nunca 2. Sólo lo hago en ocasiones 3. Comparto esta tarea con otra/s personas 4. Recae en mí toda la responsabilidad, y suelo hacerlo siempre P.6 ¿Cuántos hijos crees que llegarás a tener? P.7 Y en el plano ideal, ¿cuántos hijos te gustaría llegar a tener? Llegará a tener Le gustaría HIJOS1 HIJOS2 - Uno 1 1 - Dos 2 2 - Tres 3 3 - Cuatro 4 4 - Cinco 5 5 - Ninguno 0 0 P.8 ¿En cuál de las siguientes situaciones te encuentras? - Tienes novio/a formal - Ahora no tienes novio/a formal - Hasta ahora sólo has tenido relaciones afectivas pasajeras - Nunca has tenido una relación afectiva especial con un chico/a 4
1 2 3 AMOR
P9. Vamos a hablar ahora de tus estudios. ¿En que centro realizaste la totalidad o la mayor parte de tus estudios? -En un centro estatal, público -En un centro privado no religioso -En un centro privado religioso
1 2 3
COLEGIO
P10. Excluyendo los libros de texto, ¿Cuántos libros has leído en los últimos doce meses?
92
BRAYAN RICARDO ROJAS O. INSTRUCTOR ______________ LIBROS P11. ¿Cómo te defines en materia religiosa? -Católico practicante 1 -Católico no practicante 2 -Creyente de otra religión 3 -No creyente 4 -Indiferente
RELIGION 5
P12. Cuando se habla de política se utilizan normalmente las expresiones izquierda y derecha. ¿En que casilla te colocarías? ESCALA IZQUIERDA
DERECHA 01
02
03
04
05
06
07
08
09
10
P13. Que cantidad aproximadamente de dinero (en miles de pesetas) ingresas al mes por cada uno de los conceptos siguientes? Ingresos personales Ingresos de tu pareja Aportaciones familiares
_________________ INGRESO1 _________________ INGRESO2 _________________ INGRESO3
P14. Actualmente, entre todos los miembros de tu hogar y por todos los conceptos, ¿de cuantos ingresos netos (sin descuentos) dispones por término medio en tu hogar al mes?
-Menos o igual a 500 Euros. -De 501 a 1000 Euros. -De 1001 a 1500 Euros. -De 1501 a 2000 Euros. -De 2001 a 3000 Euros. -De 3001 a 4000 Euros. -De 4001 a 5000 Euros. -De 5001 a 7500 Euros. -De 7501 a 10 Mil Euros. -Más de 10 Mil Euros. P15. Sexo: -Hombre -Mujer
1
1 2 3 4 5 6 7 8
INGRESOT
9 10
GÉNERO
2
P16. ¿Cuántos años cumpliste en tu último cumpleaños? ____________años EDAD
Responda las siguientes preguntas: Envíe un archivo .doc con las respuestas correspondientes. 1. Cree una variable ingreso bruto que va a ser la suma de ingreso1, ingreso2 e ingreso3.
93
BRAYAN RICARDO ROJAS O. INSTRUCTOR 2. Calcule los estadísticos descriptivos de cada una de las variables y analice cuáles tienen valores perdidos? Para los valores perdidos asígneles un valor verdadero de la siguiente forma VARIABLE OCIO INFANCIA HIJOS1 e HIJOS2 COLEGIO LIBROS
RELIGION
VALOR PERDIDO A: 6 5 0 1 Depende la variable INGRESOT, por ejemplo si INGRESOT = 1, entonces LIBROS = 9, INGRESOT =2 LIBROS = 8, etc. El Valor 9 es un valor perdido
3. Realice una prueba de comparación de medias, donde compare si la media de la variable ingreso1 es igual a ingreso2 4. Calcule las correlaciones entre los ingresos, libros y TV, son estadísticamente correlacionados? 5. ¿Cuántos hombres y cuántas mujeres tienen novio y les gusta el cine? 6. Cree tres grupos para la variable INGRESOT en una sola variable que se llame situacion_economica así: personas que ganan hasta 2000 Euros. Personas que ganan hasta 5000 Euros. y los demás. Asígneles en una nueva variable el calificativo de POBRES, ACOMODADOS Y RICOS respectivamente. (Recomendación use: generate y replace o recode) 7. 8. 9. 10.
¿Cuántos POBRES, ACOMODADOS Y RICOS hay por GENERO y por EDAD ¿Cuántos individuos ven menos de 18 horas de TV?. En promedio, ¿Cuántas horas ven semanalmente la TV según la situación económica? ¿Cuántos libros han leído por SEXO y por COLEGIO las personas que sostienen un noviazgo formal? 11. ¿Cuántos jóvenes españoles respondieron que no suelen hacer nunca al menos uno de los oficios del hogar? 12. ¿Calcule el porcentaje total por fila de la variable religión independientemente del sexo?, mencione cuál es el porcentaje de columna de los que son religión: No creyente y son mujeres, é indique este valor en porcentaje con respecto al total de personas? 13. Grafique las siguientes variables, es bajo su criterio el formato de presentación: a. b. c. d. e.
Genero e IngresoT Genero, Religión e Ingreso Religión, amor e hijos1 Ocio, horas y tv Genero con ingreso1 e ingreso2
94
BRAYAN RICARDO ROJAS O. INSTRUCTOR
5
{ TC "MANEJO FUNDAMENTAL DE STATA 11" }REGRESIÓN LINEAL EN Stata6
Una de las principales fortalezas de Stata tiene que ver con la gran versatilidad, flexibilidad y facilidad que ofrece para estimar modelos de regresión. Uno de los principales objetivos de los modelos de regresión es explicar el comportamiento de uno o más fenómenos (variables dependientes) a partir de un conjunto de regresores (o variables independientes) que, en la mayoría de los casos, han sido identificados por la teoría como los factores que explican el fenómeno que se está estudiando. Sin duda, por la facilidad de su interpretación, los modelos de regresión lineal son los más populares y los más empleados por los investigadores de diferentes disciplinas. A continuación se presentan los pasos para estimar un modelo lineal a través de mínimos cuadrados ordinarios (MCO) a partir de la información de la base de datos “ECUACION INGRESO.dta”. El ejercicio propuesto busca establecer la relación existente entre los ingresos laborales mensuales (expresada en logaritmos) y un conjunto de variables de contexto de los individuos (horas de trabajo al mes, años de educación aprobados, años de experiencia laboral, sexo, etc.). La teoría económica establece que la relación entre los ingresos laborales y el conjunto de variables de contexto individual se puede representar (en su forma más simple) a través de la ecuación
Donde el conjunto de variables empleadas en la estimación son: Variable Descripción de la variable lny lnm edu007 exp exp2 e03
Logaritmo natural del ingreso laboral mensual (Dependiente) Logaritmo natural de las horas de trabajo al mes (Independiente) Número de años de educación aprobados (Independiente) Años de Experiencia laboral (Independiente) Años de experiencia laboral al cuadrado (Independiente) Dummy de sexo "1=hombre; 0=Mujer" (Independiente)
EJERCICIO: 6. A partir de la información de la base de datos “ECUACION INGRESO.dta”, generar las variables necesarias con sus respectivas etiquetas para estimar la ecuación (1)
DESCRIPCIÓN ESTADÍSTICA DE LA INFORMACIÓN: Antes de estimar la ecuación de ingreso (1), es conveniente realizar una primera aproximación a los datos de forma descriptiva. El comando summarize (en forma abreviada summ) genera las estadísticas descriptivas básicas de una o más variables. La sintaxis del comando se describe a continuación: 6
omando aboutreg Findit aboutreg
95
BRAYAN RICARDO ROJAS O. INSTRUCTOR
Por ejemplo summ lny lnm edu007 exp exp2 e03
Se obtiene el siguiente reporte:
Número de observaciones de cada variable (Obs), Promedio de cada variable (Mean) Desviaciones estándar (Std. Dev.) Valor mínimo de cada variable (Min) Valor máximo (Max).
Se puede obtener más detalles estadísticos de cada una de las variables con la opción “detail” así: summ lny lnm edu007 exp exp2 e03, d
RELACIÓN LINEAL ENTRE LAS VARIABLES DEPENDIENTES E INDEPENDIENTES: Con el fin de analizar la relación lineal entre las variables regresoras del modelo calculamos la matriz de correlaciones. A través de la instrucción pwcorr se obtiene la matriz de correlación de las variables que van a ser incluidas en el modelo de regresión así:
pwcorr lny lnm edu007 exp exp2, sig lny
lnm
edu007
exp
lny
1.0000
lnm
0.3674 0.0000
1.0000
edu007
0.4995 0.0000
-0.0127 0.0812
1.0000
exp
-0.0766 0.0000
-0.0211 0.0037
-0.3772 0.0000
1.0000
exp2
-0.1373 0.0000
-0.0541 0.0000
-0.4213 0.0000
0.9425 0.0000
96
exp2
1.0000
BRAYAN RICARDO ROJAS O. INSTRUCTOR
El comando “pwcorr” estima los coeficientes de correlación del conjunto de variables del modelo. En la matriz de correlaciones aparece el coeficiente de correlación que es un valor número que va desde 0 a 1 e indica el grado de asociación lineal entre las variables, este coeficiente viene acompañado del nivel de significancia (con la adición de la opción “sig”), que permite decidir sobre la hipótesis nula de que el coeficiente de correlación vale cero. En nuestro ejemplo, el coeficiente de correlación entre años de educación (edu007) e ingreso salarial en logaritmos (lny) es de 0,4 y tiene una significancia de 0, lo cual indica que existe una relación significativa entre estas dos variables.
REPRESENTACIÓN GRAFICA DE LAS RELACIONES ENTRE VARIABLES: En segundo lugar, y como paso previo al proceso de estimación, analizamos gráficamente la relación entre la variable dependiente y cada uno de los regresores del modelo. Por ejemplo, para representar la relación entre los ingresos y los años de educación aprobados, es conveniente que primero generemos una variable que indique el ingreso promedio por año de educación así:
Col1 id 1 2 3 4 5 6 7 8 9 10
Col2
Col3
Col4
Años de educación Ingreso (Miles de pesos) Ingreso promedio por año de educación 6 6 6 5 5 5 2 2 0 0
20000 30000 25000 25000 24000 23000 24000 20000 20000 15000
25000 25000 25000 24000 24000 24000 22000 22000 17500 17500
La variable “ingreso promedio por año de educación” en la columna 4 se grafica respecto a los años de educación (el usuario puede comprobar que es más fácil identificar la relación entre la variable dependiente y los regresores si se generan variables promedio) Como se observa en la tabla anterior, la operación realizada en la columna 4 (ingreso promedio por año de educación), resulta de efectuar un cálculo al interior de la columna 3 (Ingreso), teniendo en cuenta como criterio de agrupación la columna 2 (años de educación). Este tipo de operaciones se pueden efectuar en Stata a través del comando egen. Como en nuestro caso la variable dependiente es el logaritmo de los ingresos laborales 1. Generamos la variable “lny_ed” que será promedio del logaritmo natural de los ingresos por año de educación aprobado. Esta operación, se realiza a través del comando egen y la opción by así: egen lny_ed=mean(lny), by(edu007)
97
BRAYAN RICARDO ROJAS O. INSTRUCTOR 2. A continuación, graficamos el promedio del logaritmo natural de los ingresos por año de educación respecto a los años de educación aprobados por medio del comando line así: line lny_ed edu007, sort
Ahora tenemos una idea bastante clara de la relación promedio observada entre el logaritmo de los ingresos laborales y los años de educación y de qué tan realista es la aproximación lineal en este caso. El gráfico parece indicar que sería conveniente estimar la relación entre estas dos variables a través de una transformación de tipo “spline”. De otro lado, la relación entre los ingresos laborales promedio y los años de experiencia es de tipo cuadrático.
Observamos que la variable de experiencia tiene un comportamiento exponencial, lo cual justifica el uso de la variable experiencia al cuadrado en las estimaciones.
98
BRAYAN RICARDO ROJAS O. INSTRUCTOR ESTIMACIÓN DEL MODELO LINEAL DE REGRESIÓN: Para estimar la ecuación (1) a través de MCO empleamos el comando regress (en forma abreviada reg) así: regress lny lnm edu007 exp exp2
El comando regress genera una amplia gama de estadísticas además de los coeficiente de regresión.
La tabla “source” también, conocida como tabla de análisis de varianza ANOVA, presenta la información relacionada con la suma de cuadrados “SS”, los grados de libertad “df” y los cuadrados promedio “MS” del modelo y de los residuos. El cálculo del R2 se puede obtener manualmente dividiendo la suma de cuadrados del modelo entre la suma de cuadrados totales.
Al lado derecho de la tabla fuente se presenta otro paquete de estadísticas. El estadístico F resulta de calcular la razón entre la suma de cuadrados promedio del modelo y la suma de cuadrados promedio de los residuos. A través de este estadístico se puede probar la hipótesis de que todos los coeficientes excluyendo la constante son estadísticamente iguales a cero.
Significancia e intervalos de confianza de los coeficientes: A través del estadístico ̂⁄ ̂ puede probar la hipótesis de que cada uno de los coeficientes estimados es estadísticamente igual a cero, mientras que en la columna “95% Conf. Interval” se presenta el intervalo, al 95% de confianza, para cada uno de los coeficientes.
Interpretación de los coeficientes: La interpretación de los coeficientes varía dependiendo de la forma como están expresadas las variables en el modelo así: Interpretación de los betas estimados de acuerdo a la forma como están expresadas las variables del modelo Variable independiente en logaritmos
99
Variable independiente en niveles
BRAYAN RICARDO ROJAS O. INSTRUCTOR Variable dependiente en logaritmos
Elasticidad: Cambio porcentual Semi-elasticidad: Cambio porcentual esperado en y ante un cambio esperado en y ante un cambio marginal porcentual en x. En nuestro ejemplo en x. En nuestro ejemplo , ˆ , ˆ y 3 2 , ˆ1 ˆ
4
Variable dependiente en niveles
Cambio esperado en nivel en y ante Efecto marginal: Cambio esperado en un cambio porcentual en x nivel en y ante un cambio marginal en x.
Resumen estadístico de la muestra empleada en la estimación: Raras veces el número de observaciones empleadas en las estimaciones coincide exactamente con las observaciones que originalmente estaban disponibles en la base de datos. Para obtener una descripción resumida de la muestra empleada efectivamente en la estimación después realizar MCO empleamos el comando estat sum el cual genera el siguiente resultado. estat sum
Es fácil comprobar que las características de las personas en la muestra empleada en la estimación difieren de las observadas en la base de datos original.
PRUEBAS DE HIPÓTESIS LINEALES: Una vez realizada una regresión lineal es posible probar hipótesis lineales sobre los coeficientes estimados a través del comando test así: test lnm=1
En el primer caso se probó que si el coeficiente estimado asociado a las horas de trabajo al mes es igual a 1. La probabilidad de que el coeficiente sea 1 es cero, por los tanto no se acepta la hipótesis. En términos económicos se podría afirmar que no hay elasticidad unitaria entre horas de trabajo al mes y el ingreso laboral.
100
BRAYAN RICARDO ROJAS O. INSTRUCTOR EJERCICIO: 9. Pruebe la hipótesis de que todos los coeficientes del modelo exceptuando el intercepto son estadísticamente iguales a cero. Compare con la prueba F generada por Stata en la regresión lineal antes estimada. 10. ¿Cuántos años de experiencia laboral serian necesarios para maximizar los ingresos laborales mensuales? lincom -0.0347/(2*-0.0003987)
COMPROBACIÓN DEL CUMPLIMIENTO DE LOS SUPUESTOS DE MCO
MULTICOLINEALIDAD (Asociación lineal entre variables): Pese a que en presencia de multicolinealidad los estimadores son MELI (Mejores Estimadores Lineales Insesgados), los errores estándar de los coeficientes estimados tienden a estar inflados (sobreestimados), haciendo más fácil que se acepte que uno o más regresores son estadísticamente iguales a cero. La velocidad con la cual se incrementan las varianzas y las covarianzas de los estimadores puede analizarse a través del factor inflador de varianza, el cual calcula Stata a través del comando vif después de ejecutar regress así: Vif
Los VIF de cada uno de los estimadores cuyo valor sea superior a 10 (algunos menos conservadores consideran 30) indican que la variable a la que acompañan puede considerarse como una combinación lineal de otras variables independientes. Alternativamente suele observarse el índice de Tolerancia (1/VIF). Un índice de tolerancia igual a 0.1 es equivalente a un VIF de 10. Valores de tolerancia inferiores a 0.1 (0.333 para los menos conservadores) indican presencia moderada o severa de multicolinealidad. EJERCICIO: 11. Calcule cada uno de los VIF de la regresión anterior.
HOMOSCEDASTICIDAD: Es uno de los principales supuestos de MCO. En términos generales, en presencia de heroscedasticidad la varianza de los estimadores está sesgada (sobrestimada o subestimada). En estos casos no se puede confiar en las pruebas t y F. Visto de otro modo, si el modelo está bien especificado no debería existir un patrón definido entre los residuales del modelo y la variable dependiente pronosticada. Cuando la varianza de los residuales no es constante se dice
101
BRAYAN RICARDO ROJAS O. INSTRUCTOR que la varianza de los residuales es heteroscedástica. Existen métodos gráficos y métodos formales para detectar heteroscedasticidad. Método Gráfico: A través de un gráfico que relacione los residuales del modelo contra los valores estimados de la variable dependiente se puede hacer una primera comprobación visual de posibles patrones de interrelación entre estas dos variables. Siguiendo con nuestro ejemplo, en Stata se puede obtener este gráfico a través del comando rvfplot así: rvfplot, yline(0)
No parece haber un patrón definido en los residuales del modelo. Método formal: Stata ofrece una gran variedad de pruebas de heteroscedasticidad para modelos lineales estimados a través de MCO. Sin embargo, una de las pruebas de heteroscedasticidad más ampliamente difundida es la prueba de WHITE. Esta prueba se puede obtener después de emplear el comando regress así: imtest, white
Claramente se rechaza la prueba de homoscedasticidad. Así mismo se puede constatar que los residuales tienen problemas de asimetría (skewness) y apuntalamiento (kurtosis). Una forma simple
102
BRAYAN RICARDO ROJAS O. INSTRUCTOR de corregir heteroscedasticidad según el criterio de WHITE (1980)7 es a través de la opción robust en la estimación por MCO así: regress lny lnm edu007 exp exp2, robust
Aunque el problema de heteroscedasticidad no era importante (la significancia de los coeficientes se mantuvo inalterado), se puede constatar que los errores estándar en el modelo corrección de heteroscedasticidad son mayores, lo cual prueba que inicialmente estaban subestimados.
NORMALIDAD DE LOS RESIDUOS: Es un supuesto necesario únicamente garantizar la validez de las pruebas t y F en MCO. En realidad, MCO tan solo requiere que los residuales estén idéntica e independientemente distribuidos. Después de ejecutar el comando regress, podemos emplear el comando predict seguido por la opción res para estimar los residuales así: predict residual, res Método Gráfico: A continuación empleamos los comandos kdensity y qnorm para constatar gráficamente si los residuos siguen una distribución normal así: kdensity residual, normal
7
WHITE H. 1980. A Heteroscedasticity Consistent Covariance Matriz Estimator and Direct Test of Heteroscedasticity. Econometrica, vol 48.
103
BRAYAN RICARDO ROJAS O. INSTRUCTOR
La opción normal permite comparar la función de densidad de los residuales con una función de densidad normal. Se puede observar apuntalamiento y asimetría en los residuales. Otra comprobación gráfica de normalidad muy conocida es aquella que contrasta cuantiles de una variable contra cuantiles de una distribución normal. Cuanto más cerca estén los cuantiles de la variable a los cuantiles de la distribución normal (línea diagonal continua) más cerca está la variable de ser normal. Stata la representa a través del comando qnorm así: qnorm residual
Método formal: Claramente hay problemas en los residuales que nos hacen pensar en que no se cumple el supuesto de normalidad. Sin embargo, para estos casos en los que la variable tiene muchas observaciones, Stata ofrece una prueba formal de normalidad a través del comando sktest así: sktest residual
104
BRAYAN RICARDO ROJAS O. INSTRUCTOR
Se rechaza la hipótesis de normalidad en los residuales del modelo. EXOGENEIDAD DE LAS VARIABLES INDEPENDIENTES: Otro supuesto básico en regresión lineal es que las variables explicativas están determinadas por fuera del modelo que estamos estimando. En otras palabras, suponemos que ninguno de los regresores está determinado por otro u otros regresores dentro del modelo. A través de la prueba de HAUSMAN (1978) 8 es posible establecer si un regresor es exógeno o no. La prueba se realiza en etapas: en primer lugar, estimamos un modelo que consideramos consistente pero ineficiente (en el sentido que no empleamos toda la información disponible para explicar la variable dependiente). A continuación, estimamos otro modelo (el cual tiene en cuenta la variable que deseamos comprobar si es exógena) que suponemos consistente y eficiente. En tercer lugar, empleamos el estadístico de HAUSMAN el compara los coeficientes comunes en ambos modelos y sus respectivas matrices de varianzas y covarianzas. Si no hay diferencias sistemáticas en los coeficientes la nueva variable se puede considerar exógena. Los pasos y los comandos necesarios para realizar esta comprobación en Stata son: 1. Estimamos el modelo consistente pero ineficiente (no tiene en cuenta la variable lnm) regress lny edu007 exp exp2, robust 2. Lo almacenamos con el comando est store así: est store reg 3. Estimamos el modelo que suponemos consistente y eficiente (tiene en cuenta la variable lnm) regress lny lnm edu007 exp exp2, robust 4. Calculamos el estimador de HAUSMAN hausman reg ., eq(1:1) Existen diferencias sistemáticas en los coeficientes, por lo tanto la variable lnm es endógena, en otras palabras, puede estar explicada por los otros regresores del modelo.
EJERCICIO: 12. Pruebe la hipótesis de exogeneidad de cada una de las variables del modelo.
8
HAUSMAN J,. Specification Test in Econometrics, Econométrica Vol. 46. No. 6. 1978.
105
BRAYAN RICARDO ROJAS O. INSTRUCTOR PRONOSTICO: El pronóstico de la variable dependiente se realiza empleando el comando predict predict lnyp if e(sample), xb La opción e(sample) restringe la estimación a la muestra efectivamente empleada en la estimación.
REPRESENTACIÓN GRAFICA DEL PRONÓSTICO DE LA VARIABLE DEPENDIENTE Y SU RELACIÓN CON LOS REGRESORES: Finalmente es posible visualizar la aproximación del modelo de regresión lineal a través de MCO, graficando el ingreso estimado promedio respecto a cada una de las variables independientes. Por ejemplo, la relación entre el ingreso estimado promedio por año de educación y los años de educación se obtiene siguiendo los siguientes pasos: egen plny_ed=mean(lnyp), by(edu007) ─ Generación de los ingresos promedio estimados por año de educación ─ line plny_ed lny_ed edu007, sort ─ Gráfico que representa los ingresos estimados y observados por año de educación y los años de educación
Ahora tenemos una idea bastante clara de la aproximación lineal que hemos llevado a cabo entre los ingresos promedio y los años de educación a través de MCO. EJERCICIO: 13. Grafique la relación promedio entre las variables dependiente y dependiente pronosticada contra cada uno de los regresores del modelo. 14. Estime una ecuación que además tenga en cuenta el sexo como variable explicativa 15. Compruebe si se cumplen los supuestos de MCO 16. ¿Cómo decidirá cuál de los dos modelos estimados (sin sexo y con sexo) es el mejor y como lo haría en Stata?
106
BRAYAN RICARDO ROJAS O. INSTRUCTOR
6
MODELOS ARIMA9
SERIE DE TIEMPO EN Stata MODELOS AUTORREGRESIVOS DE MEDIA MOVIL (ARMA) Los modelos autorregresivos (AR), de media móvil (MA) y autorregresivos de media móvil (ARMA) se caracterizan por incorporar en la explicación futura de la variable dependiente su propio comportamiento pasado. Esta forma de modelar la conducta de una serie de datos temporales hace posible, en su forma más simple en modelos univariados, la generación de pronósticos sin emplear información adicional proveniente de otros regresores. En las secciones siguientes seguiremos la metodología de BOX y JENKINS (1976)10 para estimar y pronosticar modelos univariados de serie de tiempo a través de Stata. En particular se hará uso de la información mensual de inflación contenida en la base de datos INFLACION.dta. Antes de desarrollar la metodología de BOX y JENKINS aprenderemos a generar variables con formato de fecha, variables rezagadas y a designar la variable que representará el tiempo en las estimaciones. Cargamos la base de datos INFLACION.dta use INFLACION.dta
GENERACIÓN DE VARIABLES CON FORMATO DE FECHA Las variables de tiempo; fechas en años, semestres, trimestres, meses, semanas y días deben tener un formato especial en el análisis de serie de tiempo y panel de datos. Los formatos de estas variables en cada caso se describen a continuación:
Formato
Descripción
Codificación
%td ó %d
Diario
0 = 01jan1960; 1 = 02jan1960
%tw
Semanal
0 = 1960w1;
1 = 1960w2
%tm
Mensual
0 = 1960m1;
1 = 1960m2
%tq
Trimestral
0 = 1960q1;
1 = 1960q2
%th
Semestral
0 = 1960h1;
1 = 1960h2
%ty
Anual
1960 = 1960;
1961 = 1961
Es posible generar variables con formato de fecha a partir del comando generate. Por ejemplo, para crear una variable con formato mensual empleamos la siguiente sintaxis: 9
Findit arimafit, Arimafit Para crear una dummy para una fecha especifica g dummy = (fecha ==tm(2008m10)) 10 BOX G. & JENKINS G. Time Series Analiysis, Forecasting and Control. Holden Day, San Francisco. 1976
107
BRAYAN RICARDO ROJAS O. INSTRUCTOR
Como la base de datos es relativamente pequeña podemos listar la información en la base de datos por medio del comando list así: list
La variable “fecha” tiene un formato numérico general que corresponde al número de meses desde 1960. En el mes 1 del año 2001 el número de meses transcurridos desde 1960 son 492. Sin embargo a la variable fecha se le puede dar un formato numérico mensual así:
VARIABLES CON REZAGO En análisis de serie de tiempo resulta muy útil generar variables con uno o más rezagos. En estos casos suele acompañarse al comando generate con los operadores [_N] y [_n]. El operador _N se usa para contar el número total de observaciones en una variable y, el operador _n numera las observaciones dentro de una variable.
108
BRAYAN RICARDO ROJAS O. INSTRUCTOR
Por ejemplo, podemos generar una variable rezagada un periodo así: g rezago = inflacion[_n-1] En este ejemplo se debe tener en cuenta: “Inflación” es el nombre de la variable que será rezagada. Los corchetes en este caso deben ser cuadrados. No puede hacer separación entre la variable a rezagar y el corchete cuadrado de apertura. “-1” en este caso indica que la variable “inflacion” será rezagada 1 período. Al listar las variables “fecha”, “inflacion” y “rezago” se puede visualizar la nueva variable “rezago” correspondiente a la inflación rezagada un período. list fecha inflacion rezago
DESIGNANDO LA VARIABLE QUE REPRESENTA AL TIEMPO: Antes de estimar cualquier modelo de serie de tiempo es necesario que Stata reconozca la variable que representa el tiempo (en nuestro ejemplo, la variable fecha). Este paso se logra a través del comando tsset así: tsset fecha, monthly La opción monthly indica la periodicidad mensual de la variable de tiempo “fecha”. NOTA: Para hacer pronósticos varios períodos hacia delante es necesario que la variable que representa el tiempo se extienda tantos períodos hacia delante como períodos de la variable dependiente se quieran pronosticar. En nuestro ejemplo, 7 períodos hasta diciembre de 2006. Se dispone de información de inflación hasta mayo de 2006.
109
BRAYAN RICARDO ROJAS O. INSTRUCTOR
METODOLOGÍA BOX JENKINS (BJ) APLICADA AL CASO DE SELECCIÓN Y ESTIMACIÓN DE UN MODELO ARMA PARA PRONOSTICO DE LA INFLACIÓN. BOX JENKINS difundieron una metodología en tres fases para identificar, estimar y validar modelos de serie de tiempo univariada y generar pronósticos. A continuación seguiremos estos pasos para obtener un modelo de pronóstico tipo ARMA para la inflación mensual. 1. FASE DE IDENTIFICACIÓN: La primera aproximación a los datos es gráfica. Al graficar la variable a pronosticar respecto al tiempo obtenemos información sobre posibles “outliers”, valores perdidos “missing values” o cambios estructurales en la serie de datos. Así mismo, si la variable a pronosticar es no estacionaria podrán observarse tendencias pronunciadas o comportamientos sin media y/o varianza constante a través del tiempo. Con el comando tsline es posible efectuar esta primera constatación así: tsline inflacion
A su vez es posible constatar si se viola el supuesto de estacionariedad comprobando la existencia de raíces unitarias por medio de la prueba de DICKEY y FULLER DF (1979) 11. En Stata la prueba se puede efectuar a través del comando dfuller así: dfuller inflacion, trend regress lags(7) Nota: Previamente se comprobó la no que no eran significativos los rezagos 7,…,12 (se probaron 12 rezagos porque la serie es mensual). Para tener en cuenta la tendencia en la prueba se emplea la opción trend. La opción regress se puede omitir si tan sólo se desea el valor del estadístico DF. Para omitir la constante se emplea la opción noconstant.
11
DICKEY D. & FULLER W. 1991. Distribution of the Estimates for Autoregressive Time Series With a Unit Root. Journal of the American Statistical Association 74.
110
BRAYAN RICARDO ROJAS O. INSTRUCTOR
Al 1% de significancia se rechaza la hipótesis de existencia de raíz unitaria, en otras palabras, se puede pensar que la variable inflación ha sido generada por un proceso estacionario.
El paso a seguir consiste en identificar la naturaleza del proceso generador de datos (en nuestro ejemplo, la inflación). Para llevar a cabo esta tarea se suele recurrir a las funciones de autocorrelación (para identificar el componente de media móvil MA del modelo) y autocorrelación parcial (para identificar el orden la parte autorregresiva AR del modelo). En Stata ambas funciones se pueden graficar con los comandos ac y pac respectivamente así:
ac inflacion
pac inflacion
111
BRAYAN RICARDO ROJAS O. INSTRUCTOR
2. FASE DE ESTIMACIÓN: Las funciones de autocorrelación y autocorrelación parcial sugieren varios procesos ARMA factibles para la inflación. La selección de los modelos debe tener en cuenta los criterios de parsimonia (menor parametrización posible) estacionariedad e invertibilidad de la variable dependiente y bondad de ajuste del modelo. A continuación presentamos una de los posibles procesos ARMA para la inflación. El comando para estimarlos en Stata es arima y a través de las opciones ar(número de los rezagos de la variable dependiente separados por comas) ma(número de los rezagos separados por comas) se puede especificar el componente autorregresivo y de media móvil así: arima inflacion tendencia, ar(1,12) ma(5,8,11) robust
Nota: El orden de integración en este caso es 0. Sin embargo a través del prefijo D1., D2., D3.,…,etc., antecediendo la variable dependiente (por ejemplo, D1.inflacion, D2.inflacion,
112
BRAYAN RICARDO ROJAS O. INSTRUCTOR D3.inflacion,…) se pueden lograr diferenciaciones de orden superior. La opción robust genera una matriz de varianzas y covarianzas consistente con posibles problemas de heteroscedasticidad. A través del comando estat ic se puede obtener el criterio de información de Akaike (AIC) y el criterio bayesiano de Schwartz (BIC) los cuales son las dos medidas más comunes de bondad de ajuste. Cuanto más pequeño es el valor de los estadísticos (AIC) y (BIC) mejor ajuste tiene el modelo. Estos criterios se pueden emplear para seleccionar el modelo más apropiado de un conjunto de posibles modelos. estat ic
3. FASE DE VERIFICACIÓN Y DIAGNOSTICO: Es muy importante que los residuales del modelo estimado no estén serialmente correlacionados. Cualquier evidencia de correlación serial implicaría movimientos sistemáticos en la variable dependiente que no han sido tenidos en cuenta por los coeficientes incluidos en el modelo ARMA. Para chequear correlación en los residuales se pueden construir las funciones de autocorrelación y autocorrelación parcial para los residuales. A través del comando predict seguido de la opción res podemos estimar los residuales así: predict residual, res ac res
113
BRAYAN RICARDO ROJAS O. INSTRUCTOR
pac res
En una prueba más general, se puede constatar si los residuales son “ruido blanco”, en otras palabras, tienen media cero, varianza constante y no están serialmente correlacionados. A través del comando wntestq realizar esta prueba así: wntestq residual
No hay evidencia para rechazar que la serie de residuales es ruido blanco. PRONÓSTICOS Finalmente, podemos emplear el modelo para hacer pronósticos. El pronóstico se puede hacer tantos periodos hacia delante como horizonte temporal tenga la variable de tiempo “fecha” la cual está definida entre el mes 1 de 2001 y el mes 12 de 2006, mientras que se tiene dato mensual de inflación hasta el mes 5 de 2006. A través del comando predict seguido de la opción xb podemos pronosticar la inflación para los siguientes 7 meses así: predict inf_p, xb El pronóstico de inflación para el mes 6 de 2006 (según este proceso ARMA) es del 0.366%. Listamos las variables “fecha”, “inflación” e “inf_p” a través del comando list así: list fecha inflacion inf_p
114
BRAYAN RICARDO ROJAS O. INSTRUCTOR
Finalmente, a través del comando tsset es posible visualizar los valores observados y pronosticados de la inflación hasta diciembre de 2006. tsline inflacion inf_p
EJERCICIO: 24. Replique las fases 1, 2 y 3 de la metodología de BJ para generar un proceso ARMA para la inflación. 25. Comparé entre varios modelos posibles la bondad de ajuste de los mismos para seleccionar el mejor modelo. 26. Pronostique la inflación para los próximos 6 meses y grafique los resultados frente a los valores observados.
115
BRAYAN RICARDO ROJAS O. INSTRUCTOR
7
MODELOS DE VARIABLE DEPENDIENTE DICOTÓMICA MODELOS LOGIT Y PROBIT
Si queremos analizar los factores que determinan que una persona participe o no en el mercado laboral, o que un individuo apoye o no a un determinado candidato político, o que un estudiante alcance o no la titulación. Todas esas variables de análisis pueden tomar uno de dos valores: participación vs. no participación; apoyo vs. no apoyo; titulación vs. no titulación. Esa característica recibe el nombre de respuesta binaria o dicotómica. En la encuesta CASEN 2006 se encuentra la variable ACTIV, que considera a la población en edad de trabajar (15 años y superior). El comando “tab” acompañado de los pesos relativos nos permite alcanzar una descripción de la condición actividad en Chile para dicho año:
ACTIVIDAD Ocupados Desocupados Inactivos Total
Freq. Percent Cum. 6,578,325 53.11 53.11 519,357 4.19 57.3 5,288,175 42.7 100 12,385,857
100
De la Población en Edad de Trabajar el 53% se encontraba ocupada, el 4% de la población se encontraba desempleada y un 42% no se estaba ni trabajando ni buscando empleo. La Población Económicamente Activa está determinada por aquella población ocupada o buscando activamente empleo, por lo que el 57% participaba activamente en el mercado laboral. Podemos generar una variable de participación a partir la variable ACTIV. La siguiente cadena de comandos genera la variable PARTI: gen PARTI=1 if ACTIV==1 | ACTIV==2 recode PARTI (mis=0) if ACTIV==3 label variable PARTI "Participa en el mercado laboral" label define part 1 "si" 0 "no" label values PARTI part tab PARTI [w=EXPR]
Participa No Si Total
Freq. 5,288,175 7,097,682 12,385,857
Percent 42.7 57.3 100
Cum. 42.7 100
Para el propósito de este ejemplo vamos a considerar las variables de género, edad, estado civil, nivel de estudios, nivel de ingresos del hogar, relación con el jefe de hogar y el número de personas en el hogar. Sin embargo, en un modelo ampliado podrían considerarse otras variables. Algunas de las opciones que se pueden utilizar para analizar la variable de participación son: -Modelo de regresión logística (el usado en el presente ejemplo)
116
BRAYAN RICARDO ROJAS O. INSTRUCTOR
-Modelo de regresión probabilística. Los resultados bajo este tipo de análisis producen resultados similares a los resultados de la regresión logística. La escogencia entre uno y otro modelo depende de las preferencias del investigador. Estos dos modelos construyen una función de probabilidad acerca de la ocurrencia del evento a describir, (en este caso que un individuo participe en el mercado laboral) y la diferencia está en la forma funcional que asume cada modelo12. -Mínimos cuadrados ordinarios. Cuando se utiliza esta metodología sobre una variable dicotómica se le conoce como un modelo lineal de probabilidad. Sin embargo, los residuos de la estimación violan los supuestos de homocedasticidad y de normalidad del modelo clásico, lo que resulta en errores estándar y pruebas de hipótesis inválidas13.
REPRESENTACIÓN DE LAS RELACIONES ENTRE VARIABLES
3,000,000 2,000,000
0
1,000,000
PARTICIPAN
4,000,000
Participación y Género
Hombre
Sexo Hombre Mujer Total
Mujer
Participa en el Mercado Laboral no si Total 1,622,038 4,303,680 5,925,718 3,666,137 2,794,002 6,460,139 5,288,175 7,097,682 12,385,857
Participación y Nivel Educativo 12
La función logística es y la función probabilística es , donde z es una combinación lineal de las variables independientes y es la función cumulativa de la distribución normal.
117
BRAYAN RICARDO ROJAS O. INSTRUCTOR
Mujer
TEC. O UNI. COMP
TEC. O UNI. INC.
M.HUM. COMPL
M.HUM. INCOM
BASICA COMP
BASICA INC
SIN EDUC.
TEC. O UNI. COMP
TEC. O UNI. INC.
M.HUM. COMPL
M.HUM. INCOM
BASICA COMP
SIN EDUC.
BASICA INC
0
.2
.4
.6
.8
1
Hombre
Graphs by Sexo
Comparar el número de participantes entre los diferentes niveles educativos, no hace sentido cuando las poblaciones no son comparables en términos relativos. Si la Tasa Global de Participación está determinada por la cantidad de personas que participan en el mercado laboral sobre el PET, para comprender el efecto del nivel educativo se deben comparar las tasas globales de participación para cada grupo. El promedio aritmético de la variable PARTI nos dará la TGP total y para diferentes grupos. Participación y Edad Mujer
0
.2
.4
TGP
.6
.8
1
Hombre
25
30
35
40
45
50
Edad Graphs by Sexo
118
25
30
35
40
45
50
BRAYAN RICARDO ROJAS O. INSTRUCTOR EL MODELO El comando logit (probit) nos permite obtener los resultados de la estimación logística (probabilística). La estimación se hace a través de la metodología de máxima verosimilitud por lo que en el proceso de estimación, Stata primero muestra las iteraciones necesarias para alcanzar la convergencia. Cuando existen variables categóricas con más de dos categorías (parentesco, estado civil) Stata las puede codificar automáticamente para que cada una de las categorías cuente como una dummy. Para eso se antepone el prefijo “xi:” frente a toda la expresión de la regresión y el prefijo “i.” antes de cada variable. El comando para nuestra regresión sería: xi: logit PARTI EDAD ESC NUMPER YTOTHAJ i.PCO1 i.ECIVIL [w=EXPR], or
En este caso las variables de parentesco con el jefe de hogar (PCO1) y de estado civil (ECIVIL) son codificadas por Stata y la codificación responde al orden en que las variables categóricas adoptan valores. Por ejemplo PCO1, ordinalmente la primera etiqueta es “Jefe de Hogar” y Stata crea una dummy _IPCO1_1 para nombrarla. En la siguiente tabla hemos cambiado los nombres por los valores de las categorías. A través del menú se puede acceder a través de la siguiente ventana:
119
BRAYAN RICARDO ROJAS O. INSTRUCTOR INTERPRETACIÓN DE RESULTADOS
Logistic regression
Number of obs LR chi2(26) Prob > chi2 Pseudo R2
Log likelihood = -5757734.7
= = = =
12350554 5343508.93 0.0000 0.3170
PARTI
Coef.
Std. Err.
z
P>z
[95% Conf.
Interval]
EDAD
1.405421
0.0004208
1136.8
0.000
1.404597
1.406246
EDAD2
0.9959793
3.35E-06
-1197
0.000
0.9959728
0.9959859
ESC
1.079306
0.0002364
348.4
0.000
1.078843
1.07977
NUMPER
0.9488846
0.0004178
-119.15
0.000
0.948066
0.9497039
ln_yh
1.411687
0.001251
389.07
0.000
1.409237
1.414141
SEXO
0.2841959
0.0005004
-714.53
0.000
0.2832169
0.2851784
Esposo(a)/pareja
0.2011062
0.000529
-609.71
0.000
0.200072
0.2021458
Hijo(a) de ambos
0.3484257
0.0012295
-298.8
0.000
0.3460244
0.3508438
Hijo(a) sólo del jefe
0.4514981
0.0016216
-221.4
0.000
0.4483311
0.4546876
Hijo(a) sólo pareja
0.4635512
0.0032046
-111.22
0.000
0.4573128
0.4698748
Padre o madre
0.4341893
0.0040822
-88.74
0.000
0.4262617
0.4422644
Suegro(a)
0.2939172
0.0037459
-96.07
0.000
0.2866663
0.3013516
Yerno o nuera
0.5033273
0.0028171
-122.66
0.000
0.4978361
0.5088792
Nieto(a)
0.3610026
0.0019264
-190.93
0.000
0.3572466
0.3647982
Hermano(a)
0.4379944
0.0027837
-129.9
0.000
0.4325723
0.4434844
Cuñado(a)
0.3344293
0.0033597
-109.03
0.000
0.3279089
0.3410794
Otro familiar
0.5141375
0.0031495
-108.6
0.000
0.5080015
0.5203477
No familiar
0.5903649
0.0046445
-66.99
0.000
0.5813316
0.5995385
Serv. Doméstico PA
1648.008
141.3405
86.37
0.000
1393.017
1949.674
Conviviente o pareja
1.592905
0.0039783
186.41
0.000
1.585126
1.600721
Anulado(a)
0.9038334
0.0149046
-6.13
0.000
0.8750879
0.9335232
Separado(a)
1.309596
0.0051878
68.09
0.000
1.299467
1.319803
Divorciado
0.7064578
0.0132978
-18.46
0.000
0.6808696
0.7330077
Viudo(a)
0.6516602
0.0030059
-92.84
0.000
0.6457954
0.6575784
Soltero(a)
0.940806
0.0029598
-19.4
0.000
0.9350227
0.946625
Sin dato
0.4601236
0.0165179
-21.62
0.000
0.4288618
0.4936642
Los primeros resultados observados anteriormente se refieren al máximo de la función de verosimilitud, que puede ser utilizado como un criterio de información para comparar modelos anidados (nested). Por ejemplo si adicionamos más variables a nuestro modelo y mantenemos las mismas, esos dos modelos estarán anidados porque el modelo extendido (el nuevo) contiene al modelo reducido (con menos variables). También podemos observar que del total de observaciones iniciales con descripción de participación (12,385,857) hemos perdido algunas observaciones por los missing values en las variables que utilizamos para analizar el modelo.
120
BRAYAN RICARDO ROJAS O. INSTRUCTOR
La prueba de hipótesis de significancia conjunta del modelo está establecida por la razón de verosimilitud que se distribuye como una Chi-cuadrado con k+1 g.l.. Stata presenta el estadístico (LR chi2 (25)) y su p value. La interpretación es que nuestro modelo representa mejor a los datos que un modelo sin variables. Para la interpretación de la relación entre las variables independientes e independientes, el coeficiente nos da un efecto parcial (el signo) y nos da el efecto total sobre la función lineal z, pero no sobre la función de probabilidad de ocurrencia de la variable dependiente. Lo anterior debido a que un cambio en una variable dependiente genera un cambio sobre la probabilidad de ocurrencia que depende del nivel de todas las demás variables consideradas. La significancia de las variables está testeada individualmente en el resultado de la estimación y la interpretación es igual al caso de regresión lineal clásica. Odds - Ratio (p/q). La interpretación de los coeficientes de las variables categóricas14 viene de la relación entre el coeficiente y el logaritmo del radio de probabilidad de ocurrencia del evento (log odds ratio) es igual a . El odds ratio aproxima el qué tanto es más probable que el evento ocurra dado que se tiene la característica descrita por la variable categórica con respecto a la referencia. Para observar el odds ratio , directamente se puede combinar la opción “or” con el comando “logit”. En el caso de nuestro ejemplo, las mujeres son menos propensas a participar en el mercado laboral hasta en un 72%, teniendo en cuenta que el coeficiente fue de -1.25. Las otras variables categóricas generaron cada una subsecuentes variables dicotómicas, y la interpretación se hace en comparación a la referencia. La relación entre los coeficientes y la probabilidad en el caso de las variables continuas es un poco más compleja, la comparación se hace con la distancia a la media. Sin embargo, la dirección del efecto sobre la probabilidad es igual al efecto sobre la función lineal “z”. En el ejemplo un aumento en el salario también aumenta la participación relativa de una personal igual que la escolaridad. Un aumento de un 1% en el salario con respecto a la media ($351,000) hace que la razón de participar en el mercado laboral (vs. no participar) aumente con un factor de 1.41 (= exp(0.3447)). Un aumento de la edad aumenta la probabilidad de participar en el mercado laboral, pero a una tasa decreciente. El número de personas en el hogar disminuye la probabilidad de que no se participe POST – ESTIMACIÓN Un primer paso de la post estimación consiste en probar la significancia conjunta de las variables dummies que conforman las categóricas. Para esto se puede correr una prueba de Wald ajustada a través del comando “test”. Por ejemplo, podemos rechazar la hipótesis nula de que la variable de estado civil es conjuntamente no significativa: test _IECIVIL_2 _IECIVIL_3 _IECIVIL_4 _IECIVIL_5 _IECIVIL_6 _IECIVIL_7 _IECIVIL_9 ( 1) [PARTI]_IECIVIL_2 = 0 ( 2) [PARTI]_IECIVIL_3 = 0 14
Para una prueba formal ver Applied Logistic Regression p.50.
121
BRAYAN RICARDO ROJAS O. INSTRUCTOR ( 3) ( 4) ( 5) ( 6) ( 7)
[PARTI]_IECIVIL_4 = 0 [PARTI]_IECIVIL_5 = 0 [PARTI]_IECIVIL_6 = 0 [PARTI]_IECIVIL_7 = 0 [PARTI]_IECIVIL_9 = 0 chi2( 7) =60644.47 Prob > chi2 = 0.0000
Para obtener las probabilidades estimadas, que es lo que finalmente deseamos saber, Stata 11 creo el comando “margins”. El siguiente comando va a modelar todas las probabilidades para cada valor de SEXO, empezando por el 0 hasta 1 con un ancho de intervalo de 1. margins,
at(SEXO=(
Variable de Interés
0
Valor Inicial
Predictive margins Model VCE : OIM
(1)
1)) atmeans
Ancho Intervalo
Number
Valor Final
of obs =
12350554
Expression : Pr(PARTI), predict() 1._at : ...(lista de medias) SEXO = 0 …(lista de medias 2._at : …(lista de medias) SEXO = 1 …(lista de medias)
Margin
Std. Err.
z
P>z
[95% Conf.
Interval]
_at 1 0.7362227 0.0002468 2982.78 0.0000 0.7357389 2 0.4423416 0.0002768 1598.17 0.0000 0.4417992
0.7367065 0.4428841
La probabilidad de que una persona trabaje siendo hombre (1. at SEXO = 0) es el 73.6%, mientras que la probabilidad de que una persona trabaje siendo mujer es de 44.2%, manteniendo todas las demás variables en su media. Si quiere fijarse el valor de más de una variable, o fijar los intervalos de variables continuas, o en cortes de distribución de las variables independientes: margins, at(SEXO=(0(1)1) PCO1=1) atmeans noatlegend margins, at(ln_yh=(11 11.5 12 13 13.5) PCO1=1) atmeans noatlegend margins, at((p25) _all) atmeans noatlegend margins, at((p25) _all (mean) ESC ) atmeans noatlegend
122
BRAYAN RICARDO ROJAS O. INSTRUCTOR
8
MODELOS DE DATOS PANEL O LONGITUDINALES
Un conjunto de datos panel (o longitudinales) consta de una serie temporal para cada miembro del corte transversal en el conjunto de datos. Como ejemplo, supongamos que tenemos salario, educación y experiencia de un grupo de individuos a los que se les hace seguimiento por 5 años. De igual forma es posible recopilar información en unidades geográficas. Por ejemplos, datos de municipios de un país sobre impuestos, salarios, gastos estatales, niveles de educación, entre otros. La característica principal de los datos panel, que los distinguen de las combinaciones de cortes transversales, es el hecho de que se da seguimiento a las mismas unidades transversales ya sean individuos, países, regiones, entre otros, durante cierto período de tiempo. Como los datos de panel exigen la repetición de las mismas unidades con el tiempo, los conjuntos de estos datos, en particular de los individuos, hogares y empresas, son más difíciles de conseguir que en las combinaciones de cortes transversales. La ventaja es que al tener las mismas unidades es posible controlar ciertas características inobservadas de individuos, empresas, etc. Es decir es posible capturar inferencias causales que no es posible capturar con los cortes transversales. La segunda ventaja de los datos panel es que permite estudiar la importancia de los rezagos en el comportamiento o el resultado de tomar una decisión. Esta información puede ser significativa, puesto que es de esperar que muchas políticas económicas tengan efecto sólo al paso del tiempo. La idea de los panel es poder capturar esos factores inobservables, por ejemplo, lo que influye en el salario de un individuo en 1990 también influirá en el mismo individuo en 1991, ese factor inobservable puede ser la capacidad o habilidades. 8.1 ANÁLISIS DE DATOS PANEL
El principal objetivo de aplicar y estudiar los datos en panel, es capturar la heterogeneidad no observable, ya sea entre agentes económicos o de estudio asó como también en el tiempo, dado que esta heterogeneidad no se puede detectar ni con estudios de series temporales ni tampoco en corte transversal. La aplicación de esta metodología permite analizar dos aspectos de suma importancia cuando se trabaja con este tipo de información y que forman parte de la heterogeneidad no observable: i) los efectos individuales específicos y ii) los efectos temporales. En lo que se refiere a los efectos individuales específicos, se dice que estos son aquellos que afectan de manera desigual a cada uno de los agentes de estudio contenidos en la muestra (individuos, empresas, bancos) los cuales son invariables en el tiempo y que afectan de manera directa las decisiones que tomen dichas unidades. Usualmente se
123
BRAYAN RICARDO ROJAS O. INSTRUCTOR identifica este tipo de efectos con cuestiones de capacidad empresarial, eficiencia operativa, capitalización de la experiencia, acceso a la tecnología, etc. Los efectos temporales serían aquellos que afectan por igual a todas las unidades individuales del estudio pero que no varían en el tiempo. Este tipo de efectos pueden asociarse, por ejemplo, a los choques macroeconómicos que pueden afectar por igual a todas las empresas o unidades de estudio. VENTAJAS DE ESTIMACIÓN POR PANEL
La técnica permite al investigador económico disponer de un mayor número de observaciones incrementando los grados de libertad y reduciendo la colinealidad entre las variables explicativas y, en última instancia, mejorando la eficiencia de las estimaciones econométricas.
Tal y como se mencionó anteriormente, la técnica permite capturar la heterogeneidad no observable ya sea entre unidades individuales de estudio como en el tiempo. Con base en lo anterior, la técnica permite aplicar una serie de pruebas de hipótesis para confirmar o rechazar dicha heterogeneidad y cómo capturarla.
Los datos en panel suponen, e incorporan en el análisis, el hecho de que los individuos, firmas, bancos o países son heterogéneos. Los análisis de series de tiempo y de corte transversal no tratan de controlar esta heterogeneidad corriendo el riesgo de obtener resultados sesgados.
Permite estudiar de una mejor manera la dinámica de los procesos de ajuste. Esto es fundamentalmente cierto en estudios sobre el grado de duración y permanencia de ciertos niveles de condición económica (desempleo, pobreza, riqueza).
Permite elaborar y probar modelos relativamente complejos de comportamiento en comparación con los análisis de series de tiempo y de corte transversal. Un ejemplo claro de este tipo de modelos, son los que se refieren a los que tratan de medir niveles de eficiencia técnica por parte de unidades económicas individuales (empresas, bancos, etc).
Desventajas
En términos generales, las desventajas asociadas a la técnica de datos de panel se relacionan con los procesos para la obtención y el procesamiento de la información estadística sobre las unidades individuales de estudio, cuando esta se obtiene por medio de encuestas, entrevistas o utilizando algún otro medio de levantamiento de los datos. Ejemplos de este tipo de limitaciones son: cobertura de la población de interés, porcentajes de respuesta, preguntas confusas, distorsión deliberada de las respuestas, etc.
124
BRAYAN RICARDO ROJAS O. INSTRUCTOR 8.2 ANÁLISIS DE DATOS PANEL DE DOS PERÍODOS
Utilizando la base de datos CRIME2.dta, tenemos t = 1 y t = 2, la base contiene los índices de delincuencia y de desempleo de 46 ciudades para 1982 y 1987, por lo tanto t = 1 = 1982 y t = 2 = 1987. Si hacemos una regresión t = 2, qué coeficiente se esperaría para la variable desempleo?, son significativos los coeficientes? Los resultados son: . reg
crmrte unem if Source
year == 87 SS
df
MS
Model Residual
1775.90927 52674.6465
1 44
1775.90927 1197.15106
Total
54450.5558
45
1210.01235
crmrte
Coef.
unem _cons
-4.161134 128.3781
Std. Err. 3.416456 20.75663
t -1.22 6.18
Number of obs F( 1, 44) Prob > F R-squared Adj R-squared Root MSE P>|t| 0.230 0.000
= = = = = =
46 1.48 0.2297 0.0326 0.0106 34.6
[95% Conf. Interval] -11.04655 86.54589
2.72428 170.2104
Si se interpreta el resultado se observa que un aumento en el índice de desempleo disminuye el delictivo. Es significativo y coherente?. El problema puede ser causado por variables omitidas tales como edad, género, educación. Pero por medio de datos panel es posible observar como la inclusión del año 82 puede ayudar a controlar el hecho de que distintas ciudades tienen históricamente diferentes índices de delincuencia.
Por medio de análisis de datos agrupados, se hace el análisis que el efecto inobservable es de dos tipos, el constante y el que varía en el tiempo. En la ecuación anterior la constante es t = 1, y t =2 es Bo + δo. La variable ai captura todos los efectos inobservables constantes en el tiempo que influyen en Yit, ai es denominada EFECTO INOBSERVABLE, en este caso denominada EFECTO FIJO, dado que no se modifica en el tiempo. La ecuación anterior es un modelo de EFECTOS INOBSERVABLES O MODELO DE EFECTOS FIJOS. Uit se denomina error idiosincrático o error de variación temporal., pues representa factores inobservables que cambian en el tiempo. De acuerdo al ejemplo anterior, el modelo a estimar es
La variable d87, será el efecto fijo en este caso URBANO, que pueden ser las características demográficas, si no hay un cambio en las políticas puede encontrarse la educación, la raza y la edad. Ahora por los supuestos de MCO, U no debe estar correlacionado con las X, por lo tanto se hace un cambio en la ecuación
125
BRAYAN RICARDO ROJAS O. INSTRUCTOR
Donde Vit = ai + uit, se denomina ERROR COMPUESTO. Realizando la estimación del ejemplo . reg
crmrte unem Source
d87 SS
df
MS
Model Residual
989.717223 80055.7995
2 89
494.858612 899.503365
Total
81045.5167
91
890.610074
crmrte
Coef.
unem d87 _cons
.4265473 7.940416 93.42025
Number of obs F( 2, 89) Prob > F R-squared Adj R-squared Root MSE
Std. Err.
t
P>|t|
1.188279 7.975325 12.73947
0.36 1.00 7.33
0.720 0.322 0.000
= 92 = 0.55 = 0.5788 = 0.0122 = -0.0100 = 29.992
[95% Conf. Interval] -1.934538 -7.906385 68.10719
2.787633 23.78722 118.7333
El resultado no es bueno, dados la insignificancia, lo que indica que el supuesto de no correlación está afectado el modelo, además, MCO con variables dicotómicas no soluciona el problema de variables omitidas, además, uno de los objetivos de panel es capturar correlaciones entre a y X. En la mayor parte de las aplicaciones, la razón de data panel es permitir que el efecto inobservable se correlacione con las variables explicativas. Por ejemplo, en la delincuencia, deseamos dejar que los factores urbanos no contemplados en ai que influyen en el índice de delincuencia, se correlacionen también con el índice de desempleo. Es sencillo realizarlo: Como ai es constante en el tiempo, diferenciamos a lo largo de los dos años. De manera se escribe la ecuación de esta forma
El efecto ai es eliminado al diferenciar, la ecuación anterior es denominada ecuación de diferencia de primer orden. Lo importante es que no exista correlación entre U y X. Para poder estimar este modelo debe haber cambio en las X, dado que si hay una variable que no cambie, como por ejemplo el sexo de una persona la estimación es incorrecta. Reestimando este modelo tenemos
126
BRAYAN RICARDO ROJAS O. INSTRUCTOR . reg
ccrmrte Source
cunem SS
df
MS
Model Residual
2566.43744 17689.5497
1 44
2566.43744 402.035219
Total
20255.9871
45
450.133047
ccrmrte
Coef.
cunem _cons
2.217999 15.4022
Std. Err. .8778658 4.702117
t 2.53 3.28
Number of obs F( 1, 44) Prob > F R-squared Adj R-squared Root MSE
= = = = = =
46 6.38 0.0152 0.1267 0.1069 20.051
P>|t|
[95% Conf. Interval]
0.015 0.002
.4487771 5.92571
3.987222 24.8787
by var35: gen ccrmrte= crmrte - crmrte[_n-1] El resultado ahora proporciona una relación positiva, entre los índices. La interceptción revela que cuando el cambio en el desempleo = 0, el índice delicitivo es de 15.4, esto refleja un aumento secular en los índices delictvos en USA de 1982 a 1987. Ejercicio 1 1. Use la base de datos SLP75_81.dta para estimar el intercambio entre el tiempo dedicado a dormir y a trabajar. El modelo es descrito por
Estime el modelo correspondiente e intérprete. 2. Utilice la base CRIME3.dta y estime el siguiente modelo diferenciándolo
El modelo de índice de delincuencia para Noruega, tiene como dependiente el porcentaje de casos resuletos, los rezagos van a permitir que se observe si el índice de casos resueltos pasados ejerce influencia sobre el índice de hoy. Si son significativos indicaría que un mayor porcentaje de casos resueltos hace t períodos disuadiría delitos de este año. Qué decisión de política tomaría usted? 8.3 ANÁLISIS DE POLÍTICAS POR MEDIO DE DATOS PANEL
Dado que se hace un seguimiento a los mismos individuos, nos permite analizar después de cierta implementación de política su efecto, permitiendo tener grupos de control. El siguiente ejemplo es para observar el efecto de las leyes de conducir en estado de ebriedad con las muertes de tránsito. La ley implementada es la ley sobre recipientes abiertos, la cual se vuelve ilegal contener recipientes de bebidas alcohólicas dentro del vehículo, se desea comparar contra la ley administrativa que cancela la licencia una vez el conductor es encontrado en estado de embriaguez, el archivo TRAFFIC1.DTA contiene datos de 1985 y 1990 para los 50 estados y el distrito de Columbia. La variable dependiente es el número de muertes de transito por cada 100 millones de millas conducidas (dhrte). Estime el modelo en diferencias para dhrte 127
BRAYAN RICARDO ROJAS O. INSTRUCTOR con respecto a la variable open la que indica si contaba o no con la ley, y la variable admin, que indica la existencia de la ley administrativa. Cuál ley tiene mayor efecto?. 8.4 ANÁLISIS DE MÁS DE DOS PERÍODOS
El modelo para tres períodos es dado por
El intercepto para el primer período es δ1 y para el segundo es δ1+δ2. Para hacer el análisis de más períodos simplemente se diferencia la ecuación anterior, resultando
Al realizar el procedimiento anterior el intercepto no se incluye, pero en muchas ocasiones este intercepto es necesario, por lo tanto se reajusta la ecuación anterior y se incluye solamente un período de tiempo. De manera general
Este tipo de análisis es muy útil para análisis de políticas. Utilizando la base de datos EZUNEM.dta, con la cual se busca capturar el efecto de las zonas empresariales en los reclamos de los seguros de desempleo, la variable ZE captura el efecto del programa de zonas empresariales en los reclamos del seguro de desempleo. Se analizaron 22 ciudades de 1980 a 1988, la variable de estudio es UCLMS la cual indica el número de reclamos de seguro de desempleo del año t y la ciudad i. El modelo a estimar es
La variable dependiente en la ecuación es la tasa de crecimiento anual aproximada de los reclamos del seguro de desempleo del año t- 1 a t. el tamaño de la muestra es 22*8 = 176.
128
BRAYAN RICARDO ROJAS O. INSTRUCTOR . reg
guclms Source
d82-d88
cez
SS
df
MS
Model Residual
12.8826331 7.79583815
8 167
1.61032914 .046681666
Total
20.6784713
175
.118162693
guclms
Coef.
d82 d83 d84 d85 d86 d87 d88 cez _cons
.7787595 -.0331192 -.0171382 .323081 .292154 .0539481 -.0170526 -.1818775 -.3216319
Std. Err. .0651444 .0651444 .0685455 .0666774 .0651444 .0651444 .0651444 .0781862 .046064
t 11.95 -0.51 -0.25 4.85 4.48 0.83 -0.26 -2.33 -6.98
Number of obs F( 8, 167) Prob > F R-squared Adj R-squared Root MSE P>|t| 0.000 0.612 0.803 0.000 0.000 0.409 0.794 0.021 0.000
= = = = = =
176 34.50 0.0000 0.6230 0.6049 .21606
[95% Conf. Interval] .6501469 -.1617318 -.1524655 .1914417 .1635413 -.0746645 -.1456652 -.3362382 -.4125748
.9073721 .0954934 .1181891 .4547202 .4207666 .1825607 .1115601 -.0275169 -.2306891
La presencia de Zonas Empresariales hace que los reclamos del seguro se reduzcan en aproximadamente (exp(-1.818) – 1) el 16.6%. los demás parámetros indican la intercepción en cada t, indicando si bajaron o subieron los reclamos del seguro de desempleo. Ejercicio 2. 1. Utilizando la base CRIME4.DTA , la cual es el índice de delincuencia en Carolina del Norte, desde 1981 a 1987, la variable a estudiar CRMRTE es el índice de delincuencia, PRBARR es la probabilidad estimada de arresto, PRBCON es la probabilidad de condena dado un arresto, PRBPRIS es la probabilidad de cumplir una sentencia en prisión dada una condena, LAVGSENS es la duración de la sentencia promedio cumplida y POPLC es el número de efectivos policiacos per cápita, de los 90 condados estudiados. Estime el modelo diferenciado y analice la existencia de heterocedasticidad y corrija si es el caso. TALLER15 1. Utilice el archivo GPA3.DTA para este ejercicio. El conjunto de datos es para 366 estudiantes atletas de una universidad grande para los semestres de otoño y primavera. Como se cuenta con dos términos de datos para cada estudiante, resulta adecuado un modelo de efectos inobservables. La primera interrogante de interés es la siguiente. Tiene un menor aprovechamiento en la escuela los atletas durante el semestre en que si deporte está en temporada? a. Determine los estimadores de MCO agrupados para el modelo que tiene como variable dependiente GPA (trmgpa) y como explicativas spring, sat, hsperc,
15
Wooldridge. Introducción a la econometría
129
BRAYAN RICARDO ROJAS O. INSTRUCTOR female, black, white, frstsem, tothrs, crsgpa, y season. Interprete el coeficiente de season. Es estadísticamente significativo? b. La mayoría de los atletas que realizan su deporte sólo en el otoño son jugadores de fútbol americano. Suponga que sus niveles de capacidad difieren en forma sistemática de los otros atletas. Si no se captura adecuadamente la capacidad por medio de las puntuaciones de la prueba de aptitud académica SAT( Scholastic Aptitute test) y el percentil de preparatoria hsperc. Explique por qué los estimadores obtenidos estarían sesgados? c. Ahora utilice los datos diferenciados a través de los dos términos. Qué variables se descartan?. Ahora pruebe el efecto del deporte de temporada d. Considera que hay una o más variables potencialmente importantes, que varían en el tiempo y que se hayan omitido en el análisis 2.
El archivo VOTE2.DTA incluye datos de panel sobre las elecciones para la cámara de representantes de los estados unidos de 1988 y 1990. Sólo los ganadores de 1988 que también estaban compitiendo en 1990 están en la muestra; se trata de los titulares del cargo. Un modelo de efectos inobservables que explica la parte del voto de los títulos del cargo en términos de gastos de los dos candidatos es
En donde incshres la parte del total de gastos de campaña de los titulares del cargo en porcentaje. El efecto inobservable ai , contiene características del titular del cargo – como la calidad- además de cosas sobre el distrito que son constantes. El género y el partido del titular son constantes en el tiempo, de modo que estos se agregan en ai. Nos interesa el efecto de los gastos de la campaña en los resultados de las elecciones. a. Diferencie la ecuación dada a lo largo de los dos años y estime la ecuación en diferencias por MCO. Cuáles variables son significativas al 5%. b. En la ecuación anterior, haga una prueba de significancia conjunta de las variables D.loginexp y D.logchexp c. Vuelva a estimar la ecuación del punto a., pero solamente estime contra la variable D.inchsr. Interprete el coeficiente. Por ejemplo, si los gastos del titular aumentan en un 10%. Cómo se predice que esto influya en la parte proporcional de los votos del titular del cargo? 3. Utilizando la base JTRAIN.dta (capacitación), para determinar el efecto del subsidio para la capacitación laboral sobre las horas de capacitación para el trabajo por empleado. El modelo básico para los tres años es
a. Estime la ecuación en la primera diferencia. Cuántas empresas se emplean en la estimación?, cuántas observaciones totales se utilizarían si cada 130
BRAYAN RICARDO ROJAS O. INSTRUCTOR compañía tuviera datos sobre todas las variables, en particular sobre hrsemp para los tres períodos b. Interprete el coeficiente de grant y comente si es significativo c. Es sorprendente que grant-1 sea no significativo? d. Las empresas más grandes capacitan más o menos, en promedio, a sus empleados. Qué tan grandes son las diferencias en la capacitación?
8.5 EFECTOS FIJOS
La primera diferencia es sólo una de las formas de eliminar el efecto fijo, ai, el método más usado se denomina estimación de Efectos Fijos. El modelo consiste en realizar la siguiente transformación para el siguiente modelo Se calcula el promedio de cada variable
Donde en la última ecuación se encuentran los datos centrados, a ésta transformación se le denomina Transformación Intra-Grupos, que desaparece el efecto inobservable, se estima por MCO, a estos estimadores se denominan estimadores de Efectos Fijos o Intra –Grupo (within), los cuales aprovechan la variación temporal en y y x dentro de cada observación transversal. En este modelo se supone la existencia de correlación entre ai y X, en caso de no existir correlación la estimación se realiza por Efectos Aleatorios. Lastimosamente los coeficientes de la última ecuación no permite una interpretación de los coeficientes. En algunas ocasiones es de interés estimar el panel para analizar las intercepciones estimadas, es decir, ai, esto sucede en el caso que se desee estudiar la distribución asociada, o si se desea tomar una determinada empresa o ciudad para ver si su ai, está por encima o por debajo de su valor promedio muestral. Efectos fijos o primera diferencia? La primera diferencia generalmente es más fácil de calcular en el caso de que el programa econométrico no cuente con la estimación correspondiente, ambos estimadores son insesgados y consistentes. Cuando las Uit no se correlacionan serialmente, los estimadores de EF son más eficientes, cuando T es grande y N pequeño, el estimador de EF generalmente presenta problemas dado que N hace que no se cumplan algunos supuestos y se recomienda usar primera diferencia. 131
BRAYAN RICARDO ROJAS O. INSTRUCTOR 8.6 EFECTOS ALEATORIOS
Teniendo
Al utilizar efectos fijos o la primera diferencia, el objetivo es eliminar ai,dado que se considera que se correlaciona con una o más de las X, pero si no están correlacionadas y se estima un modelo por EF, el estimador es insesgado. La ecuación anterior se vuelve Efectos Aleatorios cuando se supone que el efecto inobservable no se correlaciona con cada variable explicativa. El estimador de EA es dado por
Donde λ es una transformación de la varianza, que permite eliminar la correlación serial en los errores. A esta transformación se le denomina datos casi centrados, esta transformación permite que las variables explicativas sean constantes en el tiempo, y está es una ventaja de los EA sobre EF y primera diferencia. Ejercicio Usando la base de datos WAGEPAN.dta para estimar la ecuación de salario para los hombres. Debe emplear los tres métodos de estimación, MCO agrupados, EA y EF., la variable dependiente es lwage, y las explicativas, educación (educ), la raza (black) y el origen (hisp), la experiencia y la experiencia al cuadrado, si es casado o no (married), y si pertenece a una asociación sindical (union). Cuál es el efecto de estar casado?, a qué se deberá? 8.7 ANÁLISIS DE DATOS PANEL EN Stata
Stata con un conjunto de procedimientos que le permiten al usuario trabajar bases de datos de Stata, para ello se debe utilizar el prefijo xt, el cual le indica a Stata que se está trabajando con datos panel. Los comandos para iniciar Stata con panel y hacer su descripción son: Identificador de bases de datos de Stata xtset id t Descripción de bases de datos tipo panel xtdescribe Resumen de estadísticas con variaciones WITHIN y BETWEEN xtsum id t lwage ed exp exp2 wks south tdum1 Tabulación de datos para una variable panel xttab south
132
BRAYAN RICARDO ROJAS O. INSTRUCTOR
Calculo de probabilidades de transición para una variable
xttrans south, freq 8.8 ESTRUCTURA DE BASES DE DATOS PANEL
Stata requiere un ajuste de la base de datos panel, dado que solo trabaja con bases de datos micropanel, es decir con N grande y T pequeño. Reshape reshape long stubnames, i(varlist) [options] reshape wide stubnames, i(varlist) [options] WIDE i ....... x_ij ........ id sex inc80 inc81 inc82 ------------------------------1 0 5000 5500 6000 2 1 2000 2200 3300 3 0 3000 2000 1000 En la base de datos en forma horizontal (wide form), existe una sola observación por id, pero más de una variable por ingreso.
LONG i j x_ij id year sex inc ----------------------1 80 0 5000 1 81 0 5500 1 82 0 6000 2 80 1 2000 2 81 1 2200 2 82 1 3300 3 80 0 3000 3 81 0 2000 3 82 0 1000 En la base de datos de forma vertical (long form) se puede observar que existe una variable que es contante al interior de un grupo, en este caso el id, tenemos una variable que varía en el interior del grupo que es el año.
De Long a Wide reshape wide stub, i(i) j(j) – j es una variable existente De Wide a Long reshape long stub, i(i) j(j) – j es una nueva variable
Wide form data (observation is a state)
use mus08cigarwide.dta, clear 133
BRAYAN RICARDO ROJAS O. INSTRUCTOR list, clean Convert from wide form to long form (observation is a state-year pair) reshape long lnp lnc, i(state) j(year) Long-form data (observation is a state) list in 1/6, sepby(state) Reconvert from long form to wide form (observation is a state) reshape wide lnp lnc, i(state) j(year) Ejercicio Replique los ejemplos presentados sobre este comando en help reshape 8.9 REGRESIÓN AGRUPADA
El enfoque más simple de analizando datos tipo panel es omitir las dimensiones del espacio y el tiempo de los datos agrupados y sólo calcular la regresión MCO. Este modelo es expresado de la siguiente forma Donde i significa la i-ésima unidad transversal (individuo) y t el tiempo. Con la base nls_panel.dta, entre las variables: lwage exper exper2 tenure tenure2 south union black educ, Recordar hacer descripción de las variables y además decirle a Stata que es una base tipo panel. log using ch15_nls_re, replace text use nls_panel, clear . reg lwage educ exper exper2 tenure tenure2 black south union educ note: educ omitted because of collinearity Source
SS
df
MS
Model Residual
251.535045 521.026185
8 3571
31.4418807 .14590484
Total
772.56123
3579
.215859522
lwage
Coef.
educ exper exper2 tenure tenure2 black south union educ _cons
.0714488 .0556851 -.0011475 .01496 -.000486 -.1167139 -.1060026 .1322432 (omitted) .4766
Std. Err.
t
Number of obs F( 8, 3571) Prob > F R-squared Adj R-squared Root MSE P>|t|
= = = = = =
3580 215.50 0.0000 0.3256 0.3241 .38197
[95% Conf. Interval]
.0026894 .0086072 .0003613 .0044073 .0002577 .0157159 .0142008 .0149616
26.57 6.47 -3.18 3.39 -1.89 -7.43 -7.46 8.84
0.000 0.000 0.002 0.001 0.059 0.000 0.000 0.000
.0661759 .0388096 -.0018559 .006319 -.0009913 -.1475269 -.1338451 .102909
.0767217 .0725605 -.0004392 .023601 .0000192 -.0859008 -.07816 .1615774
.0561559
8.49
0.000
.3664993
.5867008
134
BRAYAN RICARDO ROJAS O. INSTRUCTOR 8.10 EFECTOS ALEATORIOS
La ecuación (1) supone que el intercepto de la regresión es la misma para todas las unidades transversales. Sin embargo, es muy probable que se necesite controlar el carácter “individual” de cada individuo. El modelo de efectos aleatorios permite suponer que cada unidad transversal tiene un intercepto diferente. Este modelo se expresa como: Donde . Es decir, en vez de considerar a α como fija, suponemos que es una variable aleatoria con un valor medio α y una desviación aleatoria ui de este valor medio. Sustituyendo , en (2) tenemos: Stata realiza la estimación de efectos aleatorios con el comando xtreg, re. . . xtreg
lwage educ exper exper2 tenure tenure2 black south union, re
Random-effects GLS regression Group variable: id
Number of obs Number of groups
= =
3580 716
R-sq:
Obs per group: min = avg = max =
5 5.0 5
within = 0.1411 between = 0.3543 overall = 0.3191
Random effects u_i ~ Gaussian corr(u_i, X) = 0 (assumed) Std. Err.
Wald chi2(8) Prob > chi2
lwage
Coef.
z
educ exper exper2 tenure tenure2 black south union _cons
.0732536 .043617 -.000561 .0141541 -.0007553 -.1167366 -.0818117 .0802353 .5339294
.0053308 .0063576 .0002626 .0031666 .0001947 .0302087 .0224109 .0132132 .0798828
sigma_u sigma_e rho
.32904965 .19511039 .73986872
(fraction of variance due to u_i)
13.74 6.86 -2.14 4.47 -3.88 -3.86 -3.65 6.07 6.68
P>|z| 0.000 0.000 0.033 0.000 0.000 0.000 0.000 0.000 0.000
= =
860.08 0.0000
[95% Conf. Interval] .0628055 .0311564 -.0010757 .0079478 -.001137 -.1759446 -.1257363 .0543379 .377362
.0837017 .0560776 -.0000463 .0203605 -.0003737 -.0575286 -.0378871 .1061327 .6904968
Si se analiza (3), se puede observar que si ui es igual a cero, es decir , no existe diferencia entre (1) y (3). Para saber si utilizó efectos aleatorios o datos agrupados entonces debo realizar la prueba de Breusch - Pagan, la prueba del Multiplicador de Lagrange para Efectos Aleatorios. La hipótesis nula de esta prueba es que , entonces, si rechazo la hipótesis, sí existe diferencia entre (1) y (3) y debo estimar efectos aleatorios. La prueba se realiza por medio de xttest0
135
BRAYAN RICARDO ROJAS O. INSTRUCTOR Breusch and Pagan Lagrangian multiplier test for random effects lwage[id,t] = Xb + u[id] + e[id,t] Estimated results: Var lwage e u Test:
sd = sqrt(Var)
.2158595 .0380681 .1082737
.4646068 .1951104 .3290497
Var(u) = 0 chi2(1) = Prob > chi2 =
3859.28 0.0000
El p –value indica que debo rechazar Ho, por lo tanto los efectos aleatorios son relevantes. 8.11 EFECTOS FIJOS
Otra forma de modelar el efecto individual, es por medio de efectos fijos, este modelo no supone que las diferencias entre individuos sean aleatorios, sino constantes o fijas y por ello se debe estimar el intercepto u. Cómo se puede permitir que el intercepto varíe con respecto a cada individuo?. Una de las formas es a través de variables dicotómicas de intersección diferencial, expresada así Donde vi es un vector de variables dicotómicas para cada estado. El modelo se estima de la siguiente forma . reg lwage educ exper exper2 tenure tenure2 black south union educ i. id note: educ omitted because of collinearity note: 715.id omitted because of collinearity note: 716.id omitted because of collinearity Source
SS
df
MS
Model Residual
663.762704 108.798526
721 2858
.920614014 .038068064
Total
772.56123
3579
.215859522
Std. Err.
t
Number of obs F(721, 2858) Prob > F R-squared Adj R-squared Root MSE P>|t|
= = = = = =
3580 24.18 0.0000 0.8592 0.8236 .19511
lwage
Coef.
[95% Conf. Interval]
educ exper exper2 tenure tenure2 black south union educ
.2095154 .0410832 -.0004091 .0139089 -.0008962 .4436098 -.0163224 .0636972 (omitted)
.1238721 .00662 .0002733 .0032778 .0002059 .1296263 .036149 .0142538
1.69 6.21 -1.50 4.24 -4.35 3.42 -0.45 4.47
0.091 0.000 0.135 0.000 0.000 0.001 0.652 0.000
-.0333723 .0281027 -.000945 .0074818 -.0012999 .1894394 -.0872031 .0357485
.4524031 .0540637 .0001269 .0203361 -.0004926 .6977803 .0545584 .091646
id 2 3 4 5 6 7 8 9
-.6097623 .5301255 .8530533 .7703423 .2891988 .3502798 .1714799 .0862207
.5683056 .1301154 .1311647 .2173306 .4476351 .3298208 .3293968 .3293165
-1.07 4.07 6.50 3.54 0.65 1.06 0.52 0.26
0.283 0.000 0.000 0.000 0.518 0.288 0.603 0.793
-1.724093 .2749959 .5958663 .3442017 -.5885216 -.296431 -.4743996 -.5595012
.5045682 .785255 1.11024 1.196483 1.166919 .9969906 .8173593 .7319426
El cual estima una dummy para cada individuo, (la base tiene 716). Pero la opción más sencilla es por medio de xtreg
136
BRAYAN RICARDO ROJAS O. INSTRUCTOR . xtreg lwage educ exper exper2 tenure tenure2 black south union educ, fe note: educ omitted because of collinearity note: black omitted because of collinearity note: educ omitted because of collinearity Fixed-effects (within) regression Group variable: id
Number of obs Number of groups
= =
3580 716
R-sq:
Obs per group: min = avg = max =
5 5.0 5
within = 0.1430 between = 0.1162 overall = 0.1170
corr(u_i, Xb)
F(6,2858) Prob > F
= 0.0952
lwage
Coef.
educ exper exper2 tenure tenure2 black south union educ _cons
(omitted) .0410832 -.0004091 .0139089 -.0008962 (omitted) -.0163224 .0636972 (omitted) 1.450034
sigma_u sigma_e rho
.40231926 .19511039 .80959194
F test that all u_i=0:
Std. Err.
t
P>|t|
= =
79.46 0.0000
[95% Conf. Interval]
.00662 .0002733 .0032778 .0002059
6.21 -1.50 4.24 -4.35
0.000 0.135 0.000 0.000
.0281027 -.000945 .0074818 -.0012999
.0540637 .0001269 .0203361 -.0004926
.036149 .0142538
-0.45 4.47
0.652 0.000
-.0872031 .0357485
.0545584 .091646
.04014
36.12
0.000
1.371328
1.52874
(fraction of variance due to u_i) F(715, 2858) =
15.15
Prob > F = 0.0000
Ahora se debe seleccionar agrupados o fijos?, (1) ó (4), el modelo (1) es más restringido dado que asume un intercepto común para todos los estados, es decir, no incluye variables dicotómicas individuales. Por lo tanto, utilizando la prueba F, la cual la hipótesis nula es que , es decir todas las variables dicotómicas individuales son iguales a cero. Si la prueba se rechaza, significa que al menos una variable pertenece al modelo, y por lo tanto es necesario estimar el modelo por efectos fijos. En el ejemplo el p – value es menor a 0.05 por lo tanto es preferible usar el modelo de efectos fijos. BETWEEN = Componente TEMPORAL aleatorio que es invariante a través de los individuos, pero que varía a través del tiempo. WITHIN = El error Ui tiene un componente INDIVIDUAL aleatorio que es invariante a través del tiempo ALPHA, que se caracteríaza a cada uno de los agentes sociales. 8.12 EFECTOS ALEATORIOS vs. FIJOS
Las pruebas de Breusch- Pagan para efectos aleatorios y la prueba F, para fijos nos permiten comparar entre cada uno de estos modelos y el de datos agrupados. Pero entre ellos cuál usar? 137
BRAYAN RICARDO ROJAS O. INSTRUCTOR La respuesta depende de la correlación que exista entre las variables X y el componente de error individual ui. El modelo de efectos aleatorios supone que esta correlación es igual a cero, el no incluir a u en el modelo puede generar problemas de omisión de variables ocasionando un sesgo de variable omitida en los coeficientes de X. Hausman demostró que la diferencia entre los coeficientes de efectos fijos y aleatorios puede ser usada para probar la hipótesis nula de que ui y las variables X no están correlacionadas. Por lo tanto la hipótesis nula del test de Hausman es Ho: Los estimadores de efectos fijos y aleatorios no difieren sustancialmente. Si se rechaza Ho, hay diferencia entre ellos y la conclusión es que los efectos fijos son más convenientes que los efectos aleatorios. Si no se puede rechazar Ho., no hay sesgo de que preocuparse y es preferible los efectos aleatorios que al no estimar con dummies, es un modelo más eficiente. Utiliza para ello una prueba Chi-cuadrado con la hipótesis nula de que el modelo de efectos aleatorios es el que mejor explica la relación de la variable dependiente con las explicativas, y por tanto se tiene la hipótesis alternativa de que el mejor método que se ajusta es el de efectos fijos. . estimates store aleatorios . hausman fijos aleatorios Coefficients (b) (B) fijos aleatorios exper exper2 tenure tenure2 south union
.0410832 -.0004091 .0139089 -.0008962 -.0163224 .0636972
.043617 -.000561 .0141541 -.0007553 -.0818117 .0802353
(b-B) Difference -.0025338 .0001519 -.0002452 -.0001409 .0654893 -.0165381
sqrt(diag(V_b-V_B)) S.E. .0018455 .0000758 .0008468 .0000668 .0283637 .0053462
b = consistent under Ho and Ha; obtained from xtreg B = inconsistent under Ha, efficient under Ho; obtained from xtreg Test:
Ho:
difference in coefficients not systematic chi2(6) = (b-B)'[(V_b-V_B)^(-1)](b-B) = 20.73 Prob>chi2 = 0.0021
En el ejemplo se rechaza Ho., es decir la diferencia entre los coeficientes de efectos fijos y aleatorios es sistemática, por lo tanto se debe estimar efectos fijos. Si se desea hacer inferencias con respecto a la población, es decir que se trabaja con una muestra aleatoria, lo mejor es utilizar una especificación del tipo aleatoria. En caso de que el interés sea limitado a una muestra que se ha seleccionado a conveniencia o bien que se está trabajando con la población, la estimación de efectos fijos será la correcta. 138
BRAYAN RICARDO ROJAS O. INSTRUCTOR
Adicionalmente, si el interés del estudio particular está puesto en los coeficientes de las pendientes de los parámetros, y no tanto en las diferencias individuales, se debería elegir un método que relegue estas diferencias y tratar la heterogeneidad no observable como aleatoria. El modelo de efectos fijos se ve como un caso en que el investigador hace inferencia condicionada a los efectos que ve en la muestra. El de efectos aleatorios se ve como uno en el cual el investigador hace inferencia condicional o marginal respecto a una población. Se deja al investigador que decida si hace inferencia con respecto a las características de una población o solo respecto a los efectos que están en la muestra. 8.13 AUTOCORRELACIÓN Y HETEROSCEDASTICIDAD
Los modelos de datos panel, modelan tanto la heterogeneidad temporal y la espacial, de acuerdo a los supuestos de MCO los errores deben ser independientes entre si y se deben distribuir idénticamente con varianza constante. . Pero los datos panel generalmente presentan problemas en el cumplimiento de este supuesto. La independencia se viola cuando los errores de diferentes individuos se correlacionen entre ellos, es decir correlación contemporánea, o cuando los errores dentro de cada unidad se correlacionan temporalmente, correlación serial, o ambos. De igual forma en el momento de la presencia de heteroscedasticidad no se cumple la distribución idéntica. Solo se tratará el tema de la correlación temporal es decir la autocorrelación, es muy probable que existan correlaciones entre los salarios durante los períodos de estudio. Existen varias pruebas para verificar autocorrelación entre ellas panelauto, pantest2 y xtserial. La prueba más robusta es la xtserial desarrollada por Wooldridge, la hipótesis nual consiste en que No existe Autocorrelación, el comando xtserial requiere el listado de variables dependientes e independientes. Si se rechaza la hipótesis nual entonces hay problemas de autocorrelación, y para corregirlo se hace a través de un modelo de efectos fijos o aleatorios con término p autorregresivo de grado AR(1) que controla la dependencia de t a t -1 . El modelo es dado por
Donde , es decir, los errores tienen una correlación de primer grado. El modelo AR1 es ejecutable con xtregar
139
BRAYAN RICARDO ROJAS O. INSTRUCTOR . xtregar lwage exper exper2 tenure south union black edu, fe note: black dropped because of collinearity note: educ dropped because of collinearity FE (within) regression with AR(1) disturbances Group variable: id
Number of obs Number of groups
= =
2864 716
R-sq:
Obs per group: min = avg = max =
4 4.0 4
within = 0.3964 between = 0.1091 overall = 0.0995
corr(u_i, Xb)
F(5,2143) Prob > F
= -0.1087
lwage
Coef.
exper exper2 tenure south union black educ _cons
.2108687 -.0062753 .0026851 -.0334198 .0569314 (omitted) (omitted) .3561069
rho_ar sigma_u sigma_e rho_fov
.60413957 .41798855 .20057178 .81283897
F test that all u_i=0:
Std. Err.
t
P>|t|
= =
281.50 0.0000
[95% Conf. Interval]
.0074041 .0003279 .0027579 .0483105 .0160276
28.48 -19.14 0.97 -0.69 3.55
0.000 0.000 0.330 0.489 0.000
.1963487 -.0069184 -.0027233 -.1281602 .0255002
.2253888 -.0056323 .0080935 .0613205 .0883627
.0216711
16.43
0.000
.3136082
.3986055
(fraction of variance because of u_i) F(715,2143) =
4.13
Prob > F = 0.0000
La correlación contemporánea se da cuando ciertos individuos están correlacionados con las observaciones de otros individuos en el mismo período de tiempo. El problema de la correlación contemporánea se refiere a la correlación de los errores en al menos dos unidades en el mismo tiempo t. Es decir existen características inobservables de ciertos individuos que se relacionan con las características inobservables de otros individuos. El comando xttest2 ejecuta la prueba de Breusch-Pagan para identificar autocorrelación contemporánea en los residuales de efectos fijos. La hipótesis nula es que existen Independencia Transversal, es decir que los errores son independientes entre sí. Breusch-Pagan LM test of independence: chi2(255970) = Based on 5 complete observations
3.92e+05, Pr = 0.0000
En este caso se rechaza Ho. Por lo tanto es necesario corregir la correlación contemporánea. En el momento de que la varianza de los errores no sea contante en cada unidad transversal, se está violando uno de los supuestos, para verificar si existe o no heteroscedasticidad es por medio del test de Lagrange de Breusch-Pagan. La Ho consiste en que No hay Heteroscedasticidad, es decir, , para todo i. Para verificar la violación de este supuesto utilizamos xttest3 después de estimar efectos fijos. . xttest3 Modified Wald test for groupwise heteroskedasticity in fixed effect regression model H0: sigma(i)^2 = sigma^2 for all i chi2 (716) = Prob>chi2 =
1.6e+06 0.0000
La prueba indica que no existe homocedasticidad. 140
BRAYAN RICARDO ROJAS O. INSTRUCTOR 8.14 CORRECCIÓN DE HETEROCEDASTICIDAD Y AUTOCORRELACIÓN
La solución se realiza por medio de Mínimos Cuadrados Generalizados Factibles (FGLS) o por medio de Errores Estándar Corregidos para Panel (PCSE), algunos estudios han demostrado que PCSE es más preciso que FGLS pero para muestras pequeñas. Los comandos son xtgls xtpcse Estos modelos no estimando efectos fijos, por lo tanto es necesario incluir variables dicotómicas con el comando xi. De acuerdo al problema la solución es dada de acuerdo al siguiente cuadro: PROBLEMA
HETEROSCEDASTICID AD
HETEROSCEDASTICID AD
xtgls vardep varsind, panel(h) xtpcse vardep varsind, het
CORRELACIÓN CONTEMPORANEA AUTOCORRELACIÓN
xtgls vardep varsind, p(c) xtpcse vardep varsind, xtgls vardep varsind, p(h) c(ar1) xtpcse vardep varsind, het c(ar1)
CORRELACIÓN CONTEMPORAN EA xtgls vardep varsind, p(c) xtpcse vardep varsind,
AUTOCORRELACI ÓN xtgls vardep varsind, p(h) c(ar1) xtpcse vardep varsind, het c(ar1)
xtregar vardep varsind, fe ó re
En caso de presentar los trés problemas Heterocedasticidad, correlación contemporánea y autocorrelación se corrige por: xtgls vardep varsind, p(c) c(ar1) xtpcse vardep varsind, c(ar1)
TALLER 2 1. Usando la base de datos nls_panel.dta, que esun panel de datos para 716 mujeres por 5 años. a. Abra la base de datos y realice análisis descriptivo de las variables claves (lwage, exper, exper2, tenure, tenure2, south, union, black y educ) b. Utilizando el archivo Ejemplo datos panel.do, realice los procedimientos para calcular el modelo por MCO Agrupados, EF y EA y seleccione el mejor modelo. 8.15 MODELOS DINÁMICOS CON DATOS PANEL Es habitual que los investigadores utilicen los modelos de panel con retardos de la variable dependiente. En estos casos se incluye en el modelo, como variable dependiente, un retardo o
141
BRAYAN RICARDO ROJAS O. INSTRUCTOR incluso más retardos de la variable dependiente más otras variables exógenas que también pueden incluir retardos de Xit. ∑ Donde k = 1, …, K variables independientes de interés, i = 1, …, N unidades sociales y t = 1, …, T observaciones en el tiempo. La variable Yt es la endógena y Yt-1 es la variable endógena rezagada un período en el tiempo, xt son las variables explicativas o exógenas cuyos retardos en el tiempo también pueden ser incluidos en el modelo causal y ut es el error del modelo. Lo anterior es una solución para evitar el problema de errores correlacionados entre sí cuando se realiza la estimación por MCO. Además el hecho de que yt-1 se incluya en el modelo permite controlar por el efector qué valores precios de la variable endógena tienen en el valor presente, y con ello, el efecto de las variables independientes puede ser más acertado y preciso que en cualquier otro caso. El coeficiente asociado con yt-1 representa lo que se denomina la tasa de descuento, es decir, la tasa de decrecimiento del efecto de valores pasado de yt-1. Incluir rezagos genera problemas de estabilidad de los parámetros y además la inclusión de rezagos no necesariamente soluciona totalmente el problema de autocorrelación serial, para ello se podría incluir un comportamiento autorregresivo para el error. Otro problema es que las estimaciones pueden ser sesgadas dificultando muchas veces la estimación del modelo. Una solución a este problema es la realización de modelos incluyendo variables instrumentales. MÉTODO DE ARELLANO – BOND PARA PANEL CON REZAGOS Comando xtabond use http://www.stata-press.com/data/r9/abdata
xtabond n l(0/1).w l(0/2).(k ys) yr1980 yr1981 yr1982 yr1983 yr1984, lags(2)
RAICES UNITARIAS Y COINTEGRACIÓN Los contrastes de raíces unitarias con datos de panel son similares a los contrastes de raíces unitarias efectuados en modelos de única seria. Se parte de la siguiente ecuación:
Se evalúa por medio de los test de Fisher – ADF y Fisher – PP para contrastar la existencia de raíces unitarias en datos de panel, combinan lo p – valores de los test de raíces unitarias individuales. La hipótesis nula de que hay una raíz unitaria en todos los N cortes transversales, una de las formas más sencillas para verificar COINTEGRACIÓN es comprobar mediante un contraste de raíces unitarias de panel, que los residuos del modelo de panel están exentos de raíces unitarias.
142
BRAYAN RICARDO ROJAS O. INSTRUCTOR
9
INTRODUCCIÓN A LA PROGRAMACIÓN
Help comments Capture Ejecuta el comando y no muestra resultados ni errores
9.1 LOCAL MACROS
Las macros locales de Stata le van a permitir trabajar más fácilmente con Stata, estas macros le permitirán alojar objetos como números, variables o varios conjuntos de objetos. Estos objetos pueden contener caracteres alfanuméricos y hasta 8000 caracteres. El comando para definir una macro es con local seguido por el nombre del objeto y sus características. Ejemplos: local country US UK DE FR local ctycode 111 112 136 134 display “´country´” US UK DE FR El comando global le permite crear nombres de listas de variables, para así poder referirse a ellas de forma conjunta y evitar tener que escribir cada una de ellas cada vez que vayamos a utilizarlas. Por ejemplo global grupo1 var1 var2 var3 Luego para hacer referencia al grupo de variable utilizando algún comando, se debe anteponer el símbolo $ al nombre del grupo Por ejemplo keep $grupo1
9.2 CREANDO CICLOS Una de las utilidades principales de la programación es la creación de loops estos le permiten al usuario crean rutinas para evaluar diferentes alternativas o para crear ciclos de comandos. Los comandos más importantes para estos ciclos son forvalues y foreach. Comando IF If expression { Comandos Stata } else if expression { comandos stata }
143
BRAYAN RICARDO ROJAS O. INSTRUCTOR else { comandos stata
Comando For set obs 100 For new u1-u10: gen x=uniform() For any . : replace z=. If y= X For new x2-x5 \ num 2/5: gen X =variable^Y
Comando Forvalues forvalues nueva_macro = rango { comandos referidos a nueva_macro } program define diez forvalues i = 1(1)10 { display "`i'" } End
Comando While: while condicion { comandos Stata } local i = 1 while `i'