Manual Stata 12

April 3, 2018 | Author: Jesús Aviles Robles | Category: Computer File, Window (Computing), Computer Program, Databases, Econometrics


Comments



Description

SOFTWARE SHOPMANEJO 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 3 El manual contiene #### páginas, las cuales describe los principales usos para un usuario de diferente nivel y estudios. Para el mejor entendimiento del manual se describe el siguiente cuadro: DESCRIPCIÓN CARACTERÍSTICA Comando Tipo de Letra cursiva, fuente Times New Roman, tamaño de letra 11 Notas o recomendaciones Resaltado en un cuadro de texto Rutas de acceso por medio de los menús Se describe el nombre del Menú seguido por el símbolo “” Mensajes de Error Color de Fuente Rojo TABLA DE CONTENIDO 1. MANEJO FUNDAMENTAL DE Stata 12 ....................................................... 5 1.1 CONOCIENDO EL ENTORNO DE Stata ......................................................................... 6 1.2 EL MENÚ DE AYUDA ..................................................................................................... 7 1.3 TIPOS DE ARCHIVOS .................................................................................................... 12 1.4 ESTRUCTURA DE COMANDOS .................................................................................. 12 1.5 VENTANAS DE COMANDOS ....................................................................................... 12 1.6 CONFIGURANDO LA MEMORIA DE Stata ................................................................. 13 1.7 CAMBIANDO EL DIRECTORIO DE TRABAJO DE Stata ........................................... 14 1.8 BASES DE DATOS DE EJEMPLO ................................................................................. 14 1.9 TIPOS DE VARIABLES .................................................................................................. 14 2. MANEJO DE BASES DE DATOS ................................................................ 16 2.2 SALVANDO UNA BASE DE DATOS ........................................................................... 22 2.3 DESCRIPCIÓN DE LA BASE DE DATOS .................................................................... 22 2.4 CONSERVAR Y RECARGAR BASES DE DATOS ...................................................... 30 2.5 FILTROS DE LA BASE DE DATOS .............................................................................. 30 2.6 ADMINISTRADOR DE VARIABLES ............................................................................ 31 2.7 CREACIÓN DE CATEGORÍAS ...................................................................................... 32 2.10 CAMBIO EN LA ORGANIZACIÓN DE LOS DATOS ................................................. 38 2.11 PROBLEMAS EN EL MANEJO DE BASES DE DATOS ............................................. 43 2.12 ANÁLISIS DE DUPLICADOS ........................................................................................ 45 2.13 CREACIÓN DE PROGRAMAS – EDITOR DE TEXTO ............................................... 49 3 ANÁLISIS ESTADÍSTICO CON Stata ......................................................... 50 3.1 ESTADÍSTICAS DESCRIPTIVAS .................................................................................. 51 3.2 PONDERADORES – WEIGHT- ...................................................................................... 52 3.3 CALCULO DE MEDIAS ................................................................................................. 53 3.4 INTERVALOS DE CONFIANZA ................................................................................... 53 3.5 PRUEBAS DE HIPÓTESIS ............................................................................................. 54 3.6 MANEJO DE Tablas DE DATOS .................................................................................... 54 3.7 PRUEBAS PARAMÉTRICAS ......................................................................................... 56 BRAYAN RICARDO ROJAS O. INSTRUCTOR 4 3.8 PRUEBAS NO PARAMÉTRICAS .................................................................................. 56 4 GRÁFICAS CON Stata ................................................................................... 58 4.1 HISTOGRAMAS .............................................................................................................. 59 4.2 GRÁFICO DE TORTAS .................................................................................................. 61 4.3 GRÁFICO DE CAJAS ...................................................................................................... 66 4.4 GRAFICAS TWOWAY ................................................................................................... 67 4.5 EDITOR DE GRÁFICOS DE Stata .................................................................................. 68 4.6 GRAFICA DE SERIES DE TIEMPO .............................................................................. 72 4.7 SCATTER GRAPH .......................................................................................................... 74 4.8 GRAFICA DE PUNTOS .................................................................................................. 75 4.9 GRAFICOS DE BARRAS ................................................................................................ 76 4.10 OPCIONES Y EJEMPLOS ............................................................................................... 79 4.11 COMBINANDO GRÁFICAS .......................................................................................... 86 4.12 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 LOCAL MACROS.......................................................................................................... 143 9.2 CREANDO CICLOS ...................................................................................................... 143 9.3 ESCALARES Y MATRICES ......................................................................................... 144 10 TRUCOS CON Stata ..................................................................................... 148 11 BIBLIOGRAFIA ........................................................................................... 161 BRAYAN RICARDO ROJAS O. INSTRUCTOR 5 1. { TC "MANEJO FUNDAMENTAL DE STATA 11" }MANEJO FUNDAMENTAL DE Stata 12{ TC "MANEJO FUNDAMENTAL DE STATA 11" } Stata es un programa estadístico para investigadores de diferentes disciplinas, como bioestadísticos investigadores sociales y económicos. Los diferentes tipos de análisis integrados a Stata están documentados y soportados teóricamente por numerosos documentos, publicaciones y revistas. Los manuales de Stata reúnen en 19 volúmenes con ejemplos estadísticos, explicaciones teóricas, métodos, fórmulas y documentos de referencia. Al tratarse de un programa en ambiente Windows, su interface es similar a la de todos los programas bajo este ambiente. Stata está disponible en 4 tipos de versión. Small Stata Versión estudiantil de Stata Intercooled Stata Versión estándar de Stata Stata/SE Versión especial de Stata para manejo de bases de datos grandes. Stata/MP Versión especial de Stata diseñada para trabajar en equipos con más de un procesador o núcleo (2 a 32 procesadores) Tabla 1. Tipos de versión Stata A continuación se presentan las principales diferencias entre las versiones Intercooled y SE de Stata 2 : Small Stata/IC Stata/MP and Stata/SE Número de observaciones 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 BRAYAN RICARDO ROJAS O. INSTRUCTOR 6 Número de Variables 99 2,047 32,767 Tabla 2. Diferencia entre versiones 1.1 CONOCIENDO EL ENTORNO DE Stata Una vez que se hace clic en el icono de Stata en el menú de inicio, se despliegan los siguientes cuadros de trabajo. Estas ventanas constituyen el cuerpo básico Stata para llevar a cabo un análisis de datos, teniendo una interface bastante amigable. 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 VENTANA DE RESULTADOS VENTANA DE COMANDOS V E N T A N A D E R E V I S I Ó N VENTANA DE VARIABLES VENTANA DE PROPIEDADES DE VARIABLES BRAYAN RICARDO ROJAS O. INSTRUCTOR 7 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 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 Barra de Nombre Barra de Menús Barra de Herramientas BRAYAN RICARDO ROJAS O. INSTRUCTOR 8 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 BRAYAN RICARDO ROJAS O. INSTRUCTOR 9 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. BRAYAN RICARDO ROJAS O. INSTRUCTOR 10 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: BRAYAN RICARDO ROJAS O. INSTRUCTOR 11 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 BRAYAN RICARDO ROJAS O. INSTRUCTOR 12 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 BRAYAN RICARDO ROJAS O. INSTRUCTOR 13 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. 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 es 4 : 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. Comando Descripción del comando Copiar como comando Ejecutar No Ejecutar Ejecutar y mantener la ventana activa Ayuda de la instrucción Limpiar la ventana BRAYAN RICARDO ROJAS O. INSTRUCTOR 14 set mem 100m Es muy importante que antes de empezar una sesión de trabajo el usuario configure la cantidad de memoria RAM que necesita de lo contrario emergerá el siguiente error: no room to add more observations r (901); 1.7 CAMBIANDO EL DIRECTORIO DE TRABAJO DE Stata La sintaxis para cargar y salvar datos puede ser muy extensa dependiendo de la ruta de acceso a las bases de datos o el lugar en el disco duro donde se quieran almacenar los resultados. Una forma práctica de abreviar la sintaxis en ambos casos consiste en indicarle a Stata, antes de comenzar la sesión de trabajo, el lugar en el disco duro de donde se desean tomar los datos y donde se quieren almacenar los resultados. Este procedimiento se lleva a cabo a través del comando cd así: cd "C:\...." La otra opción es por medio del Menú File  Change Working Directory Entre comillas se debe encontrar la dirección o ruta de la carpeta donde se encuentran las bases de datos que serán empleadas en la sesión de trabajo de Stata. 1.8 BASES DE DATOS DE EJEMPLO En el momento en que Stata se instala en su equipo se incluyen bases de datos de ejemplo las cuales le permitirán trabajar con el software, tenga en cuenta estos archivos dado que la ayuda en muchas ocasiones se referencia a las bases de datos del software, para acceder a ellas siga la ruta File  Example Datasets  Example datasets installed with Stata o para acceder a todas las bases de datos seleccione Stata 12 manual datasets pero debe tener acceso a internet. El comando asociado es sysuse dir * para ver el directorio de bases de ejemplo en su equipo sysuse auto.dta * cargará la base auto.dta que es una base de ejemplo de Stata 1.9 TIPOS DE VARIABLES Una de las preguntas comunes en el manejo de un software estadístico es cómo el programa clasifica o categoriza las variables, es decir que formato es posible asignarle a una variable, para ello es necesario primero que el usuario tenga claro el tipo de variable. 4 Se recomienda revisar la ayuda sobre el comando set y el comando memory BRAYAN RICARDO ROJAS O. INSTRUCTOR 15 Las variables las podemos dividir de acuerdo al siguiente esquema 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 FORMATO MÍNIMO MÁXIMO Byte -127 100 %8.0g Int -32,767 32,740 %8.0g Long -2,147,483,647 2,147,483,620 %12.0g Float -1.70141E+38 1.70141173319*10^38 %9.0g Doublé -8.9885E+307 8.9884656743*10^307 %10.0g Precisión para FLOAT 3.795x10^-8. Precisión para DOBLE 1.414x10^-16. Tabla 4. Tipos de Variable El número que aparece después del símbolo % es el número máximo de dígitos enteros o ancho que soporta el formato y el número a la derecha índica el número de decimales, posteriormente se encuentra una letra. Donde [f] es aproximación al entero más cercano, [e] indica notación científica y [g] indica decimales. Stata por defecto selecciona el formato FLOAT, el otro tipo de variables son las variables alfanuméricas, estas variables en las que se encuentran principalmente las variables cualitativas, Stata define un formato especial para ellas, y es el formato STRING, %str# es la visualización de este formato, en el cual el carácter # indica el largo de la cadena. VARIABLE CUANTITATIVA Continua Discreta CUALITATIVA BRAYAN RICARDO ROJAS O. INSTRUCTOR 16 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 Variable numérica 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 % 20 s Variable “String” Inicio de un formato número de caracteres 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 BRAYAN RICARDO ROJAS O. INSTRUCTOR 17 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. BRAYAN RICARDO ROJAS O. INSTRUCTOR 18 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”)). BRAYAN RICARDO ROJAS O. INSTRUCTOR 19 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 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. Ícono de EDIT BRAYAN RICARDO ROJAS O. INSTRUCTOR 20  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: BRAYAN RICARDO ROJAS O. INSTRUCTOR 21 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 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 BRAYAN RICARDO ROJAS O. INSTRUCTOR 22 Hay otro tipo de archivos que Stata le permite importar automáticamente como archivo para ello se recomienda tener en cuenta las siguientes recomendaciones: TIPO DE BASE COMANDO ODBC Odbc Archivo de Texto sin diccionario (.raw) Infile Archivo de Texto con ancho fijo (.raw) Infix Archivo de Texto con diccionario ( infile2 Formatos SAS XPORT o .xpf import sasxport Formato tipo haver haver XML files Xmlsave Tabla 5. Otros comandos para importar archivos Finalmente si tiene otro tipo de archivos se recomienda que adquiera el software Stat/transfer, para mayor información ingrese a http://www.stata.com/products/transfer.html, éste programa le permite importar archivos tipo SPSS, SAS, R, RATS, Statistica, MATLAB, GAUSS, entre otros. 2.2 SALVANDO UNA BASE DE DATOS Como los datos han sido cargados en la memoria RAM, sólo puede modificarse la base de datos original de tres formas  Haciendo clic en el icono de salvado en la barra de herramientas  Haciendo clic en ctrl+S  A través del cuadro de comandos empleando el comando “save”, por ejemplo save base1.dta, replace La opción replace le permite sobre escribir un archivo que tenga en el mismo directorio de trabajo activo y con el mismo nombre. Una vez que los datos han sido guardados o abiertos es posible optimizar el espacio que estos ocupan utilizando el comando compress este comando comprime la base de datos. Es muy útil cuando trabajamos con bases de datos grandes. 2.3 DESCRIPCIÓN DE LA BASE DE DATOS Una vez se tenga una base de datos cargada, es necesario empezar a revisarla y obtener información de ella, para ellos Stata le permite al usuario por medio de diferentes procedimientos entender cada variable y su contenido. BRAYAN RICARDO ROJAS O. INSTRUCTOR 23 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 BRAYAN RICARDO ROJAS O. INSTRUCTOR 24 *Describir los datos describe make price 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 Creación de Variables Por medio del menú Data podemos encontrar opciones como crear nuevas variables Data  Create or Change Data  Create New Variable: . mpg int %8.0g Mileage (mpg) price int %8.0gc Price make str18 %-18s Make and Model variable name type format label variable label storage display value foreign byte %8.0g origin Car type gear_ratio float %6.2f Gear Ratio displacement int %8.0g Displacement (cu. in.) turn int %8.0g Turn Circle (ft.) length int %8.0g Length (in.) weight int %8.0gc Weight (lbs.) trunk int %8.0g Trunk space (cu. ft.) headroom float %6.1f Headroom (in.) rep78 int %8.0g Repair Record 1978 mpg int %8.0g Mileage (mpg) price int %8.0gc Price make str18 %-18s Make and Model variable name type format label variable label storage display value BRAYAN RICARDO ROJAS O. INSTRUCTOR 25 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 BRAYAN RICARDO ROJAS O. INSTRUCTOR 26 Tabla 6. Operadores En algunas ocasiones se requieren algunos caracteres especiales, uno de ellos son los caracteres _n y _N o denominadas variables del sistema, _n es un contador del número de observaciones, y _N indica el total de observaciones de la base de datos. gen tendencia = _n gen totales = _N Para la creación de variables con condiciones puede utilizar la opción de la estructura de comandos [if] [in], estas opciones le permitirán poner restricciones no solo para la creación de variables si no para la gran mayoría de comandos que contiene Stata, debe tener en cuenta que solo debe escribir una vez el carácter if o in, a continuación algunos ejemplos en el uso de estos caracteres especiales: gen dummy = 1 if TV >5 * crea una variable con valores = 1 si TV > 5, perdido en otro caso. list make mpg if mpg>25 list price in 10/20 * crea una lista para las observaciones entre la 10 y 20 list price in -10/l * crea una lista con las últimas 10 observaciones Para la opción in se puede utilizar las siguientes estructuras: #  Condición sobre una única observación #/#  Condición sobre un rango de observaciones #/l  Condición sobre una observación hasta la última (l) f/#  Condición desde la primera observación (f) hasta una observación -#/#  Condición desde las últimas # observaciones hasta # que puede ser la última con l BRAYAN RICARDO ROJAS O. INSTRUCTOR 27 A continuación listamos algunas funciones matemáticas, estadísticas y de fecha importantes en la creación de variables FUNCIÓN EJEMPLO DESCRIPCIÓN ln() g lpib = ln(pib) Logaritmo natural exp() g epib = exp(pib) Exponencial sqrt() g y = sqrt(epib) Raíz cuadrada abs() g x = abs(y) Valor absoluto cos() g coseno = cos() Coseno logit() g logit = logit(x) Retorna el logaritmo de los odds ratio de x runiform() g uniforme = runiform() Genera números aleatorios de una distribución uniforme [0,1) rnormal() g normal = rnormal() Genera números aleatorios de una distribución normal estándar (0,1) rnormal(m,s) g normal = rnormal(10,2) Genera números aleatorios de una distribución normal con media m y desviación estándar s int() g enteros = int(pib) Convierte una variable o dato en entero invnormal(p) g inversa = invnormal(prob) Genera una variable como la inversa de la probabilidad de una distribución normal length(s) g largo = length(nombre) Presenta el número de caracteres de una variable string Tabla 7. Ejemplos Funciones generate 2.3.2 Extensiones en la creación de variables Podemos utilizar algunos comandos adicionales para la creación de variables con algunas condiciones, tales como el comando egen y la función cond() Ejemplos: gen dummy = cond(TV>5,1,0) gen dummy = (TV>5) egen concatenar = concatenate(“variable1” “ “ “variable”) FUNCIÓN EJEMPLO DESCRIPCIÓN max() egen maximo = max(ingresos) Presenta el máximo de una variable min() egen minimo = min(ingresos) Presenta el mínimo de una variable mean() egen promedio = mean(ingresos) Presenta el promedio de una variable kurt() egen curtosis = kurt(ingresos) Presenta la curtosis de una variable sd() egen desviación = sd(ingresos) Presenta la desviación estándar de una variable 2.3.3 Ordenar variables y bases de datos Ordenar datos Data  Sort  Ascending Sort: BRAYAN RICARDO ROJAS O. INSTRUCTOR 28 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 BRAYAN RICARDO ROJAS O. INSTRUCTOR 29 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 codebook price inspect, entrega el número de observaciones de una variable identificando los valores positivos, negativos, cero, missing, y si estos corresponden a números enteros o no. Los “missing values” se 3 1 Foreign 12 0 Domestic tabulation: Freq. Numeric Label unique values: 2 missing .: 0/15 range: [0,1] units: 1 label: origin type: numeric (byte) foreign Car type 3 15906 3 14500 3 13594 3 13466 3 12990 tabulation: Freq. Value unique values: 5 missing .: 0/15 range: [12990,15906] units: 1 type: numeric (int) price Price BRAYAN RICARDO ROJAS O. INSTRUCTOR 30 señalan en Stata mediante un punto (.). Se considera que un missing value es mayor que cualquier valor. 2.4 CONSERVAR Y RECARGAR BASES DE DATOS Es importante cuidar la base de datos que se está trabajando, por eso se recomienda salvar la base de datos, pero además, Stata ofrece opciones que le permitirán al usuario guardar la base de datos de forma virtual, por medio de los comandos preserve y snapshot y para recuperar la base con el comando restore preserve restore snapshot save, label("nombre del elemento guardado") snapshot restore 1 La diferencia entre el snapshot y el preserve es que este último solo permite guardar una vez la base de datos, mientras el snapshot varias veces. 2.5 FILTROS DE LA BASE DE DATOS Ejemplos de filtros browse if pop > 10000000 browse if pop > 10000000 & marriage > 100000 browse if pop > 10000000 & marriage > 100000 & popurban > 10000000 browse if pop > 10000000 | marriage > 100000 & popurban > 10000000 Uso del in browse pop in 1/10 browse pop in f/10  f = FIRST, l = LAST browse pop in 10/l  hasta el último Se puede combinar con que realizar el filtro puede usar los comandos browse, edit, keep, drop y list. drop elimina observaciones y/o variables. keep conserva observaciones y/o variables. list presenta variables y/o observaciones en la ventana de resultados. (5 unique values) 1 5 74 . # # # # Missing 5 # # # Total 69 69 - # # # Positive 69 69 - # Zero - - - # Negative - - - Total Integers Nonintegers rep78: Repair Record 1978 Number of Observations . inspect rep78 BRAYAN RICARDO ROJAS O. INSTRUCTOR 31 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: BRAYAN RICARDO ROJAS O. INSTRUCTOR 32 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 BRAYAN RICARDO ROJAS O. INSTRUCTOR 33 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. BRAYAN RICARDO ROJAS O. INSTRUCTOR 34 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) BRAYAN RICARDO ROJAS O. INSTRUCTOR 35 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). BRAYAN RICARDO ROJAS O. INSTRUCTOR 36 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 EDUCACION.dta HOMBRES.dta Adición casos: append No es necesaria variable llave  MUJERES.dta Adición de variables: merge Es necesaria variable llave. Las bases de datos deben estar ordenadas. Revisar la variable _merge  BRAYAN RICARDO ROJAS O. INSTRUCTOR 37 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. BRAYAN RICARDO ROJAS O. INSTRUCTOR 38 isid id num Si emerge error es porque el identificador se repite y si va hacer una fusión tendrá inconvenientes. Al momento de realizar el merge se crea una variable denominado _merge, que contiene tres valores: _merge = = 1 Las observaciones son originarias del archivo “master” o base _merge = = 2 Las observaciones son originarias del archivo “using” _merge = = 3 Las observaciones se encuentran en ambos archivos Siguiendo con el ejemplo anterior, vamos a agregar a la base de datos PERSONAS.dta, nuevas variables con la información sobre el nivel educativo y los años de educación aprobados de las personas. Esta información se encuentra en la base de datos EDUCACION.dta. Los pasos a seguir para realizar este tipo de pegue son: 1. Cargar la base “using” (EDUCACION.dta) de donde queremos traer las nuevas variables, la ordenamos de acuerdo con la(s) variable(s) identificadora(s) “numero y e01” y salvamos los cambios. El comando para ordenar las observaciones es sort así: use EDUCACION sort numero e01 d save EDUCACION, replace En este caso, el comando save está acompañado de la opción replace la cual denota que se está sobrescribiendo en la base EDUCACION original. 2. Cargar la base “master” (PERSONAS.dta), la ordenamos por el mismo criterio anterior y salvamos los cambios. use PERSONAS sort numero e01 d save PERSONAS, replace 3. Aplicamos el comando merge para pegar horizontalmente las dos bases así: La base de datos PERSONAS.dta contiene ahora las variables de la base de datos EDUCACION.dta, creando automáticamente la variable _merge. 2.10 CAMBIO EN LA ORGANIZACIÓN DE LOS DATOS BRAYAN RICARDO ROJAS O. INSTRUCTOR 39 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) BRAYAN RICARDO ROJAS O. INSTRUCTOR 40 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 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) 6. VT .1086679 .0445188 .5644092 .7219492 .6759487 5. RI .684176 .2551499 .2110077 .4079702 .0580662 4. NH .6047949 .8714491 .8414094 .1180158 .8944746 3. ME .5578017 .5552388 .5219247 .2769154 .4216726 2. MA .6432207 .0610638 .8983462 .9477426 .4611429 1. CT .1369841 .6184582 .4241557 .2648021 .871691 state pop1970 pop1980 pop1990 pop2000 area BRAYAN RICARDO ROJAS O. INSTRUCTOR 41 con la base de datos actual pasaremos de wide a long reshape long pop, i(state) j(año) list Si se encuentra usted con una base de datos similar a la generada con el comando reshape, podrá pasarla a formato wide, en nuestro caso usaremos la siguiente sintaxis 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) pop1970 pop1980 ... pop2000 -> pop xij variables: j variable (4 values) -> año Number of variables 6 -> 4 Number of obs. 6 -> 24 > Data wide -> long 24. VT 2000 .7219492 .6759487 23. VT 1990 .5644092 .6759487 22. VT 1980 .0445188 .6759487 21. VT 1970 .1086679 .6759487 20. RI 2000 .4079702 .0580662 19. RI 1990 .2110077 .0580662 18. RI 1980 .2551499 .0580662 17. RI 1970 .684176 .0580662 16. NH 2000 .1180158 .8944746 15. NH 1990 .8414094 .8944746 14. NH 1980 .8714491 .8944746 13. NH 1970 .6047949 .8944746 12. ME 2000 .2769154 .4216726 11. ME 1990 .5219247 .4216726 10. ME 1980 .5552388 .4216726 9. ME 1970 .5578017 .4216726 8. MA 2000 .9477426 .4611429 7. MA 1990 .8983462 .4611429 6. MA 1980 .0610638 .4611429 5. MA 1970 .6432207 .4611429 4. CT 2000 .2648021 .871691 3. CT 1990 .4241557 .871691 2. CT 1980 .6184582 .871691 1. CT 1970 .1369841 .871691 state año pop area BRAYAN RICARDO ROJAS O. INSTRUCTOR 42 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”) BRAYAN RICARDO ROJAS O. INSTRUCTOR 43 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 expand 3 5. Peugeot 604 12,990 4. Linc. Versailles 13,466 3. Linc. Mark V 13,594 2. Cad. Seville 15,906 1. Cad. Eldorado 14,500 make price BRAYAN RICARDO ROJAS O. INSTRUCTOR 44 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 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 15. Peugeot 604 12,990 14. Peugeot 604 12,990 13. Peugeot 604 12,990 12. Linc. Versailles 13,466 11. Linc. Versailles 13,466 10. Linc. Versailles 13,466 9. Linc. Mark V 13,594 8. Linc. Mark V 13,594 7. Linc. Mark V 13,594 6. Cad. Seville 15,906 5. Cad. Seville 15,906 4. Cad. Seville 15,906 3. Cad. Eldorado 14,500 2. Cad. Eldorado 14,500 1. Cad. Eldorado 14,500 make price BRAYAN RICARDO ROJAS O. INSTRUCTOR 45 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 BRAYAN RICARDO ROJAS O. INSTRUCTOR 46 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 genera el siguiente resultado 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 3 15 10 copies observations surplus Duplicates in terms of make . duplicates report make BRAYAN RICARDO ROJAS O. INSTRUCTOR 47 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 5 15 Peugeot 604 5 14 Peugeot 604 5 5 Peugeot 604 4 13 Linc. Versailles 4 12 Linc. Versailles 4 4 Linc. Versailles 3 11 Linc. Mark V 3 10 Linc. Mark V 3 3 Linc. Mark V 2 9 Cad. Seville 2 8 Cad. Seville 2 2 Cad. Seville 1 7 Cad. Eldorado 1 6 Cad. Eldorado 1 1 Cad. Eldorado group: obs: make Duplicates in terms of make BRAYAN RICARDO ROJAS O. INSTRUCTOR 48 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 15. Peugeot 604 2 14. Peugeot 604 2 13. Peugeot 604 2 12. Linc. Versailles 2 11. Linc. Versailles 2 10. Linc. Versailles 2 9. Linc. Mark V 2 8. Linc. Mark V 2 7. Linc. Mark V 2 6. Cad. Seville 2 5. Cad. Seville 2 4. Cad. Seville 2 3. Cad. Eldorado 2 2. Cad. Eldorado 2 1. Cad. Eldorado 2 make duplic~o BRAYAN RICARDO ROJAS O. INSTRUCTOR 49 2.13 CREACIÓN DE PROGRAMAS – EDITOR DE TEXTO El usuario puede abrir un editor de texto donde puede crear programas (archivos “.do” y “.ado” de Stata) haciendo clic en el icono de la ventana “New Do-file Editor” como se muestra en la siguiente ilustración o presionando “control+8” o haciendo clic en el submenú “Do-file Editor” en el menú “Window” en la barra de herramientas. FIGURA 19. Creación de un archivo .do El usuario puede ejecutar uno o más comandos simultáneamente, generar (macros) o crear rutinas nuevas para STATA desde un editor de texto al que se accede haciendo clic en el icono –New Do- file Editor–. A través de este editor se pueden crear archivos tipo *.do y *.ado. Los archivos *.do son conjuntos de comandos y macros que únicamente se pueden ejecutar cuando el archivo está activo. En contraste, los archivos *.ado son rutinas que se incorporan a STATA permanentemente y pueden ser ejecutadas desde la el cuadro de comandos o incluso desde otros archivos *.do y *.ado. Se accede a este editor como se muestra en la siguiente ilustración, presionando control+8 o haciendo clic en el submenú –Do-file Editor– en el menú –Window– en la barra de herramientas. (Darw.) 2.14 COMENTARIOS ADICIONALES LOG FILES COMANDOS USADOS append browse by bysort cd clear 5. Peugeot 604 4. Linc. Versailles 3. Linc. Mark V 2. Cad. Seville 1. Cad. Eldorado make BRAYAN RICARDO ROJAS O. INSTRUCTOR 50 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 mat more notes sample seed separate split stack svy tostring translate versión operators 3 { TC "MANEJO FUNDAMENTAL DE STATA 11" }ANÁLISIS ESTADÍSTICO CON Stata Stata tiene una amplia posibilidad de realizar los procedimientos generalmente es posible encontrar varios comandos en diferentes menús. Por ejemplo para poder obtener las estadísticas descriptivas de una variable es posible usando inicialmente los comandos o por medio de ventanas de ejecución. BRAYAN RICARDO ROJAS O. INSTRUCTOR 51 Algunos comandos despliegan mucha información que se va mostrando por secciones, para que sigan apareciendo los resultados es necesario dar clic en el botón GO, o en el mensaje de –more- que aparece en la parte inferior de la ventana de resultados. Pero es posible desactivar la opción para que emerga todo el resultado inmediatamente por medio de set more off. Para el análisis estadístico el menú Statistics permite obtener gran cantidad de opciones para poder desarrollar los temas del curso. Por ejemplo en Statistics Summary, tables, and test Summary and descriptive analysis: pueden realizar varias operaciones como son cálculo del intervalo de confianza, test para medias, varianzas, dos muestras, etc., pruebas parámetricas y no parámetrica 3.1 ESTADÍSTICAS DESCRIPTIVAS Para poder realizar este tipo de procedimiento se escribe en la barra de comandos el comando sum que es el prefacio del comando summarize es un comando estándar para generar estadísticos descriptivos, proporciona información acerca del número de observaciones, la media, la desviación típica, el mínimo y el máximo de la variable especificada, BRAYAN RICARDO ROJAS O. INSTRUCTOR 52 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- BRAYAN RICARDO ROJAS O. INSTRUCTOR 53 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 3.4 INTERVALOS DE CONFIANZA price 6165.257 342.8719 5481.914 6848.6 Mean Std. Err. [95% Conf. Interval] Mean estimation Number of obs = 74 . mean price BRAYAN RICARDO ROJAS O. INSTRUCTOR 54 Intervalos de confianza Statistics Summarize, tables and test Summary and descriptive 3.5 PRUEBAS DE HIPÓTESIS 3.5.1 Media Con Stata puede hacer pruebas de hipótesis de diferencia de medias ttest horas = 15 ttest horas = wporhora 3.5.2 Varianza 3.5.3 Proporciones 3.6 MANEJO DE Tablas DE DATOS price 74 6165.257 342.8719 5481.914 6848.6 Variable Obs Mean Std. Err. [95% Conf. Interval] . ci price BRAYAN RICARDO ROJAS O. INSTRUCTOR 55 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 BRAYAN RICARDO ROJAS O. INSTRUCTOR 56 3.6.2 Tabulate (tab) Este comando permite construir tablas de frecuencias. 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 Total 69 100.00 5 11 15.94 100.00 4 18 26.09 84.06 3 30 43.48 57.97 2 8 11.59 14.49 1 2 2.90 2.90 Record 1978 Freq. Percent Cum. Repair . tabulate rep78 BRAYAN RICARDO ROJAS O. INSTRUCTOR 57 Statistics Summarize, tables and test Nonparametric Test of hyphotesis 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 Combined K-S: 40.4189 0.000 0.000 Cumulative: -40.4189 0.000 price: -11.0270 0.000 Smaller group D P-value Corrected mpg One-sample Kolmogorov-Smirnov test against theoretical distribution . ksmirnov price = mpg BRAYAN RICARDO ROJAS O. INSTRUCTOR 58 compare Ereturn ktau ladder Return Signtest spearman Stem tabi Weight set level 90 outreg2 outreg 4 { TC "MANEJO FUNDAMENTAL DE STATA 11" }GRÁFICAS CON Stata Stata cuenta con una poderosa herramienta gráfica, permitiendo obtener gráficas de excelente calidad y con varias opciones de edición de las mismas, es posible realizar gráficas como histogramas, barras, de torta, series de tiempo, Box plot, dispersión, para datos panel y para otros tipos de análisis como son de supervivencia, multivariado, control de calidad, etc. Stata tiene dos formas de generar múltiples gráficos, a través de la ventana de comandos con el comando graph o utilizando la barra de herramientas en Graphics. El comando graph se utiliza con el tipo de gráfico a realizar. A continuación se presenta la lista de posibles gráficos Gráficos TWOWAY: Plottype description --------------------------------------------------------------------- scatter scatterplot line line plot connected connected-line plot scatteri scatter with immediate arguments area line plot with shading bar bar plot spike spike plot dropline dropline plot dot dot plot rarea range plot with area shading rbar range plot with bars rspike range plot with spikes rcap range plot with capped spikes rcapsym range plot with spikes capped with symbols rscatter range plot with markers rline range plot with lines rconnected range plot with lines and markers pcspike paired-coordinate plot with spikes pccapsym paired-coordinate plot with spikes capped with symbols pcarrow paired-coordinate plot with arrows pcbarrow paired-coordinate plot with arrows having two heads pcscatter paired-coordinate plot with markers BRAYAN RICARDO ROJAS O. INSTRUCTOR 59 pci pcspike with immediate arguments pcarrowi pcarrow with immediate arguments tsline time-series plot tsrline time-series range plot mband median-band line plot mspline spline line plot lowess LOWESS line plot lfit linear prediction plot qfit quadratic prediction plot fpfit fractional polynomial plot lfitci linear prediction plot with CIs qfitci quadratic prediction plot with CIs fpfitci fractional polynomial plot with CIs function line plot of function histogram histogram plot kdensity kernel density plot lpoly local polynomial smooth plot lpolyci local polynomial smooth plot with CIs Otros tipos de gráficos graph matrix Matrices de gráficos graph bar Gráficos de barras – vertical graph hbar Gráficos de barras – horizontal graph dot Gráficos de medias graph box Gráficos de cajas graph pie Gráficos de tortas Ejemplos: graph twoway connected var1 var3 graph twoway scatter var3 var1 var4 graph box var5 if dummy = =1 graph pie var3 var1 in 1/30 Para grabar un gráfico, se usa el comando graph save graph.gph y el nombre del archivo, recuerde que la extensión de los gráficos de Stata es .gph. Si lo queremos llamar de nuevo usamos graph use graph.gph Es posible combinar gráficos por medio del comando combine graph1 graph2.. A continuación se presenta una explicación más detallada de la creación de los diferentes tipos de gráficos 4.1 HISTOGRAMAS BRAYAN RICARDO ROJAS O. INSTRUCTOR 60 Histograma: Graphics Histogram - histogram price, normal (bin=33, start=2006, width=258942.94) BRAYAN RICARDO ROJAS O. INSTRUCTOR 61 4.2 GRÁFICO DE TORTAS Gráfica de Tortas : Graphics Pie Chart 0 1 . 0 e - 0 4 2 . 0 e - 0 4 3 . 0 e - 0 4 D e n s i t y 0 5,000 10,000 15,000 Price BRAYAN RICARDO ROJAS O. INSTRUCTOR 62 GRAFICAS DE TORTAS 70.27% 29.73% Domestic Foreign BRAYAN RICARDO ROJAS O. INSTRUCTOR 63 Utilizando la base NLSW.DTA, genere las siguientes gráficas: graph pie, over(occ7) legend(on cols(1) position(9)) graph pie, over(occ7) pie(4, explode(large)) legend(on cols(3)) scheme(economist) graph pie, over(occ7) pie(4, explode(large)) plabel(_all percent, color(black) size(large) format(%9.2f)) legend(on cols(3)) scheme(economist) Prof Mgmt Sales Cler. Operat. Labor Other Prof Mgmt Sales Cler. Operat. Labor Other BRAYAN RICARDO ROJAS O. INSTRUCTOR 64 graph pie, over(occ7) pie(4, explode(large)) plabel(_all name, color(black) size(medlarge) format(%9.2f)) legend(on cols(3)) scheme(economist) 14.11% 11.75% 32.32% 4.54% 10.95% 12.73% 13.58% Prof Mgmt Sales Cler. Operat. Labor Other Prof Mgmt Sales Cler. Operat. Labor Other Prof Mgmt Sales Cler. Operat. Labor Other BRAYAN RICARDO ROJAS O. INSTRUCTOR 65 graph pie, over(occ7) pie(4, explode(large)) plabel(_all name, color(black) size(medlarge) format(%9.2f)) legend(off) scheme(economist) graph pie, over(occ7) plabel(_all name, gap(-5)) plabel(_all percent, gap(5)) legend(off) Prof Mgmt Sales Cler. Operat. Labor Other Prof Mgmt Sales Cler. Operat. Labor Other 14.11% 11.75% 32.32% 4.541% 10.95% 12.73% 13.58% BRAYAN RICARDO ROJAS O. INSTRUCTOR 66 graph pie, over(occ7) scheme(vg_s2c) by(union) pie(2, explode) 4.3 GRÁFICO DE CAJAS Box Plot: Graphics Box Plot nonunion union Prof Mgmt Sales Cler. Operat. Labor Other Graphs by union worker BRAYAN RICARDO ROJAS O. INSTRUCTOR 67 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 0 5 , 0 0 0 1 0 , 0 0 0 1 5 , 0 0 0 P r i c e BRAYAN RICARDO ROJAS O. INSTRUCTOR 68 4.5 EDITOR DE GRÁFICOS DE Stata 1 0 2 0 3 0 4 0 M i l e a g e ( m p g ) 2,000 3,000 4,000 5,000 Weight (lbs.) BRAYAN RICARDO ROJAS O. INSTRUCTOR 69 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 BRAYAN RICARDO ROJAS O. INSTRUCTOR 70 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) Para acceder por medio de ventanas 1 0 2 0 3 0 4 0 2,000 3,000 4,000 5,000 2,000 3,000 4,000 5,000 Domestic Foreign M i l e a g e ( m p g ) Weight (lbs.) Graphs by Car type BRAYAN RICARDO ROJAS O. INSTRUCTOR 71 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 BRAYAN RICARDO ROJAS O. INSTRUCTOR 72 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) 4.6 GRAFICA DE SERIES DE TIEMPO sysuse uslifeexp twoway line le_wm year || line le_bm year 1 0 2 0 3 0 4 0 2,000 3,000 4,000 5,000 Weight (lbs.) Mileage (mpg) Fitted values 0 1 0 2 0 3 0 4 0 2000 3000 4000 5000 2000 3000 4000 5000 Domestic Foreign 95% CI Fitted values Mileage (mpg) Weight (lbs.) Graphs by Car type BRAYAN RICARDO ROJAS O. INSTRUCTOR 73 Usando la base sp2001ts.dta 4 0 5 0 6 0 7 0 8 0 1900 1920 1940 1960 1980 2000 Year Life expectancy, males Life expectancy, females BRAYAN RICARDO ROJAS O. INSTRUCTOR 74 Hacer con los mismos datos usando las opciones de: area, rarea, rconnected, rcap y rbar 4.7 SCATTER GRAPH 9 0 0 1 0 0 0 1 1 0 0 1 2 0 0 1 3 0 0 1 4 0 0 H i g h p r i c e / L o w p r i c e 1Jan01 1Apr01 1Jul01 1Oct01 1Jan02 Date BRAYAN RICARDO ROJAS O. INSTRUCTOR 75 graph matrix popgrowth lgnppc safewater lexp 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) Avg. annual % growth lgnppc safewater Life expectancy at birth 0 2 4 0 2 4 6 8 10 6 8 10 0 50 100 0 50 100 50 60 70 80 50 60 70 80 BRAYAN RICARDO ROJAS O. INSTRUCTOR 76 Realizar con los mismos datos pero usando los formatos: spike, dot, line y connected Usando la base allstate3.dta, genere la siguiente gráfica 4.9 GRAFICOS DE BARRAS Usando la base de datos nlsw.dat 1 2 5 0 1 3 0 0 1 3 5 0 1 4 0 0 C l o s i n g p r i c e 0 10 20 30 40 Trading day number AL AR DE FL GA KY LA MD MS NC OK SC TN TX VA WV 6 5 7 0 7 5 % w h o o w n h o m e 30 40 50 60 70 80 % born in state of residence BRAYAN RICARDO ROJAS O. INSTRUCTOR 77 BRAYAN RICARDO ROJAS O. INSTRUCTOR 78 Genere la misma gráfica pero que en el eje Y aparezca el porcentaje. graph bar (mean) tenure (mean) prev_exp, over(occ5) percentages graph bar (mean) tenure (mean) prev_exp, over(occ5) stack 0 2 4 6 8 Prof/Mgmt Sales Clerical Labor/Ops Other mean of tenure mean of prev_exp 0 5 1 0 1 5 Prof/Mgmt Sales Clerical Labor/Ops Other mean of tenure mean of prev_exp BRAYAN RICARDO ROJAS O. INSTRUCTOR 79 La opción de STACK produce una gráfica donde cada barra sería de dos o más barras apiladas, por lo que la división muestra la relación de las variables con respecto a total de la suma de las variables. 4.10 OPCIONES Y EJEMPLOS Gráficas con weight Allstates.dta twoway scatter ownhome borninstate [aweight = propval100], msymbol(oh) twoway (scatter propval100 region), xlabel(, valuelabel) 4 0 5 0 6 0 7 0 8 0 % w h o o w n h o m e 20 40 60 80 % born in state of residence BRAYAN RICARDO ROJAS O. INSTRUCTOR 80 Generando Funciones: 0 2 0 4 0 6 0 8 0 1 0 0 % h o m e s c o s t $ 1 0 0 K + NE N Cntrl South West Census region BRAYAN RICARDO ROJAS O. INSTRUCTOR 81 Genere el logaritmo de X, una distribución normal, el valor absoluto, x 2 , x 3 , 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 0 1 2 3 4 5 y 0 5 10 15 20 x BRAYAN RICARDO ROJAS O. INSTRUCTOR 82 BRAYAN RICARDO ROJAS O. INSTRUCTOR 83 - 1 0 - 5 0 5 1 0 0 5 10 15 20 Age category malmil fenmil BRAYAN RICARDO ROJAS O. INSTRUCTOR 84 0 5 1 0 1 5 2 0 A g e c a t e g o r y -10 -5 0 5 10 malmil fenmil BRAYAN RICARDO ROJAS O. INSTRUCTOR 85 BRAYAN RICARDO ROJAS O. INSTRUCTOR 86 4.11 COMBINANDO GRÁFICAS graph combine "C:\Users\USER\Desktop\Graph1.gph" "C:\Users\USER\Desktop\Graph2.gph" 4.12 OTRAS GRÁFICAS Under 5 5 to 9 10 to 14 15 to 19 20 to 24 25 to 29 30 to 34 35 to 39 40 to 44 45 to 49 50 to 54 55 to 59 60 to 64 65 to 69 70 to 74 75 to 79 80 to 84 0 5 10 10 5 malmil fenmil Población en Millones BRAYAN RICARDO ROJAS O. INSTRUCTOR 87 4.12.1 Kdensity sysuse auto kdensity length 4.12.2 Qnorm qnorm price 0 . 0 0 5 . 0 1 . 0 1 5 D e n s i t y 140 160 180 200 220 240 Length (in.) kernel = epanechnikov, bandwidth = 8.4732 Kernel density estimate 0 5 , 0 0 0 1 0 , 0 0 0 1 5 , 0 0 0 P r i c e 0 5,000 10,000 15,000 Inverse Normal BRAYAN RICARDO ROJAS O. INSTRUCTOR 88 4.12.3 Quantile quantile price 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 Etiqueta de la variable Num Código interno de identificación 0 5 0 0 0 1 0 0 0 0 1 5 0 0 0 Q u a n t i l e s o f P r i c e 0 .25 .5 .75 1 Fraction of the data BRAYAN RICARDO ROJAS O. INSTRUCTOR 89 Nombres Apellidos Documento Documento de identidad Dependencia Lugar en que labora Dedicación Categoría bajo la cual fue contratado fecha_ingreso estado_civil Sueldo Carro Respuesta a pregunta tiene o no carro Categoría Cargo que desempeña Para iniciar el análisis de los datos deberá llevar a cabo las siguientes tareas:  Importar los datos al programa: Las variables no tienen nombre. Usted deberá ingresarlos manteniendo el orden y sintaxis del cuadro anterior, por el método que considere conveniente. - Pistas: El cuadro de diálogo del comando con el cual importa los datos en formato csv. Los nombres de las variables no deben contener espacios. - Problema: Datos mal importados Pista: Separador de variables  Crear y asignar etiquetas a variables numéricas El siguiente cuadro le indica las etiquetas que debe crear para cada variable: Variable Valor Etiqueta Dependencia 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 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 BRAYAN RICARDO ROJAS O. INSTRUCTOR 90 16 17 18 19 20 Instituto de Estudios Políticos Instituto de Genética Medicina Odontología Veterinaria y Zootecnia Estado Civil 1 2 3 4 5 Casado Separado Soltero Unión Libre Viudo Carro 1 2 No Si Categoría 1 2 3 4 5 Experto DOS Instructor Asistente Instructor Asociado Profesor Asistente Profesor Asociado  Crear etiqueta para variable de texto Dedicación - Pista: El contenido de la variable debe ser reconocido como una etiqueta (encode).  Adicionar datos y variables: Resulta que la persona que digitó los datos lo hizo de forma incompleta, omitiendo datos y variables. Los datos adicionales (802) fueron posteriormente almacenados en el archivo Docentes2.dta y la variable género, para el total de los encuestados (2302), fue introducida en el archivo Genero_docentes.dta. Usted deberá introducirlos en la base que está trabajando correctamente, es decir, manteniendo la correspondencia entre los datos. Una vez incorporada la variable género, cree la etiqueta, conforme al formato de la variable.  Filtros (browse , list, edit, keep y drop) NOTA: PRIMERO GUARDE LA BASE DE DATOS EN EL SNAPSHOT - Filtre por las siguientes condiciones, los docentes hombres que trabajan en la dependencia Ciencias Económicas (5), tienen un salario inferior a 1500000 y son viudos (5). Exporte el resultado en un archivo formato csv con el nombre filtro_01, - Exporte en un archivo formato csv con el nombre filtro_02, los datos correspondientes a las personas mujeres que no tienen carro (1) , viven en unión libre (4) , son profesor asociado o asistente (4 – 5) y trabajan en las dependencias de Ciencias, Artes o Ingeniería (2 – 3 – 14). BRAYAN RICARDO ROJAS O. INSTRUCTOR 91 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 BRAYAN RICARDO ROJAS O. INSTRUCTOR 92 P.2 En total, ¿cuántas horas libres tienes a la semana para tu ocio o diversión? _______ HORAS P.3 Aproximadamente y por término medio, ¿cuántas horas semanales dedicas a ver la televisión? __________ TV P.4 ¿Cómo dirías que ha sido tu infancia, la definirías como... - La etapa más feliz de tu vida 1 - Una etapa más feliz que otras 2 - Una etapa igual de feliz que otras 3 - Una etapa menos feliz que otras 4 INFANCIA - La etapa menos feliz de tu vida 5 P.5 ¿Podrías decirme cuál es tu grado de dedicación en las siguientes tareas de tu hogar? - Hacer la cama 1 2 3 4 CAMA - Limpiar la casa 1 2 3 4 LIMPIAR - Cuidar de los hijos o hermanos pequeños 1 2 3 4 NIÑOS 1. No suelo hacerlo nunca 2. Sólo lo hago en ocasiones 3. Comparto esta tarea con otra/s personas 4. Recae en mí toda la responsabilidad, y suelo hacerlo siempre P.6 ¿Cuántos hijos crees que llegarás a tener? P.7 Y en el plano ideal, ¿cuántos hijos te gustaría llegar a tener? Llegará a tener Le gustaría HIJOS1 HIJOS2 - Uno 1 1 - Dos 2 2 - Tres 3 3 - Cuatro 4 4 - Cinco 5 5 - Ninguno 0 0 P.8 ¿En cuál de las siguientes situaciones te encuentras? - Tienes novio/a formal 1 - Ahora no tienes novio/a formal 2 - Hasta ahora sólo has tenido relaciones afectivas pasajeras 3 AMOR - Nunca has tenido una relación afectiva especial con un chico/a 4 P9. Vamos a hablar ahora de tus estudios. ¿En que centro realizaste la totalidad o la mayor parte de tus estudios? -En un centro estatal, público 1 -En un centro privado no religioso 2 COLEGIO -En un centro privado religioso 3 P10. Excluyendo los libros de texto, ¿Cuántos libros has leído en los últimos doce meses? BRAYAN RICARDO ROJAS O. INSTRUCTOR 93 ______________ LIBROS P11. ¿Cómo te defines en materia religiosa? -Católico practicante 1 -Católico no practicante 2 -Creyente de otra religión 3 RELIGION -No creyente 4 -Indiferente 5 P12. Cuando se habla de política se utilizan normalmente las expresiones izquierda y derecha. ¿En que casilla te colocarías? ESCALA IZQUIERDA DERECHA 01 02 03 04 05 06 07 08 09 10 P13. Que cantidad aproximadamente de dinero (en miles de pesetas) ingresas al mes por cada uno de los conceptos siguientes? Ingresos personales _________________ INGRESO1 Ingresos de tu pareja _________________ INGRESO2 Aportaciones familiares _________________ INGRESO3 P14. Actualmente, entre todos los miembros de tu hogar y por todos los conceptos, ¿de cuantos ingresos netos (sin descuentos) dispones por término medio en tu hogar al mes? -Menos o igual a 500 Euros. 1 -De 501 a 1000 Euros. 2 -De 1001 a 1500 Euros. 3 -De 1501 a 2000 Euros. 4 -De 2001 a 3000 Euros. 5 INGRESOT -De 3001 a 4000 Euros. 6 -De 4001 a 5000 Euros. 7 -De 5001 a 7500 Euros. 8 -De 7501 a 10 Mil Euros. 9 -Más de 10 Mil Euros. 10 P15. Sexo: -Hombre 1 GÉNERO -Mujer 2 P16. ¿Cuántos años cumpliste en tu último cumpleaños? ____________años EDAD Responda las siguientes preguntas: Envíe un archivo .doc con las respuestas correspondientes. 1. Cree una variable ingreso bruto que va a ser la suma de ingreso1, ingreso2 e ingreso3. BRAYAN RICARDO ROJAS O. INSTRUCTOR 94 2. Calcule los estadísticos descriptivos de cada una de las variables y analice cuáles tienen valores perdidos? Para los valores perdidos asígneles un valor verdadero de la siguiente forma VARIABLE VALOR PERDIDO A: OCIO 6 INFANCIA 5 HIJOS1 e HIJOS2 0 COLEGIO 1 LIBROS Depende la variable INGRESOT, por ejemplo si INGRESOT = 1, entonces LIBROS = 9, INGRESOT =2  LIBROS = 8, etc. RELIGION El Valor 9 es un valor perdido 3. Realice una prueba de comparación de medias, donde compare si la media de la variable ingreso1 es igual a ingreso2 4. Calcule las correlaciones entre los ingresos, libros y TV, son estadísticamente correlacionados? 5. ¿Cuántos hombres y cuántas mujeres tienen novio y les gusta el cine? 6. Cree tres grupos para la variable INGRESOT en una sola variable que se llame situacion_economica así: personas que ganan hasta 2000 Euros. Personas que ganan hasta 5000 Euros. y los demás. Asígneles en una nueva variable el calificativo de POBRES, ACOMODADOS Y RICOS respectivamente. (Recomendación use: generate y replace o recode) 7. ¿Cuántos POBRES, ACOMODADOS Y RICOS hay por GENERO y por EDAD 8. ¿Cuántos individuos ven menos de 18 horas de TV?. 9. En promedio, ¿Cuántas horas ven semanalmente la TV según la situación económica? 10. ¿Cuántos libros han leído por SEXO y por COLEGIO las personas que sostienen un noviazgo formal? 11. ¿Cuántos jóvenes españoles respondieron que no suelen hacer nunca al menos uno de los oficios del hogar? 12. ¿Calcule el porcentaje total por fila de la variable religión independientemente del sexo?, mencione cuál es el porcentaje de columna de los que son religión: No creyente y son mujeres, é indique este valor en porcentaje con respecto al total de personas? 13. Grafique las siguientes variables, es bajo su criterio el formato de presentación: a. Genero e IngresoT b. Genero, Religión e Ingreso c. Religión, amor e hijos1 d. Ocio, horas y tv e. Genero con ingreso1 e ingreso2 BRAYAN RICARDO ROJAS O. INSTRUCTOR 95 5 { TC "MANEJO FUNDAMENTAL DE STATA 11" }REGRESIÓN LINEAL EN Stata 6 Una de las principales fortalezas de Stata tiene que ver con la gran versatilidad, flexibilidad y facilidad que ofrece para estimar modelos de regresión. Uno de los principales objetivos de los modelos de regresión es explicar el comportamiento de uno o más fenómenos (variables dependientes) a partir de un conjunto de regresores (o variables independientes) que, en la mayoría de los casos, han sido identificados por la teoría como los factores que explican el fenómeno que se está estudiando. Sin duda, por la facilidad de su interpretación, los modelos de regresión lineal son los más populares y los más empleados por los investigadores de diferentes disciplinas. A continuación se presentan los pasos para estimar un modelo lineal a través de mínimos cuadrados ordinarios (MCO) a partir de la información de la base de datos “ECUACION INGRESO.dta”. El ejercicio propuesto busca establecer la relación existente entre los ingresos laborales mensuales (expresada en logaritmos) y un conjunto de variables de contexto de los individuos (horas de trabajo al mes, años de educación aprobados, años de experiencia laboral, sexo, etc.). La teoría económica establece que la relación entre los ingresos laborales y el conjunto de variables de contexto individual se puede representar (en su forma más simple) a través de la ecuación Donde el conjunto de variables empleadas en la estimación son: Variable Descripción de la variable lny Logaritmo natural del ingreso laboral mensual (Dependiente) lnm Logaritmo natural de las horas de trabajo al mes (Independiente) edu007 Número de años de educación aprobados (Independiente) exp Años de Experiencia laboral (Independiente) exp2 Años de experiencia laboral al cuadrado (Independiente) e03 Dummy de sexo "1=hombre; 0=Mujer" (Independiente) EJERCICIO: 6. A partir de la información de la base de datos “ECUACION INGRESO.dta”, generar las variables necesarias con sus respectivas etiquetas para estimar la ecuación (1) DESCRIPCIÓN ESTADÍSTICA DE LA INFORMACIÓN: Antes de estimar la ecuación de ingreso (1), es conveniente realizar una primera aproximación a los datos de forma descriptiva. El comando summarize (en forma abreviada summ) genera las estadísticas descriptivas básicas de una o más variables. La sintaxis del comando se describe a continuación: 6 omando aboutreg Findit aboutreg BRAYAN RICARDO ROJAS O. INSTRUCTOR 96 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 0.0000 0.0000 0.0000 0.0000 exp2 -0.1373 -0.0541 -0.4213 0.9425 1.0000 0.0000 0.0037 0.0000 exp -0.0766 -0.0211 -0.3772 1.0000 0.0000 0.0812 edu007 0.4995 -0.0127 1.0000 0.0000 lnm 0.3674 1.0000 lny 1.0000 lny lnm edu007 exp exp2 BRAYAN RICARDO ROJAS O. INSTRUCTOR 97 El comando “pwcorr” estima los coeficientes de correlación del conjunto de variables del modelo. En la matriz de correlaciones aparece el coeficiente de correlación que es un valor número que va desde 0 a 1 e indica el grado de asociación lineal entre las variables, este coeficiente viene acompañado del nivel de significancia (con la adición de la opción “sig”), que permite decidir sobre la hipótesis nula de que el coeficiente de correlación vale cero. En nuestro ejemplo, el coeficiente de correlación entre años de educación (edu007) e ingreso salarial en logaritmos (lny) es de 0,4 y tiene una significancia de 0, lo cual indica que existe una relación significativa entre estas dos variables. REPRESENTACIÓN GRAFICA DE LAS RELACIONES ENTRE VARIABLES: En segundo lugar, y como paso previo al proceso de estimación, analizamos gráficamente la relación entre la variable dependiente y cada uno de los regresores del modelo. Por ejemplo, para representar la relación entre los ingresos y los años de educación aprobados, es conveniente que primero generemos una variable que indique el ingreso promedio por año de educación así: Col1 Col2 Col3 Col4 id Años de educación Ingreso (Miles de pesos) Ingreso promedio por año de educación 1 6 20000 25000 2 6 30000 25000 3 6 25000 25000 4 5 25000 24000 5 5 24000 24000 6 5 23000 24000 7 2 24000 22000 8 2 20000 22000 9 0 20000 17500 10 0 15000 17500 La variable “ingreso promedio por año de educación” en la columna 4 se grafica respecto a los años de educación (el usuario puede comprobar que es más fácil identificar la relación entre la variable dependiente y los regresores si se generan variables promedio) Como se observa en la tabla anterior, la operación realizada en la columna 4 (ingreso promedio por año de educación), resulta de efectuar un cálculo al interior de la columna 3 (Ingreso), teniendo en cuenta como criterio de agrupación la columna 2 (años de educación). Este tipo de operaciones se pueden efectuar en Stata a través del comando egen. Como en nuestro caso la variable dependiente es el logaritmo de los ingresos laborales 1. Generamos la variable “lny_ed” que será promedio del logaritmo natural de los ingresos por año de educación aprobado. Esta operación, se realiza a través del comando egen y la opción by así: egen lny_ed=mean(lny), by(edu007) BRAYAN RICARDO ROJAS O. INSTRUCTOR 98 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. BRAYAN RICARDO ROJAS O. INSTRUCTOR 99 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 Variable independiente en niveles BRAYAN RICARDO ROJAS O. INSTRUCTOR 100 Variable dependiente en logaritmos Elasticidad: Cambio porcentual esperado en y ante un cambio porcentual en x. En nuestro ejemplo , 1 ˆ  Semi-elasticidad: Cambio porcentual esperado en y ante un cambio marginal en x. En nuestro ejemplo , 2 ˆ  , 3 ˆ  y 4 ˆ  Variable dependiente en niveles Cambio esperado en nivel en y ante un cambio porcentual en x Efecto marginal: Cambio esperado en 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. BRAYAN RICARDO ROJAS O. INSTRUCTOR 101 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 BRAYAN RICARDO ROJAS O. INSTRUCTOR 102 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 BRAYAN RICARDO ROJAS O. INSTRUCTOR 103 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. BRAYAN RICARDO ROJAS O. INSTRUCTOR 104 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 BRAYAN RICARDO ROJAS O. INSTRUCTOR 105 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. BRAYAN RICARDO ROJAS O. INSTRUCTOR 106 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? BRAYAN RICARDO ROJAS O. INSTRUCTOR 107 6 MODELOS ARIMA 9 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 BRAYAN RICARDO ROJAS O. INSTRUCTOR 108 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. BRAYAN RICARDO ROJAS O. INSTRUCTOR 109 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. BRAYAN RICARDO ROJAS O. INSTRUCTOR 110 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. BRAYAN RICARDO ROJAS O. INSTRUCTOR 111 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 BRAYAN RICARDO ROJAS O. INSTRUCTOR 112 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, BRAYAN RICARDO ROJAS O. INSTRUCTOR 113 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 BRAYAN RICARDO ROJAS O. INSTRUCTOR 114 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 BRAYAN RICARDO ROJAS O. INSTRUCTOR 115 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. BRAYAN RICARDO ROJAS O. INSTRUCTOR 116 7 MODELOS DE VARIABLE DEPENDIENTE DICOTÓMICA MODELOS LOGIT Y PROBIT Si queremos analizar los factores que determinan que una persona participe o no en el mercado laboral, o que un individuo apoye o no a un determinado candidato político, o que un estudiante alcance o no la titulación. Todas esas variables de análisis pueden tomar uno de dos valores: participación vs. no participación; apoyo vs. no apoyo; titulación vs. no titulación. Esa característica recibe el nombre de respuesta binaria o dicotómica. En la encuesta CASEN 2006 se encuentra la variable ACTIV, que considera a la población en edad de trabajar (15 años y superior). El comando “tab” acompañado de los pesos relativos nos permite alcanzar una descripción de la condición actividad en Chile para dicho año: ACTIVIDAD Freq. Percent Cum. Ocupados 6,578,325 53.11 53.11 Desocupados 519,357 4.19 57.3 Inactivos 5,288,175 42.7 100 Total 12,385,857 100 De la Población en Edad de Trabajar el 53% se encontraba ocupada, el 4% de la población se encontraba desempleada y un 42% no se estaba ni trabajando ni buscando empleo. La Población Económicamente Activa está determinada por aquella población ocupada o buscando activamente empleo, por lo que el 57% participaba activamente en el mercado laboral. Podemos generar una variable de participación a partir la variable ACTIV. La siguiente cadena de comandos genera la variable PARTI: gen PARTI=1 if ACTIV==1 | ACTIV==2 recode PARTI (mis=0) if ACTIV==3 label variable PARTI "Participa en el mercado laboral" label define part 1 "si" 0 "no" label values PARTI part tab PARTI [w=EXPR] Participa Freq. Percent Cum. No 5,288,175 42.7 42.7 Si 7,097,682 57.3 100 Total 12,385,857 100 Para el propósito de este ejemplo vamos a considerar las variables de género, edad, estado civil, nivel de estudios, nivel de ingresos del hogar, relación con el jefe de hogar y el número de personas en el hogar. Sin embargo, en un modelo ampliado podrían considerarse otras variables. Algunas de las opciones que se pueden utilizar para analizar la variable de participación son: -Modelo de regresión logística (el usado en el presente ejemplo) BRAYAN RICARDO ROJAS O. INSTRUCTOR 117 -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 modelo 12 . -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álidas 13 . REPRESENTACIÓN DE LAS RELACIONES ENTRE VARIABLES Participación y Género Participa en el Mercado Laboral Sexo no si Total Hombre 1,622,038 4,303,680 5,925,718 Mujer 3,666,137 2,794,002 6,460,139 Total 5,288,175 7,097,682 12,385,857 Participación y Nivel Educativo 12 La función logística es y la función probabilística es , donde z es una combinación lineal de las variables independientes y es la función cumulativa de la distribución normal. 0 1 , 0 0 0 , 0 0 0 2 , 0 0 0 , 0 0 0 3 , 0 0 0 , 0 0 0 4 , 0 0 0 , 0 0 0 P A R T I C I P A N Hombre Mujer BRAYAN RICARDO ROJAS O. INSTRUCTOR 118 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 0 . 2 . 4 . 6 . 8 1 S I N E D U C . B A S I C A I N C B A S I C A C O M P M . H U M . I N C O M M . H U M . C O M P L T E C . O U N I . I N C . T E C . O U N I . C O M P S I N E D U C . B A S I C A I N C B A S I C A C O M P M . H U M . I N C O M M . H U M . C O M P L T E C . O U N I . I N C . T E C . O U N I . C O M P Hombre Mujer T a s a G l o b a l d e P a r t i c i p a c i [ o n ( M e a n P A R T I ) Graphs by Sexo 0 . 2 . 4 . 6 . 8 1 25 30 35 40 45 50 25 30 35 40 45 50 Hombre Mujer T G P Edad Graphs by Sexo BRAYAN RICARDO ROJAS O. INSTRUCTOR 119 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: BRAYAN RICARDO ROJAS O. INSTRUCTOR 120 INTERPRETACIÓN DE RESULTADOS Logistic regression Number of obs = 12350554 LR chi2(26) = 5343508.93 Prob > chi2 = 0.0000 Log likelihood = -5757734.7 Pseudo R2 = 0.3170 PARTI Coef. Std. Err. z P>z [95% Conf. Interval] EDAD 1.405421 0.0004208 1136.8 0.000 1.404597 1.406246 EDAD2 0.9959793 3.35E-06 -1197 0.000 0.9959728 0.9959859 ESC 1.079306 0.0002364 348.4 0.000 1.078843 1.07977 NUMPER 0.9488846 0.0004178 -119.15 0.000 0.948066 0.9497039 ln_yh 1.411687 0.001251 389.07 0.000 1.409237 1.414141 SEXO 0.2841959 0.0005004 -714.53 0.000 0.2832169 0.2851784 Esposo(a)/pareja 0.2011062 0.000529 -609.71 0.000 0.200072 0.2021458 Hijo(a) de ambos 0.3484257 0.0012295 -298.8 0.000 0.3460244 0.3508438 Hijo(a) sólo del jefe 0.4514981 0.0016216 -221.4 0.000 0.4483311 0.4546876 Hijo(a) sólo pareja 0.4635512 0.0032046 -111.22 0.000 0.4573128 0.4698748 Padre o madre 0.4341893 0.0040822 -88.74 0.000 0.4262617 0.4422644 Suegro(a) 0.2939172 0.0037459 -96.07 0.000 0.2866663 0.3013516 Yerno o nuera 0.5033273 0.0028171 -122.66 0.000 0.4978361 0.5088792 Nieto(a) 0.3610026 0.0019264 -190.93 0.000 0.3572466 0.3647982 Hermano(a) 0.4379944 0.0027837 -129.9 0.000 0.4325723 0.4434844 Cuñado(a) 0.3344293 0.0033597 -109.03 0.000 0.3279089 0.3410794 Otro familiar 0.5141375 0.0031495 -108.6 0.000 0.5080015 0.5203477 No familiar 0.5903649 0.0046445 -66.99 0.000 0.5813316 0.5995385 Serv. Doméstico PA 1648.008 141.3405 86.37 0.000 1393.017 1949.674 Conviviente o pareja 1.592905 0.0039783 186.41 0.000 1.585126 1.600721 Anulado(a) 0.9038334 0.0149046 -6.13 0.000 0.8750879 0.9335232 Separado(a) 1.309596 0.0051878 68.09 0.000 1.299467 1.319803 Divorciado 0.7064578 0.0132978 -18.46 0.000 0.6808696 0.7330077 Viudo(a) 0.6516602 0.0030059 -92.84 0.000 0.6457954 0.6575784 Soltero(a) 0.940806 0.0029598 -19.4 0.000 0.9350227 0.946625 Sin dato 0.4601236 0.0165179 -21.62 0.000 0.4288618 0.4936642 Los primeros resultados observados anteriormente se refieren al máximo de la función de verosimilitud, que puede ser utilizado como un criterio de información para comparar modelos anidados (nested). Por ejemplo si adicionamos más variables a nuestro modelo y mantenemos las mismas, esos dos modelos estarán anidados porque el modelo extendido (el nuevo) contiene al modelo reducido (con menos variables). También podemos observar que del total de observaciones iniciales con descripción de participación (12,385,857) hemos perdido algunas observaciones por los missing values en las variables que utilizamos para analizar el modelo. BRAYAN RICARDO ROJAS O. INSTRUCTOR 121 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óricas 14 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. BRAYAN RICARDO ROJAS O. INSTRUCTOR 122 ( 3) [PARTI]_IECIVIL_4 = 0 ( 4) [PARTI]_IECIVIL_5 = 0 ( 5) [PARTI]_IECIVIL_6 = 0 ( 6) [PARTI]_IECIVIL_7 = 0 ( 7) [PARTI]_IECIVIL_9 = 0 chi2( 7) =60644.47 Prob > chi2 = 0.0000 Para obtener las probabilidades estimadas, que es lo que finalmente deseamos saber, Stata 11 creo el comando “margins”. El siguiente comando va a modelar todas las probabilidades para cada valor de SEXO, empezando por el 0 hasta 1 con un ancho de intervalo de 1. margins, at(SEXO=( 0 (1) 1)) atmeans Predictive margins Number of obs = 12350554 Model VCE : OIM Expression : Pr(PARTI), predict() 1._at : ...(lista de medias) SEXO = 0 …(lista de medias 2._at : …(lista de medias) SEXO = 1 …(lista de medias) Margin Std. Err. z P>z [95% Conf. Interval] _at 1 0.7362227 0.0002468 2982.78 0.0000 0.7357389 0.7367065 2 0.4423416 0.0002768 1598.17 0.0000 0.4417992 0.4428841 La probabilidad de que una persona trabaje siendo hombre (1. at SEXO = 0) es el 73.6%, mientras que la probabilidad de que una persona trabaje siendo mujer es de 44.2%, manteniendo todas las demás variables en su media. Si quiere fijarse el valor de más de una variable, o fijar los intervalos de variables continuas, o en cortes de distribución de las variables independientes: margins, at(SEXO=(0(1)1) PCO1=1) atmeans noatlegend margins, at(ln_yh=(11 11.5 12 13 13.5) PCO1=1) atmeans noatlegend margins, at((p25) _all) atmeans noatlegend margins, at((p25) _all (mean) ESC ) atmeans noatlegend Variable de Interés Valor Inicial Ancho Intervalo Valor Final BRAYAN RICARDO ROJAS O. INSTRUCTOR 123 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 BRAYAN RICARDO ROJAS O. INSTRUCTOR 124 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. BRAYAN RICARDO ROJAS O. INSTRUCTOR 125 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: 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 a i captura todos los efectos inobservables constantes en el tiempo que influyen en Y it , a i 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. U it 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 _cons 128.3781 20.75663 6.18 0.000 86.54589 170.2104 unem -4.161134 3.416456 -1.22 0.230 -11.04655 2.72428 crmrte Coef. Std. Err. t P>|t| [95% Conf. Interval] Total 54450.5558 45 1210.01235 Root MSE = 34.6 Adj R-squared = 0.0106 Residual 52674.6465 44 1197.15106 R-squared = 0.0326 Model 1775.90927 1 1775.90927 Prob > F = 0.2297 F( 1, 44) = 1.48 Source SS df MS Number of obs = 46 . reg crmrte unem if year == 87 BRAYAN RICARDO ROJAS O. INSTRUCTOR 126 Donde V it = a i + u it , se denomina ERROR COMPUESTO. Realizando la estimación del ejemplo 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 a i que influyen en el índice de delincuencia, se correlacionen también con el índice de desempleo. Es sencillo realizarlo: Como a i 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 a i 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 _cons 93.42025 12.73947 7.33 0.000 68.10719 118.7333 d87 7.940416 7.975325 1.00 0.322 -7.906385 23.78722 unem .4265473 1.188279 0.36 0.720 -1.934538 2.787633 crmrte Coef. Std. Err. t P>|t| [95% Conf. Interval] Total 81045.5167 91 890.610074 Root MSE = 29.992 Adj R-squared = -0.0100 Residual 80055.7995 89 899.503365 R-squared = 0.0122 Model 989.717223 2 494.858612 Prob > F = 0.5788 F( 2, 89) = 0.55 Source SS df MS Number of obs = 92 . reg crmrte unem d87 BRAYAN RICARDO ROJAS O. INSTRUCTOR 127 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 _cons 15.4022 4.702117 3.28 0.002 5.92571 24.8787 cunem 2.217999 .8778658 2.53 0.015 .4487771 3.987222 ccrmrte Coef. Std. Err. t P>|t| [95% Conf. Interval] Total 20255.9871 45 450.133047 Root MSE = 20.051 Adj R-squared = 0.1069 Residual 17689.5497 44 402.035219 R-squared = 0.1267 Model 2566.43744 1 2566.43744 Prob > F = 0.0152 F( 1, 44) = 6.38 Source SS df MS Number of obs = 46 . reg ccrmrte cunem BRAYAN RICARDO ROJAS O. INSTRUCTOR 128 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. BRAYAN RICARDO ROJAS O. INSTRUCTOR 129 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. TALLER 15 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 _cons -.3216319 .046064 -6.98 0.000 -.4125748 -.2306891 cez -.1818775 .0781862 -2.33 0.021 -.3362382 -.0275169 d88 -.0170526 .0651444 -0.26 0.794 -.1456652 .1115601 d87 .0539481 .0651444 0.83 0.409 -.0746645 .1825607 d86 .292154 .0651444 4.48 0.000 .1635413 .4207666 d85 .323081 .0666774 4.85 0.000 .1914417 .4547202 d84 -.0171382 .0685455 -0.25 0.803 -.1524655 .1181891 d83 -.0331192 .0651444 -0.51 0.612 -.1617318 .0954934 d82 .7787595 .0651444 11.95 0.000 .6501469 .9073721 guclms Coef. Std. Err. t P>|t| [95% Conf. Interval] Total 20.6784713 175 .118162693 Root MSE = .21606 Adj R-squared = 0.6049 Residual 7.79583815 167 .046681666 R-squared = 0.6230 Model 12.8826331 8 1.61032914 Prob > F = 0.0000 F( 8, 167) = 34.50 Source SS df MS Number of obs = 176 . reg guclms d82-d88 cez BRAYAN RICARDO ROJAS O. INSTRUCTOR 130 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 a i , 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 a i. 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 BRAYAN RICARDO ROJAS O. INSTRUCTOR 131 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, a i , 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 a i 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, a i , 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 a i , 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 U it 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. BRAYAN RICARDO ROJAS O. INSTRUCTOR 132 8.6 EFECTOS ALEATORIOS Teniendo Al utilizar efectos fijos o la primera diferencia, el objetivo es eliminar a i ,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 BRAYAN RICARDO ROJAS O. INSTRUCTOR 133  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 BRAYAN RICARDO ROJAS O. INSTRUCTOR 134 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 _cons .4766 .0561559 8.49 0.000 .3664993 .5867008 educ (omitted) union .1322432 .0149616 8.84 0.000 .102909 .1615774 south -.1060026 .0142008 -7.46 0.000 -.1338451 -.07816 black -.1167139 .0157159 -7.43 0.000 -.1475269 -.0859008 tenure2 -.000486 .0002577 -1.89 0.059 -.0009913 .0000192 tenure .01496 .0044073 3.39 0.001 .006319 .023601 exper2 -.0011475 .0003613 -3.18 0.002 -.0018559 -.0004392 exper .0556851 .0086072 6.47 0.000 .0388096 .0725605 educ .0714488 .0026894 26.57 0.000 .0661759 .0767217 lwage Coef. Std. Err. t P>|t| [95% Conf. Interval] Total 772.56123 3579 .215859522 Root MSE = .38197 Adj R-squared = 0.3241 Residual 521.026185 3571 .14590484 R-squared = 0.3256 Model 251.535045 8 31.4418807 Prob > F = 0.0000 F( 8, 3571) = 215.50 Source SS df MS Number of obs = 3580 note: educ omitted because of collinearity . reg lwage educ exper exper2 tenure tenure2 black south union educ BRAYAN RICARDO ROJAS O. INSTRUCTOR 135 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 u i de este valor medio. Sustituyendo , en (2) tenemos: Stata realiza la estimación de efectos aleatorios con el comando xtreg, re. Si se analiza (3), se puede observar que si u i 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 rho .73986872 (fraction of variance due to u_i) sigma_e .19511039 sigma_u .32904965 _cons .5339294 .0798828 6.68 0.000 .377362 .6904968 union .0802353 .0132132 6.07 0.000 .0543379 .1061327 south -.0818117 .0224109 -3.65 0.000 -.1257363 -.0378871 black -.1167366 .0302087 -3.86 0.000 -.1759446 -.0575286 tenure2 -.0007553 .0001947 -3.88 0.000 -.001137 -.0003737 tenure .0141541 .0031666 4.47 0.000 .0079478 .0203605 exper2 -.000561 .0002626 -2.14 0.033 -.0010757 -.0000463 exper .043617 .0063576 6.86 0.000 .0311564 .0560776 educ .0732536 .0053308 13.74 0.000 .0628055 .0837017 lwage Coef. Std. Err. z P>|z| [95% Conf. Interval] corr(u_i, X) = 0 (assumed) Prob > chi2 = 0.0000 Random effects u_i ~ Gaussian Wald chi2(8) = 860.08 overall = 0.3191 max = 5 between = 0.3543 avg = 5.0 R-sq: within = 0.1411 Obs per group: min = 5 Group variable: id Number of groups = 716 Random-effects GLS regression Number of obs = 3580 . xtreg lwage educ exper exper2 tenure tenure2 black south union, re . BRAYAN RICARDO ROJAS O. INSTRUCTOR 136 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 v i es un vector de variables dicotómicas para cada estado. El modelo se estima de la siguiente forma El cual estima una dummy para cada individuo, (la base tiene 716). Pero la opción más sencilla es por medio de xtreg Prob > chi2 = 0.0000 chi2(1) = 3859.28 Test: Var(u) = 0 u .1082737 .3290497 e .0380681 .1951104 lwage .2158595 .4646068 Var sd = sqrt(Var) Estimated results: lwage[id,t] = Xb + u[id] + e[id,t] Breusch and Pagan Lagrangian multiplier test for random effects 9 .0862207 .3293165 0.26 0.793 -.5595012 .7319426 8 .1714799 .3293968 0.52 0.603 -.4743996 .8173593 7 .3502798 .3298208 1.06 0.288 -.296431 .9969906 6 .2891988 .4476351 0.65 0.518 -.5885216 1.166919 5 .7703423 .2173306 3.54 0.000 .3442017 1.196483 4 .8530533 .1311647 6.50 0.000 .5958663 1.11024 3 .5301255 .1301154 4.07 0.000 .2749959 .785255 2 -.6097623 .5683056 -1.07 0.283 -1.724093 .5045682 id educ (omitted) union .0636972 .0142538 4.47 0.000 .0357485 .091646 south -.0163224 .036149 -0.45 0.652 -.0872031 .0545584 black .4436098 .1296263 3.42 0.001 .1894394 .6977803 tenure2 -.0008962 .0002059 -4.35 0.000 -.0012999 -.0004926 tenure .0139089 .0032778 4.24 0.000 .0074818 .0203361 exper2 -.0004091 .0002733 -1.50 0.135 -.000945 .0001269 exper .0410832 .00662 6.21 0.000 .0281027 .0540637 educ .2095154 .1238721 1.69 0.091 -.0333723 .4524031 lwage Coef. Std. Err. t P>|t| [95% Conf. Interval] Total 772.56123 3579 .215859522 Root MSE = .19511 Adj R-squared = 0.8236 Residual 108.798526 2858 .038068064 R-squared = 0.8592 Model 663.762704 721 .920614014 Prob > F = 0.0000 F(721, 2858) = 24.18 Source SS df MS Number of obs = 3580 note: 716.id omitted because of collinearity note: 715.id omitted because of collinearity note: educ omitted because of collinearity . reg lwage educ exper exper2 tenure tenure2 black south union educ i. id BRAYAN RICARDO ROJAS O. INSTRUCTOR 137 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? F test that all u_i=0: F(715, 2858) = 15.15 Prob > F = 0.0000 rho .80959194 (fraction of variance due to u_i) sigma_e .19511039 sigma_u .40231926 _cons 1.450034 .04014 36.12 0.000 1.371328 1.52874 educ (omitted) union .0636972 .0142538 4.47 0.000 .0357485 .091646 south -.0163224 .036149 -0.45 0.652 -.0872031 .0545584 black (omitted) tenure2 -.0008962 .0002059 -4.35 0.000 -.0012999 -.0004926 tenure .0139089 .0032778 4.24 0.000 .0074818 .0203361 exper2 -.0004091 .0002733 -1.50 0.135 -.000945 .0001269 exper .0410832 .00662 6.21 0.000 .0281027 .0540637 educ (omitted) lwage Coef. Std. Err. t P>|t| [95% Conf. Interval] corr(u_i, Xb) = 0.0952 Prob > F = 0.0000 F(6,2858) = 79.46 overall = 0.1170 max = 5 between = 0.1162 avg = 5.0 R-sq: within = 0.1430 Obs per group: min = 5 Group variable: id Number of groups = 716 Fixed-effects (within) regression Number of obs = 3580 note: educ omitted because of collinearity note: black omitted because of collinearity note: educ omitted because of collinearity . xtreg lwage educ exper exper2 tenure tenure2 black south union educ, fe BRAYAN RICARDO ROJAS O. INSTRUCTOR 138 La respuesta depende de la correlación que exista entre las variables X y el componente de error individual u i . 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 u i 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. 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. Prob>chi2 = 0.0021 = 20.73 chi2(6) = (b-B)'[(V_b-V_B)^(-1)](b-B) Test: Ho: difference in coefficients not systematic B = inconsistent under Ha, efficient under Ho; obtained from xtreg b = consistent under Ho and Ha; obtained from xtreg union .0636972 .0802353 -.0165381 .0053462 south -.0163224 -.0818117 .0654893 .0283637 tenure2 -.0008962 -.0007553 -.0001409 .0000668 tenure .0139089 .0141541 -.0002452 .0008468 exper2 -.0004091 -.000561 .0001519 .0000758 exper .0410832 .043617 -.0025338 .0018455 fijos aleatorios Difference S.E. (b) (B) (b-B) sqrt(diag(V_b-V_B)) Coefficients . hausman fijos aleatorios . estimates store aleatorios BRAYAN RICARDO ROJAS O. INSTRUCTOR 139 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 BRAYAN RICARDO ROJAS O. INSTRUCTOR 140 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í. 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. La prueba indica que no existe homocedasticidad. F test that all u_i=0: F(715,2143) = 4.13 Prob > F = 0.0000 rho_fov .81283897 (fraction of variance because of u_i) sigma_e .20057178 sigma_u .41798855 rho_ar .60413957 _cons .3561069 .0216711 16.43 0.000 .3136082 .3986055 educ (omitted) black (omitted) union .0569314 .0160276 3.55 0.000 .0255002 .0883627 south -.0334198 .0483105 -0.69 0.489 -.1281602 .0613205 tenure .0026851 .0027579 0.97 0.330 -.0027233 .0080935 exper2 -.0062753 .0003279 -19.14 0.000 -.0069184 -.0056323 exper .2108687 .0074041 28.48 0.000 .1963487 .2253888 lwage Coef. Std. Err. t P>|t| [95% Conf. Interval] corr(u_i, Xb) = -0.1087 Prob > F = 0.0000 F(5,2143) = 281.50 overall = 0.0995 max = 4 between = 0.1091 avg = 4.0 R-sq: within = 0.3964 Obs per group: min = 4 Group variable: id Number of groups = 716 FE (within) regression with AR(1) disturbances Number of obs = 2864 note: educ dropped because of collinearity note: black dropped because of collinearity . xtregar lwage exper exper2 tenure south union black edu, fe Based on 5 complete observations Breusch-Pagan LM test of independence: chi2(255970) = 3.92e+05, Pr = 0.0000 Prob>chi2 = 0.0000 chi2 (716) = 1.6e+06 H0: sigma(i)^2 = sigma^2 for all i in fixed effect regression model Modified Wald test for groupwise heteroskedasticity . xttest3 BRAYAN RICARDO ROJAS O. INSTRUCTOR 141 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 CORRELACIÓN CONTEMPORAN EA AUTOCORRELACI ÓN HETEROSCEDASTICID AD xtgls vardep varsind, panel(h) xtpcse vardep varsind, het xtgls vardep varsind, p(c) xtpcse vardep varsind, xtgls vardep varsind, p(h) c(ar1) xtpcse vardep varsind, het c(ar1) CORRELACIÓN CONTEMPORANEA 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 BRAYAN RICARDO ROJAS O. INSTRUCTOR 142 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 Y t-1 es la variable endógena rezagada un período en el tiempo, x t son las variables explicativas o exógenas cuyos retardos en el tiempo también pueden ser incluidos en el modelo causal y u t 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 y t-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 y t-1 representa lo que se denomina la tasa de descuento, es decir, la tasa de decrecimiento del efecto de valores pasado de y t-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. BRAYAN RICARDO ROJAS O. INSTRUCTOR 143 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 } BRAYAN RICARDO ROJAS O. INSTRUCTOR 144 else { comandos stata Comando For set obs 100 For new u1-u10: gen x=uniform() For any . : replace z=. If y= X For new x2-x5 \ num 2/5: gen X =variable^Y Comando Forvalues forvalues nueva_macro = rango { comandos referidos a nueva_macro } program define diez forvalues i = 1(1)10 { display "`i'" } End Comando While: while condicion { comandos Stata } local i = 1 while `i' <= 10 { display `i' local i = `i' + 1 } 9.3 ESCALARES Y MATRICES scalar raiz2 = sqrt(9) generate raizPIB = PIB*raiz2 Los estadísticos, pruebas y resultados que genera Stata es posible visualizarlos por medio del comando return y ereturn. Por ejemplo BRAYAN RICARDO ROJAS O. INSTRUCTOR 145 Luego se obtienen los resultados Veamos en este caso, al hacer un comando de sum e indicando la opción de detail, Stata nos muestra los resultados generales más otras medidas de percentiles, la curtosis y la simetría. Ahora suponiendo que se quiere armar una tabla que muestre para la base de nlsw.dta, por raza, el promedio del salario, la mediana, la varianza y el número de observaciones. Para ello se usará la construcción de una matriz. Para la creación de la matriz se construye indicando el tamaño que se quiere. La matriz a generar es: BLACK WHITE Promedio Varianza 99% 15906 15906 Kurtosis 4.819188 95% 13466 14500 Skewness 1.653434 90% 11385 13594 Variance 8699526 75% 6342 13466 Largest Std. Dev. 2949.496 50% 5006.5 Mean 6165.257 25% 4195 3748 Sum of Wgt. 74 10% 3895 3667 Obs 74 5% 3748 3299 1% 3291 3291 Percentiles Smallest Price . sum price, detail r(p99) = 15906 r(p95) = 13466 r(p90) = 11385 r(p75) = 6342 r(p50) = 5006.5 r(p25) = 4195 r(p10) = 3895 r(p5) = 3748 r(p1) = 3291 r(max) = 15906 r(min) = 3291 r(sum) = 456229 r(kurtosis) = 4.819187528464004 r(skewness) = 1.653433511704859 r(sd) = 2949.49588476892 r(Var) = 8699525.97426879 r(mean) = 6165.256756756757 r(sum_w) = 74 r(N) = 74 scalars: . return list BRAYAN RICARDO ROJAS O. INSTRUCTOR 146 Mediana No. Observaciones Usamos el comando matrix, help matrix_functions matrix define A=J(4,2,0) matrix A[1,1] = r(mean) matrix A[2,1] = r(p50) matrix A[3,1] = r(Var) matrix A[4,1] = r(N) Debe hacer lo mismo para los negros Ahora a continuación le damos los nombres a las filas y a las columnas matrix rown A = Promedio Media Varianza Observaciones matrix coln A = Blanco Negro Para pasar de matriz a variable, se usa el comando svmat. 99% 38.70926 40.19808 Kurtosis 14.74577 95% 17.34411 40.19808 Skewness 3.00474 90% 13.14009 40.19808 Variance 35.46285 75% 9.758451 40.19808 Largest Std. Dev. 5.955069 50% 6.545891 Mean 8.082999 25% 4.516906 1.501798 Sum of Wgt. 1637 10% 3.344482 1.392914 Obs 1637 5% 2.875546 1.032247 1% 2.090301 1.004952 Percentiles Smallest hourly wage . sum wage if race ==1, d r4 1637 583 r3 35.462848 25.767671 r2 6.5458913 5.434783 r1 8.0829994 6.8445578 c1 c2 A[4,2] . matrix list A Observacio~s 1637 583 Varianza 35.462848 25.767671 Media 6.5458913 5.434783 Promedio 8.0829994 6.8445578 Blanco Negro A[4,2] . matrix list A BRAYAN RICARDO ROJAS O. INSTRUCTOR 147 svmat A Ejercicio. 1. Ahora haga una prueba de igualdad de medias de los salarios, por la raza 2. Cree una tabla de resultados tal como se presenta a continuación BLANCO NEGRO ESTADÍSTICAS Promedio Observaciones Promedio Observaciones Diferencia Error std T-test La primera fila no es posible crearla en Stata, entonces solamente ingrese como nombres la segunda fila. Ahora utilizando loops realice la siguiente tabla por las variables tenure, hours, wage grade SINGLE MARRIED ESTADÍSTICAS Promedio Observaciones Promedio Observaciones Diferencia Error std T-test tenure hours wage grade global grupo tenure hours wage grade Definimos una matriz 4x7 matrix def C=J(4,7,0) Se genera el indicador del loop i que comience desde cero local i = 0 Utilizando el comando foreach me dice que para cada variable en el grupo que acabo de formar realice los comandos dentro del loop. foreach var in $grupo { local i = `i'+1 preserve qui ttest `var', by(married) matrix C[`i',1]=r(mu_1) matrix C[`i',2]=r(N_1) matrix C[`i',3]=r(mu_2) matrix C[`i',4]=r(N_2) matrix C[`i',5]=r(mu_1) - r(mu_2) matrix C[`i',6]=r(se) matrix C[`i',7]=r(t) restore BRAYAN RICARDO ROJAS O. INSTRUCTOR 148 } matrix rown C = tenure hours wage grade matrix coln C = Prom1 Obs1 Prom2 Obs2 Dif ErrSt T-test matrix list C 10 TRUCOS CON Stata ALGUNOS CONSEJOS CON Stata 16 1. Si quiere redondear los números en su base de datos podrá usar los comandos floor(), round() y ceil(). Ejemplos: Sysuse auto gen g_ratio = floor(gear_ratio) gen g_ratio = ceil(gear_ratio) 2. En algunas ocasiones se recomienda que el usuario antes de ejecutar algún comando o un archivo .do, verifique que las condiciones se cumplan, una de las formas para verificarlo es usando el comando assert. Ejemplo: Sysuse bplong Assert sex == 0 | sex ==1 Replace sex = 3 in 1 Assert sex == 0 | sex == 1 3. Para ingresar carácteres de texto en gráficas, crear variables, tablas, puede utilizar el comando char() , en su interior debe ingresar el código ASCII Ejemplos gen arroba = char(64) local copyr = char(169) scatter Price mpg, xtitle(“MPG”) ytitle(“Precio `copyr’”) 4. El commando creturn, c(), le permite al usuario obtener la información parametrizada del sistema, tal como, meses, días, fecha actual, versión de Stata. Algunos ejemplos son: display “`c(alpha) ’” Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec di “`c(ALPHA) ’” A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 16 Retomado del libro “Seventy-six of Stata tips”. BRAYAN RICARDO ROJAS O. INSTRUCTOR 149 di “`c(Mons) ’” Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec di “`c(current_date) ’” di “`c(current_time) ’” di “`c(sysdir_stata) ’” di “`c(N) ’” di “`c(k) ’” di “`c(memory) ’” di “`c(more) ’” di “`c(virtual) ’” di “`c(pi) ’” - Genera el número Pi – 5. Fillin Clear Set obs 20 Gen y = _n Gen x = y Fillin y x 6. Predefiniendo teclas, Stata, le permite al usuario la posibilidad de usar las teclas funtions, para el llamado de comandos, funciones, caracteres, entre otros. Ejemplo: Global F4 = char(96) Global F4 = char(180) Global F4 = “list;” 7. Si desea ejecutar un comando y que el resultado no aparezca utilice el comando quietly Ejemplo quietly summarize x 8. Descargar programas escritos por usuarios net from http://www.stata.com net cd stb net cd stb42 net install sbe16_1 9. Actualización Menores de Stata Stata es un programa que continuamente se encuentra en desarrollo, además, al contar con una amplia comunidad de usuarios en diferentes partes del mundo le brinda la oportunidad de estar frecuentemente mejorado por los Statistical Software Components (SSC) que continuamente generan los usuarios. BRAYAN RICARDO ROJAS O. INSTRUCTOR 150 Pero Stata en su versión 11.0 ha generado ya dos actualizaciones menores dentro de esta versión, siendo la más actual la versión 11.2, los usuarios que tengan registrado el software y que cuenten con una conexión a Internet podrán acceder a la última actualización de forma gratuita, lo primero que debe verificar es la conexión a internet, si se encuentra en un equipo que pertenece a una red deberá consultar si su conexión requiere proxy, para configurar el proxy en Stata debe ir a Edit – Preferences – General Preferences Posteriormente en la pestaña de Internet, configuré el proxy, el puerto y el usuario y contraseña en caso de ser necesario. En la misma pestaña de Internet podrá activar la opción de actualización automática, si activa esta opción debe tener en cuenta que cada vez que Stata se inicie se actualizará con la frecuencia que usted seleccione y el tiempo de la actualización dependerá de su conexión a internet. En caso de no activar la actualización automática, usted podrá realizar la actualización en el momento que lo desee, ingresando en la ventana de comandos el comando update all el cual le indicará paso a paso las instalaciones que desea. BRAYAN RICARDO ROJAS O. INSTRUCTOR 151 Recomendamos también ver la ayuda de help update help ssc help net help sj 10. Ejecutando comandos en Stata sin resultados (quietly) El comando quietly de Stata permite ejecutar otros comandos de Stata sin presentar los resultados o salidas en la ventana de resultados, la instrucción se ubica como prefijo al comando principal. Esta es una herramienta clave si se requiere retornar algunos resultados por ejemplo: media, varianza, coeficientes, etc., (ver listado de la opción r() por medio de help return list) sin necesidad de ver la salida completa. Ejemplo 1. sysuse auto, clear quietly summarize mpg, detail Ejemplo 2. quietly: summarize mpg, detail De igual forma se pueden ejecutar un bloque o grupo de comandos con quiet Ejemplo 3. sysuse auto, clear quietly { summarize mpg, detail local a=r(mean) summarize price, detail local a=r(mean) } En el caso que se desee mostrar un resultado completo en un bloque de comandos, se usa el comando noisily como prefijo al comando principal. Ejemplo 4. sysuse auto, clear BRAYAN RICARDO ROJAS O. INSTRUCTOR 152 quietly { summarize mpg, detail local a=r(mean) noisily summarize price, detail local a=r(mean) } Para más información ver: help quietly 11. HERRAMIENTA DE CALIFICACIÓN DE Stata 12 La versión de Stata 12 liberada el pasado mes de agosto, incluyó una nueva herramienta denominada Installation Qualification Tool (IQT) la cual verifica que el software y todas sus actualizaciones estén instaladas correctamente, en éste momento se cuenta con IQT para Windows y Mac y también para las versiones 11 y 12. Para descargar la herramienta ingrese a http://www.stata.com/support/installation- qualification/, una vez descargado el programa, instálelo, se requiere que tenga permisos de administrador para ejecutar la aplicación. BRAYAN RICARDO ROJAS O. INSTRUCTOR 153 Una vez ejecutado la IQT deberá instalar un recurso de evaluación, para ello haga clic en Browse de la opción de Qualification source, seleccione una ubicación, puede ser la carpeta de Stata 12, e instale el complemento. Al instalar el complemento, la aplicación buscará la versión de Stata actual y las actualizaciones realizadas, seleccione la que desee y de clic en RUN TEST. El programa empezará a evaluar su correcta instalación del software y generará un reporte sobre los resultados del análisis el cual podrá exportar a PDF haciendo clic en Export. BRAYAN RICARDO ROJAS O. INSTRUCTOR 154 Para mayor información diríjase a http://www.stata.com/support/installation-qualification/ 12. Archivos en PDF de logs y gráficas con Stata 12 En Stata 12 los archivos log (archivos de registro) se siguen generando como SMCL o texto. Pero en esta última versión estos archivos pueden ser convertidos a formato PDF. Esto se puede hacer fácilmente con el comando translate, por ejemplo: log using c:/log1, replace sysuse auto, clear tab rep78 foreign log close translate c:/log1.smcl c:/log1.pdf , translator(smcl2pdf) BRAYAN RICARDO ROJAS O. INSTRUCTOR 155 La visualización del PDF será la siguiente: Además, en Stata 12 se puede producir un PDF de un gráfico desde Stata. Por ejemplo sysuse auto, clear scatter mpg weight //, name(g1) graph export c:/graph.pdf //name(windowname) BRAYAN RICARDO ROJAS O. INSTRUCTOR 156 Al exportar a PDF Para ayuda sobre un comando específico digite: help Y por ejemplo especifique un comando help translate help graph export Utilizar variables del sistema _n y _N Las variables del sistema de Stata _n y _N se puede utilizar para hacer un gran número de tareas que de otra manera sería difícil. En este truco vamos a ilustrar algunas de las cosas en que estos pueden ser utilizados. 1 0 2 0 3 0 4 0 M i l e a g e ( m p g ) 2,000 3,000 4,000 5,000 Weight (lbs.) BRAYAN RICARDO ROJAS O. INSTRUCTOR 157 Definición: _n: la observación actual _N: El número total de observaciones en el conjunto de datos actualmente en la memoria ** Ejemplo 1 Generación de observaciones que son una secuencia de números igual al número de observación de Stata. Variable de resultado: number Genera observaciones igual al número de la última observación. La variable resultante: number_T clear all set obs 10 generate number=_n generate number_T=_N El resultado de ejecutar lo anterior es: +-------------------+ | number number_T | |-------------------| 1. | 1 10 | 2. | 2 10 | 3. | 3 10 | 4. | 4 10 | 5. | 5 10 | |-------------------| 6. | 6 10 | 7. | 7 10 | 8. | 8 10 | 9. | 9 10 | 10. | 10 10 | +-------------------+ ** Ejemplo 2 Invertir los datos para que la _N (última) observación se convierta en la primera. Se realiza para una variable en particular. clear set obs 10 generate number=_n generate rev_number=number[_N-_n+1] list El resultado de ejecutar lo anterior es: +-------------------+ BRAYAN RICARDO ROJAS O. INSTRUCTOR 158 | number rev_nu~r | |-------------------| 1. | 1 10 | 2. | 2 9 | 3. | 3 8 | 4. | 4 7 | 5. | 5 6 | |-------------------| 6. | 6 5 | 7. | 7 4 | 8. | 8 3 | 9. | 9 2 | 10. | 10 1 | +-------------------+ ** Ejemplo 3 Usando _N el comando con bysort para generar una variable que tiene el número total de niños en las familias. clear input /// famid child 1 1 2 1 2 2 2 3 3 1 3 2 3 3 3 4 end bysort famid: generate number=_N list, sepby(famid) The result of running the above is: +------------------------+ | famid child number | |------------------------| 1. | 1 1 1 | |------------------------| 2. | 2 1 3 | 3. | 2 2 3 | 4. | 2 3 3 | |------------------------| 5. | 3 1 4 | 6. | 3 2 4 | 7. | 3 3 4 | 8. | 3 4 4 | BRAYAN RICARDO ROJAS O. INSTRUCTOR 159 +------------------------+ ** Ejemplo 4 _n y _N también pueden ser utilizados como un calificativo. En este ejemplo se marca, para cada familia, el niño que tiene el mayor ingreso. La variable ingreso está entre paréntesis que indica a Stata ordenar por esta variable. Cuando se ordena por la última observación (_N), por familia, es el ingreso mayor por familia. clear input /// famid child income 1 1 100 2 1 150 2 2 200 2 3 250 3 1 10 3 2 100 3 3 500 3 4 250 end bysort famid (income): generate number=1 if _n==_N l, sepby(famid) El resultado de ejecutar lo anterior es: +------------------------+ | famid child number | |------------------------| 1. | 1 1 1 | |------------------------| 2. | 2 1 3 | 3. | 2 2 3 | 4. | 2 3 3 | |------------------------| 5. | 3 1 4 | 6. | 3 2 4 | 7. | 3 3 4 | 8. | 3 4 4 | +------------------------+ ** Ejemplo 5 Generación de rezagos y adelanto de datos. clear input /// BRAYAN RICARDO ROJAS O. INSTRUCTOR 160 time sales 1 100 2 150 3 200 4 250 5 10 6 100 7 500 8 250 end generate lead=sales[_n+1] generate lag=sales[_n-1] generate lags=(sales[_n-1]+sales[_n-2])/2 list El resultado de ejecutar lo anterior es: +----------------------------------+ | time sales lead lag lags | |----------------------------------| 1. | 1 100 150 . . | 2. | 2 150 200 100 . | 3. | 3 200 250 150 125 | 4. | 4 250 10 200 175 | 5. | 5 10 100 250 225 | |----------------------------------| 6. | 6 100 500 10 130 | 7. | 7 500 250 100 55 | 8. | 8 250 . 500 300 | +----------------------------------+ Para obtener ayuda sobre el código anterior, véase: Guía de usuario: [U] 13.4 Variables del Sistema (variables) help bysort MATERIAL DE APOYO Algunos recursos en Internet para usuarios Stata: - http://www.ats.ucla.edu/stat/stata/ - http://econpapers.hhs.se/paper/bocbocoec/531.htm - http://fmwww.bc.edu/ec/res.info.php - http://ideas.repec.org/s/boc/bocins.html BRAYAN RICARDO ROJAS O. INSTRUCTOR 161 11 BIBLIOGRAFIA [1] Adkins, L. & Hill, R. (2008). Using Stata for Principles of Econometrics. Wiley, Third Edition. ﷒[2] Baum, Christopher. (2006). An Introduction to Moderm Econometrics Using Stata. Stata Press, Second Edition. [3] Baum, Christopher. (2009). An Introduction to Stata Programming.. Stata Press, First Edition. [4] Cameron, A. & Trivedi, P. (2009). Microeconometrics Using Stata. Stata Press, Second Edition. [5] Cox, N. & Newton, H. (2009) Seventy-six Stata Tips. Stata Press, Second Edition. [6] Freese, J. & Long. S. (2006). Regression Models for Categorial Dependent Variables Using Stata. Stata Press, Second Edition. [7] Mitchell, Michael. (2008). A Visual Guide to Stata Graphics. Stata Press, Second Edition. [8] Mitchell, Michael. (2010). Data Management Using Stata, A Practical Handbook. Stata Press, Second Edition.
Copyright © 2024 DOKUMEN.SITE Inc.