Programas de estadística y econometría por Rubén Osuna © Esto es un breve resumen de algunas de las posibilidades existentes que no pretende ser una revisión detallada de las capacidades de ninguno de los programas, pues el objetivo es orientar a quienes se enfrentan al problema de encontrar un buen software para la estadística y econometría aplicadas. Me referiré especialmente a Mac OS X, el sistema operativo de Apple basado en FreeBSD Unix, por ser la plataforma en la que yo trabajo. Dos buenas plataformas alternativas son Linux y Windows. Con Mac OS X y Linux se puede sacar partido de los microprocesadores de 64 bits que multiplican la capacidad de cálculo de las máquinas1. La econometría es una rama de las matemáticas y la estadística que desarrolla procedimientos para trabajar con los datos y encontrar propiedades en ellos y relaciones entre determinadas variables (determinados grupos de datos pueden ser "observaciones" de una variable). Por ejemplo, el SPSS (www.spss.com), cuya versión 11 funciona ya en OS X, es el tipo de programa enorme compuesto por 1 Los 64 bits aluden a la unidad de enteros, mientras que los cálculos matemáticos se llevan a cabo en la unidad de punto flotante (floating point unit, FPU), que siempre ha sido de 64 bits. No obstante, el disponer de una unidad de enteros de 64 bits tiene sus ventajas, como disponer de mucha más memoria RAM para cada aplicación, rompiendo la barrera de los 4GB globales. 1 una base y módulos para casi todo, de precio alto, relativamente fácil de usar pero no especializado en econometría propiamente dicha; lo mismo puede decirse de SAS (www.sas.com, pero no tiene versión para OS X), ambos capaces de hacer algunos test econométricos, más que suficientes para muchos usuarios y con funcionalidades complementarias muy importantes (tratamiento de datos, presentación de resultados), pero quizás insuficientes para la mayoría de los económetras a tiempo completo. GAUSS (www.aptech.com, la versión 6 corre en OS X), MATLAB (www.mathworks.com, las versiones 6.5 y 7 funcionan en OS X) y O x (http://www.nuff.ox.ac.uk/Users/Doornik/, programa gratuito si se emplea en la investigación o la enseñanza, que en su versión 3.3. soporta OS X) ofrecen lenguajes de programación basados en matrices, requiriendo un trabajo de programación de test que otras aplicaciones (de las que hablaremos ahora) traen ya hecho, si bien hacer los test uno mismo evita trabajar con "cajas negras" preprogramadas. Tanto si el programa que usamos utiliza algoritmos que quedan ocultos para el usuario como si éste los aplica por sí mismo, existe un gravísimo problema de fiabilidad en los cálculos. Y es que, por extraño que parezca, no podemos saber en muchos casos si el programa que usamos nos está dando resultados correctos. Ello se debe a que la aritmética de las máquinas es distinta a la de “lápiz y papel” y a que los ordenadores trabajan con un número determinado de dígitos más un sistema de redondeos. 2 Algunos de los resultados de nuestros programas favoritos pueden ser falsos simplemente porque el ordenador toma unos valores como aproximaciones de otros (los muy grandes o muy pequeños) y porque hemos aplicado el procedimiento de cálculo equivocado para los datos de que disponemos (forzando al programa a operar con números que sobrepasan el límite). Estos errores pueden conocerse mediante baterías de test que ofrecen resultados de validez garantizada con los que comparar. Pero hay muchas funcionalidades para las que no se han desarrollado aún test, y en esos casos los programas pueden dar resultados distintos, por lo que no sabemos qué resultado es el correcto (o cuáles son aceptables). Es más, en muchos artículos publicados no se dice qué software (o qué algoritmos) se ha empleado, por lo que no hay forma de saber si los resultados expuestos son correctos o no (se puede estar usando un programa que sabemos que falla con determinados datos y cálculos). Es un problema ciertamente grave. Un articulo excelente sobre el tema, que todos deberían conocer, es McCullough, B.D. and Vinod, H.D. (1999): "The Numerical Reliability of Econometric Software", Journal of Economic Literature , vol. 27, june, pp. 633-665. Pero centrémonos ahora en el tema: hay tres tipos de programas: los estadísticos genéricos, las aplicaciones para la programación mediante matrices y las colecciones de test o procedimientos. En función de las necesidades cada uno utiliza el que más le conviene (o la combinación que más le interese). Veremos después el último tipo 3 de aplicaciones mencionado, si bien trataremos primero someramente el segundo tipo. Los "canned packages" Algunos de los más usados son TSP, Eviews, LIMDEP y Stata, aunque hay otros muchos. Son conocidos como "canned packages", es decir, programas en los que los test están ya hechos y uno sólo tiene que invocarlos pulsando un botón, abriendo un menú o escribiendo un comando. Presentan el problema al que acabamos de aludir: no sabemos cómo hacen eso que hacen, aunque nos libera de tener que conocer mucha econometría para poder aplicarla, lo que es una ventaja y un inconveniente. Usualmente quienes se dedican a la econometría aplicada utilizan un "canned package", mientras que aquellos que necesitan estar a la última incorporando por sí mismos los últimos avances suelen usar un programa tipo GAUSS o MATLAB. En el caso de usuarios de OS X la elección de este segundo tipo de programas está clara: como hemos dicho sólo la última versión de MATLAB funciona sobre OS X (de manera admirable, dicho sea de paso, si bien es prácticamente una versión Unix recompilada con interfaz X11). Pero veamos ahora qué opciones tenemos entre los "canned packages". TSP y Eviews, los programas más populares El TSP era un software econométrico para mainframes. La empresa que lo hacía decidió hacer una versión "reducida" para ordenadores personales en 1981, y eligieron el mítico Apple II. El software se llamó 4 MicroTSP. Era un programa donde una serie de comandos ejecutaban determinadas acciones. Decías, por ejemplo, "regresa la variable X con la variable Y y la variable Z" (con los comandos correspondientes), y el programa te daba una serie de resultados: los residuos, los coeficientes, los errores estándar, el coeficiente de determinación (la R cuadrado), etcétera. El MicroTSP acabó comercializándose por una empresa independiente llamada QMS. En 1985 el TSP pudo funcionar en ordenadores personales, y quedó como el "hermano mayor" del MicroTSP. En 1995 QMS dio un paso muy inteligente: añadir una interfaz gráfica al programa donde los comandos estaban recogidos en menús. Esto convirtió al MicroTSP en el estándar para la enseñanza de la econometría y extendió su uso entre los investigadores. El nuevo MicroTSP con GUI pasó a llamarse Econometric Views (Eviews). Existió versión para Mac, pero no pasó de la 1.1 (creo recordar). Hoy el EViews va por la versión 5 y la empresa no sabe si desarrollará para Mac OS X, pues todo del desarrollo desde 1995 se ha hecho pensando sólo en Windows. Muchos manuales de econometría basan sus ejercicios en Eviews. Es un programa fácil de aprender a manejar (dentro de lo que cabe) y muy potente, con herramientas para hacer casi de todo en econometría. El primer paso es disponer de una hoja de Excel (aunque importa desde otros formatos) con los datos: variables y observaciones de dichas variables. Por ejemplo, la renta y 50 observaciones (para 50 años) y el tipo de interés y sus observaciones (otras 50). Creas un "workfile" vacío, para un rango de datos (50), le pones un nombre y lo guardas. Después Eviews importa los datos a ese "workfile". Cada variable aparecerá en la ventana del 5 "workfile" con un símbolo y el nombre que le hayas dado. Si haces doble click en el símbolo aparece la serie. Después ya puedes crear "objetos" en ese "workfile", por ejemplo una ecuación. Si has llamado a la renta "Q" y al tipo de interés "i" puedes ir al menú "objeto", seleccionar "ecuación" y decirle que "Q c i", es decir, que relacione linealmente "Q" e "i", siendo la renta la variable explicada. Inmediatamente surge un panel con resultados. A ese "objeto ecuación" puedes añadirle más cálculos, y pedir, por ejemplo, que haga un test de normalidad a partir de los residuos de la relación lineal estimada. Todo queda guardado en la "ecuación", que será otro símbolo en la misma ventana del "workfile" donde están las variables. En cualquier momento puedes abrir esa ecuación y reestimarla, o pedir nuevos cálculos, o hacer gráficos, o añadir variables al "workfile" y calcular nuevas ecuaciones, etc. Todo muy sencillo cuando aprendes la mecánica. Los gráficos son simples pero funcionales. La presentación de los resultados se hace en tablas que se pueden copiar y pegar (igual que los gráficos, que el Word puede, curiosamente, "desagrupar"). El Eviews de hoy se ha convertido en un programa tan completo y potente como el "viejo" TSP, que sin embargo, en su versión 4.5, sí soporta OS X (y otros muchos Unix). TSP además incorpora una interfaz gráfica suficiente llamada GiveWin. Ambos son programas plenamente capaces de bregar con toda la macro y microeconometría que les echen. Eviews viene con un buen manual, cosa que no puede decirse de TSP. Pero la documentación no es un problema para Eviews, en parte porque su aprendizaje es relativamente fácil, y en parte porque muchos 6 manuales de econometría traen ejercicios para el programa. En el caso de TSP pueden encontrarse recursos adicionales en Internet. En castellano hay editado un buen libro para aprender econometría con Eviews: Carrascal, U.; González, Y.; y Rodríguez, B. (2001): Análisis econométrico con EViews, Ed. RA-MA, Madrid. www.tspintl.com www.eviews.com Stata, un programa de elite El Stata 8, de Stata Corporation, es de naturaleza distinta a los dos anteriores, aunque quizás se parezca más a TSP. Para empezar existe versión para OS X, Windows y distintos tipos de Unix. Stata 8 es una aplicación Mach-O, es decir, una aplicación 100% nativa para Mac OS X (empleando APIs Carbon), muy optimizada. Además, en su versión 8 Stata incorpora una nueva interfaz gráfica programable muy desarrollada y mejorada, que lo iguala prácticamente al Eviews en este apartado, librando al usuario de la necesidad de aprender series interminables de comandos, pues éstos han quedado recogidos en menús desplegables. No obstante la antigua interfaz orientada a la entrada manual de comandos persiste (un panel en blanco que funciona de forma similar al TSP, es decir, con comandos escritos seguidos del nombre de las variables y otras instrucciones adicionales, más ventanas para los resultados, más la lista de variables disponibles y los comandos ejecutados hasta el momento). Se trata en definitiva de un híbrido ideal entre la forma de trabajar clásica de las mainframes o las terminales Unix (mejoradas al dividir la ventana en dos partes, 7 comandos y resultados) y las modernas (y a veces molestas) interfaces gráficas, que en Stata queda “fuera” del área de trabajo, aportando menús cuando éstos son requeridos. Stata es un programa muy abierto: puedes crear fácilmente archivos que contienen programaciones genéricas, y añadirlas después al Stata fácilmente o compartirlas con otros. Existe de hecho una comunidad que desarrolla esas programaciones en Stata para todo tipo de test imaginables, y que puedes bajar de la red. Los resultados se presentan de forma correcta y funcional, y los gráficos, muy mejorados en la versión 8, se colocan a la altura de los ofrecidos por cualquier 8 otro paquete econométrico (aunque no de aquellos que tienen un punto fuerte en la presentación de resultados, como SPSS y SAS). En definitiva, Stata es muy potente y ofrece soluciones para casi todo, directamente o a través de la aportación de investigadores de todo el mundo. Muchos económetras de alto nivel trabajan con este programa, y la versión 8 ha conseguido además que su curva de aprendizaje se suavice sustancialmente, haciéndolo cómodo de usar en la enseñanza. Además, para los usuarios de Unix que usen Macs, Stata te permite instalar un componente gratuito con el que puedes ejecutar el programa desde el Terminal si tienes OS X (accediendo a las funcionalidades del programa sólo a base de comandos, claro). Tres características curiosas más: a) en el mismo CD están las versiones de todas las plataformas soportadas, aunque tu número de licencia activa una u otra la primera vez que ejecutas el programa (no cuando lo instalas); b) el programa no mete nada en la carpeta del sistema ni en otra parte que no sea la propia carpeta del Stata, por lo que es fácil de desinstalar (y de copiar), además de muy estable; c) Stata coloca todos los datos en la RAM del ordenador, por lo que sus límites están en la RAM que tengas instalada, y es muy, muy rápido. Stata se ofrece en una versión Small (muy asequible); otra Intercooled, que es la estándar; y una Special Edition, más cara y potente. Las diferencias están básicamente en la cantidad de variables y el tamaño de las matrices que puedes manejar. El Small se me antoja demasiado corto para según qué cosas (sólo maneja, por ejemplo, matrices 40x40). 9 Existe además un programa llamado Stat/Transfer 7 (http://www.stattransfer.com), no demasiado caro y que corre en OS X, que convierte multitud de formatos de archivos en otros, sean bases de datos (como Access o FoxPro), hojas de cálculo (Excell, Lotus, QuatroPro...) o programas matemáticos y estadísticos (SPSS, Gauss, Matlab, Stata, JMP, SAS...). Es un programa útil para cualquier usuario de programas estadísticos y econométricos en general, pues te permite trabajar con dos o más de ellos sin problemas, haciendo con Stat/Transfer las conversiones necesarias (se ofrecen multitud de opciones para controlar con detalle el proceso de conversión). Visto de otra forma, aprender a manejar en profundidad un solo programa tiene indudables economías de escala, y Stat/Transfer te permite concentrar ese esfuerzo de aprendizaje. 10 La documentación que trae Stata 8 añade mucho material a la ya masiva que venía con la versión anterior: Getting started with Stata (190 páginas), User's Guide (420 páginas), Graphics (500), Programming (470), Cluster Analysis (120 páginas), Cross-Sectional Time Series (240 páginas), Survey Data (101 páginas), Survival Analysis&Epidemiological Tables (350 páginas), Time Series (340 páginas), más cuatro volúmenes de 1830 páginas en total con el Manual de Referencia; todo en inglés, claro. Como se ha dicho, en la red puede encontrarse mucha más documentación. El Stata Technical Bulletin (STB) es una publicación que aparece cada dos meses y ofrece extensiones y herramientas escritas por los usuarios, 11 analizadas y "validadas". Eso sin contar los numerosos libros y manuales de econometría que hacen referencia a Stata. Además existe una lista de correo, y la propia Stata Co. ofrece cursos on-line un par de veces al año (Introducción y Programación, básica y avanzada). También se puede acceder a una enorme base de datos de desarrollos de terceras partes mantenido por Christopher Baum, en el Boston College (http://ideas.uqam.ca/ideas/data/bocbocode.html); ¡allí hay más tareas programadas disponibles que las que ofrece el propio Stata! Las referencias que tengo del soporte técnico son excelentes (responden siempre al momento). www.stata.com En resumen Mis recomendaciones para usuarios de Mac OS X son: para tratamiento de datos y presentación de resultados SPSS 11; y para econometría más completa TSP 4.5 o Stata 8. Si se desea utilizar un programa para el desarrollo de test basado en matrices el usuario de OS X debe dirigirse a MATLAB 7 (o a GAUSS 6). En cualquier caso resulta interesante el programa Stat/Transfer 7 para importar o exportar archivos a los formatos propios de otros programas, ya sea para compartirlos o para poder utilizar más de uno con comodidad. Los usuarios de Mac OS X tienen opciones de sobra para el análisis estadístico y econométrico. Además, los procesadores G5 de IBM, de 64 bits, hacen de Mac OS X (basado en FreeBSD Unix) una plataforma ideal para el tratamiento masivo de datos a coste relativamente reducido. 12